Adding support of Cisco 7931 to Chan_sccp

Version 4

Version 3

Version 2

In version 1 I can't add support of application, headset, messages and directory buttons - because I have no idea how to get type codes of this buttons. Also I have no CCM for research. But I find a message in chan-sccp-b-discussion email Archive, where Jasper Siepkes tells how to hacking chan_sccp for add this functionality and problems which he has with modified sources compiling. I'm modify my path for chan-sccp-b-20071213 release for adding support headset, application, directory, messages buttons. New path
In sccp.conf you need to add empty speeddials in 24, 23, 22 and 21 position.

Modification details
When I find the message, I can't download Jasper's path - tell me about error (now this problem is fixed) Therefore my modifications is little different. Also I fix problem with BUTTONTYPE constants in chan_sccp. SKINNY_BUTTONTYPE_MULTI, SCCP_BUTTONTYPE_LINE, SCCP_BUTTONTYPE_SPEEDDIAL, SCCP_BUTTONTYPE_HINT is made only for internal use in chan_sccp implementation. So I change their values from 0xc0-0xc3 range to 0xe0-0xe3. Modified chan-sccp-b work with asterisk 1.2

Thank Jasper Siepkes

Version 1

I have a Cisco 7931 IP phone and trying to connect them with Asterisk. Unfortunately there are no support of this device in chan_sccp. Maximum, that I could make - it use оne line for register device and making/receiving calls. I can't set speedials buttons, monitoring lines state... In hope to find the decision of a problem I was search internet resources. But I have found only the same problems at other people and any decision. Therefore I have decided to add support of Cisco 7931 in chan_sccp.

There are step-by-step instructions:

1. download chan_sccp sources from I'm using chan-sccp-b-20071213 release

2. extract sources in folder

3. add CP7931 support - download and apply patch

4. compile chan_sccp

5. install new chan_sccp on Asterisk

6. configure: edit sccp.conf and extention.conf

7. in CLI run "unload" and "load" (reload seems does not really reload sccp.conf), and reload all configuration by running "reload"


 type = 7931   ;device type (see below)
 autologin = <Line-number-here>   ;lines list. You can add an empty line for an empty button (7960, 7970, 7940, 7920)
 description = <Description-here>   ;internal description. Not important
 keepalive = 60   ;set 0 to disable the keepalive check.
 tzoffset = +1
 transfer = on   ;enable or disable the transfer capability. It does remove the transfer softkey
 park = on
 ; Up to 23 speeddials here
 speeddial =   ; Enpty - not assign button
 speeddial = <Extention>,<Name>,<Hint>   ; Extention - speeddial extention, Name - name, that will be on phone display, Hint - Hint-extenntion i'm use spetial context for hints
 speeddial = 10000,John Smith,10000@hint-context ; Example speeddial 
 cfwdall = on   ;activate the callforward stuff and softkeys
 cfwdbusy = on
 dtmfmode = outofband   ;inband or outofband. outofband is the native cisco dtmf tone play. Some phone model does not play dtmf tones while connected (bug?), so the default is inband
 imageversion = SCCP31.8-3-1S   ;useful to upgrade old firmwares (the ones that do not load *.xml from the tftp server)
 dnd = on   ;turn on the dnd softkey for this device. Valid values are "off", "on" (busy signal), "reject" (busy signal)
 trustphoneip = no   ;The phone has a ip address. It could be private, so if the phone is behind NAT we don't have to trust the phone ip address, but the ip address of the connection. The audio strem will be open in the progress and connected state.
 private = on   ;permit the private function softkey for this device
 mwilamp = on   ;Set the MWI lamp style when MWI active to on, off, wink, flash or blink
 mwioncall = on   ;Set the MWI on call.
 device => SEP<MAC-address-here>   ;device name SEP
 id = <Id-here>   ;future use, I'm use line number
 pin = <Line-number-here>   ;future use
 label = <Line-label-here>   ;button line label (7960, 7970, 7940, 7920) and now 7931 I'm use line number
 description = <Phone-deskr-here>   ;top diplay description
 context = internal
 incominglimit = 2   ;more than 1 incoming call = call waiting.
 transfer = on   ;per line transfer capability. on, off, 1, 0
 mailbox = 2   ;voicemail.conf (syntax: vmbox[@context][:folder])
 vmnum = *97   ;speeddial for voicemail administration, just a number to dial
 cid_name = <Caller-id-here>   ;caller id name
 cid_num = <Line-Number-here>
 secondary_dialtone_digits = 9   ;digits for the secondary dialtone (max 9 digits)
 secondary_dialtone_tone = 0x22   ;outside dialtone
 music   ;Sets the default music on hold class
 language=en   ;Default language setting
 rtptos = 184   ;sets the the rtp packets TOS for this line
 echocancel = on   ;sets the phone echocancel for this line
 silencesuppression = on   ;sets the silence suppression for this line
 callgroup=1   ;We are in caller groups 1,3,4. Valid for this line
 pickupgroup=1   ;We can do call pick-p for call group 1,3,4,5. Valid for this line
 line => <Line-Number-here>   ;Line number


 ; waching line statuses
 ;Unfortunately something similar this not worked 
 ;exten => _X.,hint,SIP/${EXTEN}
 ;- it is necessary to specify all extentions we need to waching
 exten => <Extention-Here>,hint,SCCP/<Extention-Here>
 exten => <Extention-Here>,hint,SIP/<Extention-Here>
 exten => 10000,hint,SIP/10000

Created by: smr, Last modification: Tue 08 of May, 2012 (05:19 UTC) by admin
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+