The 7940/7960 pages were used as a starter for this page. Some significant modifications have been made to this page, but it really needs some more editing and trimming. It is far too long and too vague. If someone knows a better way to include the SEP<MAC>.cnf.xml files other than just placing the contents in the body of the page, please pitch in and move them.
By default, most Cisco VoIP phones come configured for Call Manager, which uses the ‘Skinny’ protocol – SCCP.
This page will focus on upgrading the Cisco 7970 to SIP firmware and configuring it for use with Asterisk. As of 2016, Cisco provides many required firmware versions for free, although for some versions you will have to shell out the $10 or so for a SmartNet contract to get them.
The first version of SIP firmware for the 7970 is 8.0. The following versions seem to work well with Asterisk:
- 8.0.3
- 8.3.3
- 8.5.4
- 9.3.1 *NEW*(Bug: Phone freezes after few hours, solution anyone?)
- 9.4
I have been able to upload version 9.x, including 9.2.1. Version 9.4 is confirmed to work well with Asterisk 11.3, for example. Some users have reported problems with some firmware, for example, version 8.5.3SR1 exhibited unusual behavior in that missed calls appeared to be ringing indefinitely, but the user could not pick them up.
The following is Cisco’s product page for the 7970.
Upgrading to SIP
There are various tutorials out there, each of which seems to be flawed. This is one of the better ones.
Cisco firmware files come in the form of .cop files. In Asterisk, you will need to extract the files from the .cop file and place them in your TFTP directory (assumed to be tftpboot).
- Copy the .cop to your asterisk server. I prefer scp (use WinSCP on Windows, or the terminal on Mac). Place it in its own directory, all by itself.
- Rename the .cop file to a .tgz file: ‘mv filename.cop filename.tgz’
- Extract the files: ‘tar-zxvf filename.tgz’
- Move the files to your TFTP directory.
When you boot the phone, it will search for a TFTP server. The easiest method to do this is to have your DHCP server tell the phone where the TFTP server is. How to do this is outside the scope of this tutorial.
To upgrade to SIP, you will need the following files in your TFTP directory:
For both 7970/7971:
apps70.<version>.sbn cnu70.<version>.sbn cvm70sip.<version>.sbn dsp70.<version>.sbn jar70sip.<version>.sbn SIP70.<version>.loads XMLDefault.cnf.xml XmlDefault.cnf.xml
For 7970:
load300006.txt term70.default.loads
For 7971:
load119.txt term71.defaults.loads
XMLDefault.cnf.xml
This file contains the default settings that are common to all phones. It is NOT equivalent to the SIPDefault.cnf file used by the 7940/7960 phones. In fact, it will not be requested by the phone unless it cannot find the SEP<MAC>.cnf.xml file. The 7941/7961 also use this file to determine which version of the firmware to load.
Due to inconsistent coding by Cisco, different firmware may look for different case-sensitive versions of this file. You should have both XMLDefault.cnf.xml AND XmlDefault.cnf.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">P003-07-4-00</loadInformation8>
<loadInformation7 model="IP Phone 7960">P003-07-4-00</loadInformation7>
<loadInformation6 model="IP Phone 7970">SIP70.8-0-3S</loadInformation6> *** identifies the filename to LOAD (SIP70.8-0-3S.loads)
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>
dialplan.xml (contains entries like “9,1….” that cause the phone to automatically dial after a match. See below for more details.)
ringlist.xml (a list of ringing tones to be downloaded, like ringer1.pcm. You will also need any ringtone files specified in this file, such as ringer1.pcm.)
distinctiveringlist.xml (?????)
NOTE:
When upgrading, ***DO NOT*** place a SEP<MAC>.cnf.xml file for this phone in the TFTP directory. During the boot process, the phone will request its configuration file. When it does not find it, it will request the XMLDefault.cnf.xml file. Because the XMLDefault file is much shorter and simpler, you are less likely to have problems with it, and it will be easier to troubleshoot. Once you have the phone upgraded to the SIP firmware, THEN place a phone-specific SEP<MAC>.cnf.xml file in your TFTP directory and reboot the phone. A badly configured SEP<MAC>.cnf.xml file CAN AND WILL keep the phone from successfully upgrading the firmware even when everything else is OK.
Now, if you reboot your phone, it should get the TFTP server address from your DHCP server and begin the upgrade process. Verify that the phone is indeed requesting the files from the TFTP server if you are having problems.
Once the phone is upgraded
Once the phone is upgraded, place a phone-specific configuration file in your TFTP directory. See below.
Phone Specific Configuration Files (SEP<MAC>.cnf.xml)
Each phone should have its own configuration file. This file should be named “SEP<mac>.cnf.xml”, where the <mac> refers to the MAC address of the phone.
Unfortunately, Cisco has NOT released a detailed breakdown of the workings of the 7970 configuration (SEP<mac>.cnf.xml) file. This is because Cisco now generates the SEP files from within Call Manager (CCM). As a rule, Cisco now tells configurators how to make configuration changes from with the CCM application (which then generates the SEP<mac>.cnf.xml). Because of this, it’s more difficult to ‘hand craft’ the config files – If anyone has an annotated SEP<mac>.cnf.xml file they could post it would be very useful.
Please keep in mind that the 7970 is ***EXTREMELY*** sensitive to errors in this file. If there are ***ANY*** errors in the file, then the phone will simply refuse to load it. If you have never configured this phone, it will just act like it has no settings, and will likely display “Unprovisioned” on the screen. If you have previously configured this phone, the phone will revert back to the last settings file is successfully loaded. The symptoms you will notice if this is happening is that any changes you make to the configuration will not take effect. There will also be an error in the status messages.
TIME SAVING TIP: You do not need to reboot the phone every time you would like it to reload its configuration. Simply go into the settings, unlock the configuration (**# by default), and change any of the network settings (I like to change “Alternate TFTP Server”). When you save the change, the phone will reload its configuration files from the TFTP Server. Don’t forget to change the setting back to what it should be!
The files previously quoted on this page did not work for me. I have moved them to the end in case they are useful for someone else. Here is the file that works for me, assuming a local NTP server at 192.168.0.1, an Asterisk server at 192.168.0.2, Eastern Time Zone, a firmware version of 8.5.4, an extension of 115, and a secret for that extension of “S33krit”. Change those items to suit your configuration wherever they appear in the file below.
Please note that using a Phone Label with a space, underscore, or hyphen in it will not work. In other words, “MyPhone” is fine, but “My Phone” does not work.
<?xml version="1.0" encoding="UTF-8"?>
<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>admin</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>M/D/Ya</dateTemplate>
<timeZone>Eastern Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>192.168.0.1</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>192.168.0.2</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP70.8-5-4S</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>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer></loadServer>
<daysDisplayNotActive></daysDisplayNotActive>
<displayOnTime>07:00</displayOnTime>
<displayOnDuration>17:00</displayOnDuration>
<displayIdleTimeout>1:00</displayIdleTimeout>
</vendorConfig>
<deviceSecurityMode>1</deviceSecurityMode>
<authenticationURL>http://192.168.0.2/cisco/services/authentication.php</authenticationURL>
<directoryURL>http://192.168.0.2/xmlservices/PhoneDirectory.php</directoryURL>
<idleURL>http://192.168.0.2/xmlservices/index.php</idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL>http://phone-xml.berbee.com/menu.xml</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<sipProfile>
<sipProxies>
<backupProxy></backupProxy>
<backupProxyPort></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>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<natEnabled>false</natEnabled>
<natAddress></natAddress>
<stutterMsgWaiting>0</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<phoneLabel>MyPhoneLabel</phoneLabel>
<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel>115</featureLabel>
<name>115</name>
<displayName>115</displayName>
<contact>115</contact>
<proxy>192.168.0.2</proxy>
<port>5060</port>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>115</authName>
<authPassword>S33krit</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
</sipLines>
</sipProfile>
</device>
[root@vox ~]# cat /tftpboot/XMLDefault.cnf.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">P003-08-4-00</loadInformation8>
<loadInformation7 model="IP Phone 7960">P003-08-4-00</loadInformation7>
<loadInformation6 model="IP Phone 7970">SIP70.8-3-3SR1S</loadInformation6> *** identifies the filename to LOAD (SIP70.8-0-3S.loads)
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>
Time Zone Codes
The time zone codes must be input EXACTLY as written below including caps, spaces (do not use the_underscore_for spaces) & punctuation. If not, the time zone displayed on the screen will revert to UTC.
Dateline Standard Time
Samoa Standard Time
Hawaiian Standard Time
Alaskan Standard/Daylight Time
Pacific Standard/Daylight Time
Mountain Standard/Daylight Time
US Mountain Standard Time
Central Standard/Daylight Time
Mexico Standard/Daylight Time
Canada Central Standard Time
SA Pacific Standard Time
Eastern Standard/Daylight Time
US Eastern Standard Time
Atlantic Standard/Daylight Time
SA Western Standard Time
Newfoundland Standard/Daylight Time
South America Standard/Daylight Time
SA Eastern Standard Time
Mid-Atlantic Standard/Daylight Time
Azores Standard/Daylight Time
GMT Standard/Daylight Time
Greenwich Standard Time
W. Europe Standard/Daylight Time
GTB Standard/Daylight Time
Egypt Standard/Daylight Time
E. Europe Standard/Daylight Time
Romance Standard/Daylight Time
Central Europe Standard/Daylight Time
South Africa Standard Time
Jerusalem Standard/Daylight Time
Saudi Arabia Standard Time
Russian Standard/Daylight Time
Iran Standard/Daylight Time
Caucasus Standard/Daylight Time
Arabian Standard Time
Afghanistan Standard Time
West Asia Standard Time
Ekaterinburg Standard Time
India Standard Time
Central Asia Standard Time
SE Asia Standard Time
China Standard/Daylight Time
Taipei Standard Time
Tokyo Standard Time
Cen. Australia Standard/Daylight Time
AUS Central Standard Time
E. Australia Standard Time
AUS Eastern Standard/Daylight Time
West Pacific Standard Time
Tasmania Standard/Daylight Time
Central Pacific Standard Time
Fiji Standard Time
New Zealand Standard/Daylight Time
DialPlan Notes (dialplan.xml)
Like most SIP phones, the 7970 will wait a specified amount of time after a user stops dialing before it sends the dialed number off to the Asterisk server. Alternately, a user can press the “Dial” soft-key. For obvious reasons, you will likely want to specify a set of criteria when the phone should not wait so long before dialing. The dialplan.xml file controls the phone’s matching of digits, how long it should wait before dialing when a pattern is matched, and what modifications, if any, should be made to the dialed string.
Note: This file is case sensitive in some firmware versions; all elements and attributes should be uppercase (except Tone) or the entries may be ignored.
Here is a basic dialplan.xml for use with asterisk in North America:
<DIALTEMPLATE>
<TEMPLATE MATCH="1.." TIMEOUT="1"/><!-- Internal extensions 100 to 199. Wait 1 second, then dial -->
<TEMPLATE MATCH="......." TIMEOUT="1"/><!-- 7 digits. Wait 1 second, then dial -->
<TEMPLATE MATCH=".........." TIMEOUT="1"/><!-- 10 digits. Dial immediately -->
<TEMPLATE MATCH="1.........." TIMEOUT="0"/><!-- 1+10 digits. Dial immediately -->
<TEMPLATE MATCH="*86" TIMEOUT="0"/><!-- *86 (*VM for voicemail). Dial immediately -->
<TEMPLATE MATCH="*#" TIMEOUT="0" REWRITE="%1"/><!-- Dial Immediately After Pressing # -->
<TEMPLATE MATCH="*" TIMEOUT="5"/> <!-- Anything else. Wait 5 seconds, then dial -->
</DIALTEMPLATE>
In order, these entries do the following:
1.) “1..” matches a three digit string that begins with “1”. The phone dials after 1 second if it matches this scenario.
2.) “…….” matches a seven digit phone number for locations where 10-digit dialing is not needed (like New Hampshire)
3.) “……….” matches a ten digit phone number. The phone dials immediately when this condition is met.
4.) “1……….” matches “1” plus a 110-digit phone number. The phone dials immediately.
5.) “*86” matches exactly that string and dials immediately.
6.) “*#” matches anything dialed and followed by “#”. The “REWRITE=”%1” part keeps the phone from sending the “#” to Asterisk.
7.) “*” matches anything that does not match another of the rules, such as if a user dialed “1234”. The phone will wait 5 seconds and dial out.
You may want to add an entry for 911. Using this file as-is, 911 calls will match the “*” pattern and 5 seconds will elapse before the call is sent to Asterisk.
Note: There is some confusion as to the behavior of the phone when multiple patterns are specified with a timeout of “0”. Some claim that the phone will match the LONGEST matching string, but I have found (with version 8.5.4 of the SIP firmware) that the phone will match the first string it matches that has a timeout of “0”. The order of the strings in the file appears to be irrelevant. For example, if I specify a timeout of “0” for the “7 digits” rule, I am unable to dial a 10 digit number, as the phone matches the first seven digits and immediately sends those 7 digits to the Asterisk server. The exception here is the “1+10 digits” rule, which seems to work, even though the “10 digits” rule should match it first. Perhaps the leading 1 is treated differently.
In another example, we immediately match 9+10digits or 9+1+10digits, and match 5+2digits as internal extensions
<DIALTEMPLATE>
<TEMPLATE MATCH="5.." TIMEOUT="0"/>
<TEMPLATE MATCH="9,1.........." TIMEOUT="0" Tone="Bellcore-Alerting"/>
<TEMPLATE MATCH="9,.........." TIMEOUT="0"/>
</DIALTEMPLATE>
In the above example, a secondary dial tone is invoked by the comma character. If the Tone attribute is left blank, the default will be used. Or you can specify one of the following:
Bellcore-Alerting
Bellcore-Busy
Bellcore-BusyVerify
Bellcore-CallWaiting
Bellcore-Confirmation
Bellcore-dr1
Bellcore-dr2
Bellcore-dr3
Bellcore-dr4
Bellcore-dr5
Bellcore-dr6
Bellcore-Hold
Bellcore-Inside
Bellcore-None
Bellcore-Outside (default)
Bellcore-Permanent
Bellcore-Reminder
Bellcore-Reorder
Bellcore-Stutter
CallWaiting-2
CallWaiting-3
CallWaiting-4
Cisco-BeepBonk
Cisco-Zip
Cisco-ZipZip
Rewrite argument
There is some confusion as to how the 7970 “#” key functions and whether it has the same effect as pressing the “Dial” soft-key. Perhaps, if you factory reset the phone, this will be the case. However, most of the guides to getting this phone working with Asterisk include a dialplan.xml file that does not include a line that will cause the phone to behave this way, so users may be confused. The Rewrite argument in the dialplan.xml file can be used to make this happen (and much more!).
The rewrite argument in dialplan.xml can be used to modify the dialed number before it is sent to the asterisk server. For more information, see the section “Creating Dial Plans” in this document: http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/7960g_7940g/sip/4_4/english/administration/guide/sipins44.html
For those that wish to have the ‘#’ key force a dial like the 7940/7960, you must include a line like this in your dialplan.xml:
<TEMPLATE MATCH=”*#” Timeout=”0″ Rewrite=”%1″/> <!– Dial Immediately After Pressing # –>
The “%1” translates to the first grouping of numbers in the string dialed by the user, so “5551212#” becomes “5551212”. Similarly, “ABCD5551212#” would also become “5551212”. For more details, see the above link.
Another example for Croatia:
<DIALTEMPLATE>
<!-- Lokalni pozivi -->
<TEMPLATE MATCH="1.." Timeout="0"/>
<!-- Zupanijski pozivi -->
<TEMPLATE MATCH="01....." Timeout="0"/>
<TEMPLATE MATCH="02....." Timeout="0"/>
<TEMPLATE MATCH="03....." Timeout="0"/>
<TEMPLATE MATCH="04....." Timeout="0"/>
<TEMPLATE MATCH="05....." Timeout="0"/>
<TEMPLATE MATCH="06....." Timeout="0"/>
<TEMPLATE MATCH="07....." Timeout="0"/>
<TEMPLATE MATCH="08....." Timeout="0"/>
<TEMPLATE MATCH="09....." Timeout="0"/>
<!-- Meduzupanijski pozivi -->
<TEMPLATE MATCH="001......." Timeout="0"/> <!-- Zagrebacka i grad Zagreb -->
<TEMPLATE MATCH="0049......" Timeout="0"/> <!-- Krapinsko - zagorska -->
<TEMPLATE MATCH="0044......" Timeout="0"/> <!-- Sisacko - moslavacka -->
<TEMPLATE MATCH="0047......" Timeout="0"/> <!-- Karlovacka -->
<TEMPLATE MATCH="0042......" Timeout="0"/> <!-- Varazdinska -->
<TEMPLATE MATCH="0048......" Timeout="0"/> <!-- Koprivnicko - krizevacka -->
<TEMPLATE MATCH="0043......" Timeout="0"/> <!-- Bjelovarsko - gilogorska -->
<TEMPLATE MATCH="0051......" Timeout="0"/> <!-- Primorsko - goranska -->
<TEMPLATE MATCH="0053......" Timeout="0"/> <!-- Licko - senjska -->
<TEMPLATE MATCH="0033......" Timeout="0"/> <!-- VIroviticko - podravska -->
<TEMPLATE MATCH="0034......" Timeout="0"/> <!-- Pozesko - slavonska -->
<TEMPLATE MATCH="0035......" Timeout="0"/> <!-- Brodsko - posavska-->
<TEMPLATE MATCH="0023......" Timeout="0"/> <!-- Zadarska -->
<TEMPLATE MATCH="0031......" Timeout="0"/> <!-- Osjecko - baranjska -->
<TEMPLATE MATCH="0022......" Timeout="0"/> <!-- Sibensko - kninska -->
<TEMPLATE MATCH="0032......" Timeout="0"/> <!-- Vukovarsko - srijemska -->
<TEMPLATE MATCH="0021......" Timeout="0"/> <!-- Splitsko - dalmatinska -->
<TEMPLATE MATCH="0052......" Timeout="0"/> <!-- Istarska -->
<TEMPLATE MATCH="0020......" Timeout="0"/> <!-- Dubrovacko - neretvanska -->
<TEMPLATE MATCH="0040......" Timeout="0"/> <!-- Medimurska-->
<!-- Mobiteli -->
<TEMPLATE MATCH="0099......." Timeout="0"/>
<TEMPLATE MATCH="0098......." Timeout="0"/>
<TEMPLATE MATCH="0095......." Timeout="0"/>
<TEMPLATE MATCH="0091......." Timeout="0"/>
<!-- Cisco - default -->
<TEMPLATE MATCH="9,59....." Timeout="0"/>
<TEMPLATE MATCH="9,29....." Timeout="0"/>
<TEMPLATE MATCH="9,832......." Timeout="0"/>
<TEMPLATE MATCH="9,713......." Timeout="0"/>
<TEMPLATE MATCH="9,281......." Timeout="0"/>
<TEMPLATE MATCH="9,903......." Timeout="0"/>
<TEMPLATE MATCH="\*500" Timeout="0"/>
<TEMPLATE MATCH="\*54" Timeout="0"/>
<TEMPLATE MATCH="\*55" Timeout="0"/>
<TEMPLATE MATCH="\*69" Timeout="0"/>
<TEMPLATE MATCH="*" Timeout="5"/> <!-- Anything else -->
</DIALTEMPLATE>
Logo Displayed on 7970 Screen
A non-Cisco logo can be displayed on the 7970 screen. Cisco’s documentation states the logo be a .PNG bitmap format.
Please create the following directory in your TFTPBOOT directory (case sensitive)
/Desktops/320x212x12
In this directory store your PNG files, each file can be up to 4096 colours and 320×212 pixels. For each file you need a Fullsize PNG file (320x212x12) and a Thumbnail PNG (80x53x12)
Also generate a List.xml file in this directory. The format of this file is:-
<CiscoIPPhoneImageList>
<ImageItem Image="TFTP:Desktops/320x212x12/thumbnail.png" URL="TFTP:Desktops/320x212x12/Fullsize.png"/>
</CiscoIPPhoneImageList>
Where thumbnail.png is the name of the thumbnail file and fullsize.png is the name of the corresponding fullsize file.
You can have multiple listings in this directory and they are then accessed via the phone from Menu–>User Preferences–>Background Images
Company Telephone Directory
The 7970G phone has four panel keys labeled as Messages, Services, Directories, and Settings. The Directory key can be programmed to view your company’s telephone directory by displaying Names and Telephone Numbers that are stored on any web site available to you.
Modify the SIPDefault.cnf file entry to point to the web site:
directory_url: “http://www.mywebserver.com/asterisk/directory.xml”
The phone must be rebooted in order to read the above file.
The web site file /asterisk/directory.xml should include xml entries like:
<CiscoIPPhoneDirectory>
<Title>IP Telephony Directory</Title>
<Prompt>People reachable via VoIP</Prompt>
<DirectoryEntry>
<Name>Rich</Name>
<Telephone>3000</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Todd</Name>
<Telephone>3001</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>
Note: Each time a user presses the Directory key and accesses the External Directory option from the menu, the phone will access the contents of this html file and display whatever text entries included in it. Therefore, changes to the html file do not require any futher rebooting of the Cisco phone. Cisco has published Cisco IP Phone Services Application Development Notes (CMXML_App_Guide.pdf ) that further explains options and file contents.
QUESTION:
Phone directory can display 32 entries per page. How to display second, third… page?
UPDATE:
This XML structure did not work for me with my 7970 (firmware 8-0-3).
I found a reference to <URL>Dial:xxxxxxxxxxx</URL> inside of the <MenuItem> XML node and that works great for me. Here is the page where I saw the URL tag: http://howtos.mysolvr.com/Getting_a_CISCO_7970_IP_Phone_To_Run_SIP_And_To_Connect_To_Non_Call_Manager
If xml code does not add the custom directories on a 7970 phone one solution will be to make sure that the Apache server sets the http content type header to text/xml. I found that my ISPs Apache server sets the http content header to application/xml mime type and the 7970 then would display http error message (strangely this does not bother 7960 phones!). However, when I set the default to text/xml then 7970 was quite happy to display the custom directory. In order to force this change, I had to create .htaccess file on the server where the xml file is located with the line ‘AddType text/xml .xml’ in it. This overrides the Apache server default value of application/xml which is supposed to be the correct value and I read somewhere that text/xml mime type is now deprecated. Anyway once the default mime type was set there were no problems. If it still fails it might pay to check with the Apache administrator to make sure that the use of .htaccess file is allowed in the server settings.
Using vCards as the Directory
Vostrom, https://vostrom.com/vcardcmxml/ , has provided a neat solution of using vCards as the source of directory information. The Vostrom site provides details on how to do this and it is a pretty straight forward process. All you have to do is to make sure that the webserver supports php and place the vCard file and the php script provided in the web and set the directory_url to the php file. I spent awful lot of time trying to work out why the php script did not work. If you have the problem of php script displaying the php code then most likely you can fix this by replacing ‘<?’ with ‘<?php’ on line one of the above script – otherwise it could be a problem with php settings of your webserver.
Asterisk Cisco 7970 XML Services
Services Button
The 7970 phones have four panel keys labeled as Messages, Services, Directories, and Settings. The Services key can be programmed to execute CGI scripts that are stored on any web site available to you. The CGI scripts can perform any action that you are capable of programming. None are provided by Cisco.
Modify the SIPDefault.cnf file entry to point to the web site:
services_url: “http://www.mywebserver.com/asterisk/myscriptpage.html”
The phone must be rebooted in order to read the above file.
The web site file /asterisk/myscriptpage.html should include entries for each service that you plan to make available to your phone users. The exact content and syntax is also documented in the Cisco IP Phone Services Application Development Notes (CMXML_App_Guide.pdf ) noted above.
Messages Button
When the Messages button is pressed, you can cause the phone to directly dial an extension in your asterisk dialplan. Just configure the phone as:
<messagesNumber>extension</messagesNumber>
where “extension” is what you wish the phone to dial when the Messages button is pressed. You can then catch the call in either a standard VoiceMailMain() invocation a la
exten => _42,1,VoiceMailMain()
or, be cute and bypass entry of mailbox number and password a la
exten => _42,1,VoiceMailMain(s<mbox num>)
To make the Messages button work for any extension (assuming your extensions are numbered appropriately), use:
exten => _42,1,VoiceMailMain(s${CALLERIDNUM})
Asterisk Cisco 79XX XML Services
Ringtones
The Cisco SIP IP phone ships with two ring types: Chirp1 and Chirp2. By default, your ring type options will be those two choices. However, using the RINGLIST.DAT file, you can customize the ring types that are available to the Cisco SIP IP phone users.
Step 1
Create a pulse code modulation (PCM) file of the desired ring types and store the PCM files in the root directory of your TFTP server. PCM files must contain no header information and comply with the
following format guidelines:
8000 Hz sampling rate
8 bits per sample
ulaw compression
240 – 16080 samples long ( 0.03 sec – 2.01 sec )
For example, to use sox to generate the tones, use
sox -t wav in.wav -t raw -r 8000 -U -b -c 1 out.raw resample -ql
Step 2
Using a ASCII editor, open the RINGLIST.DAT file and for each of the ring types you are adding, specify the name as you want it to display on the Ring Type menu, press Tab, and then specify the filename of the ring type. For example, the format of a pointer in your RINGLIST.DAT file should appear similar to the following:
Ring Type 1 ringer1.pcm
Step 3
After defining pointers for each of the ring types you are adding, save your modifications and close the RINGLIST.DAT file.
Caveat:
If you have configured a secondary tftp-server(ie. dyn_tftp_addr : 192.168.1.10) in SIPDefault.cnf, or SEP<MACADDR>.cnf.xml which cannot be reached then the phone will not attempt to download the RINGLIST.DAT file.
[Edit]Controlling ring tones from Asterisk
By setting the Asterisk variable ALERT_INFO before you call Dial, Asterisk will add ringer tone info to the SIP invite that is sent to the phone.
exten => 3010,1,SetVar(ALERT_INFO=<Bellcore-dr1>) ; selects Ringer
exten => 3010,2,Dial(SIP/3010,15)
Note: In SIP_HEAD or v1+ you wil need to do the following:
exten => 3010,1,SetVar(_ALERT_INFO=something)
Available ring tones by default
Bellcore-BusyVerify
Bellcore-Stutter
Bellcore-MsgWaiting
Bellcore-dr1
Bellcore-dr2
Bellcore-dr3
Bellcore-dr4
Bellcore-dr5
Ringtones for Cisco 7970
Setting up your ringlist on a 7970 is very easy but aside from Cisco’s documentation, it was difficult to find a good example.
For you beginners out there you should note that *everything* is case-sensitive. ** Also note, examples on Cisco.com have been known have incorrect casing.
ringlist.xml is required in /tftpboot.
File format is as follows:
<CiscoIPPhoneRingList>
<Ring>
<DisplayName/>
<FileName/>
</Ring>
</CiscoIPphoneRingList>
Sample ringlist.xml:
<CiscoIPPhoneRingList>
<Ring>
<DisplayName>Merlin 2</DisplayName>
<FileName>merlin2.pcm</FileName>
</Ring>
<Ring>
<DisplayName>Merlin 3</DisplayName>
<FileName>merlin3.pcm</FileName>
</Ring>
</CiscoIPPhoneRingList>
Call Waiting Feature
The 79XX series phones have a good way of handling SIP registrations provided the Call Waiting feature isn’t turned off. Most other SIP phones require an individual SIP username and password for each line appearance. Instead, the 79XX will automatically roll-over to the next available line. So, for example, on a 7960 you can have all six lines programmed to the same SIP username/password and the phone will automatically handle the call waiting function. Note: If you use any other method of ringing multiple lines on the phone (i.e. dialing SIP/123&SIP/456) your phone will show a confusingly high number of missed calls.
For example:
SEPXXXXX.cnf.xml: (THIS NEEDS TO BE UPDATED FOR THE 7970 AS THE CONFIG IS DIFFERENT)
??????
In your sip.conf: (THIS NEEDS TO BE UPDATED FOR THE 7970 AS THE CONFIG IS DIFFERENT)
[510]
type=friend
username=510
secret=test
host=dynamic
dtmfmode=rfc2833
context=whatever
canreinvite=no
nat=no
mailbox=510@default
callerid=<510>
In your extensions.conf: (THIS NEEDS TO BE UPDATED FOR THE 7970 AS THE CONFIG IS DIFFERENT)
exten => 510,1,Dial(SIP/510,20,mTt)
exten => 510,2,Voicemail(u510@default)
exten => 510,3,Hangup
exten => 510,102,Voicemail(b510@default)
exten => 510,103,Hangup
Asterisk Configuration File Examples
sip.conf (THIS NEEDS TO BE UPDATED FOR THE 7970 AS THE CONFIG IS DIFFERENT)
[3014]
type=friend ; This device takes and makes calls
host=dynamic ; This host is not on the same IP addr every time
username=3014 ; Username programmed into Cisco phone
secret=mypassword ; Password for device
context=from-sip ; Inbound calls from this phone go to this context
nat=yes ; nat=yes if this phone is behind a NAT box or firewall
callgroup=2 ; the group to which this phone belongs for *8 phone ringing pickup
pickupgroup=2 ; the pickup group allowed from this phone when *8 is dialed
mailbox=3014 ; Activate the message waiting light if this voicemailbox has messages in it
extensions.conf (THIS NEEDS TO BE UPDATED FOR THE 7970 AS THE CONFIG IS DIFFERENT)
exten => 3014,1,Dial(SIP/3014,15,t) ; see "show application dial" for options and formats
exten => 3014,2,Voicemail2(u3014) ; go to Voicemail2 if phone is "U"nanswered
exten => 3014,102,Voicemail2(b3014) ; go to Voicemail2 if phone is "B"usy
exten => 3014,103,Hangup ; and then hangup.
voicemail.conf (THIS NEEDS TO BE UPDATED FOR THE 7970 AS THE CONFIG IS DIFFERENT)
format=gsm
servermail=mail.myserver.com
attach=no
maxmessage=120
maxsilence=10
pbxskip=yes
fromstring=NPI VM
emailbody=\nVM for x ${VM_MAILBOX} from ${VM_CALLERID} dur: ${VM_DUR} \n
[default]
; Note: following sends a text message to a cell phone telling me someone left a voicemail
3014 => 3014,FirstName LastName,[email protected]
Troubleshooting Phone Registration
From the asterisk command line, execute “sip show peers” and “sip show users” to display the current status of the Cisco phone. If no entries appear in the list for this phone, then review the “username=3014” and “secret=mypassword” in sip.conf to ensure they match the entries programmed into the Cisco phone.
- CLI> sip show peers
Name/username Host Mask Port Status
3014/3014 67.11.89.61 (D) 255.255.255.255 5060 Unmonitored
- CLI> sip show users
Username Secret Authen Def.Context A/C
3014 mypassword md5,plaintext from-sip No
Troubleshooting Cisco Phone
The Cisco 79XX phones support telnet. To diagnose problems with the Company Directory function noted above (as an example), telnet to the phone’s IP address using the login password provided in the SIP00036BAAD139.cnf file noted above. For example, to diagnose a possible http problem, do the following:
SIP Phone> debug http
Enabling bug logging on this terminal - use 'tty mon 0' to disable
debugs: http timestamp
SIP Phone> [11:39:39] Connect2WWWIPPort called IpAddr[0], port[80], hostName[www.mydomain.com]
[11:39:39] Connect2WWWIPPort Sending Request to IpAddr[207.212.93.75], port[80]
[11:39:39] HTTP RECV (ACK CMD)
[11:39:39] HTTP RECV (OPEN CMD)
[11:39:39]
HTTP Send [178] Bytes of Data
Data Packet is:
===============
GET /asterisk/directory.html?name=SIP00036BC38B88 HTTP/1.1
User-Agent: Allegro-Software-WebClient/3.10b1
Host: www.mydomain.com
Connection: Close
(Note: You can also reset the 7970 by pressing the # after cycling the power. After the 10 line buttons have completed flashing enter 1-2-3-4-5-6-7-8-9-*-0-#.)
Cisco 7970 IP Phone – restart
To restart the 7970 with the sip software press **#** while in the settings menu. (This does not work in later version of firmware, at least 8.5.3SR1, perhaps earlier)
Cisco 7970 IP Phone – SSH login with username and password
- Find out your IP address (Settings => Network Configuration => IP Address=
- Use an ssh client to login on your IP address and port 22
- For logging in use user/pass that you have defined in SEP<mac>.xml.cnf file (sshUserId/sshPassword)
- When prompted again log in as user debug and password debug
Cisco 7970 IP Phone – SSH login
- To login to the 7970, first verify the username/password that is specified in the phone’s SEP<MAC>.cnf.xml file.
- SSH to the phone using that username and password.
- You will be presented with a second login prompt. Enter “debug” as the user and password.
Cisco 7970 IP Phone – SSH login with RSA key authentication
To login to a phone using RSA key authentication, generate an SSH key as follows:
ssh-keygen -b 1024 -t rsa -C default@cisco
This procedure can be used to access a phone with a corrupt configuration. In particular, the XML parser on SIP firmware 8-3-5SR1 may completely fail to load an invalid configuration (instead of ignoring syntax errors). If the phone fails to load the configuration, debugging may not be possible by SSH using username and password authentication.
Note that it is important to use a comment of ‘default@cisco’
Save the public key as authorized_keys and place the file in a TFTP directory accessible by the phone. This should be the same TFTP server referenced by option 66 or 150 on the DHCP server serving the phone’s IP address.
SSH to the phone’s IP address as the user ‘default’, and use the private key file generated above as the identity. Valid logins are default/user and debug/debug. Note that the most important files to check in the event of a corrupt configuration will be the log* files under /var.
Newer ssh clients (like openssh-1.0.0) fail to login in cisco phone (79xx, 894x) because of bugge dropbear ssh server, which crash on parsing 2048 bits kex. It looks like phone drops connection. Phone will have in logs something like:
8500: ERR 16:35:30.606342 INETD: select ready sshSock
8501: ERR 16:35:30.607044 INETD: accepted SSH from 172.20.21.9:33026
8502: INF 16:35:30.695239 dropbear[3]:Child connection from 172.20.21.9:33026
8503: INF 16:35:30.697567 dropbear[3]:LSC absent, trying MIC now
8504: INF 16:35:30.711816 dropbear[3]:exit before auth: bad buf_getwriteptr
8505: INF 16:35:30.712605 dropbear[3]:sshd command thread starts up,pid:3,tid:6,qname:sshd_message_que3
8506: WRN 16:35:30.713311 dropbear[3]:wait for cmd
8507: NOT 16:35:31.525051 SYSMSG: pid 3 (/bin/sshd) Normal Exit, status = 1
This have easy workaround using older client or smaller mac:
[root@innet ~]$ ssh SEP00270DBE1E8B.pvr.labma.ru -l cisco
Connection closed by 172.20.21.253
[root@innet ~]$ ssh SEP00270DBE1E8B.pvr.labma.ru -l cisco -m hmac-sha1
[email protected]'s password:
Cisco 7970 and the G.722 codec
The G.722 codec is disabled by default on the 7970G phone.
To enable the G722 codec, add the following line inside of the <vendorConfig> context:
<g722CodecSupport>2</g722CodecSupport>
Add the following line within the <device> context:
<advertiseG722Codec>1</advertiseG722Codec>
On a config generated by CUCM 6, the ‘advertiseG722Codec’ context usually appears on a new line following the <encrConfig /> context.
It is also useful to add the following lines inside of the <vendorConfig> context, but these are purely optional:
<headsetWidebandUIControl>0</headsetWidebandUIControl>
<handsetWidebandUIControl>0</handsetWidebandUIControl>
<headsetWidebandEnable>0</headsetWidebandEnable>
<handsetWidebandEnable>1</handsetWidebandEnable>
Display On When Receiving an Incoming Call:
To activate the backlight when receiving an incoming call, add the following line inside of the <vendorConfig> context:
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
(This is useful for using the phone in dark environments, or to save power, etc – Remember to correctly set the display so that it is ‘off’ most of the time.)
Ring Behavior Per Line
It is possible to configure the phone’s “ring” behavior on a per line basis. The phone’s IDLE and ACTIVE states are for all lines on the phone. (i.e. if any line on the phone is in use, the phone is ACTIVE, otherwise the phone is IDLE, this is not a per line state.)
Within the <line></line> tags, the relevant tags are:
<ringSettingIdle></ringSettingIdle>
<ringSettingActive></ringSettingActive>
Possible values are:
- Ring Disabled
- Flash Only
- Ring Once
- Ring
- Beep Only
This may be useful for intercom lines. (Some may prefer that an auto answer intercom line beep only, or perhaps does not ring)
Still need to configure:
If somebody knows how to configure following please edit this page or e-mail me at [email protected]
- How to setup hinting (Multiple Call Appearance) – does it work with SIP firmware?
- How to make Java application for this phone?
- How to remove gray lines from display (when line is defined)?
Thank you for your help!
_
Usable FeatureID’s with latest SIP firmware on 7970.
Feature ID action
1 last number redial
2 speedial
3 hold
4 transfer
5 fwd all
9 Normal Line
19 Private
21 SpeedDial
22 Paging
27 Malicious call ID
(detected by experimentation – tested all codes upto 32)
To update to the newest version you have to jump to some versions (if not you get “loads authentication failed” error)
I ´ve jumped from 8.3.1 to 8.4.0 then 8.5.4 then 9.2.1
Auto-Answer
NOTE from twisted: To enable auto-answering for use with paging/intercom on a line, do the following:
In the line config for the line button you want to be an intercom, change this:
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
to this:
<autoAnswer>
<autoAnswerEnabled>3</autoAnswerEnabled>
<autoAnswerMode>Auto Answer with Speakerphone</autoAnswerMode>
<autoAnswer>
Misc
With the right Cable, 7970G series phones can use standard POE injectors, they also work out of the box with Aironet power injectors. (N.B., the wrong cable may damage your phone!)
Some caution against using PoE when upgrading your firmware, but I have had no issues, at least with any of the SIP firmware. Perhaps earlier SCCP firmware had problems?
See reboot.pl. A perl script to handle remote rebooting of the 79xx class phones (useful for multiple-phone upgrades). Requires Net::Telnet.
NOTE: For Reference, reboot.pl has been moved to http://www.nmedia.net/~mklein/reboot.pl . Still Requires Net::Telnet.
_
Other SEP<MAC>.cnf.xml examples:
These did not work for me, YMMV:
The original one:
<device xsi:type="axl:XIPPhone" ctiid="203849429" uuid="{96f8508b-10ef-f98c-d20d-0471777ec725}">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId></sshUserId>
<sshPassword></sshPassword>
<devicePool uuid="{a755aa55-089c-2b47-9603-c7d51b9ca4b5}">
<dateTimeSetting uuid="{9ec4850a-7748-11d3-bdf0-00108302ead1}">
<dateTemplate>M/D/Y</dateTemplate> ; by adding a after the Y shows time in 12 hour mode i.e. D/M/Ya
<timeZone>Greenwich Standard Time</timeZone>
</dateTimeSetting>
<callManagerGroup>
<tftpDefault>true</tftpDefault>
<members>
<member priority="0">
<callManager>
<name>ccm-beta-5-1</name>
<description>CallManager 5.0 Beta Pub - 5.0.1.032</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>ccm-beta-5-1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<srstInfo uuid="{cd241e11-4a58-4d3d-9661-f06c912a18a3}">
<name>Disable</name>
<srstOption>Disable</srstOption>
<userModifiable>false</userModifiable>
<ipAddr1></ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1></sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2></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>
<sipProfile>
<sipProxies>
<backupProxy>USECALLMANAGER</backupProxy>
<backupProxyPort>5060</backupProxyPort>
<emergencyProxy>USECALLMANAGER</emergencyProxy>
<emergencyProxyPort>5060</emergencyProxyPort>
<outboundProxy>USECALLMANAGER</outboundProxy>
<outboundProxyPort>5060</outboundProxyPort>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-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>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<phoneLabel></phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel></featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>3302</name>
<displayName>3302</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName></authName>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>7b452e87-4496-4762-e11f-b26751a1884b</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
</sipLines>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate></dialTemplate>
<softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile>
</sipProfile>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP70.8-0-0-38S</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>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>07:30</displayOnTime>
<displayOnDuration>10:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
</vendorConfig>
<versionStamp>1136931633-57191cee-5ffc-4342-b286-4246b4991890</versionStamp>
<userLocale>
<name>English_United_States</name>
<uid>1</uid>
<langCode>en_US</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
<uid>64</uid>
<version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL>http://ccm-beta-5-1:8080/ccmcip/authenticate.jsp</authenticationURL>
<directoryURL>http://ccm-beta-5-1:8080/ccmcip/xmldirectory.jsp</directoryURL>
<idleURL></idleURL>
<informationURL>http://ccm-beta-5-1:8080/ccmcip/GetTelecasterHelpText.jsp</informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL>http://10.86.5.102/CiscoServices/index.xml</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
<processNodeName>ccm-beta-5-1</processNodeName>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<line button="3">
<featureID>2</featureID>
<featureLabel>2000</featureLabel>
<speedDialNumber>2000</speedDialNumber>
</line>
<natReceivedProcessing>true</natReceivedProcessing>
<natEnabled>true</natEnabled>
<natAddress></natAddress>
<dialTemplate>dialplan.xml</dialTemplate>
</device>
Another SEP<mac>.xml.cnf example
<device xsi:type="axl:XIPPhone" ctiid="203849429" uuid="{96f8508b-10ef-f98c-d20d-0471777ec725}">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>user</sshUserId>
<sshPassword>pass</sshPassword>
<devicePool uuid="{a755aa55-089c-2b47-9603-c7d51b9ca4b5}">
<name>Dallas 5.0 Beta</name>
<dateTimeSetting uuid="{9ec4850a-7748-11d3-bdf0-00108302ead1}">
<name>CMLocal</name>
<dateTemplate>D/M/Y</dateTemplate>
<timeZone>GMT Standard/Daylight Time</timeZone>
</dateTimeSetting>
<callManagerGroup>
<name>5.0 Beta</name>
<tftpDefault>true</tftpDefault>
<members>
<member priority="0">
<callManager>
<name>ccm-beta-5-1</name>
<description>CallManager 5.0 Beta Pub - 5.0.1.032</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>ccm-beta-5-1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<srstInfo uuid="{cd241e11-4a58-4d3d-9661-f06c912a18a3}">
<name>Disable</name>
<srstOption>Disable</srstOption>
<userModifiable>false</userModifiable>
<ipAddr1>10.0.0.26</ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1>10.0.0.26</sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2></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>
<sipProfile>
<sipProxies>
<backupProxy>10.0.0.26</backupProxy>
<backupProxyPort>5060</backupProxyPort>
<emergencyProxy>10.0.0.26</emergencyProxy>
<emergencyProxyPort>5060</emergencyProxyPort>
<outboundProxy>10.0.0.26</outboundProxy>
<outboundProxyPort>5060</outboundProxyPort>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-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>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<phoneLabel>Lama d.o.o.</phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel>495-131</featureLabel>
<proxy>10.0.0.26</proxy>
<port>5060</port>
<name>Name</name>
<displayName>My Name</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>user</authName>
<authPassword>pass</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>7b452e87-4496-4762-e11f-b26751a1884b</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="2">
<featureID>2</featureID>
<featureLabel>My friend</featureLabel>
<speedDialNumber>123456</speedDialNumber>
</line>
</sipLines>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile>
</sipProfile>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP70.8-0-2SR1S</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>1</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>10:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
</vendorConfig>
<versionStamp>1136931633-57191cee-5ffc-4342-b286-4246b4991890</versionStamp>
<userLocale>
<name>English_United_States</name>
<uid>1</uid>
<langCode>en_US</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
<uid>64</uid>
<version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL>http://ccm-beta-5-1:8080/ccmcip/authenticate.jsp</authenticationURL>
<directoryURL>http://10.0.0.20/cisco_voip/PhoneDirectory.xml</directoryURL>
<idleURL></idleURL>
<informationURL>http://ccm-beta-5-1:8080/ccmcip/GetTelecasterHelpText.jsp</informationURL>
<messagesURL></messagesURL>
<proxyServerURL>10.0.0.26</proxyServerURL>
<servicesURL>http://10.0.0.20/cisco_voip/services.xml</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
<processNodeName>ccm-beta-5-1</processNodeName>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
</device>
Yet another 7970 Config File…
I couldn’t get either of the above config files to work with my setup…after reading the forums I eventually found that removing the <backupProxy><emergencyProxy> and <outboundProxy> lines but keeping the registerWithProxy line fixes the problem registering I was experiencing:
<device xsi:type="axl:XIPPhone" ctiid="203849429" uuid="{96f8508b-10ef-f98c-d20d-0471777ec725}">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>user</sshUserId>
<sshPassword>pass</sshPassword>
<devicePool uuid="{a755aa55-089c-2b47-9603-c7d51b9ca4b5}">
<name>Dallas 5.0 Beta</name>
<dateTimeSetting uuid="{9ec4850a-7748-11d3-bdf0-00108302ead1}">
<name>CMLocal</name>
<dateTemplate>M/D/Y</dateTemplate>
<timeZone>Pacific Standard/Daylight Time</timeZone>
</dateTimeSetting>
<callManagerGroup>
<name>5.0 Beta</name>
<tftpDefault>true</tftpDefault>
<members>
<member priority="0">
<callManager>
<name>ccm-beta-5-1</name>
<description>CallManager 5.0 Beta Pub - 5.0.1.032</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>ccm-beta-5-1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<srstInfo uuid="{cd241e11-4a58-4d3d-9661-f06c912a18a3}">
<name>Disable</name>
<srstOption>Disable</srstOption>
<userModifiable>false</userModifiable>
<ipAddr1>192.168.5.50</ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1>192.168.5.50</sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2></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>
<sipProfile>
<sipProxies>
<backupProxy>192.168.5.50</backupProxy>
<backupProxyPort>5060</backupProxyPort>
<emergencyProxy>192.168.5.50</emergencyProxy>
<emergencyProxyPort>5060</emergencyProxyPort>
<outboundProxy>192.168.5.50</outboundProxy>
<outboundProxyPort>5060</outboundProxyPort>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-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>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<phoneLabel>Titanium</phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel>555</featureLabel>
<proxy>192.168.5.50</proxy>
<port>5060</port>
<name>555</name>
<displayName>Kerry</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>555</authName>
<authPassword>555</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>7b452e87-4496-4762-e11f-b26751a1884b</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="2">
<featureID>9</featureID>
<featureLabel>555</featureLabel>
<proxy>192.168.5.50</proxy>
<port>5060</port>
<name>555</name>
<displayName>Kerry</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>555</authName>
<authPassword>555</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>7b452e87-4496-4762-e11f-b26751a1884b</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
</sipLines>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile>
</sipProfile>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP70.8-0-3S</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>1</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>10:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
</vendorConfig>
<versionStamp>1136931633-57191cee-5ffc-4342-b286-4246b4991890</versionStamp>
<userLocale>
<name>English_United_States</name>
<uid>1</uid>
<langCode>en_US</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
<uid>64</uid>
<version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL>http://ccm-beta-5-1:8080/ccmcip/authenticate.jsp</authenticationURL>
<directoryURL>http://10.0.0.20/cisco_voip/PhoneDirectory.xml</directoryURL>
<idleURL></idleURL>
<informationURL>http://ccm-beta-5-1:8080/ccmcip/GetTelecasterHelpText.jsp</informationURL>
<messagesURL></messagesURL>
<proxyServerURL>192.168.5.50</proxyServerURL>
<servicesURL>http://10.0.0.20/cisco_voip/services.xml</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
<processNodeName>ccm-beta-5-1</processNodeName>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
</device>
The following SEP<MAC>.cnf.xml successfully registered my 7970 on Asterisk 11.10.0 using firmware 9.3.1SR4 (SIP70.9-3-1SR4-1S). Please post any questions in the discussions and I’ll be happy to help resolve if I can.( I am using PIAF 3)
By the way, the phone hangs on this firmware after a few hours. I am not sure why. Any solutions?
<?xml version="1.0" encoding="UTF-8"?>
<device xsi:type="axl:XIPPhone" ctiid="132" uuid="{33de29ad-7915-3a6a-a672-796bdda41419}">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>cisco</sshUserId>
<sshPassword>cisco</sshPassword>
<ipAddressMode>0</ipAddressMode>
<allowAutoConfig>true</allowAutoConfig>
<ipPreferenceModeControl>0</ipPreferenceModeControl>
<tzdata>
<tzolsonversion>2012c</tzolsonversion>
<tzupdater>tzupdater.jar</tzupdater>
</tzdata>
<mlppDomainId>000000</mlppDomainId>
<mlppIndicationStatus>Off</mlppIndicationStatus>
<preemption>Disabled</preemption>
<executiveOverridePreemptable>false</executiveOverridePreemptable>
<devicePool uuid="{1b1b9eb6-7803-11d3-bdf0-00108302ead1}">
<revertPriority>0</revertPriority>
<name>Default</name>
<dateTimeSetting uuid="{9ec4850a-7748-11d3-bdf0-00108302ead1}">
<name>CMLocal</name>
<dateTemplate>M/D/YA</dateTemplate>
<timeZone>Central Standard/Daylight Time</timeZone>
<olsonTimeZone>America/Chicago</olsonTimeZone>
<ntps>
<ntp>
<name>129.6.15.30</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<name>Default</name>
<tftpDefault>true</tftpDefault>
<members>
<member priority="0">
<callManager>
<name>Asterisk</name>
<description>Asterisk</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>192.168.0.10</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<sipProfile>
<sipProxies>
<backupProxy>192.168.0.10</backupProxy>
<backupProxyPort>5060</backupProxyPort>
<emergencyProxy>192.168.0.10</emergencyProxy>
<emergencyProxyPort>5060</emergencyProxyPort>
<outboundProxy>192.168.0.10</outboundProxy>
<outboundProxyPort>5060</outboundProxyPort>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-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>
<URIDialingDisplayPreference>1</URIDialingDisplayPreference>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
<retainForwardInformation>false</retainForwardInformation>
</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>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<kpml>3</kpml>
<phoneLabel>XXXX XXXXXX</phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>true</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<T302Timer>15000</T302Timer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<poundEndOfDial>false</poundEndOfDial>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>20000</stopMediaPort>
<organizationTopLevelDomain/>
<sipLines>
<line button="1" lineIndex="1">
<featureID>9</featureID>
<featureLabel>741</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>741</name>
<displayName>741</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>741</authName>
<authPassword>xxxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>741</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="2" lineIndex="2">
<featureID>9</featureID>
<featureLabel>742</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>742</name>
<displayName>742</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<authName>742</authName>
<authPassword>xxxxxxxx</authPassword>
<callWaiting>3</callWaiting>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>742</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="3" lineIndex="3">
<featureID>9</featureID>
<featureLabel>743</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>743</name>
<displayName>743</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>743</authName>
<authPassword>xxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>743</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="4" lineIndex="4">
<featureID>9</featureID>
<featureLabel>744</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>744</name>
<displayName>744</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>744</authName>
<authPassword>xxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>744</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="5" lineIndex="5">
<featureID>9</featureID>
<featureLabel>745</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>745</name>
<displayName>745</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>745</authName>
<authPassword>xxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>745</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="6" lineIndex="6">
<featureID>9</featureID>
<featureLabel>746</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>746</name>
<displayName>746</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>746</authName>
<authPassword>xxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>746</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="7" lineIndex="7">
<featureID>9</featureID>
<featureLabel>747</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>747</name>
<displayName>747</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>747</authName>
<authPassword>xxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>747</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
<line button="8" lineIndex="8">
<featureID>9</featureID>
<featureLabel>748</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>748</name>
<displayName>748</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>748</authName>
<authPassword>xxxxxxxx</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>0</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>748</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
</sipLines>
<externalNumberMask/>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<dscpForPriorityAudio>180</dscpForPriorityAudio>
<dscpForImmediateAudio>176</dscpForImmediateAudio>
<dscpForFlashAudio>164</dscpForFlashAudio>
<dscpForFlashOverrideAudio>168</dscpForFlashOverrideAudio>
<dscpForExecutiveOverrideAudio>168</dscpForExecutiveOverrideAudio>
<dscpForPriorityVideo>156</dscpForPriorityVideo>
<dscpForImmediateVideo>148</dscpForImmediateVideo>
<dscpForFlashVideo>140</dscpForFlashVideo>
<dscpForFlashOverrideVideo>132</dscpForFlashOverrideVideo>
<dscpForExecutiveOverrideVideo>132</dscpForExecutiveOverrideVideo>
<dscpVideo>136</dscpVideo>
<dscpForTelepresence>128</dscpForTelepresence>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
</sipProfile>
<MissedCallLoggingOption>11100000000000000000000000000</MissedCallLoggingOption>
<commonProfile>
<phonePassword/>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP70.9-3-1SR4-1S</loadInformation>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>1</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>0</webAccess>
<displayOnTime>08:30</displayOnTime>
<displayOnDuration>09:30</displayOnDuration>
<displayIdleTimeout>01:01</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<moreKeyReversionTimer>5</moreKeyReversionTimer>
<autoCallSelect>1</autoCallSelect>
<g722CodecSupport>0</g722CodecSupport>
<headsetWidebandUIControl>0</headsetWidebandUIControl>
<handsetWidebandUIControl>0</handsetWidebandUIControl>
<headsetWidebandEnable>0</headsetWidebandEnable>
<handsetWidebandEnable>0</handsetWidebandEnable>
<peerFirmwareSharing>1</peerFirmwareSharing>
<enableCdpSwPort>0</enableCdpSwPort>
<enableCdpPcPort>0</enableCdpPcPort>
<enableLldpSwPort>1</enableLldpSwPort>
<enableLldpPcPort>1</enableLldpPcPort>
<lldpAssetId/>
<powerPriority>0</powerPriority>
<ipv6LogServer/>
<minimumRingVolume>0</minimumRingVolume>
<sideToneLevel>0</sideToneLevel>
<webProtocol>0</webProtocol>
<SWRemoteConfig>1</SWRemoteConfig>
<PCRemoteConfig>1</PCRemoteConfig>
<PortAutoLinkSync>1</PortAutoLinkSync>
<sshAccess>0</sshAccess>
<loginAccess>1</loginAccess>
</vendorConfig>
<commonConfig/>
<enterpriseConfig/>
<versionStamp>1404821106-161d7dc7-8b26-4ff5-8489-dd9e431627ab</versionStamp>
<userLocale>
<name>English_United_States</name>
<uid>1</uid>
<langCode>en_US</langCode>
<version>9.0.0.0(1)</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
<uid>64</uid>
<version>9.0.0.0(1)</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL/>
<directoryURL/>
<idleURL/>
<informationURL/>
<messagesURL/>
<proxyServerURL/>
<servicesURL/>
<secureAuthenticationURL/>
<secureDirectoryURL/>
<secureIdleURL/>
<secureInformationURL/>
<secureMessagesURL/>
<secureServicesURL/>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>2</transportLayerProtocol>
<dndCallAlert>5</dndCallAlert>
<phonePersonalization>1</phonePersonalization>
<rollover>0</rollover>
<singleButtonBarge>0</singleButtonBarge>
<joinAcrossLines>0</joinAcrossLines>
<autoCallPickupEnable>false</autoCallPickupEnable>
<blfAudibleAlertSettingOfIdleStation>1</blfAudibleAlertSettingOfIdleStation>
<blfAudibleAlertSettingOfBusyStation>1</blfAudibleAlertSettingOfBusyStation>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
<processNodeName>192.168.0.10</processNodeName>
</capf>
</capfList>
<certHash/>
<encrConfig>false</encrConfig>
<advertiseG722Codec>1</advertiseG722Codec>
<mobility>
<handoffdn/>
<dtmfdn/>
<ivrdn/>
<dtmfHoldCode>*81</dtmfHoldCode>
<dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode>
<dtmfResumeCode>*83</dtmfResumeCode>
<dtmfTxfCode>*84</dtmfTxfCode>
<dtmfCnfCode>*85</dtmfCnfCode>
</mobility>
</device>