Wednesday, October 12, 2016

Download and save Instagram photos without an app

Download and save Instagram photos without an app

On a Windows 7 desktop using Google Chrome circa version 53:

  1. Find the photo on Instagram
  2. Right click the photo and choose "Inspect"
  3. On the developer tools menu, choose "Application"
  4. In the left pane, scroll down to "Images"
  5. Scroll down through images (displayed in right pane) until you find the one you are looking for.
  6. Right click image in right pane and choose "Save"
  7. Enter an appropriate name and file location and choose "Save"
Stalking my daughter for my wife with Chrome

 On a Windows 7 desktop using Mozilla Firefox (circa version 49):

  1. Find the photo on Instagram
  2. Right click the photo and choose "View Page Info"
  3. In pop-up window, choose Media icon.
  4. In top Address list, scroll down through images (displayed in bottom Media Preview frame) until you find the one you are looking for.
  5. Click "Save As" button.
  6. Enter an appropriate name and file location and choose "Save"

Stalking my daughter for my wife with Firefox

Saturday, September 10, 2016

NetApp cable diagram when adding DS2246 disk shelves

I had a chance to help a cohort add storage to a couple NetApp deployments.  I basically had to cable the devices so he could provision them remotely later. 

They had two FAS2220 systems with double controllers (Multipath HA) in production and I had to attach the new DS2246 disk shelves.

NetApp publishes a quickstart guide that has nice cable drawings in them but none specifically with this (a single external storage shelf) as the end result.  In addition, the new shelves were racked above the original systems so the drawings were evening a bit more difficult to follow  by a NetApp noob.

Below is the production system, the racked external storage above it, and the ultimate path for the SAS and ACP cables.  Worked like a champ.

Hope it helps calm someone's storage nerves.

Monday, August 01, 2016

UCCX CUIC Exported Reports Blank in Excel

After deploying UCCX 11.0 and working on setting thresholds in some live reports in CUIC I found that reports exported to Excel couldn't be opened.  When attempting to open the XLS file, Excel itself would open but not the report.  Excel would sit open, idle, returning no dialog box or even a blank default workbook.  It would simply be an idle instance of Excel displaying no information.

Bug CSCux50551 indicates there is a known issue with exporting the Abandoned Call Detail Activity Report but my issue was the same regardless of what report was exported.

I also found that the exported report could be opened in a text editor and that some data could be gleaned between markup tags.  If I opened the exported report in a browser, it could be viewed in a rather crude format.

Ultimately I discovered a security feature of either my laptop's Windows implementation or my Excel installation was preventing the file from being accessed on my laptop.  Unfortunately there was no dialog box indicating that was the case so it took a bit to decipher.

Right-click your exported report XLS file to view the properties.  Look for a Security reference.  The description on mine was "This file came from another computer and might be blocked to help protect the computer."  Simply hitting the Unblock button and Apply fixed my glitch.

Here's a screen shot of my blank Excel instance and the file property page:

For reference, I'm using Office Professional Plus 2010 on Windows 7 Professional on a domain different that the UCCX servers.

Cisco UCCX CUIC Report Thresholds

To add thresholds to existing reports:

  1. Copy existing stock report into new folder.
  2. Right click report and choose Edit.
  3. Click Edit View button.
  4. Choose view radio button (ie snapshot, since midnight, etc.) and Edit button
  5. Right click the field to set threshold against and choose Thresholds.
Selecting "Waiting Calls" variable and adding "Greater than 1" threshold

Setting text of variable to white on red when threshold met

Wednesday, June 29, 2016

Stream Multicast MOH from gateway notes

Cisco CUCM deployments can provide MoH / music on hold to callers that is streamed from the CUCM server(s) themselves.  If the devices you are putting on hold are far from the CUCM servers though and you don't want the music streams to cross lower bandwidth WAN links, one option you have is to stream the MoH from a voice gateway that is local to the devices on hold.

There are quite a few dependencies to make this work though. Below is a summary of the things I addressed today making it work at a new site.

In your CUCM, you need to enable multicast capabilities on the MoH source, the MoH server, and a Media Resource Group (MRG).

Audio Source with multi-cast enabled

MOH Server with multi-cast enabled

MRG with Multi-cast enabled

Note: You should configure multicast audio sources to increment on the IP address and not the port number (see server configuration above) because:

  • IP phones placed on hold join multicast IP addresses, not port numbers
    • Cisco IP phones have no concept of multicast port numbers. Therefore, if all the configured codecs for a particular audio stream transmit to the same multicast IP address (even on different port numbers), all streams will be sent to the IP phone even though only one stream is needed. This has the potential of saturating the network with unnecessary traffic because the IP phone is capable of receiving only a single MoH stream.
  • IP network routers route multicast based on IP addresses, not port numbers 
    • Routers have no concept of multicast port numbers. Thus, when it encounters multiple streams sent to the same multicast group address (even on different port numbers), the router forwards all streams of the multicast group. Because only one stream is needed, network bandwidth is over-utilized and network congestion can eventually result.

You then need to create and / or assign a MRGL to the trunk, device pool or other that includes the MRG configured above.

MRGL used by remote devices that includes multi-cast MRG from above

Note: You do NOT need to support multicast traffic generically across the network or across the WAN.  Because the phones and voice gateway used for streaming the MoH file were on the same subnet at the remote site, I only enabled support for multicast routing on the voice gateway itself.  The switch where the phones and voice gateway were connected at the remote site did not even have multicast routing enabled.

Now verify what multi-cast IP address your music will utilize.  It is not necessarily the IP address set in the MOH server you see above or even related to the number of the audio source in use. Rather it depends on what codec is being used and in what order the audio sources were added to your server.

Here's a great discussion on the topic:

On the MOH server where "Enable Multicast Audio Sources" is enabled, here's how I found the address I needed.

admin:run sql select m.mohaudiosourceid,m.multicastaddress,m.multicastport, from mohservermulticastinfo as m,typemohcodec as c where m.tkmohcodec = c.enum
mohaudiosourceid multicastaddress multicastport name
================ ================ ============= ========
1             16384         711 ulaw
51            16384         711 ulaw
2             16384         711 ulaw
1             16384         729
51            16384         729
2             16384         729
1             16384         wideband
51            16384         wideband
2             16384         wideband
1             16384         711 alaw
51            16384         711 alaw
2             16384         711 alaw

Note, if here I want to use audio source 2 and the G.711 ulaw codec, I should then use multicast address in my gateway config.

My gateway configuration then includes the following critical components:
ip multicast-routing distributed
ip source-address port 2000
moh enable-g711 "flash:/SampleAudioSource.ulaw.wav"
multicast moh port 16384

Here my gateway's LAN IP address is and I have chosen to stream Cisco's sample music from flash on the gateway.  If you are interested, here's my tips on how to download music from Cisco's music on hold servers to use elsewhere:  It's the technique I used get the sample music file off the server and on the gateway.

If all goes as planned, when a caller is put on hold you can see evidence of it being streamed from the gateway via the "show ccm-manager music-on-hold" command.
! with no calls on hold

my-router#show ccm-manager music-on-hold
Current active multicast sessions : 0

! with one call on hold
my-router#show ccm-manager music-on-hold
Current active multicast sessions : 1
 Multicast       RTP port   Packets       Call   Codec    Incoming
 Address         number     in/out        id              Interface
===================================================================        16384   0/0              25939 g711ulaw