Cisco 8851 and FreePBX Configuration

See below the current configuration files for Cisco 8851 and FreePBX. So far this is just a dump of the config to help someone get started. I’ll be providing more detail and a break down later.

It’s worth noting I also had to downgrade the phone firmware to sip88xx.10-2-2-16 before this all would work.

I also found the following sites of help: –
http://usecallmanager.nz/sepmac-cnf-xml.html
https://wiki.freepbx.org/display/FOP/Cisco#Cisco-PatchingAsterisk

Key points of note: –

sshAccess / webAccess, 0 = zero, is on / enabled – contrary to what you might think.

daysDisplayNotActive, indicates the days the displayOnTime will be used. It still turns off after the displayOnDuration expires.

<sshAccess>0</sshAccess>
<webAccess>0</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive> 
<displayOnTime>09:00</displayOnTime>
<displayOnDuration>01:00</displayOnDuration>
<displayIdleTimeout>00:10</displayIdleTimeout>

SEP<MAC>.cnf

<device> 
<deviceProtocol>SIP</deviceProtocol> 
<sshUserId>sshId</sshUserId> 
<sshPassword>sshPassword</sshPassword> 
<devicePool> 
<dateTimeSetting> 
<dateTemplate>D/M/YY</dateTemplate>
<timeZone>GMT Standard/Daylight Time</timeZone>
<ntps> 
<ntp> 
<name>0.uk.pool.ntp.org</name> 
<ntpMode>Unicast</ntpMode> 
</ntp>         
</ntps> 
</dateTimeSetting> 
<callManagerGroup> 
<members> 
<member priority="0"> 
<callManager> 
<ports> 
<ethernetPhonePort>2000</ethernetPhonePort> 
<sipPort>5160</sipPort> 
<securedSipPort>5161</securedSipPort> 
</ports> 
<processNodeName>freepbx.your.host</processNodeName> 
</callManager> 
</member> 
</members> 
</callManagerGroup> 
</devicePool> 
<sipProfile> 
<sipProxies> 
<backupProxy></backupProxy> 
<backupProxyPort>5160</backupProxyPort> 
<emergencyProxy></emergencyProxy> 
<emergencyProxyPort></emergencyProxyPort> 
<outboundProxy></outboundProxy> 
<outboundProxyPort></outboundProxyPort> 
<registerWithProxy>true</registerWithProxy> 
</sipProxies> 
<sipCallFeatures> 
<cnfJoinEnabled>true</cnfJoinEnabled> 
<callForwardURI>x-serviceuri-cfwdall</callForwardURI> 
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI> 
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI> 
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI> 
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI> 
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI> 
<rfc2543Hold>false</rfc2543Hold> 
<callHoldRingback>2</callHoldRingback> 
<localCfwdEnable>true</localCfwdEnable> 
<semiAttendedTransfer>true</semiAttendedTransfer> 
<anonymousCallBlock>2</anonymousCallBlock> 
<callerIdBlocking>2</callerIdBlocking> 
<dndControl>0</dndControl> 
<remoteCcEnable>true</remoteCcEnable> 
</sipCallFeatures> 
<sipStack> 
<sipInviteRetx>6</sipInviteRetx> 
<sipRetx>10</sipRetx> 
<timerInviteExpires>180</timerInviteExpires> 
<timerRegisterExpires>3600</timerRegisterExpires> 
<timerRegisterDelta>5</timerRegisterDelta> 
<timerKeepAliveExpires>120</timerKeepAliveExpires> 
<timerSubscribeExpires>120</timerSubscribeExpires> 
<timerSubscribeDelta>5</timerSubscribeDelta> 
<timerT1>500</timerT1> 
<timerT2>4000</timerT2> 
<maxRedirects>70</maxRedirects> 
<remotePartyID>false</remotePartyID> 
<userInfo>None</userInfo> 
</sipStack> 
<autoAnswerTimer>1</autoAnswerTimer> 
<autoAnswerAltBehavior>false</autoAnswerAltBehavior> 
<autoAnswerOverride>true</autoAnswerOverride> 
<transferOnhookEnabled>false</transferOnhookEnabled> 
<enableVad>false</enableVad> 
<dtmfAvtPayload>101</dtmfAvtPayload> 
<dtmfDbLevel>3</dtmfDbLevel> 
<dtmfOutofBand>avt</dtmfOutofBand> 
<alwaysUsePrimeLine>false</alwaysUsePrimeLine> 
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail> 
<kpml>3</kpml> 
<phoneLabel>Phone</phoneLabel> 
<stutterMsgWaiting>1</stutterMsgWaiting> 
<callStats>false</callStats> 
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> 
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig> 
<sipLines> 
<line button="1" lineIndex="1">
<featureID>9</featureID> 
<featureLabel>200</featureLabel> 
<proxy>USECALLMANAGER</proxy> 
<port>5160</port> 
<name>200</name> 
<displayName>200</displayName> 
<autoAnswer> 
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer> 
<callWaiting>3</callWaiting> 
<authName>200</authName> 
<authPassword>yourpass</authPassword> 
<sharedLine>false</sharedLine> 
<messageWaitingLampPolicy>1</messageWaitingLampPolicy> 
<messagesNumber>*97</messagesNumber> 
<ringSettingIdle>4</ringSettingIdle> 
<ringSettingActive>5</ringSettingActive> 
<contact>200</contact> 
<forwardCallInfoDisplay> 
<callerName>true</callerName> 
<callerNumber>false</callerNumber> 
<redirectedNumber>false</redirectedNumber> 
<dialedNumber>true</dialedNumber> 
</forwardCallInfoDisplay> 
</line>
<line button="3">
<featureID>2</featureID>
<featureLabel>Conference</featureLabel>
<speedDialNumber>2000</speedDialNumber>
</line>
<line button="3">
<featureID>2</featureID>
<featureLabel>Conference (No PIN)</featureLabel>
<speedDialNumber>2001</speedDialNumber>
</line>
</sipLines> 
<voipControlPort>5160</voipControlPort> 
<startMediaPort>16348</startMediaPort> 
<stopMediaPort>20134</stopMediaPort> 
<dscpForAudio>184</dscpForAudio> 
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy> 
<dialTemplate>dialplan.xml</dialTemplate> 
<softKeyFile></softKeyFile> 
</sipProfile> 
<commonProfile> 
<phonePassword></phonePassword> 
<backgroundImageAccess>true</backgroundImageAccess> 
<callLogBlfEnabled>2</callLogBlfEnabled> 
</commonProfile> 
<loadInformation>SIP45.8-4-2S</loadInformation> 
<vendorConfig> 
<disableSpeaker>false</disableSpeaker> 
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset> 
<pcPort>0</pcPort> 
<settingsAccess>1</settingsAccess> 
<garp>0</garp> 
<voiceVlanAccess>0</voiceVlanAccess> 
<videoCapability>0</videoCapability> 
<autoSelectLineEnable>0</autoSelectLineEnable> 
<webAccess>0</webAccess> 
<sshAccess>0</sshAccess>
<sshPort>22</sshPort>
<daysDisplayNotActive>1,7</daysDisplayNotActive> 
<displayOnTime>09:00</displayOnTime>
<displayOnDuration>01:00</displayOnDuration>
<displayIdleTimeout>00:10</displayIdleTimeout>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<spanToPCPort>1</spanToPCPort> 
<loggingDisplay>1</loggingDisplay> 
<loadServer></loadServer> 
</vendorConfig> 
<userLocale>
<name>English_United_Kingdom</name>
<!-- the name above is the exact name of the folder inside /tftpboot where the locale files are stored -->
<uid>1</uid>
<langCode>en_GB</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale> 
<networkLocale>English_United_Kingdom</networkLocale> 
<networkLocaleInfo> 
<name></name> 
<uid></uid> 
<version>1.0.0.0-1</version> 
</networkLocaleInfo>
<phoneServices>
<provisioning>0</provisioning>
<phoneService type="1" category="0">
<name>Missed Calls</name>
<url>Application:Cisco/MissedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="2" category="0">
<name>Voicemail</name>
<url>Application:Cisco/Voicemail</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>Contacts</name>
<!-- set the URL below to match your server DNS name, and edit the extension to match the correct extension for this file -->
<url>http://freepbx.your.host/cisco/directory.php?xtn=200</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="0" category="0">
<name>Visual Voicemail</name>
<url></url>
<vendor></vendor>
<version></version>
</phoneService>
</phoneServices>    
<deviceSecurityMode>1</deviceSecurityMode> 
<authenticationURL></authenticationURL> 
<directoryURL></directoryURL> 
<servicesURL></servicesURL> 
<idleURL></idleURL> 
<informationURL></informationURL> 
<messagesURL></messagesURL> 
<proxyServerURL></proxyServerURL> 
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig> 
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices> 
<dscpForCm2Dvce>96</dscpForCm2Dvce> 
<transportLayerProtocol>2</transportLayerProtocol> 
<capfAuthMode>0</capfAuthMode> 
<capfList> 
<capf> 
<phonePort>3804</phonePort> 
</capf> 
</capfList> 
<certHash></certHash> 
<encrConfig>false</encrConfig> 
</device>

XMLDefault.xml

<Default> 
<callManagerGroup> 
<members>  
<member priority="0">  
<callManager>  
<ports>  
<ethernetPhonePort>2000</ethernetPhonePort>  
<mgcpPorts>  
<listen>2427</listen>  
<keepAlive>2428</keepAlive>  
</mgcpPorts>  
</ports>  
<processNodeName></processNodeName>  
</callManager>  
</member>  
</members>  
</callManagerGroup>  
<loadInformation8 model="IP Phone 7940">P0S3-8-12-00</loadInformation8>  
<loadInformation7 model="IP Phone 7960">P0S3-8-12-00</loadInformation7> 
<loadInformation435 model="Cisco 7945">SIP45.8-4-2S</loadInformation435>
<loadInformation436 model="Cisco 7965">SIP45.8-4-2S</loadInformation436> 
<loadInformation30006 model="IP Phone 7970">SIP70.8-0-3S</loadInformation30006>
<loadInformation684 model="Cisco 8851">sip88xx.10-2-2-16</loadInformation684>
<authenticationURL></authenticationURL>  
<directoryURL></directoryURL>  
<idleURL></idleURL>  
<informationURL></informationURL>  
<messagesURL></messagesURL>  
<servicesURL></servicesURL>  
</Default>

featurepolicy.xml

<!-- featurepolicy.xml -->
<featurePolicy name="Feature Policy">
<versionStamp>c1b05fde-ef64-11e5-9ce9-5e5517507c66</versionStamp>
<featureDef name="Redial">
<id>7</id>
<enable>true</enable>
</featureDef>
<featureDef name="Call PickUp">
<id>10</id>
<enable>true</enable>
</featureDef>
<featureDef name="Divert (Alerting)">
<id>3</id>
<enable>true</enable>
</featureDef>
<featureDef name="Quality Reporting Tool">
<id>15</id>
<enable>true</enable>
</featureDef>
</featurePolicy>

softkeys.xml

<!-- softkeys.xml -->
<softKeyCfg>
<versionStamp>c1b05fde-ef64-11e5-9ce9-5e5517507c66</versionStamp>
<typeSoftKey>
<softKeyDef keyID="Undefined">
<tag>0</tag>
<eventID>0</eventID>
<helpID>0</helpID>
</softKeyDef>
<softKeyDef keyID="Redial">
<tag>1</tag>
<eventID>1</eventID>
<helpID>301</helpID>
</softKeyDef>
<softKeyDef keyID="NewCall">
<tag>2</tag>
<eventID>2</eventID>
<helpID>302</helpID>
</softKeyDef>
<softKeyDef keyID="Hold">
<tag>3</tag>
<eventID>3</eventID>
<helpID>303</helpID>
</softKeyDef>
<softKeyDef keyID="&lt;&lt;">
<tag>8</tag>
<eventID>8</eventID>
<helpID>308</helpID>
</softKeyDef>
<softKeyDef keyID="CFwdAll">
<tag>5</tag>
<eventID>5</eventID>
<helpID>305</helpID>
</softKeyDef>
<softKeyDef keyID="EndCall">
<tag>9</tag>
<eventID>9</eventID>
<helpID>309</helpID>
</softKeyDef>
<softKeyDef keyID="Resume">
<tag>10</tag>
<eventID>10</eventID>
<helpID>310</helpID>
</softKeyDef>
<softKeyDef keyID="Answer">
<tag>11</tag>
<eventID>11</eventID>
<helpID>311</helpID>
</softKeyDef>
<softKeyDef keyID="PickUp">
<tag>17</tag>
<eventID>17</eventID>
<helpID>317</helpID>
</softKeyDef>
<softKeyDef keyID="QRT">
<tag>75</tag>
<eventID>22</eventID>
<helpID>322</helpID>
</softKeyDef>
<softKeyDef keyID="Select">
<tag>78</tag>
<eventID>29</eventID>
<helpID>329</helpID>
</softKeyDef>
<softKeyDef keyID="iDivert">
<tag>80</tag>
<eventID>31</eventID>
<helpID>331</helpID>
</softKeyDef>
<softKeyDef keyID="Record">
<tag>7747</tag>
<eventID>74</eventID>
<helpID>374</helpID>
</softKeyDef>
</typeSoftKey>
<softKeySets>
<softKeySet id="On Hook">
<softKey keyID="Redial" />
<softKey keyID="NewCall" />
<softKey keyID="PickUp" />
<softKey keyID="CFwdAll" />
</softKeySet>
<softKeySet id="Off Hook">
<softKey keyID="Redial" />
<softKey keyID="EndCall" />
</softKeySet>
<softKeySet id="Off Hook With Feature">
<softKey keyID="Redial" />
<softKey keyID="EndCall" />
</softKeySet>
<softKeySet id="Digits After First">
<softKey keyID="&lt;&lt;" />
<softKey keyID="EndCall" />
</softKeySet>
<softKeySet id="Ring Out">
<softKey keyID="Undefined" />
<softKey keyID="EndCall" />
</softKeySet>
<softKeySet id="Connected">
<softKey keyID="Hold" />
<softKey keyID="EndCall" />
<softKey keyID="Record" />
<softKey keyID="QRT" /> 
</softKeySet>
<softKeySet id="Connected No Feature">
<softKey keyID="Undefined" />
<softKey keyID="EndCall" />
</softKeySet>
<softKeySet id="Connected Transfer">
<softKey keyID="Undefined" />
<softKey keyID="EndCall" />
<softKey keyID="Transfer" />
</softKeySet>
<softKeySet id="On Hold">
<softKey keyID="Resume" />
<softKey keyID="NewCall" />
</softKeySet>
<softKeySet id="Ring In">
<softKey keyID="Answer" />
<softKey keyID="iDivert" />
</softKeySet>
</softKeySets>
</softKeyCfg>

List.xml

<CiscoIPPhoneImageList>
<ImageItem Image="TFTP:/Desktops/800x480x24/P1-Thumb.png" URL="TFTP:/Desktops/800x480x24/P1.png"/> 
<ImageItem Image="TFTP:/Desktops/800x480x24/P2-Thumb.png" URL="TFTP:/Desktops/800x480x24/P2.png"/> 
<ImageItem Image="TFTP:/Desktops/800x480x24/P5-Thumb.png" URL="TFTP:/Desktops/800x480x24/P5.png"/> 
</CiscoIPPhoneImageList>