I don't think I've seen SIP deployed yet in a CCME environment unless the phone set supported only SIP. Anyway, SIP seems like the direction most of the new phone sets are heading towards, and it's pretty cool that most of the older phones support SCCP and SIP. So let's figure out how to deploy SIP phones on CCME...
Phone Firmware Files
Before you can configure and register SIP phones, you'll need to upload the relevant phone firmware files into the router's flash memory. Keep in mind that some firmware files are version specific. If you upgrade/downgrade, you may have to re-upload the applicable phone firmware files or it may not work.
CCME SIP Firmware Files Required:
- cme-gui-124-24T.tar !! for web GUI access
- 79XX-79XX-sip.<version>.tar !! for 79XX phone types
- P00308000500.tar !! for 7940 and 7960 SCCP and SIP phones
- ringtone.tar !! for additional ringtones
http://www.cisco.com/en/US/docs/voice_ip_comm/cucme/requirements/guide/cme71spc.htm
To upload the phone firmware files, each IOS Release has a matching Complete Support File Set TAR/ZIP. When you have this TAR file, you can use the archive tar command to extract the specific files needed to flash memory
archive tar /xtract tftp://<source-url>/ flash:
archive tar /xtract tftp://192.168.1.1/P00308000500.tar flash:/PHONE/
SIP Configurations
ip dhcp excluded-address 10.10.202.1 10.10.202.49
ip dhcp excluded-address 10.10.202.70 10.10.202.254
ip dhcp pool PHONES
network 10.10.202.0 255.255.255.0
option 150 ip 10.10.202.1
default-router 10.10.202.1
tftp-server flash:PHONE/P00308000500.loads alias P00308000500.loads
tftp-server flash:PHONE/P00308000500.sb2 alias P00308000500.sb2
tftp-server flash:PHONE/P00308000500.bin alias P00308000500.bin
tftp-server flash:PHONE/P00308000500.sbn alias P00308000500.sbn
Set up the TFTP server the with required SIP firmware files. The "tftp-server flash:" command allows the TFTP server on the CME router to serve that specific file. The "load" command within "voice register global" or "telephony-service" specifies the load that the phones should run. It is recommended to keep all phones at the same firmware version level to avoid version interoperability issues and to simplify troubleshooting across all phones.
Use the "alias" command when the tftp-server file is not located at the flash: root location. Since we have it in the PHONES sub-directory, we must create an alias of the file name for phones download this file.
voice service voip
allow-connection h323 to sip
allow-connections sip to h323
allow-connections sip to sip
sip
bind control source-interface FastEthernet0/0.522 !! use same IP address as SIP source
bind media source-interface FastEthernet0/0.522 !! use same IP address as SIP source
registrar server expires max 600 min 60 !! Enable Cisco IOS SIP registrar
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g729r8
We need to allow connections from SIP to SIP and H323 as SIP phones create voip dial-peers and SCCP phones create EFXS POTS dial-peers. Without these allowed connections we will be unable to have SIP and SCCP phones communicate with each other.
The SIP section under voice service voip is also required. You must bind the control and media (you can also use the "all" command for both) with the same IP address on the source-address under your SIP Voice Register Global section or you will run into phone registration problems.
The registrar server command is needed for phones to register. Users register with this registrar server using their assigned SIP addresses. The registrar server then provides the registration information.
voice register global
mode cme !! default is srst, need to set to CME mode
source-address 192.168.1.1 port 5060 !! assign same address as the bind media/control
max-dn 10 !! sets the maximum extension amount
max-pool 10 !! sets the maximum phone amount
authenticate register !! allows phones to authenticate with ID & PW
time-format 24 !! set the time to 12 or 24 hour format
date-format D/M/Y !! set the date format to D/M/Y
tftp-path flash: !! sets the location of all the phone firmware files
create profile !! any change made? always use this command
ntp-server 192.168.100.1 mode unicast !! set the NTP server
Voice register global is the "telephony-service" of the SIP CME world. The first command you need to enter is "mode cme" as the default is "mode srst". Without "mode cme" you will be missing quite a few commands which you need to get phones registered.
Set the source-address to the same IP address as you did with the bind control and media commands under voice service voip sip. Also set the "tftp-path" command to the flash location of all the phone firmware files you uploaded.
One of the most used SIP CME commands is "create profile". Anytime you make a change to a DN, Pool, Global, Template, or pretty much anything SIP phone related, you MUST run this command.
voice register dn 1 !! SIP DN - equivalent to SCCP ephone-dn
number 3000 !! extension DN number
name BR2 - 3000 !! caller ID name string
label BR2 - 3000 !! line text label on the phone
voice register template 1
dialplan 1 !! dialplan needed for SIP phones w/o KPML
softkeys connected Endcall Hold Trnsfer !! specify softkeys for specific phone states
softkeys hold {[Newcall] [Resume]}
softkeys seized {[Cfwdall] [Endcall] [Redial]}
voice register dialplan 1 !! choose either 7940-7960 or 7905-7912
type 7940-7960-others !! can only have one type for each dialplan
pattern 1 3... !! removes inter-digit timeout due to lack of KPML
pattern 2 999 !! create a pattern for each outgoing dial-peer pattern
voice register pool 1 !! SIP Phone - equivalent to SCCP ephone
id mac 1111.2222.3333 !! phone MAC address
type 7965 !! phone model type
number 1 dn 1 !! assign a DN to a button
template 1 !! assign a voice register template
dialplan 1 !! choose a dialplan which overrides the template dialplan
description 32143000 !! external phone mask - displays at top right of phone
voice-class codec 1 !! set the codec preference class
Troubleshooting SIP CME
Router
- debug tftp events
- debug tftp packets
- debug ccsip messages
- debug ccsip error
- show ip dhcp bind
- show voice register tftp-bind
- show voice register global
- show voice register statistics
Switch
- show power inline
- show cdp neigh [detail]
.