Monday, August 27, 2012

CCME - SIP Phone Configurations


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
     To find out the specific files that you need for each phone, search Google/Cisco for your specific version of CME. Since we are using CME version 7.1, here is the associated documentation for firmware and more:
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 idle {[Cfwdall] [Newcall] [Redial]}  
  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]

.

No comments:

Post a Comment