Cisco 7937 Conference Station work with Asterisk

hi guys,

I need to setup Cisco IP Conference Station Model 7937 to work with Freepbx or asterisk.

Can anyone guide me how to set that thing up with Asterisk or freepbx without using EPM module.

Urgent Help required.

7937 only works as a SCCP/Skinny endpoint, as there is no SIP firmware for that model. You need to use chan_skinny or chan_sccp_b and manually generate the configuration files for the phone. The phone then would download them through TFTP.

how can I setup chan_skinny or chan_sccp_b with freepbx. I can not see any of these channels in the /etc/asterisk

Any other suggestions or how to setup SKINNY with FreePBX

Have you seen this?

All of the documentation and software has been moved to GitHub.

Cynjut can you share the link.

https://github.com/chan-sccp/chan-sccp/wiki/Setup-FreePBX is the one that comes up when I Googled “github chan-sccp-b freepbx wiki”.

Thanks let me check and try :slight_smile:

how can I launch make menu select while my freepbx distro is already installed without sccp-b

You don’t have to, but if you are going to build a new kernel, it’s part of the source distro. There should be instructions on using the kernel “as is” and just building the Chan-SCCP-B software so you can load the module.

hi Cynjut,

I have followed the guide https://github.com/chan-sccp/chan-sccp/wiki/FreePBX_Installation
what I have to do next to setup 7937.

Did you set up your sccp.conf file and add the extensions? If so, you should actually be done.

I looked through the Wiki and found a “more complete” discussion of setting up the sccp.conf file. Note that the config directory in the Chan-SCCP-B source has examples of the files described in this page, so you don’t have to type everything in to start if you don’t want to.

FreePBX Management Discussion

no I am little confused about the context.

like in
[general]
context = default

should I change this to according to the instructions "Change the lines with “context = sccp” in sccp.conf to “context = from-internal” or “context = from-internal-xfer”. "

And In devicetype should I use 7937 for extension?

Can you share little sample config ?
Really appreciate that, I am stuck.

You have a sample config. The one from the config directory is my working config.

  • Delete the sccp.conf file that is currently in the /etc/asterisk directory and replace it with the with “FreePBX” config files from the Chan-SCCP-B distribution. Those three files are the files that I use on my production system at my office. Obviously, you’ll need to remove the “FreePBX” file extensions.

  • The examples should be using “from-internal-xfer” already, so you shouldn’t need to change that unless you want “*65” (report your extension number) to work. If so, you will want to use the “from-internal” context.

  • I’ve found that setting up the extensions first works best. With this one phone, you should only need one extension. Set it up in the Extensions tab on the main menu of the GUI.

  • Next, edit the “lines” file to match your extension number.

  • Next, edit the “hardware” file to match the MAC identifier from your phone ‘[SEPxxxxxxxxxxxx]’ and choose your buttons. This phone should only have one line button, so you can set it up with one to start.

There are some files you’ll need to set up in the /tftpboot directory, but they are always the same. The only thing specific to your installation is the IP address of your server and the firmware version you want on the phone.

I deleted the sccp.conf and copy the one from freepbx location and renamed it to sccp.conf

now my sccp.conf looks like this.

;=========================================================================================
;
; general definitions
;
;=========================================================================================
[general]
servername = Asterisk
keepalive = 60
debug = 1
context = from-internal-xfer
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 = 0
autoanswer_tone = 0x32
remotehangup_tone = 0x32
transfer_tone = 0
transfer_on_hangup = off
dnd_tone = 0x0
callwaiting_tone = 0x2d
musicclass=default
language=en
deny=0.0.0.0/0.0.0.0
permit=172.16.0.0/255.255.255.0 ; ‘internal’ is automatically converted to these private cidr address:
; 127.0.0.0/255.0.0.0, 10.0.0.0/255.0.0.0,
; 172.0.0.0/255.224.0.0, 192.168.0.0/255.255.0.0
;permit=192.168.1.0/255.255.255.0
localnet = internal ; (MULTI-ENTRY) All RFC 1918 addresses are local networks, example ‘192.168.1.0/255.255.255.0’
;externip = 77.44.22.33 ; External IP Address of the firewall, required in case the PBX is running on a seperate host behind it. IP Address that we’re going to notify in RTP media stream as the pbx source address.
dndFeature = 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
directed_pickup_modeanswer = on
hotline_enabled=yes ;can devices without configuration register
hotline_context=default ; context for hotline
hotline_extension=111 ; extension will be dialed on offHook

[no-CFW-softkeys]
type = softkeyset
onhook = redial,idivert,dnd
connected = hold,endcall,park,select,idivert
onhold = resume,newcall,endcall,transfer,confrn,select,dirtrfr,idivert
ringin = answer,endcall,idivert
offhook = redial,endcall,private,pickup,gpickup,meetme,barge
conntrans = hold,endcall,transfer,confrn,park,select,dirtrfr
digitsfoll = dial,back,endcall
connconf = hold,endcall,join
ringout = endcall,transfer,idivert
offhookfeat = redial,endcall
onhint = pickup,barge

;=========================================================================================
;
; actual definitions
;
;=========================================================================================

[SEP0004F2F2664A]
description = Cisco IP Conference Phone
devicetype = 7937
park = off
button = speeddial,Helpdesk, 1122 ; Add SpeedDial to Helpdesk (without hint)
button = line, 1122
button= feature,Private Call,privacy,callpresent ;set channel variable SKINNY_PRIVATE to 1 if feature is enabled
button= feature,DND Busy,DND,busy ;set dnd status to busy
button= feature,DND Silent,DND,silent ;set dnd status to silent
button= feature,Record calls,monitor ;record calls using automon (asterisk >= 1.6 only)
button= feature,call forward to *54,cfwdAll,*54 ;forward all calls to *54
button = speeddial,Phone 1 Line 1, 1122, 1122@hints
button = speeddial,Phone 1 Line 2, 1122, 1122@hints

type = device
keepalive = 60
;tzoffset = +2
transfer = on
park = on
cfwdall = off
cfwdbusy = off
cfwdnoanswer = off
directed_pickup = on
directed_pickup_context = from-internal
directed_pickup_modeanswer = on
deny=0.0.0.0/0.0.0.0
permit=172.16.0.0/255.255.255.0
dnd = reject
directrtp=off
earlyrtp = progress
private = on
mwilamp = on
mwioncall = off
setvar=testvar=value
cfwdall = on
cfwdbusy=on
cfwdnoanswer=on

[1122]
id = 1122
type = line
label = Conf 4th Floor
description = Conf 4th Floor
mailbox = 1122
cid_name = Conf 4th Floor
cid_num = 1122
accountcode=1122
callgroup=1
pickupgroup=1
context = from-internal
incominglimit = 2
transfer = on
vmnum = *97
trnsfvm = 1122
secondary_dialtone_digits = 9
secondary_dialtone_tone = 0x22
musicclass=default
language=en
echocancel = on
silencesuppression = off

THE END

but when I point the phone to tftp server address and it resets and give error message file not found.

First thing first - get rid of these two lines:

Now, from the PBX console, log in as root and ‘tail -F /var/log/messages’ as the phone tries to boot. That will tell you which files you need in the /tftpboot directory.

hi cynjut,

I have placed SEP0004F2F2664A.cnf.xml and XMLDefault.cnf.xml files in the /tftpboot directory

when I point the phone to the server it requests for these files:
RRQ “RingList.xml”
RRQ “SEP0004F2F2664A.cnf.xml”
RRQ “United_States/g3-tones.xml”

I don’t have “RingList.xml” and “United_States/g3-tones.xml” these files on the server.

where to get these files ?

Even though is not exactly the same model, the configuration is quite similar, take a look at this link