Wednesday, January 7, 2009

CUCME-CUE Lab 3 – New York Basic CUCME System Setup

Ballplayers, LLC’s CIO, Fuzzy Dunlop, is interested in learning more about standards-based Unified Communications protocols. Since Baltimore’s CUCME configuration was based on proprietary Cisco SCCP protocol, he has instructed you to configure the New York CUCME using SIP.

New York Basic CUCME System Setup Prerequisites
If you haven’t already done so, you will need to load the appropriate CUCME files on the New York router. The tasks and options associated with this were described in CUCME-CUE Lab 2, Baltimore Basic CUCME System Setup Prerequisites.

One note, the SIP phone loads are not included in the cme-124-22T2.zip. Therefore, you will need to download these separate from CCO, place them on your FTP or TFTP server, and load them onto your router appropriately. Please refer to the Cisco Unified CME 7.0(1) Supported Firmware, Platforms, Memory, and Voice Products for the compatible SIP phone loads.

For this lab, I’ve downloaded “cmterm-7942_7962-sip.8-3-3SR2.zip”. However, since I’ve previously created a hierarchical file structure for the SCCP 7942-7962 phone loads on flash, I placed the SIP phone loads in the root of flash. Finally, since the SIP phone loads are not a TAR file, you’ll likely need to copy each file individually, rather than using the “archive tar /xtract” command.

Lab 3.1 – New York Basic CUCME Setup Tasks
1. Setup the CUCME System Parameters on the New York router. You may not use the CUCME setup utility or any sort of auto registration process.
2. Configure the New York Phones to update their SIP phone loads.
3. Configure the phone extensions based on the diagram depicted in CUCME-CUE Labs – Background.
4. Ari Gold is a huge fan of the 1986 New York Mets. Therefore, create a custom ringtone for New York based on the "hit" 1986 song, “Lets Go Mets Go”. (ah, the 1980s... - LOL)
5. Each phone and should also be able to customize their ringtones beyond the default chirp ringtone.
6. The CUCME service should be configure to support the appropriate localization, time-zone, a 12 hour time format, and a Month-Day-Year format.
7. Create an appropriate E.164 dial-pattern.
8. Anticipate the need to transfer calls between Baltimore and New York in the future.
9. Enable the wideband codec by default for all phones.
10. Create the appropriate GUI Administrator parameters
11. Create GUI access for Fuzzy Dunlop with parameters separate from the Administrator.
12. Each user’s phone should also display his/her name and full E.164 number.
13. Eliminate the possibility of “clipping” of voice between pauses in conversations.

Lab 3.2 – New York Basic CUCME Setup Verification
In my opinion, the configuration of CUCME for SIP phones is more complicated than a SCCP setup. Furthermore, a SIP CUCME configuration has far fewer features and functionality than a SCCP configuration. However, SIP is the “emerging” UC standard. And CUCME 7.1, which I was able to beta test at the Cisco Partner UCVT in October 2008, should incorporate some new SIP features to bring closer feature parity with SCCP phones & features.

Before I discuss the specific tasks, an additional note…. Unlike SCCP phones, SIP phones do not maintain a keepalive with CUCME. Additionally, you have to reissue the “create profile” command under voice register global every time you make a change to either the phone (voice register pool), the dial number (voice register dn), and/or under the voice global register. Therefore, my recommendation is while you make your initial SIP configurations:

- Either shut down the voice vlan and/or remove the phones from the CUCME switch.
- Configure all of your SIP parameters.
- Issue the necessary “upgrade” and “create profile” commands under voice register global.
- Reattach your phones and/or turn up your voice vlan.
- Reset and/or troubleshoot phones as necessary.

1. Updating the SIP Phone loads was the first challenge, thanks to inaccurate information in some Cisco documentation. First, the correct configuration to update the SIP phone images is below.

tftp-server flash:apps42.8-3-3ES2.sbn
tftp-server flash:cnu42.8-3-3ES2.sbn
tftp-server flash:cvm42sip.8-3-3ES2.sbn
tftp-server flash:dsp42.8-3-3ES2.sbn
tftp-server flash:jar42sip.8-3-3ES2.sbn
tftp-server flash:SIP42.8-3-3SR2S.loads
tftp-server flash:term42.default.loads
tftp-server flash:term62.default.loads
!
voice register global
mode cme
load 7962 SIP42.8-3-3SR2S
load 7942 SIP42.8-3-3SR2S
upgrade
create profile


Now, I’ll point out the inaccuracy, also keeping in mind that I configured much of the other SIP related parameters when I encountered this issue…

The Cisco Unified CME 7.0(1) Supported Firmware, Platforms, Memory, and Voice Products contains “Important Information about Configuring Cisco Unified IP Phone Support”, specifically, the following:

“In Cisco Unified CME 7.0(1) and later versions, use the complete filename, including the file suffix, when you configure the load command for phone firmware versions later than version 8-2-2 for all phone types.”

So, initially in the above load commands, I included the .loads suffix. However, when the phone attempted to download the SIP loads, they encountered an error attempting to load SIP42.8-3-3SR2S.loads.

After a bit of troubleshooting, I decided to remove the .loads suffix, re-issue the upgrade and create profile, and reset the phones. Unfortunately, while the phones did obtain their proper DHCP, TFTP, and CUCME information from the router, they still would not upgrade their SCCP to SIP load. After some additionally frustrating troubleshooting, I decided to reboot the router. Once the router reloaded and phone obtained the proper DHCP information, they were able to update their phone loads and register accordingly.

2. There are a few steps involved in creating a custom ringtone that is not include by default in the ringtone.tar. The first step was to find a .wav recording to “Lets Go Mets Go”, which surprisingly wasn’t too difficult. The second step is to convert the .wav to a PCM .raw format and upload it to the ringtones directory in the router. Next, you have to modify both the DistinctiveRingList.xml and the RingList.xml files. Finally, you have to remove the existing versions of these on the router, and upload these modified versions. You can find a very good posting on the proper procedures here.

3. In a nutshell, configuring CUCME to support SIP involves the following steps:

- Enabling SIP Calls in Your VoIP Network
- SIP: Setting Up Cisco Unified CME
- SIP: Creating Directory Numbers
- SIP: Assigning Directory Numbers to Phones

4. Configuring the SIP phones to uses the G.722 Wideband Codec can be a bit confusing, since it isn't very well documented on CCO in one place. Essentially, there are two components. First, you have to modify the global codec under telephony-service, the same as it was done in Baltimore. Second, you need to configure each phone (voice register pool) to use G.722 as the default codec (SIP phones default to G.729).

5. The following show commands are helpful in verifying and troubleshooting your configuration:

show voice register global (verifies the voice register global parameters)
show voice register tftp-bind (verifies the creation of the voice profiles and their tftp binding)
show voice register statistics (verifies SIP phone registration with CUCME)

6. Below is the output of the appropriate router configuration, truncated for brevity.

NewYork#sh run
!
voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
sip
registrar server expires max 600 min 300
!
!
voice register global
mode cme
source-address 10.1.22.1 port 5060
load 7962 SIP42.8-3-3SR2S
load 7942 SIP42.8-3-3SR2S
timezone 12
dialplan-pattern 1 2125552... extension-length 4
create profile sync 000371836563317A
ntp-server 10.1.1.4 mode directedbroadcast
!
voice register dn 1
number 2001
name Tom Seaver
label Tom Seaver
!
voice register dn 2
number 2002
name David Wright
label David Wright
!
voice register dn 3
number 2003
name Eli Manning
label Eli Manning
!
voice register dn 4
number 2004
name Brandon Jacobs
label Brandon Jacobs
!
voice register dn 5
number 2005
name Ari Gold
label Ari Gold
!
voice register pool 1
id mac 0021.D8BA.2373
type 7942
number 1 dn 1
dtmf-relay sip-notify
description 212-555-2001
codec g722-64
no vad
!
voice register pool 2
id mac 0212.0555.2002
type 7942
number 1 dn 2
dtmf-relay sip-notify
description 212-555-2002
codec g722-64
no vad
!
voice register pool 3
id mac 0212.0555.2003
type 7942
number 1 dn 3
dtmf-relay sip-notify
description 212-555-2003
codec g722-64
no vad
!
voice register pool 4
id mac 0212.0555.2004
type 7942
number 1 dn 4
dtmf-relay sip-notify
description 212-555-2004
codec g722-64
no vad
!
voice register pool 5
id mac 0021.D8B9.BC72
type 7962
number 1 dn 5
dtmf-relay sip-notify
description 212-555-2005
codec g722-64
no vad
!
telephony-service
em logout 0:0 0:0 0:0
max-ephones 42
max-dn 144
ip source-address 10.1.22.1 port 2000
service phone g722CodecSupport 2
service phone handsetWidebandEnable 1
service phone headsetWidebandEnable 0
service phone handsetWidebandUIControl 0
system message Ballplayers, LLC New York
max-conferences 8 gain -6
web admin system name Cisco123 password Cisco123
web admin customer name Fuzzy password Dunlop
transfer-system full-consult
transfer-pattern 1...
transfer-pattern 2...
create cnf-files version-stamp 7960 Jan 07 2009 16:21:39
!

CUCME-CUE Lab 3 Wrap-up
As I stated earlier, configuring CUCME for SIP is more complicated, with comparatively fewer features. The feature differences will become more apparent in future labs, although CUCME 7.1 may address some of the SIP phone feature loss. For example, you cannot configure a System Message on SIP phones, and the CUCME GUI is basically worthless for SIP phones.

Editorially, I found it confusing to have to configure some parameters under “voice register global” and others under “telephony-service” in order to have a working SIP CUCME router. There is probably some programming reason in IOS for having to work under two different areas, but it certainly would be nice to have all the parameters configured under one global section.

References:
Cisco Systems. Cisco Unified Communications Manager Express: SIP Implementation Guide. Available online.

Cisco Systems. Cisco Unified Communications Manager Express System Administrator Guide. Available online.

UC500.com: Cisco Communication Manager Express, UC520, SMB VOIP reference and community. Creating Custom Ring Tones for CallManager Express. Available online.

2 comments:

Anonymous said...

You do not need any telephony-service commands for SIP CME. I do not know why you have them in this example.

Mark G. Reyero said...

Gosh, been a while since I played around with this lab. As I seem to recall, there were certain things with SIP CUCME that still required the telephony-service subcommands, such as conferencing. Again, been a while, so I would need to refer back to the CUCME Admin Guide.