Setup Chan Sccp for Cisco Phones

Alpha Computer Group Chan_SCCP Installation

 

1 – Install whichever flavor of Asterisk – We recommend PIAF/Incredible PBX.

2 – Log in to CLI as root.

3 – Start the installation and configuration of the CHAN_SCCP Software.

  1. Install updates and dependencies
    yum install asterisk-devel
    yum install nmake
    yum install automake
    yum install autoconf
    yum install libtool
    yum install make
    yum install m4
    yum update -y
    yum upgrade -y
  2. Reboot after the yums (#reboot now)
  3. Log back into the CLI
    type: cd /usr/src
    type: wget https://sourceforge.net/projects/chan-sccp-b/files/Chan_SCCP-4.2.3_STABLE_r6728.tar.gz
    type: tar xzvf Chan_SCCP-4.2.3_STABLE_r6728.tar.gz
    type: cd /Chan_SCCP-4.2.3_STABLE
    type: make clean
    type:  ./configure –enable-confernce –enable-advanced-functions –enable-video –enable-videolayer –enable-conference –enable-distributed-devicestate –enable-debug –enable-gcov –enable-refcount-debug –enable-indications
    type: make
    type: make install
  4. Edit modules.conf to disable chan_skinny and enable chan_sccp

    type: vi /etc/asterisk/modules.conf
    ADD THESE 2 LINES to modules.conf:

    noload => chan_skinny.so
    load => chan_sccp.so


  5. create a sccp.conf file
    type:
    vi /etc/asterisk/sccp.conf
    COPY AND PASTE THE BELOW TEXT INTO SCCP.CONF

    [general]
    servername = Alpha-PBX
    keepalive = 60
    debug = 1
    context = from-internal
    dateformat = M/D/Ya
    bindaddr = 0.0.0.0
    port = 2000
    disallow=all
    allow=g722
    allow=ulaw
    allow=g729
    firstdigittimeout = 16
    digittimeout = 8
    autoanswer_ring_time = 1
    autoanswer_tone = 0x32
    remotehangup_tone = 0x32
    transfer_tone = 0
    transfer_on_hangup = off
    dnd_tone = 0x0
    callwaiting_tone = 0x2d
    musicclass=default
    language=en
    permit=0.0.0.0/0.0.0.0
    localnet = 192.168.199.0/255.255.255.0
    ;externip = 77.66.55.44
    dndFeature = off
    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
    ; actual definitions
    [SEPD4D748FEB5C5]
    description = House-Office Phone
    addon = 7915
    devicetype = 7945
    park = off
    button = line, 417
    button = feature,Record calls,monitor
    cfwdall = off
    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
    permit=0.0.0.0/0.0.0.0
    dndFeature = on
    dnd = off
    directrtp=off
    earlyrtp = progress
    private = on
    mwilamp = on
    mwioncall = off
    cfwdall = on
    softkeyset = softkeyset187
    [417]
    id = 417
    type = line
    label = ACG 417
    description = ACG Line 417
    mailbox = 417
    cid_name = Alpha Computer Group
    cid_num = 417
    accountcode=79011
    callgroup=1-99
    pickupgroup=1-99
    context = from-internal
    incominglimit = 2
    transfer = on
    vmnum = *97
    meetme = on
    meetmeopts = qxd
    meetmenum = 700
    trnsfvm = *417
    secondary_dialtone_digits = 9
    secondary_dialtone_tone = 0x22
    musicclass=default
    language=en
    echocancel = on
    silencesuppression = off
    dnd = reject
    ;[SEP002244668800]
    ;description = Phone Number Two
    ;devicetype = 7960
    ;park = off
    ;button = speeddial,Helpdesk, 98112   ; Add SpeedDial to Helpdesk (without hint)
    ;button = line, 98021
    ;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, 98011, 98011@hints
    ;button = speeddial,Phone 1 Line 2, 98012, 98012@hints
    ;speeddial,Phone 2 Line 1, 98021, 98021@hints ; Add SpeedDial to Phone Number Two Line 1 (button labels allow special characters like ‘é’)
    ;type = device
    ;keepalive = 60
    ;tzoffset = +2
    ;transfer = on
    ;park = on
    ;cfwdall = off
    ;cfwdbusy = off
    ;cfwdnoanswer = off
    ;directed_pickup = on
    ;directed_pickup_context = default
    ;directed_pickup_modeanswer = on
    ;deny=0.0.0.0/0.0.0.0
    ;permit=192.168.1.5/255.255.255.255
    ;dnd = reject
    ;directrtp=off
    ;earlyrtp = progress
    ;private = on
    ;mwilamp = on
    ;mwioncall = off
    ;setvar=testvar=value
    ;cfwdall = on
    ;softkeyset = softkeyset187
    ;[98021]
    ;id = 1000
    ;type = line
    ;pin = 1234
    ;label = Phone 2 Line 1
    ;description = Line 98021
    ;mailbox = 10021
    ;cid_name = MY CID
    ;cid_num = 98021
    ;accountcode=79021
    ;callgroup=1,3-4
    ;pickupgroup=1,3-5
    ;context = default
    ;incominglimit = 2
    ;transfer = on
    ;vmnum = 600
    ;trnsfvm = 1000
    ;secondary_dialtone_digits = 9
    ;secondary_dialtone_tone = 0x22
    ;musicclass=default
    ;language=en
    ;echocancel = on
    ;silencesuppression = off
    ;setvar=testvar2=my value
     [softkeyset187]
    type = softkeyset
    name = softkeyset187                                                  ; (REQUIRED) softkeyset name
    onhook = redial,newcall                   ; displayed when we are on hook
    connected = hold,transfer,park,confrn,select,vidmode,idivert       ; displayed when we have a connected call
    onhold = resume,newcall,transfer,endcall,confrn,conflist,select,dirtrfr,idivert,vidmode  ; displayed when we have a call on hold
    ringin = answer,endcall,transvm,vidmode                                       ; displayed when we have an incoming call
    offhook = redial,dial,endcall,vidmode     ; displayed when the phone is taken off hook
    conntrans = hold,endcall,transfer,park,confrn,select,dirtrfr,meetme,vidmode
    digitsfoll = back,endcall,dial,gpickup,pickup,vidmode       ; displayed when one or more digits have been entered, more are expected
    connconf = conflist,endcall,hold,join,vidmode                  ; displayed when we are in a conference
    conflist = exit,endconf,kick,join,mute,endcall
    ringout = endcall,dial,transfer,confrn,idivert,vidmode              ; displayed when We are calling someone
    offhookfeat = redial,endcall,dial,vidmode                  ; displayed wenn we went offhook using a feature
    onhint = redial,dial,newcall,pickup,gpickup,barge,vidmode                            ; displayed when a hint is activated


  6. Reboot Asterisk Server
    type:
    reboot now

**** YOU WILL NEED A SEPMAC.cnf.xml file for each phone below is an example ****

<?xml version=”1.0″ encoding=”UTF-8″?>
<device>
<fullConfig>true</fullConfig>
<deviceProtocol>SCCP</deviceProtocol>
<sshUserId>cisco</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
<revertPriority>0</revertPriority>
<name>Default</name>
<dateTimeSetting>
<name>CMLocal</name>
<dateTemplate>M/D/YA</dateTemplate>
<timeZone>Eastern Standard/Daylight Time</timeZone>
</dateTimeSetting>
<callManagerGroup>
<name>Default</name>
<tftpDefault>true</tftpDefault>
<members>
<member priority=”0″>
<callManager>
<name>Alpha01</name>
<description>Primary Alpha Connection</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>192.168.199.10</processNodeName>
</callManager>
</member>
<memberpriority=”1″>
<callManager>
<name>Alpha02</name>
<description>Secondary Alpha Connection</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>192.168.130.10</processNodeName>
        </callManager>
</member>
</members>
</callManagerGroup>
<srstInfo>
<name>Enable</name>
<srstOption>Enable</srstOption>
<userModifiable>true</userModifiable>
<ipAddr1>192.168.199.10</ipAddr1>
<port1>2000</port1>
<ipAddr2>192.168.130.10</ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1>192.168.199.10</sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2>192.168.130.10</sipIpAddr2>
<sipPort2>5060</sipPort2>
<sipIpAddr3></sipIpAddr3>
<sipPort3>5060</sipPort3>
<isSecure>false</isSecure>
</srstInfo>
       <mlppDomainId>-1</mlppDomainId>
<mlppIndicationStatus>Default</mlppIndicationStatus>
<preemption>Default</preemption>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
  <defaultBackground>http://192.168.199.10/rsz_wallhaven.png</defaultBackground>
</commonProfile>
<dialTemplate>dialplan.xml</dialTemplate>
<vendorConfig>
<ehookEnable>1</ehookEnable>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>1</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>1</videoCapability>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>0</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
    <displayOnTime>07:30</displayOnTime>
    <displayOnDuration>12:30</displayOnDuration>
    <displayIdleTimeout>00:10</displayIdleTimeout>
    <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<forwardingDelay>1</forwardingDelay>
<loggingDisplay>1</loggingDisplay>
<headsetWidebandUIControl>1</headsetWidebandUIControl>
<handsetWidebandUIControl>1</handsetWidebandUIControl>
<headsetWidebandEnable>0</headsetWidebandEnable>
<handsetWidebandEnable>1</handsetWidebandEnable>
<spanToPCPort>0</spanToPCPort>
<g722CodecSupport>2</g722CodecSupport>
<peerFirmwareSharing>1</peerFirmwareSharing>
<enableCdpSwPort>1</enableCdpSwPort>
<enableCdpPcPort>1</enableCdpPcPort>
<enableLldpSwPort>1</enableLldpSwPort>
<enableLldpPcPort>1</enableLldpPcPort>
<lldpAssetId></lldpAssetId>
<powerPriority>1</powerPriority>
<sshAccess>0</sshAccess>
<sshPort>22</sshPort>
<adminPassword>P@55W0rd</adminPassword>
<loadServer></loadServer>
<bluetooth>enabled</bluetooth>
</vendorConfig>
<versionStamp>{Jan 01 2003 00:00:00}</versionStamp>
<loadInformation>SCCP45.9-4-2SR3-1S</loadInformation>
<userLocale>
<name>English_United_States</name>
<uid>1</uid>
<langCode>en_US</langCode>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
<langCode>en_US</langCode>
<uid>64</uid>
<version>4.0(1)</version>
</networkLocaleInfo>
<authenticationURL></authenticationURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
  <defaultWallpaperFile>http://192.168.199.10/rsz_wallhaven.png<defaultWallpaperFile>
<idleTimeout>3600</idleTimeout>
<deviceSecurityMode>1</deviceSecurityMode>
<phonePersonalization>1</phonePersonalization>
<singleButtonBarge>1</singleButtonBarge>
<joinAcrossLines>1</joinAcrossLines>
<autoCallPickupEnable>false</autoCallPickupEnable>
<blfAudibleAlertSettingOfIdleStation>1</blfAudibleAlertSettingOfIdleStation>
<blfAudibleAlertSettingOfBusyStation>1</blfAudibleAlertSettingOfBusyStation>
<advertiseG722Codec>1</advertiseG722Codec>
<mobility>
<handoffdn></handoffdn>
<dtmfdn></dtmfdn>
<ivrdn></ivrdn>
<dtmfHoldCode>*81</dtmfHoldCode>
<dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode>
<dtmfResumeCode>*83</dtmfResumeCode>
<dtmfTxfCode>*84</dtmfTxfCode>
<dtmfCnfCode>*85</dtmfCnfCode>
</mobility>
<dscpForSCCPPhoneConfig>104</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>184</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<phoneServices>
<provisioning>0</provisioning>
<phoneService  type=”0″ category=”0″>
<name>Corporate Directory</name>
<url>Application:Cisco/CorporateDirectory</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type=”1″ category=”0″>
<name>Missed Calls</name>
<url>Application:Cisco/MissedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type=”1″ category=”0″>
<name>Received Calls</name>
<url>Application:Cisco/ReceivedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type=”1″ category=”0″>
<name>Placed Calls</name>
<url>Application:Cisco/PlacedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type=”1″ category=”0″>
<name>Personal Directory</name>
<url>Application:Cisco/PersonalDirectory</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type=”2″ category=”0″>
<name>Voicemail</name>
<url>Application:Cisco/Voicemail</url>
<vendor></vendor>
<version></version>
</phoneService>
</phoneServices>
</device>
****  TO ENABLE SCCP PAGING PLEASE DO THE FOLLOWING ***
type: vi /etc/asterisk/extensions_custom.conf
[macro-sccp-autoanswer]
exten => s,1(check),ChanIsAvail(SCCP/${ARG1},sj) ;I don't know if this works for SCCP
exten => s,n,Dial(SCCP/${ARG1}/aa=2wb,5,A(beep))
exten => s,n(end),Busy(20)
exten => s,n,Macro(hangupcall,)
exten => s,check+101,Busy(20)
exten => s,n,Macro(hangupcall,)
1 more step for SCCP paging – add the extensions to enable paging in the asterisk cli like this:
database put DEVICE/417/autoanswer macro sccp-autoanswer