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.