Cisco 9971/9951 Screen Not Clearing

We have 4 Cisco 99xx series phones. Whenever an incoming call happens it just stays on the screen and never clears out unless the phones are rebooted. The line status will continue blinking for a few hours as if the call is still ringing.

Example of a phone configuration

<?xml version="1.0"?>
-<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>admin</sshUserId>
<sshPassword>password</sshPassword>
-<devicePool>
-<dateTimeSetting>
<dateTemplate>M/D/YA</dateTemplate>
<timeZone>Eastern 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>10.0.1.204</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
-<sipProfile>
-<sipProxies>
<backupProxy/>
<backupProxyPort>5060</backupProxyPort>
<emergencyProxy/>
<emergencyProxyPort/>
<outboundProxy/>
<outboundProxyPort/>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
-<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-serviceuri-cfwdall</callForwardURI>
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
</sipCallFeatures>
-<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>3600</timerRegisterExpires>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>false</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<phoneLabel>Front Desk</phoneLabel>
<stutterMsgWaiting>1</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
-<sipLines>
-<line button="1">
<featureID>9</featureID>
<featureLabel>Brenna Bates 202</featureLabel>
<proxy>10.0.1.204</proxy>
<port>5060</port>
<name>202</name>
<displayName>202</displayName>
-<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>202</authName>
<authPassword>*******</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>202</contact>
-<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
</sipLines>
<voipControlPort>5060</voipControlPort>
<startMediaPort>16348</startMediaPort>
<stopMediaPort>20134</stopMediaPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<softKeyFile/>
</sipProfile>
-<commonProfile>
<phonePassword/>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>sip9951.9-4-2SR3-1</loadInformation>
-<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>1</videoCapability>
<!--0 disable 1 enable-->
<ciscoCamera>1</ciscoCamera>
<!--0 disable 1 enable-->
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>0</webAccess>
<sshAccess>0</sshAccess>
<sshPort>22</sshPort>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>00:05</displayOnDuration>
<displayIdleTimeout>00:05</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer/>
</vendorConfig>
-<userLocale>
<name/>
<uid>1</uid>
<langCode>en_US</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale/>
-<networkLocaleInfo>
<name/>
<uid>64</uid>
<version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<authenticationURL/>
<directoryURL>http://10.0.1.204/ciscodir/menu.xml</directoryURL>
<servicesURL/>
<idleURL/>
<informationURL/>
<messagesURL/>
<proxyServerURL/>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>2</transportLayerProtocol>
<!--Note, transport has to be 2(tcp) to work, 4(UDP) doesn't work for 88xx/99xx-->
<capfAuthMode>0</capfAuthMode>
-<capfList>
-<capf>
<phonePort>3804</phonePort>
</capf>
</capfList>
<certHash/>
<encrConfig>false</encrConfig>
</device>

Is this thing on? Can anyone hear me?

We hear you - problem is either that no one else has the problem, or very few people are using the 99xx series Cisco phones in this configuration.

There appears to be support for the 99xx phone in SCCP phone in Chan-SCCP-B if you want to try using the Skinny image for the phone. Perhaps the phone works better under that channel driver.

Well I wonder would anyone have any recommendations out there? I can only hope I’m not the only who has a FreePBX Distro with Cisco 9971 / 9951 IP Phones? This happens with the multiple installs

This might happen if the phone is getting a SIP INVITE but not getting a subsequent CANCEL when the caller or PBX gives up. The phone continues to react to the INVITE until it receives a new instruction. Just an idea. Try capturing the network traffic between the PBX and the phone (closer to the phone side if possible) and look for signaling problems.

That sounds like it could potentially be the issue. So what would you recommend? Doing a packet capture of the network traffic to the phone?

Or a SIP trace from the phone itself.

Thats a problem of ur configuration, for me is working everything good, i recommend u install cisco patch https://issues.asterisk.org/jira/browse/ASTERISK-13145

Just because “for [you] is working everything good” [sic] how can you know it’s a configuration problem for him?

Wouldn’t a configuration problem require a change in the configuration rather than a software patch? (yes)

Please answer more thoughtfully.

maybe can be firmware? what firmware is him using

I do see the following continually in the CLI, where retransmitting will count from #1, 2, 3, 4, then repeat.

.161 is the IP of the phone, I don’t know if it listing UDP has anything to do with it as it only supports TCP?

---

Retransmitting #4 (no NAT) to 10.0.10.161:5060:
OPTIONS sip:[email protected]:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK2bf66fb5
Max-Forwards: 70
From: “Unknown” sip:[email protected];tag=as041e8457
To: sip:[email protected]:5060;transport=udp
Contact: sip:[email protected]:5060
Call-ID: [email protected]:5060
CSeq: 102 OPTIONS
User-Agent: FPBX-14.0.1.24(14.6.0)
Date: Thu, 11 Jan 2018 15:52:35 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0

freepbx*CLI>
[2018-01-11 10:55:26] NOTICE[2836]: chan_sip.c:15736 sip_reregister: – Re-registration for user@chi-reg.voipstreet.com
[2018-01-11 10:55:26] NOTICE[2836]: chan_sip.c:24600 handle_response_register: Outbound Registration: Expiry for chi-reg.voipstreet.com is 120 sec (Scheduling reregistration in 105 s)
– Stopped music on hold on SIP/user
– SIP/200-00000b03 Internal Gosub(crm-hangup,s,1) start
– Executing [s@crm-hangup:1] NoOp(“SIP/200-00000b03”, “Sending Hangup to CRM”) in new stack
– Executing [s@crm-hangup:2] NoOp(“SIP/200-00000b03”, “HANGUP CAUSE: 16”) in new stack
– Executing [s@crm-hangup:3] ExecIf(“SIP/200-00000b03”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
– Executing [s@crm-hangup:4] NoOp(“SIP/200-00000b03”, “MASTER CHANNEL: 1515686111.2908 = 1515686104.2907”) in new stack
– Executing [s@crm-hangup:5] GotoIf(“SIP/200-00000b03”, “1?return”) in new stack
– Goto (crm-hangup,s,8)
– Executing [s@crm-hangup:8] Return(“SIP/200-00000b03”, “”) in new stack
== Spawn extension (from-internal, 300, 1) exited non-zero on ‘SIP/200-00000b03’
– SIP/200-00000b03 Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
Scheduling destruction of SIP dialog ‘[email protected]:5060’ in 6400 ms (Method: INVITE)
Reliably Transmitting (no NAT) to 10.0.10.161:5060:
CANCEL sip:[email protected]:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK6ba2f51d
Max-Forwards: 70
From: “C47Store:SMITH” sip:[email protected];tag=as2ff43023
To: sip:[email protected]:5060;transport=udp
Call-ID: [email protected]:5060
CSeq: 102 CANCEL
User-Agent: FPBX-14.0.1.24(14.6.0)
Content-Length: 0


Scheduling destruction of SIP dialog ‘[email protected]:5060’ in 6400 ms (Method: INVITE)
== Spawn extension (macro-dial, s, 22) exited non-zero on ‘SIP/user’ in macro ‘dial’
== Spawn extension (ext-group, 300, 18) exited non-zero on ‘SIP/user
– Executing [h@ext-group:1] Macro(“SIP/user”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/user”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“SIP/user”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] NoOp(“SIP/user”, “SIP/201-00000b04 monior file= /var/spool/asterisk/monitor/2018/01/11/rg-300-17815849705-20180111-105504-1515686104.2907.wav”) in new stack
– Executing [s@macro-hangupcall:5] AGI(“SIP/user”, “attendedtransfer-rec-restart.php,SIP/201-00000b04,/var/spool/asterisk/monitor/2018/01/11/rg-300-17815849705-20180111-105504-1515686104.2907.wav”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php

<— SIP read from UDP:10.0.10.161:5060 —>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK6ba2f51d
From: “C47Store:SMITH” sip:[email protected];tag=as2ff43023
To: sip:[email protected]:5060;transport=udp;tag=001d70fc8ef600073e2dd332-0e462adc
Call-ID: [email protected]:5060
Date: Thu, 11 Jan 2018 15:55:28 GMT
CSeq: 102 CANCEL
Server: Cisco-CP9971/9.4.2
Content-Length: 0

<------------->
— (9 headers 0 lines) —

<— SIP read from UDP:10.0.10.161:5060 —>
SIP/2.0 487 Request Cancelled
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK6ba2f51d
From: “C47Store:SMITH” sip:[email protected];tag=as2ff43023
To: sip:[email protected]:5060;transport=udp;tag=001d70fc8ef600073e2dd332-0e462adc
Call-ID: [email protected]:5060
Date: Thu, 11 Jan 2018 15:55:28 GMT
CSeq: 102 INVITE
Server: Cisco-CP9971/9.4.2
Contact: sip:[email protected]:5060;transport=udp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Allow-Events: kpml,dialog
Content-Length: 0

<------------->
— (12 headers 0 lines) —
Transmitting (no NAT) to 10.0.10.161:5060:
ACK sip:[email protected]:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK6ba2f51d
Max-Forwards: 70
From: “C47Store:SMITH” sip:[email protected];tag=as2ff43023
To: sip:[email protected]:5060;transport=udp;tag=001d70fc8ef600073e2dd332-0e462adc
Contact: sip:[email protected]:5060
Call-ID: [email protected]:5060
CSeq: 102 ACK
User-Agent: FPBX-14.0.1.24(14.6.0)
Content-Length: 0


Scheduling destruction of SIP dialog ‘[email protected]:5060’ in 6400 ms (Method: INVITE)
– <SIP/user>AGI Script attendedtransfer-rec-restart.php completed, returning 0
– Executing [s@macro-hangupcall:6] Hangup(“SIP/user”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 6) exited non-zero on ‘SIP/user’ in macro ‘hangupcall’
== Spawn extension (ext-group, h, 1) exited non-zero on ‘SIP/user
– SIP/user Internal Gosub(crm-hangup,s,1) start
– Executing [s@crm-hangup:1] NoOp(“SIP/user”, “Sending Hangup to CRM”) in new stack
– Executing [s@crm-hangup:2] NoOp(“SIP/user”, “HANGUP CAUSE: 17”) in new stack
– Executing [s@crm-hangup:3] ExecIf(“SIP/user”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
– Executing [s@crm-hangup:4] NoOp(“SIP/user”, “MASTER CHANNEL: 1515686104.2907 = 1515686104.2907”) in new stack
– Executing [s@crm-hangup:5] GotoIf(“SIP/user”, “0?return”) in new stack
– Executing [s@crm-hangup:6] Set(“SIP/user”, “__CRM_HANGUP=1”) in new stack
– Executing [s@crm-hangup:7] AGI(“SIP/user”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <SIP/user>AGI Script sangomacrm.agi completed, returning 0
– Executing [s@crm-hangup:8] Return(“SIP/user”, “”) in new stack
== Spawn extension (ext-group, h, 1) exited non-zero on ‘SIP/user
– SIP/user Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
== MixMonitor close filestream (mixed)
== End MixMonitor Recording SIP/user
freepbxCLI>
freepbx
CLI>
freepbxCLI>
freepbx
CLI>
freepbx*CLI>
Really destroying SIP dialog ‘[email protected]:5060’ Method: INVITE
Reliably Transmitting (no NAT) to 10.0.10.161:5060:
OPTIONS sip:[email protected]:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK0712bea8
Max-Forwards: 70
From: “Unknown” sip:[email protected];tag=as49dc1f23
To: sip:[email protected]:5060;transport=udp
Contact: sip:[email protected]:5060
Call-ID: [email protected]:5060
CSeq: 102 OPTIONS
User-Agent: FPBX-14.0.1.24(14.6.0)
Date: Thu, 11 Jan 2018 15:55:48 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0


<— SIP read from UDP:10.0.10.161:5060 —>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.10.13:5060;branch=z9hG4bK0712bea8
From: “Unknown” sip:[email protected];tag=as49dc1f23
To: sip:[email protected]:5060;transport=udp;tag=001d70fc8ef6000839bf4fd9-051e92bf
Call-ID: [email protected]:5060
Date: Thu, 11 Jan 2018 15:55:48 GMT
CSeq: 102 OPTIONS
Server: Cisco-CP9971/9.4.2
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE
Allow-Events: kpml,dialog,refer
Accept: application/sdp,multipart/mixed,multipart/alternative
Accept-Encoding: identity
Accept-Language: en
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0
Content-Length: 365
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 19094 0 IN IP4 10.0.10.161
s=SIP Call
t=0 0
m=audio 0 RTP/AVP 0 102 9 124 8 116 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:102 L16/16000
a=rtpmap:9 G722/8000
a=rtpmap:124 ISAC/16000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
<------------->
— (17 headers 16 lines) —
Really destroying SIP dialog ‘[email protected]:5060’ Method: OPTIONS
freepbx*CLI>

Also per applying that patch, it says to download the patch and the version of asterisk matching the patch which from what I can tell is 13.18.0 however I’m running Current Asterisk Version: 14.6.0 is there a separate set of instructions for installing that patch in FreePBX?

Is there a way for me to clean the asterisk log up a bit so I’m just seeing diagnostic logs between that phone instead of seeing all the inbound trunk and ring group logs

Anyone?

An update on this, so I just switched to PJSIP and the phones still don’t clear missed calls on the main incoming call display.

Suggestions or perhaps another place to look? There must be others out there with the 99xx series I’ve had this issue across three clean installs of FreePBX, across chan_sip and PJSIP and different firmware versions of the phone now in the two years that these units haven’t been able to clear their displays from missed calls. Again the issue is that if a call is missed it never goes away from the main phone screen unless you reboot the phone.

Hey,
I had the same problem. All missed calls keeps visible on the default display. Whatever I tried, only a reboot cleared the missing calls for the specific line. But I just found out why!
In the SEPxxxxxx.cnf.xml file, you missing a special keyword.
Go to the section <sipLines> <line button="1"> and add lineIndex=“1”.
So your line will look like: <line button="1" lineIndex="1">. Do this also for the next lines you have and increase the number correspondending to the button. So line 2 will be <line button="2" lineIndex="2">.

1 Like

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