Monday, October 13

CCME - SIP Phone Configurations

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]
  • Free Domain Name @ .co.nr

Cisco Emergency Responder

                                                               

After installation of the Cisco Emergency Responder (E911), the configuration is a little confusing if you haven't done it in a while or if it is your first time. Not many states require E911 capabilities and it is an extra cost that you must enable with your provider.

  1. Enable SNMP - E911 uses SNMP to utilize CDR to discover IP phones that are connected
    1. Enable SNMP on the switch
      1. "snmp-server community <SNMP-String> RO"
      2. Make the SNMP String something more cryptic than just "public"
      3. RO stands for Read Only
    2. Enable SNMP on CUCM 
      1. In the top-right corner, under Navigation, select "Cisco Unified Serviceability" and click Go
      2. Select SNMP V1/V2c > Community String and click "Add New"
      3. Enter the community string that you created on the switch and select "Accept SNMP Packets from any host"
      4. For Access Privileges select "ReadOnly", checkmark "Apply To All Nodes" and click Save.
    3. Enable SNMP on E911
      1. In CER Administration select Phone Tracking > SNMP Settings
      2. Add New SNMP entries for CUCM and the switches
        1. *.*.*.* is a valid catchall statement
    1. Configure Phone Tracking
      1. In E911 select Phone Tracking > LAN Switch Details
        1. Enter the Switch IP or Host Name, Description and click Insert
        2. Do this for each switch in your network containing IP Phones
      1.  Add CUCM nodes to E911
        1. Add an Application User in CUCM
          1. In CUCM Administration, select User Management > Application User and click on "Add New"
          2. Create a new user called "CER_User"
          3. Assign the Permissions: Standard CCM End Users, Standard CTI Allow Calling Number Modification, and Standard CTI Enabled
        2. Add the same Application User in E911
          1. In E911 Administration, select Phone Tracking > Cisco Unified Communications Manager Clusters
          2. Add New cluster and enter the CUCM IP address, CER_User with password, and the BackUp CTI Manager(s) which are your CUCM Subscribers
        1. Create a CTI Route Point - Used to communicate between CUCM and E911
          1. In CUCM Administration go to Device > CTI Route Point and click Add New
          2. Create a RP911 Route Point with no Calling Search Space (we will add this later)
          3. Add a DN for RP911. This DN will be "911" for users to dial. Place this 911 DN in the E911 Partition.
            1. The E911-PT should be at the TOP of all CSS lists so that phones will match this first.
            2. Leave the CSS blank for now and we'll add it later
          1. Import IP Phone Information into E911
            1. In E911 Administration go to Phone Tracking > Run Switch-Port & Phone Update
            2. IP Phones will show up under ERL Membership > Switch Ports

            3. In E911 select System > Cisco ER Group Settings

          My CCIE#53599

          My journey started in 2013 when I decided for a CCIE in voice. One never really knows what they are in for when starting down this r...