Thursday, May 26, 2011

Getting List.xml from UCM

There are numerous way to get the List.xml from UCM, however if you don't have a tftp client like the one built-in on Mac or Linux, but you have a router with you, you can do the following on your IOS router:

Say for example I want to change the wallpaper listing for my 89/99 phones:
copy t

Then you can "more flash:List.xml" on your router to view the content, copy and paste it to your notepad, modify it and upload it back to UCM via the servicability page.


Configuring Live Record in Cisco Unity Connection

My environment:  UCM, CUC

Live record is a cool feature that you can record your conversation or even serve as a voice memo by dialing in a number, and the recording will be stored in your own voice mailbox.

To configure Live Record, first of all you need to create a DN on UCM:

1. UCM > Call Routing > Directory Number > Add New
2. Enter a DN, say for example 1188.  Configure partition and CSS base on your environment
3. CFA to the voicemail pilot number

On CUC, you need to do the following:
1. CUC > Call Routing > Forwarded Routing Rules > Add New
2. Enter Live Record in Description field and select Save.
3. On the Edit Forwarded Routing Rule page, in the status field, select Active
4. Under Send Call To, select Conversation
5. In the Conversation list, select Start Live Record
6. Under Routing Rule Condition, select Add New
7. On the new Forwarded Routing Rule Condition page, select Dialed number
8. Select Equals and enter the Live Record pilot number, in my case the number is 1188.  Then select Save.

Done!  Call in 1188 to try, or you can call others and conference to this number.  The recording will be stored in your VM mailbox.

IP Communicator 8.6.1 - Network settings are grayed out

My environment:  IP Communicator 8.6.1 on Windows Vista

I am playing around with the new IP Communicator 8.6.1 in my lab and I've found the network settings are grayed out when I try to change the tftp server address.

You need to right-click on the desktop IP communicator icon and choose "run as administrator" in order to change the network settings in this new release.

Bring your dead Cisco IP phone back to live

I have an old post talking about how to factory reset your Cisco IP phone:

However in a lot of cases, after you entering the 3491672850*# sequences twice, you phone looks dead.  The right topmost line key will have a orange flash then the screen is dark.  In this scenario you need to:

1. Make sure you have DHCP server configured and your phone can get an IP address
2. Make sure you have option 150 ip configured so that the IP phone knows where to get the firmware
3. Finally, you need to change your switchport to "speed 100" manually!!!!!  I have four phones recovered from "seems dead" state and it seems to be the trick.

After you make sure you have done the 3 steps above, restart the factory reset steps and you can recover your dead phone!

Wednesday, May 25, 2011

Display photo on Cisco Mobile 8.1.1 and CUPC

My environment:  UCM, Cisco Mobile 8.1.1, CUP

Cisco Mobile default will use the LDAP jpegPhoto field to store the photo, for CUP you need to configure in

CUP > Applications > CUPC > Settings

Map the Photo user fields to LDAP jpegPhoto attributes

MS doesn't provide a UI to upload the photo to the jpegPhoto attribute, after some research I have modified a VB script and I am using it for my photo upload:

Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function 

Set objNewUser = GetObject("LDAP://localhost:389/cn=1234567,ou=bamboo,ou=panda,dc=pandaeatsbamboo,dc=com")
objNewUser.Put "jpegPhoto", ReadBinaryFile("1234567.jpg")
Set objNewUser = Nothing 

6921 and CUPC

My environment:  UCM, CUP

Starting from UCM 7.1(5), 6921 is consuming 2 DLUs instead of 3 in the earlier version, and therefore it no longer able to be a primary phone for CUPC.  The CUPC itself consumes 3 DLUs, and the primary phone must >= 3 DLUs in order to qualify as the primary phone.

If you try to assign a 6921 as the CUPC primary phone, you will get the message:

"Update failed.  [10205]  The device must use the same or fewer DLUs as its primary phone"

Unity Connection Licensing Explained

My environment:  CUC

I've found that the Unity Connection Licensing quite confusing.  For a CUC cluster, it will ship with 3 PAKs, 2 of them contains mailboxes, ports and feature license, the HA PAK contains port licenses only.

The first 2 PAKs should be registered with the publisher license mac, and upload from the CUC publisher admin page.

The HA PAK should be registered with the subscriber license mac, and upload from the CUC subscriber admin page.

At the end you should have port licenses evenly distributed across the pub and sub, and mailboxes and features bind to the publisher.

If you found the license file is invalid when you upload to CUC, make sure you are NOT using Mac OS X + Entourage and download the files via Entourage.  It will corrupt the file, the workaround I've done is to download the license files via OWA, and it works!

Hope it will make it clear and save some time to deal with the licensing team!

Visual Voicemail Walkthrough

My environment: UCM and CUC

There are several steps that are required in order to get the visual voicemail working

1.  Firstly you need to create a voicemail pilot number for reverse TRAP connection.

UCM > Advanced Features > Voice Mail > Voice Mail Pilot

Suggest don't use special character, I used *1200 and I've found it is not working after setting the reverse trap routing rules.  After removing the *, it works perfectly.

2. Assuming you are using SCCP integration, create a hunt pilot and includes your voice mail ports hunt list

UCM > Call Routing > Route / Hunt > Hunt Pilot

3. Configure voicemail web service on Unity Connection

CUC > System Settings > Advanced > Connection Administration

4. Configure a reverse TRAP rule, this is a very important step.  

CUC > Call Management > Call Routing > Direct Routing Rules > Add New

I have hit by a bug that some of the phones with visual voicemail widget works correctly, others are keep saying "You call cannot be completed as dial" message, and the phone is calling 5555 instead of the configured pilot number.  

The workaround is, rename your rule to "Route to Reverse TRaP" instead of other names.  

Create a routing rule condition, "Add New" in routing rule conditions.  Select "Dialed Number" and "Equals" it to the voicemail pilot number, in my case the number is 1200.

If you have hit the same bug as me, rename the direct routing rule, unsubscribe the services on phone, reset the phone, subscribe the service again, then it will work.  At least it is working in my case.  :)

In "Send Caller To" section, select "Conversation" option and select "Reverse TRAP" from the list box, save your rule

You can call your TRAP number, you should hear several seconds of silence.  You can also use RTMT CUC port monitor to make sure the call is answered by the voicemail port and the conversation is reverse TRAP.

5. Configure message indicator count

CUC > Telephony Integrations > Phone Systems

Check "Send Message Counts", save your configuration.

6. Suggest to balance your service if you are having a CUC cluster.  You can create a DNS Host record (A) pointing to the two CUC ip address, and use this FQDN for your visual voicemail URL link.

7. Create visual voicemail service on UCM

UCM > Device > Device Settings > Phone Services

Add New phone services, the service URL is

Congratulations, you are done!  Click on the message button, choose Visual Voicemail give it a try!

Friday, May 6, 2011

Restart VMWare processes on VMWare Fusion 3

My environment:  VMWare Fusion 3 on Mac OS X 10.6

I've encountered a weird problem that the bridged VM can't access the outside world as well as the host as well.  When the VM boots up I received several ping reply and all ping are lost after it fully boots up.  After troubleshooting for hours, a process restart solved the problem.  To restart the process on Mac:

sudo /Library/Application\ Support/VMware\ Fusion/ --restart