Cisco Call Manager Express 8.5 (Unified Communications Manager Express) introduced support for the Cisco 9951 and 9971  phones but it was lacking support for the onboard camera and video calls. With CME 8.6 and newer, Cisco introduced support for the video camera on the 9951/9971 phones allowing for video calls as long as video and camera configuration elements are present in the voice global and register pools. The 99X1 phones only support SIP firmware and there are no known plans to support SCCP. Supporting SIP phones on CME is quite different than SCCP phones, especially if you want CME to automatically provision cnf files for each SIP endpoint.

I decided to create a minimal configuration on my lab router that shows how CME supports Cisco 9951 SIP phones. There are no SCCP phones in this configuration. I believe as Cisco continues to evolve towards SIP, the need for SCCP will slowly fade away into the sunset (this is just my opinion, but is a trend that is becoming more apparent from Cisco each year).

The first step is enabling SIP to SIP communication so phones may call each other as well as dial into CUE. The router should also act as a SIP registrar because we want our phones to register to CME. The min and max expires timers can be set to whatever value you choose, but it’s not a good idea to set it too low otherwise you will DDoS your own router for registration floods.

The next step is to enable voice register global so the router supports CME using SIP. This is done by using the mode cme command. Think of this process as the SIP version of telephony-service. In this case the 9951 phones are physically connected to an HWIC-4ESW-PoE module directly on the CME router and using the router’s IP on the voice VLAN as the SIP interface IP address.  The 9951 firmware was previously downloaded from Cisco’s web site and manually copied to the router’s Flash, hence the tftp-server flash: entry. The video and camera options enable support for video calls on supported phones. The authenticate register command is strongly encouraged for everyone to implement in their SIP configuration. When a SIP phone attempts to register to CME it will be challenged by CME for authentication credentials using MD5 hash. This prevents users from either simply hijacking a SIP identity by spoofing a MAC address. By default, when not using MD5 hash, CME compares the MAC address entry in the voice pool against its own ARP table entry to see if there is a match. It’s very easy to hack your way around this mechanism!

The voice register dn command is very similar to the ephone-dn command used for SCCP phones. As noted above, the extension for voicemail is 4009 which means if there is an incoming call to SIP phone extension 4001 or 4002 is busy or does not answer, the call will forward to voicemail.

The voice register pool command is similar to the ephone command used for SCCP. This is where the MAC address of the 9951 phones are listed, the type of phone is set, the phone number is assigned, and most importantly the pool tells CME to allow use of the 9951′s camera and allow video calls. Something I also consider best practice is to always assign a SIP authentication credential under each pool. This prevents others from hijacking another user’s extension. I would recommend using a stronger username and password. I made it simple for demonstration purposes.

In order for the 9951 to download firmware from Flash the tftp-server command should be set for all the related files.

The CNF files must be generated which provision the files the phones will download. CME will look at the MAC address under each voice register pool and generate the appropriate files. When the phones boot they will search for their configuration files and load the referenced firmware if needed.

At this point the CME configuration for support SIP phones is complete. This specific configuration includes support for the 9951 and video calls.  There are many additional operations and parameters to fine tune CME, but the referenced configuration is enough to enable CME supporting SIP-only phones.

In the event the phones are not loading as expected issue the following debugs commands:

router# debug tftp events

Assuming the 9951 is successfully on the network the output from the debug tftp events command should show the phone attempting to download the configuration files from Flash. If the phone is attempting to download files that end in sgn then Reset All Settings should be performed on the phone. There is a high probability the phone was previously deployed in a CUCM environment.

router# debug ccsip messages

If the phone successfully downloads the provisioned cnf files but fails to finish coming up on the network there is a good chance it is failing its SIP authentication. By executing debug ccsip messages the router will display the SIP dialog between the phone and CME. The response from CME should help determine what the root cause is. For example, if CME returns SIP 503 Service Unavailable then double check voice services voip settings.

  1. Dimitry says:

    Hi Mark,

    Thanks for the tutorial. Very helpful. I’m just wondering if you tried 3rd party video phone, like Polycom VVX. Unless Cisco wrote their own SIP ext to the SIP RFC this should work, right?

    Regards,

    Dimitry

  2. Mark says:

    Hello Dimitry,

    I have not tried the Polycom VVX, but I will my CounterPath softphones a try and see how the video support functions. I have used them for voice in the past. The only down side of course is the configuration of non-Cisco phones must be done manually. Part of my initiative for this blog post was to show the ease of provisioning when using Cisco video phones. Thanks for reading!

  3. Holbrook says:

    Hi Mark,

    Don’t spose you know how to secure cucme to prevent a sip phone that isn’t authenticated to a register pool from making sip-to-sip calls? I’d like to have the ability to connect a phone from anywhere. I had my sip port open on the WAN, and found someone had come across my ip and started making phone calls. Lucky for me, I only had about $2 in my SIP trunk account, so I didn’t loose much, but this presents a challenge which I’m having a hard time figuring out.

    Thanks,
    Holbrook

  4. DIMENTOCHI says:

    Hi
    Mark.
    Im starting on this VoIP thing.
    I can say that im a BEGINNER on this.
    Ive an interess on learning this.
    Going to the point:
    Ive followed this mini-tutorial on this link: http://www.packettracernetwork.com/voipconfiguration.html
    But now ive a question.
    I would like to know the procedures of how do I install the Cisco Unified IP Phone 9971 on my environment.

    I have a router 2951 ISR with CALL MANAGER EXPRESS 8.6, a switch and the phones (Cisco Unified IP Phone 6921 installed successfully).
    I haven’t installed the Cisco Unified IP Phone 9971 yet and I would like to have a full guide of how to do It.

    I have read some guides, but I would like to have a specific step-by-step installation guide for my environment.

  5. Tony says:

    Has anyone configured or enabled the VPN client on the 9971 phone with cucme?

  6. Karla says:

    I’ll use your guide tomorrow to configure phones 9971, thank you!!!

  7. Nithin Louis says:

    Hi,

    I am using CME version 9.0 and having 8961 SIP phones and 6961 SCCP phones.But the time showing different in 8961 phones…its showing 3 hours ahead from the normal time. SCCP phones time is perfect.

    It was showing the correct time before on both the phones.But after reboot the problem begins.please review the below configuration for the CME.

    telephony-service
    max-ephones 110
    max-dn 400
    ip source-address 192.168.1.253 port 2000
    system message ******
    cnf-file location flash:
    dialplan-pattern 1 17217… extension-length 4
    dialplan-pattern 2 17205… extension-length 4
    voicemail 7777
    max-conferences 8 gain -6
    transfer-system full-consult
    transfer-pattern .T
    transfer-pattern 5…
    secondary-dialtone 9
    directory entry 1 5250 name Recepetion
    create cnf-files version-stamp 7960 Nov 06 2012 11:50:56

    voice register global
    mode cme
    source-address 192.168.1.253 port 5060
    max-dn 100
    max-pool 50
    load 8961 sip8961.9-2-1
    authenticate register
    authenticate realm test.com
    timezone 31
    dialplan-pattern 1 17205… extension-length 4
    voicemail 7777
    tftp-path flash:
    file text
    create profile sync 0852452246423051
    camera
    video

  8. Marcus says:

    So has anyone had much luck with CME/UC and the 9xxx/8xxx phones. We deployed it last year and it was a disaster. Sure the phones registered, sure everything looked normal.. then came the weirdest bugs you’d ever seen.. unexplainable fast busy’s, lack of features, failed registrations for no reason, etc.. wound up having to convert back to sccp phones (7975′s).

  9. Things you will notice about these hadsets:
    1. Slow response, even with no applications configured, if you are a fast dialer you will suffer with it.
    2. The latest 9.3(2) firmware have a horrible bug, randomly i will stop responding to the keys pressed unless you lift the handset, speaker phone dialing won’t work .. you will have to revert to the 9.2(1) to sort this.
    3. Call pickup and lots of what you can call basic features won’t work between SCCP and SIP phones, even from SIP to SIP if you are running CME as softkeys template is not applicable.
    4. Basically if you are CME based .. avoid it
    5. The gloss finish of the top gets smudgy easily.

    I hope some of these issues will be fixed with the CME 9.5 and the new phone firmware.