Here are some of my notes and sample conf files for SCCP.
xmlDefault.CNF.XML ** Not needed if you have a SEPMAC.cnf.xml for each phone
OS7920.TXT
(ip address) (server name)
Needed for RTP service (ie 192.168.0.41 MYPBX)
/etc/asterisk/modules.conf
...
noload => chan_skinny.so
load => chan_sccp.so
; You need this to stop the loading of Skinny, a part of Asterisk server.
...
; The seccond line starts chan_sccp on astrisk start.
/etc/asterisk/sccp.conf
[general]
keepalive = 30 ; IMPORTANT: 5secs. lead to trouble with
; 7960
context = internal
dateFormat = D.M.YA ; M-D-Y in any order (5 chars max)
bindaddr = 192.168.1.200 ; replace with the ip address of the asterisk server
port = 2000 ; listen on port 2000 (Skinny, default)
debug = 0
accountcode=skinny ; accountcode to ease billing
callwaiting_tone = 0x2d ; sets to 0 to disable the callwaiting tone
language=en ; Default language setting this setting also sets the voicemailbox language
echocancel = on ; sets the phone echocancel for all devices
silencesuppression = off ; sets the silence suppression for all devices
cfwdall = on ; activate the callforward ALL stuff and softkeys
cfwdbusy = on ; activate the callforward BUSY stuff and softkeys
private = no ; permit the private function softkey
dnd = on ; turn on the dnd softkey for all devices. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent)
mwioncall = on ; Set the MWI on call lamp signal on phone
[devices]
type = 7905
description = Bedroom
tzoffset = 0
autologin = 6004
device => SEPxxxxxxxxxxxx
type = 7960
description = Office
tzoffset = 0
autologin = 6000
speeddial = 6001,6001,6001@internal
speeddial = 6004,6004,6004@internal
device => SEPxxxxxxxxxxxx
type = 7960
description = LivingRoom ; internal description. Not important
tzoffset = 0
autologin = 6001 ; lines list. You can add an empty line for an empty
speeddial = 6000,6000,6000@internal ; you can add an empty speedial if you want an empty
speeddial = 6004,6004,6004@internal
device => SEPxxxxxxxxxxxx
; This is an example config with multiple phones
; 08/2005 Stefan Gofferje
[lines]
id = 6000 ; future use
pin = 1234 ; future use
label = 6000 ; button line label (7960, 7970, 7940, 7920)
description = Office ; top diplay description
context = client_int_unrestricted
callwaiting = 1
incominglimit = 2 ; more than 1 incoming call = call waiting
mailbox = 1000 ; voicemail.conf (syntax: vmbox@context:folder)
vmnum = 8500 ; speeddial for voicemail administration, just a number to dial
cid_name = Office ; caller id name
cid_num = 6000
line => 6000
id = 6001
pin = 1234
label = 6001
description = LivingRoom
context = client_int_unrestricted
callwaiting = 1
incominglimit = 2
mailbox = 1000
vmnum = 8500
cid_name = Living Room
cis_num = 6001
line => 6001
id = 6004
pin = 1234
label = 6004
description = Bedroom
context = client_int_unrestricted
callwaiting = 1
incominglimit = 2
mailbox = 1000
vmnum = 8500
cid_name = Bedroom
cid_num = 6004
line => 6004
/etc/asterisk/extensions.conf
exten => 2123,1,SetCalledParty("Wireless" <2123>)
exten => 2123,2,Dial(SCCP/Wireless)
exten => 2123,3,Voicemail,u2123
SEP<MAC>.cnf.xml
<device>
<devicePool>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>Asterisk IP here</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<versionStamp>{Jan 01 2002 00:00:00}</versionStamp>
<loadInformation></loadInformation>
<userLocale>
<name>English_United_States</name>
<langCode>en</langCode>
</userLocale>
<networkLocale>United_States</networkLocale>
<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
</device>
NOTES:
It wont have full functionality and you will need to find a production version i.e 1.1.1
All the data above works for the 7921G, of course replacing the 7920 text with 7921.
You can get the phone to upgrade via tftp by putting the new version of firmware into the line load information.
<loadInformation>CP7921G-1.1.1</loadInformation>
you will also need chan-sccp-b svn (March 2008) for the device to show correctly in asterisk (im using 1.4.13 with svn pulled -06/03/08 dod)
I had to turn power save off in wifi for it to be stable with the airport extreme n
The process for upgrading these works much differently than newer firmware version. A version this old uses binary config files like the 12SP.
In order to get something this old upgraded you'll have to follow this guide to create a config file: Configuring Cisco 12SP phones with Asterisk
Simply (well, if you know hex) replace the IP with that of your asterisk server then save the config file as SEP<mac>.cnf (NO .xml!) and drop it in your TFTP directory.
You will then have to add an imageversion directive to sccp.conf.
Example
Save your sccp.conf then unload/load chan_sccp.so and reboot the phone.
It will then download SEPmac.cnf, connect to asterisk, download the new firmware off your TFTP server, reboot again, then register to your asterisk server.
You will then be ready to go.
chan_sccp2
Main chan_sccp
- Driver, mailing list, bug tracker chan_sccp2
Development drivers
- Website http://www.chan-sccp.org
- SourceForge http://sourceforge.net/projects/chan-sccp-b/
- Mailing list https://lists.sourceforge.net/lists/listinfo/chan-sccp-b-discussion
Old driver downloads (outdated)
- Website http://chan-sccp.berlios.de
- Mailing list http://lists.berlios.de/mailman/listinfo/chan-sccp-users
- Main website http://chan-sccp.sourceforge.net
- Main website (Old address?) http://www.lambda-solutions.de
- Download latest code from http://sourceforge.net/projects/chan-sccp/
- Website http://sccp.smilekom.de/2007-07-12_chan_sccp-Version1.4.7.tar.gz
Install Instructions
- 1. Install a TFTP server some where on your network. You will need this to upload the firmware to the 7920.
- 2. Create OS7920.txt and enter the Asterisk server ip address in xmlDefault.CNF.XML, which comes in the tar file, and place these two files along with the firmware or bin file on the TFTP server.
- 3. If you are configuring a 7960 to work with Asterisk and SCCP you will also need to create SEP<MAC>.cnf.xml and place on the TFTP server, the 7960 (SCCP firmware 5.0.5) will continuously reboot until it finds this file.
xmlDefault.CNF.XML ** Not needed if you have a SEPMAC.cnf.xml for each phone
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>insert_the_asterisk_server_ip</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>insert_the_asterisk_server_ip</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</Default>
OS7920.TXT
echo -n "cmterm_7920.3.3-01-05" > OS7920.TXT
Create the file with the above command and enter the correct Firmware Binary file name (ie cmterm_7920.3.3-01-07)
Create the file with the above command and enter the correct Firmware Binary file name (ie cmterm_7920.3.3-01-07)
- 3. Configure the 7920 to look to your TFTP server.
- 4. On the Asterisk server you will need to modify the hosts, modules.conf, sccp.conf and extensions.conf files.
(ip address) (server name)
Needed for RTP service (ie 192.168.0.41 MYPBX)
/etc/asterisk/modules.conf
...
noload => chan_skinny.so
load => chan_sccp.so
; You need this to stop the loading of Skinny, a part of Asterisk server.
...
; The seccond line starts chan_sccp on astrisk start.
/etc/asterisk/sccp.conf
[general]
keepalive = 30 ; IMPORTANT: 5secs. lead to trouble with
; 7960
context = internal
dateFormat = D.M.YA ; M-D-Y in any order (5 chars max)
bindaddr = 192.168.1.200 ; replace with the ip address of the asterisk server
port = 2000 ; listen on port 2000 (Skinny, default)
debug = 0
accountcode=skinny ; accountcode to ease billing
callwaiting_tone = 0x2d ; sets to 0 to disable the callwaiting tone
language=en ; Default language setting this setting also sets the voicemailbox language
echocancel = on ; sets the phone echocancel for all devices
silencesuppression = off ; sets the silence suppression for all devices
cfwdall = on ; activate the callforward ALL stuff and softkeys
cfwdbusy = on ; activate the callforward BUSY stuff and softkeys
private = no ; permit the private function softkey
dnd = on ; turn on the dnd softkey for all devices. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent)
mwioncall = on ; Set the MWI on call lamp signal on phone
[devices]
type = 7905
description = Bedroom
tzoffset = 0
autologin = 6004
device => SEPxxxxxxxxxxxx
type = 7960
description = Office
tzoffset = 0
autologin = 6000
speeddial = 6001,6001,6001@internal
speeddial = 6004,6004,6004@internal
device => SEPxxxxxxxxxxxx
type = 7960
description = LivingRoom ; internal description. Not important
tzoffset = 0
autologin = 6001 ; lines list. You can add an empty line for an empty
speeddial = 6000,6000,6000@internal ; you can add an empty speedial if you want an empty
speeddial = 6004,6004,6004@internal
device => SEPxxxxxxxxxxxx
; This is an example config with multiple phones
; 08/2005 Stefan Gofferje
[lines]
id = 6000 ; future use
pin = 1234 ; future use
label = 6000 ; button line label (7960, 7970, 7940, 7920)
description = Office ; top diplay description
context = client_int_unrestricted
callwaiting = 1
incominglimit = 2 ; more than 1 incoming call = call waiting
mailbox = 1000 ; voicemail.conf (syntax: vmbox@context:folder)
vmnum = 8500 ; speeddial for voicemail administration, just a number to dial
cid_name = Office ; caller id name
cid_num = 6000
line => 6000
id = 6001
pin = 1234
label = 6001
description = LivingRoom
context = client_int_unrestricted
callwaiting = 1
incominglimit = 2
mailbox = 1000
vmnum = 8500
cid_name = Living Room
cis_num = 6001
line => 6001
id = 6004
pin = 1234
label = 6004
description = Bedroom
context = client_int_unrestricted
callwaiting = 1
incominglimit = 2
mailbox = 1000
vmnum = 8500
cid_name = Bedroom
cid_num = 6004
line => 6004
/etc/asterisk/extensions.conf
exten => 2123,1,SetCalledParty("Wireless" <2123>)
exten => 2123,2,Dial(SCCP/Wireless)
exten => 2123,3,Voicemail,u2123
SEP<MAC>.cnf.xml
<device>
<devicePool>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>Asterisk IP here</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<versionStamp>{Jan 01 2002 00:00:00}</versionStamp>
<loadInformation></loadInformation>
<userLocale>
<name>English_United_States</name>
<langCode>en</langCode>
</userLocale>
<networkLocale>United_States</networkLocale>
<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
</device>
NOTES:
- 1. If the 7920 can call but the other person can not hear you this will most likely be an RTP problem. You may want to try some of the things I found to fix the problem:
- A) Look at entry 127.0.0.1 in the Hosts file. For some reason I found on mine that I had the server name included with the entry.
- B) If you have installed additional software for linux you may need to reinstall the support for SCCP.
- C) Make sure that the bind ip address in sccp.conf is the ip address for *. 0.0.0.0 will NOT work.
7921G Note on using a brand new device
If you are using a brand new 7921G make sure the firmware version doesnt contain the string MFG.A.7.loadsIt wont have full functionality and you will need to find a production version i.e 1.1.1
All the data above works for the 7921G, of course replacing the 7920 text with 7921.
You can get the phone to upgrade via tftp by putting the new version of firmware into the line load information.
<loadInformation>CP7921G-1.1.1</loadInformation>
you will also need chan-sccp-b svn (March 2008) for the device to show correctly in asterisk (im using 1.4.13 with svn pulled -06/03/08 dod)
I had to turn power save off in wifi for it to be stable with the airport extreme n
7960s with OLD firmware
I've come accross a few 7960s with extremely old firmware. (P003P301)The process for upgrading these works much differently than newer firmware version. A version this old uses binary config files like the 12SP.
In order to get something this old upgraded you'll have to follow this guide to create a config file: Configuring Cisco 12SP phones with Asterisk
Simply (well, if you know hex) replace the IP with that of your asterisk server then save the config file as SEP<mac>.cnf (NO .xml!) and drop it in your TFTP directory.
You will then have to add an imageversion directive to sccp.conf.
Example
type = 7960
description = LivingRoom
tzoffset = 0
autologin = 6001
speeddial = 6000,6000,6000@internal
speeddial = 6004,6004,6004@internal
imageversion=P00308000500
device => SEPxxxxxxxxxxxx
description = LivingRoom
tzoffset = 0
autologin = 6001
speeddial = 6000,6000,6000@internal
speeddial = 6004,6004,6004@internal
imageversion=P00308000500
device => SEPxxxxxxxxxxxx
Save your sccp.conf then unload/load chan_sccp.so and reboot the phone.
It will then download SEPmac.cnf, connect to asterisk, download the new firmware off your TFTP server, reboot again, then register to your asterisk server.
You will then be ready to go.
See also
Configuring Cisco 12SP phones with Asteriskchan_sccp2

Comments
333CISCO 7911 Dial delay
I just bought a CISCO 7911 cisco phone. I got it working with SCCP against an asterisk server working as callmanager. I've noticed that after dialing a number on the phone it takes about 10 seconds after the call it's really transfered to the asterisk server. Is there any way to reduce this time gap?
Regards,
333Re: 7920 Dialing Out
Hi, I had the same problem on a 7960 ... on this phone downgrading firmware from 8.3 to 7.2.3 solved the problem ... maybe this will also help on 7920
3337920 Dialing Out
333Re: Ring Delay
333Ring Delay
I am having intermittent problems where the receiving phone never rings and the dialing phone eventually just gets voicemail of the receiving phone.
Any Ideas would be appreciated.
3337920 Phones
3337920 Phones
333Re: Cisco IP Communicator
--
Joel Vandal
ScopSev Inc.
http://www.scopserv.com/
333Cisco IP Communicator
I did patch the SCCP to my Asterisk. SCCP version is 20051209. When I want to use my Cisco IP Communicator, Debug shows me the following lines:
-- SCCP: Accepted connection from 217.219.24.159
— SCCP: Using ip 217.219.24.240
— SCCP: >> Got message RegisterMessage
— SEP000EA62CA2AE: is registering, Instance: 0, Type: Cisco_IP_Communicator (30016), Version: 4
— SEP000EA62CA2AE: Rejecting device: Ip address denied
Can anyone help me?
Thank you.
333Chan_SCCP 20060125 & Cisco 7920
-N