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.
- Install updates and dependencies
yum install asterisk-develyum install nmakeyum install automakeyum install autoconfyum install libtoolyum install makeyum install m4yum update -y
yum upgrade -y - Reboot after the yums (#reboot now)
- 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.gztype: tar xzvf Chan_SCCP-4.2.3_STABLE_r6728.tar.gztype: cd /Chan_SCCP-4.2.3_STABLEtype: make cleantype: ./configure –enable-confernce –enable-advanced-functions –enable-video –enable-videolayer –enable-conference –enable-distributed-devicestate –enable-debug –enable-gcov –enable-refcount-debug –enable-indicationstype: maketype: make install
- 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.soload => chan_sccp.so
- create a sccp.conf file
type: vi /etc/asterisk/sccp.conf
COPY AND PASTE THE BELOW TEXT INTO SCCP.CONF
[general]servername = Alpha-PBXkeepalive = 60debug = 1context = from-internaldateformat = M/D/Yabindaddr = 0.0.0.0port = 2000disallow=allallow=g722allow=ulawallow=g729firstdigittimeout = 16digittimeout = 8autoanswer_ring_time = 1autoanswer_tone = 0x32remotehangup_tone = 0x32transfer_tone = 0transfer_on_hangup = offdnd_tone = 0x0callwaiting_tone = 0x2dmusicclass=defaultlanguage=enpermit=0.0.0.0/0.0.0.0localnet = 192.168.199.0/255.255.255.0;externip = 77.66.55.44dndFeature = offsccp_tos = 0x68sccp_cos = 4audio_tos = 0xB8audio_cos = 6video_tos = 0x88video_cos = 5echocancel = onsilencesuppression = offprivate = oncallanswerorder=oldestfirstdirected_pickup_modeanswer = onhotline_enabled=yes ;can devices without configuration registerhotline_context=default ; context for hotlinehotline_extension=111 ; extension will be dialed on offHook; actual definitions[SEPD4D748FEB5C5]description = House-Office Phoneaddon = 7915devicetype = 7945park = offbutton = line, 417button = feature,Record calls,monitorcfwdall = offtype = devicekeepalive = 60;tzoffset = +2transfer = onpark = oncfwdall = offcfwdbusy = offcfwdnoanswer = offdirected_pickup = ondirected_pickup_context = from-internaldirected_pickup_modeanswer = onpermit=0.0.0.0/0.0.0.0dndFeature = ondnd = offdirectrtp=offearlyrtp = progressprivate = onmwilamp = onmwioncall = offcfwdall = onsoftkeyset = softkeyset187[417]id = 417type = linelabel = ACG 417description = ACG Line 417mailbox = 417cid_name = Alpha Computer Groupcid_num = 417accountcode=79011callgroup=1-99pickupgroup=1-99context = from-internalincominglimit = 2transfer = onvmnum = *97meetme = onmeetmeopts = qxdmeetmenum = 700trnsfvm = *417secondary_dialtone_digits = 9secondary_dialtone_tone = 0x22musicclass=defaultlanguage=enechocancel = onsilencesuppression = offdnd = 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 = softkeysetname = softkeyset187 ; (REQUIRED) softkeyset nameonhook = redial,newcall ; displayed when we are on hookconnected = hold,transfer,park,confrn,select,vidmode,idivert ; displayed when we have a connected callonhold = resume,newcall,transfer,endcall,confrn,conflist,select,dirtrfr,idivert,vidmode ; displayed when we have a call on holdringin = answer,endcall,transvm,vidmode ; displayed when we have an incoming calloffhook = redial,dial,endcall,vidmode ; displayed when the phone is taken off hookconntrans = hold,endcall,transfer,park,confrn,select,dirtrfr,meetme,vidmodedigitsfoll = back,endcall,dial,gpickup,pickup,vidmode ; displayed when one or more digits have been entered, more are expectedconnconf = conflist,endcall,hold,join,vidmode ; displayed when we are in a conferenceconflist = exit,endconf,kick,join,mute,endcallringout = endcall,dial,transfer,confrn,idivert,vidmode ; displayed when We are calling someoneoffhookfeat = redial,endcall,dial,vidmode ; displayed wenn we went offhook using a featureonhint = redial,dial,newcall,pickup,gpickup,barge,vidmode ; displayed when a hint is activated
- 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