Cisco conference phone 7937 with Asterisk

Recently we had a customer with this cisco conference phone (7937) which doesn’t support SIP protocol. To get it to work with Asterisk we need to either use chan_skinny or chan_sccp. As the latter is a lot more solid is brief you how it work here:

 

Note: For my tests I have used FreePBX and apps37sccp.1-3-3-0. The phone was already loaded with SCCP firmware, so I wouldn’t have to worry about updating that.

Step1) Install chan_sccp

You can download the source code from http://chan-sccp-b.sourceforge.net/aboutus.shtml.

Note: For this test I downloaded Chan_SCCP-4.0.0_STABLE.tar.gz  from their website and untarred that under /usr/src

go to the untarred folder and run the following:

./configure
make 
make install

Add the following lines to /etc/asterisk/modules.conf

;;;; This is for cisco phones with SCCP
noload => chan_skinny.so
load => chan_sccp.so

copy the sccp.conf from the source files and copy to /etc/asterisk and change the parameters to suit your environment. here is my sample config:

;=========================================================================================
;
; general definitions
;
;=========================================================================================
[general]
servername = itsbcore
keepalive = 60
debug = 1
context = default
;custom-from-sccp
dateformat = D.M.Y
bindaddr = 0.0.0.0
port = 2000
disallow=all
allow=alaw
allow=ulaw
allow=g729
firstdigittimeout = 16
digittimeout = 8
autoanswer_ring_time = 1
autoanswer_tone = 0x32
remotehangup_tone = 0x32
transfer_tone = 0
callwaiting_tone = 0x2d
musicclass=default
language=en
deny=0.0.0.0/0.0.0.0
permit=172.16.60.0/255.255.255.128
dnd = on
sccp_tos = 0x68
sccp_cos = 4
audio_tos = 0xB8
audio_cos = 6
video_tos = 0x88
video_cos = 5
echocancel = on
silencesuppression = off
private = on
callanswerorder=oldestfirst
hotline_enabled=yes					;can devices without configuration register
hotline_context=default					; context for hotline
hotline_extension=111					; extension will be dialed on offHook

;=========================================================================================
;
; actual definitions
;
;=========================================================================================
[SEP0004F2E1E49E]
description = Meeting Room 1
addon = 7914
devicetype = 7937
park = off
;button = speeddial,Helpdesk, 98112, 98112@hints  	; Add SpeedDial to Helpdesk
button = line, 8016					; Assign Line 8016 to Device
;button = line, empty					; Assign an Empty Line
;button = line, 98012					; Assign Line 98012 to Device
;button = speeddial,Phone 2 Line 1, 98021, 98021@hints	; Add SpeedDial to Phone Number Two Line 1
cfwdall = off
type = device
keepalive = 60
;tzoffset = +2
transfer = on
park = on
cfwdall = off
cfwdbusy = off
cfwdnoanswer = off
pickupexten = off
pickupcontext = default
pickupmodeanswer = on
dtmfmode = inband
imageversion = apps37sccp.1-3-3-0
deny=0.0.0.0/0.0.0.0
permit=192.168.60.0/255.255.255.128
dndFeature = on
nat=off
directrtp=off
earlyrtp = progress
private = on
mwilamp = on
mwioncall = off
setvar=testvar=value
cfwdall = on

[8016]
id = 1000
type = line
pin = test123
label = Meeting Room 1 - 8016
description = Line 8016
mailbox = 10011
cid_name = Meeting Room 1
cid_num = 8016
accountcode=8016
callgroup=1,3-4
pickupgroup=1,3-5
;amaflags = 
context = from-internal
incominglimit = 2
transfer = on
vmnum = *98
meetme = on
meetmeopts = qxd
meetmenum = 700
trnsfvm = 1000
secondary_dialtone_digits = 9
secondary_dialtone_tone = 0x22
musicclass=default
language=en
audio_tos = 0xB8
audio_cos = 6
video_tos = 0x88
video_cos = 5
echocancel = on
silencesuppression = off
setvar=testvar2=my value
dnd = on

Now to check the phone status you can run:

# asterisk -rx "sccp show devices"

+--- Devices -------------------------------------------------------------------------------------------------------------------+
| Name                                     Address              Mac              RegState   RegTime                   Act Lines |
+ ======================================== ==================== ================ ========== ========================= === ===== +
| Meeting Room 1                           172.16.60.115        SEP0004F2E1E49E  OK         Mon Oct  8 01:53:26 2012  No  1     |
+-------------------------------------------------------------------------------------------------------------------------------+

You may also like

5 Comments

  1. I ran in to an issue when asterisk tries to load the module..

    Unable to load module chan_sccp.so
    Command ‘module load chan_sccp.so’ failed.
    [Jun 19 15:42:23] WARNING[11879]: loader.c:429 load_dynamic_module: Error loading module ‘chan_sccp.so’: /usr/lib/asterisk/modules/chan_sccp.so: undefined symbol: ast_mark_lock_failed
    [Jun 19 15:42:23] WARNING[11879]: loader.c:797 load_resource: Module ‘chan_sccp.so’ could not be loaded.

    Chan_SCCP-4.1.0_RC1
    Asterisk 1.6.2.20, Copyright (C) 1999 – 2010 Digium, Inc. and others.

    Just a heads up. Compiled cleanly.

  2. Hi Martin,

    What Asterisk distribution are you using? Have you compiled Asterisk yourself or it came pre-installed with an ISO? give more details on your Asterisk/freepbx etc.

    If you can try to compile this module in Asterisk 1.8 and see if you can load the module.

  3. Hi!

    What about the Cisco 7937 phone? Do it need some file (SEPMACADDRESS.cnf.xml9, TFTP server to download it?
    The Bind addres in the sccp config is the asterisk server address?

Leave a Reply

Your email address will not be published. Required fields are marked *