User avatar
By WelshPaul
#4698
Let me start by confirming that these phones will not work with the majority of UK VoIP providers. After extensive testing, I couldn't get one to register with any of the UK VoIP providers I use. E.g. Voipfone, Voicehost, Sipgate, Voipcheap etc...

Cisco has a different way of handling SIP connections through NAT and a firewall on these phones, and it's not compatible with the way the rest of the world (including Asterisk) do it. This odd behavior is RFC compliant but highly non-standard and breaks symmetric NAT traversal workarounds commonly deployed by VOIP providers. Cisco support reports that this the use of random high number ports to send SIP messages is a "security enhancement" compared with Cisco's other/older products.

All is not lost though, you can configure this phone for use with a local PBX such as FreePBX by disabling NAT on both the phone and the extension it's registered against.

1. Avoid the version 9 firmware, it's problematic, laggy and registrations sometimes fail. The most problematic for me was the v9.3.1 SR4 release, the most stable being v8.5.4. ***SO USE v8.5.4!!!***

2. There are three additional configuration files required to be placed in your TFTP folder along side the required firmware files. As above, I strongly recommend that you install and use SIP firmware v8.5.4. The following configuration files work perfectly with that release:

XMLDefault.cnf.xml
Code: Select all
<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>
    <loadInformation6 model="IP Phone 7970">SIP70.8-5-4S</loadInformation6>
    <authenticationURL></authenticationURL>
    <directoryURL></directoryURL>
    <idleURL></idleURL>
    <informationURL></informationURL>
    <messagesURL></messagesURL>
    <servicesURL></servicesURL>
</Default>
SEP[MAC].cnf.xml
Code: Select all
<device>
    <fullConfig>true</fullConfig>
    <deviceProtocol>SIP</deviceProtocol>
    <sshUserId>admin</sshUserId>
    <sshPassword>cisco</sshPassword>
    <devicePool>
        <dateTimeSetting> 
            <dateTemplate>D.M.Y</dateTemplate> 
            <timeZone>GMT Standard/Daylight Time</timeZone> 
            <ntps> 
                <ntp>
                    <name>46.31.225.134</name> 
                    <ntpMode>Unicast</ntpMode> 
                </ntp>
            </ntps>
        </dateTimeSetting>
        <callManagerGroup>
            <tftpDefault>true</tftpDefault>
            <members>
                <member priority="0">
                    <callManager>
                        <ports>
                            <ethernetPhonePort>2000</ethernetPhonePort>
                            <sipPort>5060</sipPort>
                            <securedSipPort>5061</securedSipPort>
                        </ports>
                        <processNodeName>[IPADDRESS]</processNodeName>
                    </callManager>
                </member>
            </members>
        </callManagerGroup>
    </devicePool>
    <commonProfile>
        <phonePassword></phonePassword>
        <backgroundImageAccess>true</backgroundImageAccess>
        <callLogBlfEnabled>0</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>
        <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
        <daysDisplayNotActive>1,7</daysDisplayNotActive>
        <displayOnTime>08:30</displayOnTime>
        <displayOnDuration>00:10</displayOnDuration>
        <displayIdleTimeout>00:59</displayIdleTimeout>
        <spanToPCPort>1</spanToPCPort>
        <loggingDisplay>1</loggingDisplay>
        <loadServer></loadServer>
    </vendorConfig>
    <networkLocale>United_Kingdom</networkLocale>
    <networkLocaleInfo> 
        <name>United_Kingdom</name>
        <version>10.5.3.0</version>
    </networkLocaleInfo> 
    <deviceSecurityMode>1</deviceSecurityMode>
    <authenticationURL></authenticationURL>
    <directoryURL></directoryURL>
    <idleTimeout>0</idleTimeout>
    <idleURL></idleURL>
    <informationURL></informationURL>
    <messagesURL></messagesURL>
    <proxyServerURL></proxyServerURL>
    <servicesURL></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>[IPADDRESS]</backupProxy>
            <backupProxyPort>5060</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>true</rfc2543Hold>
            <callHoldRingback>2</callHoldRingback>
            <localCfwdEnable>true</localCfwdEnable>
            <semiAttendedTransfer>true</semiAttendedTransfer>
            <anonymousCallBlock>2</anonymousCallBlock>
            <callerIdBlocking>0</callerIdBlocking>
            <dndControl>0</dndControl>
            <remoteCcEnable>true</remoteCcEnable>
        </sipCallFeatures>
        <sipStack>
            <sipInviteRetx>6</sipInviteRetx>
            <sipRetx>10</sipRetx>
            <timerInviteExpires>180</timerInviteExpires>
            <timerRegisterExpires>60</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>true</transferOnhookEnabled>
        <enableVad>false</enableVad>
        <preferredCodec>g711a</preferredCodec>
        <dtmfAvtPayload>101</dtmfAvtPayload>
        <dtmfDbLevel>3</dtmfDbLevel>
        <dtmfOutofBand>avt</dtmfOutofBand>
        <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
        <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
        <kpml>3</kpml>
        <stutterMsgWaiting>1</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>[USERID]</phoneLabel>
        <natEnabled>false</natEnabled>
        <natAddress></natAddress>
        <sipLines>
            <line button="1">
                <featureID>9</featureID>
                <featureLabel>[USERID]</featureLabel>
                <name>[USERID]</name>
                <displayName>[USERID]</displayName>
                <contact>[USERID]</contact>
                <proxy>[IPADDRESS]</proxy>
                <port>5060</port>
                <autoAnswer>
                    <autoAnswerEnabled>2</autoAnswerEnabled>
                </autoAnswer>
                <callWaiting>3</callWaiting>
                <authName>[USERID]</authName>
                <authPassword>[PASSWORD]</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>
dialplan.xml
Code: Select all
<DIALTEMPLATE>    
    <TEMPLATE MATCH="999" Timeout="0"/>             <!-- Emergency -->
    <TEMPLATE MATCH="112" Timeout="0"/>             <!-- Emergency -->
    <TEMPLATE MATCH="101" Timeout="0"/>             <!-- Almost an Emergency -->
    <TEMPLATE MATCH="111" Timeout="0"/>             <!-- NHS emergency and urgent care services -->
 
    <TEMPLATE MATCH="100" Timeout="0"/>             <!-- Operator -->
    <TEMPLATE MATCH="155" Timeout="0"/>             <!-- International Operator -->
    <TEMPLATE MATCH="123" Timeout="0"/>             <!-- Speaking Clock -->

    <TEMPLATE MATCH="1471" TIMEOUT="0"/>            <!-- Call Return -->
    <TEMPLATE MATCH="1571" Timeout="0"/>            <!-- Voicemail -->
    <TEMPLATE MATCH="1572" Timeout="0"/>            <!-- Group Voicemail -->
 
    <TEMPLATE MATCH="118..." Timeout="0"/>          <!-- Men with moustaches -->
    <TEMPLATE MATCH="116..." Timeout="0"/>          <!-- Pan-European Social Help -->
 
    <TEMPLATE MATCH="08001111" Timeout="0"/>        <!-- Childline -->
    <TEMPLATE MATCH="0845464." Timeout="0"/>        <!-- NHS Direct -->
    <TEMPLATE MATCH="0500......" Timeout="0"/>      <!-- Apparently 0500 is always 10 digits -->
 
    <!-- Uncomment if you care about this one. Worst case, you'll wait 5 seconds -->
    <!-- <TEMPLATE MATCH="016977...." Timeout="0"/> --> <!-- Brampton, Carlisle. Also 10 digits -->
 
    <TEMPLATE MATCH="00*" Timeout="5"/>             <!-- International, 00 prefixed. No fixed length -->
    <TEMPLATE MATCH="0.........." Timeout="0"/>     <!-- UK 11 digit, 0 prefixed -->
    <TEMPLATE MATCH="1410.........." Timeout="0"/>  <!-- UK 11 digit, 141 prefixed -->
    <TEMPLATE MATCH="14700.........." Timeout="0"/> <!-- UK 11 digit, 1470 prefixed -->
 
    <TEMPLATE MATCH="\*.." Timeout="0"/>            <!-- Asterisk *.. codes -->
 
    <TEMPLATE MATCH="*" Timeout="5"/>               <!-- Anything else -->
</DIALTEMPLATE>
IMPORTANT: Each phone should have its own configuration file so you need to rename the file 'SEP[MAC].cnf.xml'. Simply replace “[MAC]” with the MAC address of your Cisco 7970. E.g. If your phones MAC address is '01:02:03:AB:CD:0A', rename the file 'SEP[MAC].cnf.xml' to 'SEP010203ABCD0A.cnf.xml'. FYI, the filename of the required v8.5.4 SIP firmware is 'cmterm-7970_7971-sip.8-5-4.zip'.

The contents of my TFTP folder based on the above look like this:
  • United_Kingdom/g3-tones.xml
  • apps70.8-5-4TH1-6.sbn
  • cnu70.8-5-4TH1-6.sbn
  • cvm70sip.8-5-4TH1-6.sbn
  • dialplan.xml
  • dsp70.8-5-4TH1-6.sbn
  • jar70sip.8-5-4TH1-6.sbn
  • load119.txt
  • load30006.txt
  • SEP010203ABCD0A.cnf.xml ***This was the SEP[MAC].cnf.xml file, I renamed it with the MAC address of my phone!***
  • SIP70.8-5-4S.loads
  • term70.default.loads
  • term71.default.loads
  • XMLDefault.cnf.xml
3. Edit the file 'SEP[MAC].cnf.xml' and replace the following parameters located inside with your own:
  • [IPADDRESS] - Replace all of this text with the IP address of your PBX. E.g. 192.168.1.10
  • [USERID] - Replace all of this text with your extension username/userid. E.g. 200
  • [PASSWORD] - Replace all of this text with your extension secret/password. E.g. password
4. Disable NAT on the PBX extension that the Cisco 7970 is trying to register against. Log in to your FreePBX server and navigate to 'Applications > Extension'. You now need to edit the extension that your phone will be registering against. Once you have clicked on the 'Edit' within the options box next to the extension, click on the 'Advanced' tab and scroll down to the '-Edit Extension' section, make the following changes:
  • NAT Mode = No- (no)
  • Qualify = no
Note: 7970/7971 phones (and similar) seem to be limited to a password of 31 characters or less, but recent versions of FreePBX automatically generate 32 character random passwords when creating new extensions. You must modify the auto-generated FreePBX password to be 30 characters or less, or the phones will complain of an error parsing the SIP<mac>.cnf configuration file and fail to register.

5. Now reboot you phone and make some calls!
User avatar
By WelshPaul
#4699
The above post is aimed towards users located in the UK, it includes a basic United Kingdom dial plan and configures the Cisco 7970 / 7971 Network Locale with United_Kingdom tones.

Check out the thread named United Kingdom XML Tones for the Cisco 7900 Series IP Phones for more details regarding the g3-tones.xml file.

network_locale.png
Unfortunately I am unable to locate the required td-sip.jar file needed to configure the phones User Locale for use with English_United_Kingdom. If you're wondering what the difference is between User Locale and Network Locale:

User Locale – language display on the phone.
Network Locale – Tones and cadence according to country.


So the phones User Locale will use the default English_United_States language. If you have or have access to the required td-sip.jar for use with SIP firmware version 8.5.4 please consider sharing it. :thumbsup:
Who is online

Users browsing this forum: CommonCrawl [Bot] and 0 guests

Supported Products: OBi1062 Professional OBi1…

Sorry I mean to say if I do not stop autoboot the …

How to Evaluate an IP Phone System?

CISCO SPA500S

Create a call group and add the three extensions t…