Cisco 7910-HOWTO

VoIP Hardware Solutions
Provider Solution Details
VoIP Hardware Zycoo UC Solutions
  • Modular Design IP PBX for SMB
  • Remote office Centralized Management solution
  • 3rd party app integration, Enterprise Billing, Android & iOS client
Details
Yeastar Communications Solutions
  • Cost-effective IP-PBX Solution for SMB
  • FXS, FXO, GSM, BRI and PRI VoIP Gateways
  • Rich features and reliable performance
Details
This guide should enable you to use the Cisco 7910 SCCP phone with Asterisk and chan_sccp_b.

You can get the chan_sccp-b driver from http://sourceforge.net/projects/chan-sccp-b/
(This page is hopelessly outdated by the way. Check out the documentation at http://chan-sccp-b.sourceforge.net/ for more up to date info)

INSTALLATION INSTRUCTIONS

1. Install the chan_sccp-b driver on your system and change the modules.conf file (if your modules.conf file doesn't mention the sccp.so driver, check for autoload=yes).

2. Install a TFTP server some where on your network. You will need this to upload the firmware and settings to the 7910. For illustrative purposes, assume the TFTP directory is /tftpboot. Installing the TFTP server on your Asterisk PBX is probably not recommended if you are using a CD-ROM distribution, since they will reformat your hard drive on a reinstall.

Firmware Versions


Starting with Step 3, there are several places where the firmware version of the firmware for your phone is entered. My firmware version is P00405000600, or P004-05-6-00. If your phone is using a different firmware load, you will need to adjust the version to match your situation.

3. Create /tftpboot/OS7910.txt. This file normally comes from Cisco and contains the image version information for your phones current (or soon to be loaded) firmware. If you are not planning on using the OS7910.txt file for upgrades, you do not need to create the file with your current firmware information. I've found that having the file available makes my phones boot faster. Since we are using Skinny, The entry in the file needs to start P004... (and not P0S4, which is the SIP firmware indicator).

4. Create the /tftpboot/XMLDefault.cnf.xml file. The only thing that you probably need to change in the file is the IP address of the server in the "<processNodeName>" entry.


<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.1.2</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>

<loadInformation6 model="IP Phone 7910">P00405000700</loadInformation6>
<loadInformation124 model="Addon 7914"></loadInformation124>
<loadInformation9 model="IP Phone 7935"></loadInformation9>
<loadInformation8 model="IP Phone 7940">P0S3-08-2-00</loadInformation8>
<loadInformation7 model="IP Phone 7960">P0S3-08-2-00</loadInformation7>
<loadInformation20000 model="IP Phone 7905"></loadInformation20000>
<loadInformation30008 model="IP Phone 7902"></loadInformation30008>
<loadInformation30007 model="IP Phone 7912"></loadInformation30007>
</Default>


4. Create/edit the sccp.conf file. Note that the loadimage version number below should (in a perfect world) match the phone you are using AND the information in the OS7910.txt file.

[general]
keepalive = 30
context = from-internal
dateFormat = M.D.Y ; date format
bindaddr = 0.0.0.0 ; interface to bind to
port = 2000 ; port to bind to (2000 = skinny)
debug = 4
accountcode = SCCP ; recordname appearing in cdr
callwaiting_tone = 0x2d ; turn off callwaiting tone == 0
language = en
echocancel = on
silencesuppression = off
cfwdall = on ; turn on call forward button
cfwdbusy = on ; turn on call forward when busy button
dnd = on ; turn on "do not disturb"
mwioncall = on ; lit message waiting light when new messages
; are in voicemailbox
digittimeoutchat = # ; type hash to stop dialing timeout
disallow = all
allow = ulaw ; european isdn is alaw
allow = g711

[devices]
type = 7910 ; my phone is a 7910
description = Upstairs
tzoffset = 0
autologin = 510
speeddial = 511,511,511@internal
speeddial = 599,599,599@internal
imageversion = P00405000700
device => SEP00055E5FFFFFE ; This is the device Name (SEP+Mac)

type = 7910 ; my wifes phone is a 7910
description = Downstairs
tzoffset = 0
autologin = 511
speeddial = 510,510,510@internal
speeddial = 8886626482,8886626482,8886626482@internal
imageversion = P00405000700
device => SEP00055EFFFFFF ; This is the device Name (SEP+Mac)

[lines]
id = 510 ; Extension
label = 510 ; label on line button
description = Upstairs
context = from-internal ; incoming call context
callwaiting = 1
incominglimit = 3 ; max 3 incoming calls
mailbox = 510 ; corresponding voicemail box
vmnum = *97 ; extension to dial to access VoiceMailMain()
cid_name = "Upstairs" <2125554321>
cid_num = 510
line => 510

id = 511 ; Extension
label = 511 ; label on line button
description = Downstairs
context = from-internal ; incoming call context
callwaiting = 1
incominglimit = 1 ; max 3 incoming calls
mailbox = 501 ; corresponding voicemail box
vmnum = *97 ; extension to dial to access VoiceMailMain()
cid_name = "Downstairs" <2125551234>
cid_num = 511
line => 511

5. Optionally, you can create the SIP<MAC>.cnf files (one for each phone, where <MAC> is the 12 digit MAC address). The only time you'd ever need this file is if you decide to convert the phones to SIP; the phone doesn't use the file in SCCP mode.

  1. SCCP Phone Configuration
  2. name is the same as the extension number in TrixBox
  3. shortname can be anything - this gets displayed on the phone
  4. displayname should be anything - this should get displayed at the top
  5. of the display
line1_name: "510"
line1_shortname: "510"
line1_displayname: "510"
line1_password: "4321"
line1_authname: "510"

6. Finally, create the SEP<MAC>.cnf.xml, one for each phone, where <MAC> is the 12 digit MAC address of the phone. Note that this file contains the server address for the Asterisk Server, just like the Default XML file above. Theoretically, if you have SEP<MAC>.cnf.xml files for all of your phones, you shouldn't need the Default file, but I found that not having it made my phone unhappy. With the exception of the server address, you shouldn't NEED to change anything in the file to get it to work.

<device>
<devicePool>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.1.2</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<versionStamp>{Jan 01 2005 00:00:00}</versionStamp>
<loadInformation>P00405000700</loadInformation>
<userLocale>
<name>English_United_States</name>
<langCode>en</langCode>
</userLocale>
<networkLocale>United_States</networkLocale>
<idleTimeout>0</idleTimeout>
</device>

Remember, you will still need to create extensions for the phones to work. In Trixbox, you can use the "Custom" option to create your extension. Remember that the designation for your phones is SCCP/### where ### is the extension number you assigned in the "Line" commands above. If you don't create the extensions, you will be able to make outgoing calls, but not incoming calls.

The 2-Line LCD display can't do much, but the phone has "Line", 'Hold", "Transfer", "Settings", "Msgs", "Conf", "Forward", "Redial", and two Speed-dial buttons. Of these, the Redial, Msgs, SpeedDial, and Line buttons are the only ones that do anything.

The "Redial" button does that just that. It redials the last number that you dialed.
The "Line" button picks up and hangs up the phone without using the handset.
The "Msgs" button dials the Messaging number you supplied in the sccp.conf file for this phone.
Both "Speed" buttons work well. You set the options for these in the sccp.conf file.
The "Conf" button works, but there's no functionality behind the button, so it doesn't do anything. It should pick up a "Conference Extension" option for the global section of sccp.conf, in case anyone's looking for something to do.

The "Transfer" button doesn't seem to be tied to anything at all, but it would be nice to have it dial "##70", or maybe a global option in the sccp.conf file.

The SCCP module has a lot of functions built in which should all make for some interesting functionality on the phone. Some (like the one that puts a message up on the LCD display) work right out of the box.
This guide should enable you to use the Cisco 7910 SCCP phone with Asterisk and chan_sccp_b.

You can get the chan_sccp-b driver from http://sourceforge.net/projects/chan-sccp-b/
(This page is hopelessly outdated by the way. Check out the documentation at http://chan-sccp-b.sourceforge.net/ for more up to date info)

INSTALLATION INSTRUCTIONS

1. Install the chan_sccp-b driver on your system and change the modules.conf file (if your modules.conf file doesn't mention the sccp.so driver, check for autoload=yes).

2. Install a TFTP server some where on your network. You will need this to upload the firmware and settings to the 7910. For illustrative purposes, assume the TFTP directory is /tftpboot. Installing the TFTP server on your Asterisk PBX is probably not recommended if you are using a CD-ROM distribution, since they will reformat your hard drive on a reinstall.

Firmware Versions


Starting with Step 3, there are several places where the firmware version of the firmware for your phone is entered. My firmware version is P00405000600, or P004-05-6-00. If your phone is using a different firmware load, you will need to adjust the version to match your situation.

3. Create /tftpboot/OS7910.txt. This file normally comes from Cisco and contains the image version information for your phones current (or soon to be loaded) firmware. If you are not planning on using the OS7910.txt file for upgrades, you do not need to create the file with your current firmware information. I've found that having the file available makes my phones boot faster. Since we are using Skinny, The entry in the file needs to start P004... (and not P0S4, which is the SIP firmware indicator).

4. Create the /tftpboot/XMLDefault.cnf.xml file. The only thing that you probably need to change in the file is the IP address of the server in the "<processNodeName>" entry.


<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.1.2</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>

<loadInformation6 model="IP Phone 7910">P00405000700</loadInformation6>
<loadInformation124 model="Addon 7914"></loadInformation124>
<loadInformation9 model="IP Phone 7935"></loadInformation9>
<loadInformation8 model="IP Phone 7940">P0S3-08-2-00</loadInformation8>
<loadInformation7 model="IP Phone 7960">P0S3-08-2-00</loadInformation7>
<loadInformation20000 model="IP Phone 7905"></loadInformation20000>
<loadInformation30008 model="IP Phone 7902"></loadInformation30008>
<loadInformation30007 model="IP Phone 7912"></loadInformation30007>
</Default>


4. Create/edit the sccp.conf file. Note that the loadimage version number below should (in a perfect world) match the phone you are using AND the information in the OS7910.txt file.

[general]
keepalive = 30
context = from-internal
dateFormat = M.D.Y ; date format
bindaddr = 0.0.0.0 ; interface to bind to
port = 2000 ; port to bind to (2000 = skinny)
debug = 4
accountcode = SCCP ; recordname appearing in cdr
callwaiting_tone = 0x2d ; turn off callwaiting tone == 0
language = en
echocancel = on
silencesuppression = off
cfwdall = on ; turn on call forward button
cfwdbusy = on ; turn on call forward when busy button
dnd = on ; turn on "do not disturb"
mwioncall = on ; lit message waiting light when new messages
; are in voicemailbox
digittimeoutchat = # ; type hash to stop dialing timeout
disallow = all
allow = ulaw ; european isdn is alaw
allow = g711

[devices]
type = 7910 ; my phone is a 7910
description = Upstairs
tzoffset = 0
autologin = 510
speeddial = 511,511,511@internal
speeddial = 599,599,599@internal
imageversion = P00405000700
device => SEP00055E5FFFFFE ; This is the device Name (SEP+Mac)

type = 7910 ; my wifes phone is a 7910
description = Downstairs
tzoffset = 0
autologin = 511
speeddial = 510,510,510@internal
speeddial = 8886626482,8886626482,8886626482@internal
imageversion = P00405000700
device => SEP00055EFFFFFF ; This is the device Name (SEP+Mac)

[lines]
id = 510 ; Extension
label = 510 ; label on line button
description = Upstairs
context = from-internal ; incoming call context
callwaiting = 1
incominglimit = 3 ; max 3 incoming calls
mailbox = 510 ; corresponding voicemail box
vmnum = *97 ; extension to dial to access VoiceMailMain()
cid_name = "Upstairs" <2125554321>
cid_num = 510
line => 510

id = 511 ; Extension
label = 511 ; label on line button
description = Downstairs
context = from-internal ; incoming call context
callwaiting = 1
incominglimit = 1 ; max 3 incoming calls
mailbox = 501 ; corresponding voicemail box
vmnum = *97 ; extension to dial to access VoiceMailMain()
cid_name = "Downstairs" <2125551234>
cid_num = 511
line => 511

5. Optionally, you can create the SIP<MAC>.cnf files (one for each phone, where <MAC> is the 12 digit MAC address). The only time you'd ever need this file is if you decide to convert the phones to SIP; the phone doesn't use the file in SCCP mode.

  1. SCCP Phone Configuration
  2. name is the same as the extension number in TrixBox
  3. shortname can be anything - this gets displayed on the phone
  4. displayname should be anything - this should get displayed at the top
  5. of the display
line1_name: "510"
line1_shortname: "510"
line1_displayname: "510"
line1_password: "4321"
line1_authname: "510"

6. Finally, create the SEP<MAC>.cnf.xml, one for each phone, where <MAC> is the 12 digit MAC address of the phone. Note that this file contains the server address for the Asterisk Server, just like the Default XML file above. Theoretically, if you have SEP<MAC>.cnf.xml files for all of your phones, you shouldn't need the Default file, but I found that not having it made my phone unhappy. With the exception of the server address, you shouldn't NEED to change anything in the file to get it to work.

<device>
<devicePool>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.1.2</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<versionStamp>{Jan 01 2005 00:00:00}</versionStamp>
<loadInformation>P00405000700</loadInformation>
<userLocale>
<name>English_United_States</name>
<langCode>en</langCode>
</userLocale>
<networkLocale>United_States</networkLocale>
<idleTimeout>0</idleTimeout>
</device>

Remember, you will still need to create extensions for the phones to work. In Trixbox, you can use the "Custom" option to create your extension. Remember that the designation for your phones is SCCP/### where ### is the extension number you assigned in the "Line" commands above. If you don't create the extensions, you will be able to make outgoing calls, but not incoming calls.

The 2-Line LCD display can't do much, but the phone has "Line", 'Hold", "Transfer", "Settings", "Msgs", "Conf", "Forward", "Redial", and two Speed-dial buttons. Of these, the Redial, Msgs, SpeedDial, and Line buttons are the only ones that do anything.

The "Redial" button does that just that. It redials the last number that you dialed.
The "Line" button picks up and hangs up the phone without using the handset.
The "Msgs" button dials the Messaging number you supplied in the sccp.conf file for this phone.
Both "Speed" buttons work well. You set the options for these in the sccp.conf file.
The "Conf" button works, but there's no functionality behind the button, so it doesn't do anything. It should pick up a "Conference Extension" option for the global section of sccp.conf, in case anyone's looking for something to do.

The "Transfer" button doesn't seem to be tied to anything at all, but it would be nice to have it dial "##70", or maybe a global option in the sccp.conf file.

The SCCP module has a lot of functions built in which should all make for some interesting functionality on the phone. Some (like the one that puts a message up on the LCD display) work right out of the box.
Created by: cynjut, Last modification: Fri 11 of Feb, 2011 (21:16 UTC) by ddegroot
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+