CISCO IP Phone SCCP to SIP

From KlavoWiki
Jump to navigationJump to search

I have had no end of trouble trying to find ways to upgrade some CISCO IP phones from SCCP (Skinny) to SIP. The biggest problem I found was trying to find information. Here I list what I did to upgrade some CISCO IP Phones from SKINNY to SIP.


Prerequisite

DHCP

You network must be using option 66 for DHCP, which points to a TFTP server, either using IP or FQDN.

TFTP

There are a lot of articles that say not all TFTP servers work with the CISCO Phones. I first used OpenFTPServer as that was the recommended. I also used SolarWinds TFTP Server as that is my favourite for Windows. For Linux my standard is vsftpd.

You will need to make a choice of which TFTP server to use.

Firmware P0S3-08-9-00

Files

The following information is based on SIP firmware P0S3-08-9-00. It seems that you can only download old firmware form the CISCO web site unless you have an account/contract with CISCO. I called CISCO and said I required the latest SIP firmware. A help desk person made the files available to me. I may have been lucky.

Extract the ZIP file which contains the firmware files to the root of your TFTP server. These files should be as follows:

  • OS79XX.TXT
  • P0S3-08-9-00.loads
  • P0S3-08-9-00.sb2
  • P003-08-9-00.bin
  • P003-08-9-00.sbn

OS79XX.TXT

Edit the contents of the OS79XX.TXT file. By default it will have P003-08-9-00. Change that to be P0S3-08-9-00. The S represents SIP.

SIPdefault.cnf

You will need to create a file called SIPdefault.cnf. The phone will look for the field image_version. You need to specific the firmware version that you would like to use.

NOTE: Not all phones used this field to automatically upgrade via TFTP. The CISCO 7912 phone requires a manual process. See that sections for more details.

image_version: P0S3-08-9-00

I would recommend that you use the SIPdefault.cnf file listed below. This will be a global file that you would like all of your phones to use.

configuration files

SIPdefault.cnf

This file will be used by all CISCO phones. Any non-global or specific configuration required for an individual phones needs to be placed in the file SIP<mac_address>.cnf. For Example, if the MAC address of your phone is 1C17D3C2FF93 then you need a file called SIP1C17D3C2FF93.cnf that contains the individual setting for that phone. See the next section for that information.

# For 7940 Phones
image_version: P0S3-08-9-00

# Proxy Server
proxy1_address: "192.168.25.250"

# Outbound Proxy info
outbound_proxy: "192.168.25.250"
outbound_proxy_port: "5060"

# Proxy Registration (0-disable (default), 1-enable)
proxy_register: "1"


# Phone Registration Expiration [1-3932100 sec] (Default - 3600)
timer_register_expires: "3600"

# Codec for media stream (g711ulaw (default), g711alaw, g729)
preferred_codec: "g711ulaw"


# Setting for Message speeddial to Voice Mail
messages_uri: "9999"

# Set Dialplan File name
dial_template: dialplan

# Time Server
sntp_mode: "unicast"
sntp_server: "ntp.bri.connect.com.au"

# Time Zone phone will reside in
# http://www.cisco.com/en/US/products/hw/optical/ps2011/products_user_guide_chapter09186a00800bd9d7.html
time_zone: "JST"

#Time Format (0-12hr, 1-24hr [default])
time_format_24hr: "0"

# Emergency Proxy info
proxy_emergency: ""
proxy_emergency_port: "5060"

# Backup Proxy info
proxy_backup: ""
proxy_backup_port: "5060"

# Outbound Proxy info
outbound_proxy: ""
outbound_proxy_port: "5060"

# NAT/Firewall Traversal
nat_enable: "0"
nat_address: ""
voip_control_port: "5060"
start_media_port: "16384"
end_media_port:  "32766"
nat_received_processing: "1"

# Telnet Level (enable or disable the ability to telnet into this phone
telnet_level: "2"      ; 0-Disabled (default), 1-Enabled, 2-Privileged

# Phone prompt/password for telnet/console session
phone_prompt: ""                            ; Telnet/Console Prompt
phone_password: ""                          ; Telnet/Console Password

# Enable_VAD (1-enabled, 0-disabled)
enable_vad: "0"

# Network Media Type (auto, full100, full10, half100, half10)
network_media_type: "auto"
user_info: phone

# URL for external Directory location
#logo_url: "http://10.0.1.3/10-20logo.bmp"                    ; URL for branding logo to be used on phone display


SIP<mac_address>.cnf

This file contains specific information for each phone. The information here is more about registration information to the PBX.

The following configuration file is for a CISCO 7940 which is a 2 line phone. If you have a 1, 3 or more line phone then add/remove the lineX lines appropriately.

# SIP Configuration Generic File (start)


# Line 1 Settings
line1_name: "8952"            ; Line 1 Extension\User ID
line1_displayname: ""         ; Line 1 Display Name
line1_authname: "8952"        ; Line 1 Registration Authentication
line1_password: ""            ; Line 1 Registration Password

# Line 2 Settings
line2_name: "8952"            ; Line 2 Extension\User ID
line2_displayname: ""         ; Line 2 Display Name
line2_authname: "8952"        ; Line 2 Registration Authentication
line2_password: ""            ; Line 2 Registration Password



# Phone Label (Text desired to be displayed in upper right corner)
phone_label: "Exten: 8952  "    ; Has no effect on SIP messaging

# SIP Configuration Generic File (stop)

dialplan

You will notice in the SIPdefault.cnf file there is a line that sais:

# Set Dialplan File name
dial_template: dialplan

This is informing the phone as to where the dialplan or number pattern matching scheme is for the phone. My dialplan is based on Queensland Australia.

<DIALTEMPLATE>
  <TEMPLATE MATCH="000" TIMEOUT="0"/>               <!-- Emergency Services. Dial immediately -->
  <TEMPLATE MATCH="89.." TIMEOUT="0"/>              <!-- Internal extensions 8900 to 8999. Dial immediately -->

  <TEMPLATE MATCH="3......." TIMEOUT="0"/>          <!-- QLD Local 8 Digit Numbers. Dial immediately -->
  <TEMPLATE MATCH="4......." TIMEOUT="0"/>          <!-- QLD Local 8 Digit Numbers. Dial immediately -->
  <TEMPLATE MATCH="5......." TIMEOUT="0"/>          <!-- QLD Local 8 Digit Numbers. Dial immediately -->

  <TEMPLATE MATCH="02........" TIMEOUT="0"/>        <!-- Sydney     10 Digit Numbers. Dial immediately -->
  <TEMPLATE MATCH="03........" TIMEOUT="0"/>        <!-- Victoria   10 Digit Numbers. Dial immediately -->
  <TEMPLATE MATCH="07........" TIMEOUT="0"/>        <!-- Brisbane   10 Digit Numbers. Dial immediately -->
  <TEMPLATE MATCH="08........" TIMEOUT="0"/>        <!-- WA/SA/NT   10 Digit Numbers. Dial immediately -->
  <TEMPLATE MATCH="04........" TIMEOUT="0"/>        <!-- AU Mobiles 10 Digit Numbers. Dial immediately -->

  <TEMPLATE MATCH="1300......" TIMEOUT="0"/>        <!-- AU 1300 Calls. Dial immediately -->
  <TEMPLATE MATCH="1800......" TIMEOUT="0"/>        <!-- AU 1800 Calls. Dial immediately -->

  <TEMPLATE MATCH="131..." TIMEOUT="0"/>            <!-- 13[1-9]xxx Numbers. Dial immediately -->
  <TEMPLATE MATCH="132..." TIMEOUT="0"/>
  <TEMPLATE MATCH="133..." TIMEOUT="0"/>
  <TEMPLATE MATCH="134..." TIMEOUT="0"/>
  <TEMPLATE MATCH="135..." TIMEOUT="0"/>
  <TEMPLATE MATCH="136..." TIMEOUT="0"/>
  <TEMPLATE MATCH="137..." TIMEOUT="0"/>
  <TEMPLATE MATCH="138..." TIMEOUT="0"/>
  <TEMPLATE MATCH="139..." TIMEOUT="0"/>

  <TEMPLATE MATCH="70." TIMEOUT="0"/>               <!-- Call Parking 70x numbers. Dial immediately -->
  <TEMPLATE MATCH="71." TIMEOUT="0"/>               <!-- Call Parking 71x numbers. Dial immediately -->
  <TEMPLATE MATCH="72." TIMEOUT="0"/>               <!-- Call Parking 72x numbers. Dial immediately -->
  <TEMPLATE MATCH="0011*" TIMEOUT="5"/>             <!-- International Calls. Wait 5 seconds, then dial -->
  <TEMPLATE MATCH="9999" TIMEOUT="0"/>              <!-- For voicemail. Dial immediately -->
  <TEMPLATE MATCH="*#" TIMEOUT="0" REWRITE="%1"/>   <!-- Dial Immediately After Pressing # -->
  <TEMPLATE MATCH="*" TIMEOUT="5"/>                 <!-- Anything else. Wait 5 seconds, then dial -->
</DIALTEMPLATE>