Cisco 8961 phone not registering with FreePBX: Device not configured to use this transport type

I’m running FreePBX 14.0.13.24 with Current Asterisk Version:13.29.2 . A number of Cisco phones have successfully registered, including some 7911s, a 7961, a 7945, a 7975 as well as a Sangoma S500 and an Aastra 6753i.

Today I attempted to register a Cisco CP-8961 following carefully the clear step-by-step instructions at the link below:

https://www.falconitservices.com/support/KB/Lists/Posts/Post.aspx?ID=290

As the instructions explain, there are five steps:

Although not officially supported, Cisco CP 8961 and 9971 phones can be easily configured for use on FreePBX, Elastix and most Asterisk PBX systems. This step by step guide will provide the provisioning configuration details. The steps are:

  • Configuring Asterisk to allow TCP protocol for use on specific IP phones.
  • Setting up a DHCP server with TFTP option 150.
  • Setting up a TFTP server.
  • Configuring extensions in Asterisk.
  • Creating XML configuration files for the IP phones.

The first step requires configuring Asterisk to allow TCP in transport for the 8961 extension in the FreePBX GUI as well as the addition of a few parameters in two Asterisk configuration files:

[[email protected] asterisk]$ ls -l sip_general_custom.conf sip_notify_custom.conf
-rw-rw-r-- 1 asterisk asterisk 34 Feb 17 16:11 sip_general_custom.conf
-rw-rw-r–. 1 asterisk asterisk 70 Feb 17 16:18 sip_notify_custom.conf
[[email protected] asterisk]$ cat sip_general_custom.conf
tcpenable=yes
tcpbindaddr=0.0.0.0
[[email protected] asterisk]$ cat sip_notify_custom.conf
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
callcounter=yes
[[email protected] asterisk]$

The last step requires modifying a configuration xml file SEP[MAC].cnf.xml (i.e., standard fare for Cisco phones), which I show below as follows (authPassword has been changed):

[[email protected] tftpboot]$ egrep -e processNodeName -e featureLabel -e phoneLabel -e name -e contact -e displayName -e authName -e authPassword -e loadInformation SEPB07D47C124C6.cnf.xml
<name>pool.ntp.org</name>
<processNodeName>172.16.0.175</processNodeName>
<phoneLabel>Company</phoneLabel>
<featureLabel>8961</featureLabel>
<name>8961</name>
<displayName>Stewart</displayName>
<authName>8961</authName>
<authPassword>XXXXXXXXXXX</authPassword>
<contact>8961</contact>
<loadInformation>sip8961.9-3-2-10</loadInformation>

The 8961 refuses to register, with the following error in the Asterisk log file:
[2020-02-17 17:27:47] ERROR[5850] chan_sip.c: ‘TCP’ is not a valid transport for ‘8961’. we only use ‘UDP’! ending call.
[2020-02-17 17:27:47] NOTICE[5850] chan_sip.c: Registration from ‘sip:[email protected]’ failed for ‘172.16.0.92:49537’ - Device not configured to use this transport type
[2020-02-17 17:30:23] ERROR[12663] chan_sip.c: ‘TCP’ is not a valid transport for ‘8961’. we only use ‘UDP’! ending call.
[2020-02-17 17:30:23] NOTICE[12663] chan_sip.c: Registration from ‘sip:[email protected]’ failed for ‘172.16.0.92:49199’ - Device not configured to use this transport type
[2020-02-17 17:34:27] ERROR[23508] chan_sip.c: ‘TCP’ is not a valid transport for ‘8961’. we only use ‘UDP’! ending call.
[2020-02-17 17:34:27] NOTICE[23508] chan_sip.c: Registration from ‘sip:[email protected]’ failed for ‘172.16.0.92:53205’ - Device not configured to use this transport type
[2020-02-17 17:34:29] ERROR[23560] chan_sip.c: ‘TCP’ is not a valid transport for ‘8961’. we only use ‘UDP’! ending call.

If I read this correctly, it t appears using TCP as transport in FreePBX is not supported.

I’m stumped, and would appreciate anyone who can shed some light on this.

I don’t believe that any custom Asterisk config should be needed.

In Asterisk SIP Settings -> SIP Legacy Settings, confirm that Enable TCP is set to Yes.
For the extensions, confirm that Transport is set to TCP Only.
Restart Asterisk after changing these.

If you still have trouble, at the Asterisk command prompt type
sip set debug on
and post another log of a failing registration.

Well, golly gee, I think I might have just answered my own question.

In the FreePBX GUI under Extensions–>Advanced–>Transport, I changed the option from “TCP only” to “All - TCP Primary”

In the FreePBX GUI under Asterisk SIP Settings–>Chan SIP Settings–>Enable TCP is set to “Yes”.

I then stopped and started Asterisk with:

fwconsole stop
fwconsole start

and rebooted the Cisco 8961 phone. To my surprise, it registered.

(As I was typing this, I see “Stewart1” has responded. I’ll take his reply under consideration as I continue to test this. Many thanks for the speedy reply.)

@Stewart1 In your post above, you said:

I don’t believe that any custom Asterisk config should be needed.

In Asterisk SIP Settings --> SIP Legacy Settings, confirm that Enable TCP is set to Yes.
For the extensions, confirm that Transport is set to TCP Only.
Restart Asterisk after changing these.

You are correct. Under Extensions Advanced, I changed the Transport option back to “TCP Only” and under Asterisk SIP Settings–>Chan SIP Settings, the Enable TCP option was left as “Yes”. Also both custom SIP files were emptied as they were originally:

[[email protected] asterisk]$ ls -l sip_general_custom.conf sip_notify_custom.conf
-rw-rw-r-- 1 asterisk asterisk 0 Feb 17 21:25 sip_general_custom.conf
-rw-rw-r–. 1 asterisk asterisk 0 Feb 17 21:25 sip_notify_custom.conf
[[email protected] asterisk]$

After starting and stopping Asterisk with fwconsole, the Cisco CP-8961 phone registered.

Thanks again for your help.

One odd thing. After registering, the top line of the phone reads “Cisoc 8961” (where 8961 is the arbitrary extension I chose. Note “Cisoc” is an obvious misspelling of Cisco. Curious.

The following procedure was used to configure and register three Cisco CP-8961 IP phones as SIP phones on FreePBX 14.0.13.24 / Asterisk 13.29.2 / PBX firmware 12.7.6-2002-2.sng7 with a Cisco SEPXXXXXXXXXXXX.cnf.xml file (a working file is at the bottom of this post).

Note: Two of the three Cisco 8961 phones were brand new and were unboxed prior the starting the procedure.

Step 0: You will need the following information:

  • hostname (i.e., MAC address) of the Cisco 8961 phone
  • IP address of the Cisco 8961 phone
  • Active Load of the software on the Cisco 8961 phone
  • Subnet Mask of your network (usually 255.255.255.0)
  • Default Router of your network
  • IP address of the tftp server

The hostname (MAC address), IP address, and Active Load are found on the desktop menu of the Cisco 8961 phone under Settings==>Phone Information .

Step 1: Confirm there is a working tftp server on your network. I ended up using Tftp32 by Ph. Jourin on a Windows 10 system. I found the tftp service on CentOS 7 to be buggy, as the service would constantly die (i.e., become inactive) after some minutes. One nice feature of Tftp32 is that it logs the activity of the server as the configuration and registration proceeds so the process can be monitored and checked for errors in real time. Another desirable feature of Tftp32 and Windows 10 is that–unlike a Linux system–it appears there is no need to change file permissions on the files in the tftp directory (in the case of Tptp32, the tftp directory is C:\tftp) eliminating a potential point of failure.

Step 2: If it doesn’t already exist in the tftp directory, create a DIALPLAN.xml as follows:

<DIALTEMPLATE>
<TEMPLATE MATCH=“91…” Timeout=“0”/>
<TEMPLATE MATCH=“911” Timeout=“0”/>
<TEMPLATE MATCH="*…" Timeout=“0”/>
<TEMPLATE MATCH="[1-8]…" Timeout=“1”/>
<TEMPLATE MATCH="*" Timeout=“5”/>
</DIALTEMPLATE

Step 3: (optional) Create (touch) two empty .tlv files in the tftp directory, CTLSEPB17D47C11EC3.tlv and ITLSEPB17D47C11EC3.tlv and rename each file with the MAC address of the Cisco 8961 phone.
Note: This step isn’t absolutely necessary; however it should suppress “file not found” error messages in the Tftp32 log and in the Settings==>Administrator==>Status==>Status Messages on the Cisco 8961 phone.

Step 4: In the FreePBX GUI under Applications==>Extensions, create a separate CHAN_SIP extension for each of the lines you want on the Cisco 8961. Note that the Cisco 8961 IP phone supports up to five lines (i.e., extensions). In the example of the working SEPB17D47C11EC3.cnf.xml file at the bottom of the README, four lines, one for each of the first four “buttons” on the 8961 phone display, have been configured. Each line has a unique extension and unique password (or “secret”). The fifth button has been configured as a DND (Do Not Disturb) button.

Note: I have learned that Cisco phones are notoriously finicky about the length of passwords so I have tried to limit the length of the password (“secret”) to twelve characters.

Step 5: (IMPORTANT) Since Cisco 8911 phones use TCP for transport (and not UDP as is more common on earlier Cisco IP phones as well as many other IP phone manufacturers), for each of the newly created extensions, navigate to the “Advanced” tab under Applications==>Extensions. Scroll down and change the Transport option to “TCP only”.

Step 6 (optional) For each new user that was created when the new extension was created, navigate to User Management and select the new user that was just created. Edit the user by clicking on the pencil icon and select the Fax tab. Set the “Enabled” option to “No” to avoid a warning about not having an email address for faxes in the FreePBX GUI Dashboard.

Step 7: Copy the SEPB17D47C11EC3.cnf.xml file to the tftp directory. Rename the file with the hostname of your Cisco 8961 phone. You will need to edit the following parameters in the file:

<processNodeName>FreePBX IP</processNodeName> FreePBX PBX IP address
<loadInformation>ActiveLoad</loadInformation> The Active Load information

You will need to edit the following parameters for each extension:

<featureLabel>LabelName</featureLabel>Phone label name (< 10 chars)
<phoneLabel>Company</phoneLabel> Company / Dept. name (<10 chars)
<name>EXT</name> Phone Extension
<contact>EXT</contact> Phone Extension
<displayName>DispName</displayName> Display Name (<10 chars)
<authName>EXT</authName> Phone Extension
<authPassword>Password1234</authPassword> Extension Password (“secret”)

Step 8: (optional) I’ve found it useful to check for XML errors in the SEPB17D47C11EC3.cnf.xml file with the xmllint utility, which can be found on CentOS 7. If it isn’t available on your FreePBX system, it can be installed.

Step 9: The Cisco 8961 IP phone needs to point to the tftp server, as follows:

   - Plug in and boot the IP phone
   - Press the Settings key
   - Navigate to Administrator Settings
   - Select Network Setup
   - Select Ethernet Setup
   - Select IPv4 Setup
   - Set the "DHCP Enabled" field to "No"
   - Confirm the "IP Address", "Subnet Mask", and "Default Router"
     fields are correct
   - Set "DNS Server 1" to the same IP as "Default Router"
   - You can leave the other DNS Servers fiels blank
   - The "Alternate TFTP Server" field should be "No"
   - Enter the IP address of your TFTP Server in the 
     "TFTP Server 1" field
   - Leave the "TFTP Server 2" field blank
   - The BOOTP Server field should be set to "No"
   - Apply the changed settings

Step 10: Navigate to Administrator Settings=>Reset Settings==>Reset Device==>Reset to reboot the Cisco 8961 phone. This should configure the phone with the parameters in SEPB17D47C11EC3.cnf.xml. Watch the output in the Tftp32 log.

Here is sample output in the Tftp32 log of a successful registration:

Connection received from 172.16.0.91 on port 49158 [23/02 15:51:26.559]
Read request for file <CTLSEPB17D47C11EC3.tlv>. Mode octet [23/02 15:51:26.559]
Using local port 52020 [23/02 15:51:26.559]
<CTLSEPB17D47C11EC3.tlv>: sent 1 blk, 0 bytes in 0 s. 0 blk resent [23/02 15:51:26.574]
Connection received from 172.16.0.91 on port 49158 [23/02 15:51:47.673]
Read request for file <ITLSEPB17D47C11EC3.tlv>. Mode octet [23/02 15:51:47.673]
Using local port 52021 [23/02 15:51:47.673]
<ITLSEPB17D47C11EC3.tlv>: sent 1 blk, 0 bytes in 0 s. 0 blk resent [23/02 15:51:47.673]
Connection received from 172.16.0.91 on port 49158 [23/02 15:52:08.807]
Read request for file <SEPB17D47C11EC3.cnf.xml>. Mode octet [23/02 15:52:08.823]
Using local port 52025 [23/02 15:52:08.823]
<SEPB17D47C11EC3.cnf.xml>: sent 22 blks, 10817 bytes in 0 s. 0 blk resent [23/02 15:52:08.854]
Connection received from 172.16.0.91 on port 49158 [23/02 15:52:33.241]
Read request for file </gh-sip.jar>. Mode octet [23/02 15:52:33.241]
File <\gh-sip.jar> : error 2 in system call CreateFile The system cannot find the file specified. [23/02 15:52:33.241]
Connection received from 172.16.0.91 on port 49158 [23/02 15:52:54.395]
Read request for file <dialplan.xml>. Mode octet [23/02 15:52:54.395]
Using local port 60256 [23/02 15:52:54.395]
<dialplan.xml>: sent 1 blk, 255 bytes in 0 s. 0 blk resent [23/02 15:52:54.395]

After the steps above, the Cisco IP phone should register with FreePBX.

Here is a sample configuration file with 4 lines and a DND (Do Not Disturb) button.

<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>admin</sshUserId>
<sshPassword>password</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>M/D/YA</dateTemplate>
<timeZone>Pacific Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>pool.ntp.org</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>172.16.0.175</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<sipProfile>
<sipProxies>
<backupProxy></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>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>1800</timerRegisterExpires>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>false</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<phoneLabel>Stewart</phoneLabel>
<stutterMsgWaiting>1</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
<sipLines>
<line button=“1”>
<featureID>9</featureID>
<featureLabel>Line 1: 8961</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>8961</name>
<displayName>Stewart</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>8961</authName>
<authPassword>Password1234</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>8961</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button=“2”>
<featureID>9</featureID>
<featureLabel>Line 2: 8962</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>8962</name>
<displayName>Stewart</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>8962</authName>
<authPassword>Password1234</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>8962</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button=“3”>
<featureID>9</featureID>
<featureLabel>Line 3: 8963</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>8963</name>
<displayName>Stewart</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>8963</authName>
<authPassword>55bc879652af</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>8963</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button=“4”>
<featureID>9</featureID>
<featureLabel>Line 4: 8964</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>8964</name>
<displayName>Stewart</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>8964</authName>
<authPassword>55bc879652af</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>8964</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button=“5”>
<featureID>130</featureID>
<featureLabel>DND</featureLabel>
</line>
</sipLines>
<voipControlPort>5060</voipControlPort>
<startMediaPort>16348</startMediaPort>
<stopMediaPort>20134</stopMediaPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<softKeyFile></softKeyFile>
</sipProfile>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>sip8961.9-3-2-10</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,2,3,4,5,6,7</daysDisplayNotActive>
<displayOnTime>00:00</displayOnTime>
<displayOnDuration>00:00</displayOnDuration>
<displayIdleTimeout>00:00</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer></loadServer>
</vendorConfig>
<userLocale>
<name></name>
<uid></uid>
<langCode>en_US</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale></networkLocale>
<networkLocaleInfo>
<name></name>
<uid></uid>
<version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<servicesURL></servicesURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
</device>

1 Like

Hello,

Thank you very much for posting all of the information you did. This helped me get my 9951 working. I am having one issue so far. Whenever I call the 9951 extension and then hang up, the missed call history is staying on the screen. Does anyone know how to fix this?

@tensi0n519 I’m happy you were able to make use of the post.

I’m no expert on Cisco phones. Most of the information I have gleaned from trial and error (mostly the latter) and some from Google. I’ve not seen a Cisco 9951 so I can’t be of much help. However I will say that the 8961, the 9951 and the 9971 are often linked together in official Cisco manuals, for example Cisco Unified IP Phone 8961, 9951, and 9971 User Guide for Cisco Unified Communications Manager 10.0 (SIP), so I think one could reasonably infer that these three phones share similarities, and that possibly a SEP[MAC}.cnf.xml file that works on one phone might, with a few changes, work on one of the others. [I’m just speculating here.]

One thing I discovered with the 8961 is that the DIALPLAN.xml file is important. Without it, the 8961 does some weird stuff with dialing if the DIALPLAN.xml is not in the tftp directory. You might want to check that the DIALPLAN.xml file you’re using is the same or similar to the one I posted. [Just a thought.]

Also, if you haven’t already tried this, make a backup of your SEP[MAC].cnf.xml file and use the one I posted, with the appropriate changes to see if that helps.

Other than that, I wish you luck. If you get your 9951working, please post the solution here for all to see.

The 9951 pretty much uses the same config

Thanks for the response. I just found the solution a few minutes ago. I needed to add “lineIndex=1” to the line button.

Example: < line button=“1” lineIndex=“1” >

Now I am trying to figure out how to create a BLF extension which shows the status of the other extension.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.