Cisco 9971 phone configuration working example with setup tips

Hi Folks

SkykingOH kindly suggested that I share my Cisco XML phone config file implementation on my FreePBX setup. So here is my (somewhat anonymised) Cisco 9971 phone configuration file, together with some configuration tips. I have a lot of people from all over the net to thank for getting me this far. There are still some phone features which don’t work (Conference key for example), but by and large the main phone functions are working very well.

My setup consists of
[List=1]
[] Cisco 9971 phones running 9.2.3-27 firmware, with attached CUVC camera
[
] Soft-phones (a mixture of Vippie Video with H.264 support on iPhone and X-Lite 4 on OS X)
[] FreePBX 2.9.0.10 with Asterisk 1.8.7.0 with
[List=I]
[
] Asterisk patch Presence Subscription on Cisco Phones as listed on JIRA
[] Asterisk patch video format ‘negotiation’ as published in the Asterisk-Video mailing list from Artem Makhutov
[/List]
[
] Linksys SPA3102-UK analogue voice gateway for terminating PSTN circuit (FXO) and analogue extension (FXS)
[*] Dialectic v1.84 dialler integration on OS X
[/List]

Please note the following (hopefully I’m not telling you how to ‘suck eggs’ too much here):

[List=1]
[] Some Basic Stuff
[List=I]
[
] Timezone and NTP values. My timezone is set to “GMT Standard/Daylight Time” and my date format “D/M/Ya” set accordingly to my regional preference. The values entered here must conform to the Cisco preferred values for timezones. Change the NTP server IP or DNS name to your preferred.

[*] My asterisk server IP address is 192.168.0.70 - change this to reflect your server IP address.

[*] <loadInformation> tag is set to reflect the firmware versions on my phone, alter yours to suit.

[*] <featurePolicyFile> should be set to reflect the name of the Feature Policy file as installed in your /tftpboot directory. The 89xx and 99xx series of phones apparently no longer uses the soft keys.xml configuration method (although I actually have one listed/installed as a hangover from a previous setup)

[*] Labels for the phone and lines labels, secrets for SIP lines etc to be changed from my dummy values.

[/List]

[*] Phone Display Activation
See <daysDisplayNotActive> I’ve set the phone display to be blacked out on all days, until the phone is used, then remains on for 1 hour; therefore all days Sunday (1) through Saturday (7) are listed here. Note this overrides the settings in <displayOnTime> and <displayOnDuration>.

[] BLF and Presence Functionality
[List=I]
[
] To enable BLF/presence to function correctly you will need to apply Asterisk patch Presence Subscription on Cisco Phones as listed on JIRA.

[*] Update the cisco phone extension entries in sip_custom_post.conf to include SIP functionality in the presence patch and video patch (more on that below). e.g. for extension 100 include an entry such as:

[100](+)
ciscounified=yes
dndbusy=yes
video_fmtp=profile-level-id=42801E\;packetization-mode=0\;level-asymmetry-allowed=1
video_btias=1000000
video_imageattr=recv [x=640,y=480,q=0.50]

(Please Note: If you have a mixed estate of Cisco and non-Cisco devices it is much better to include these additional SIP settings only for the Cisco endpoints (in the manner above) rather than for the entire SIP estate. I had previously written here that the additional SIP setting can be added via the FreePBX 2.9 GUI under Asterisk SIP settings -> Other SIP settings. This would constitute a global SIP configuration change and is fine if your endpoints are 100% Cisco but if you have a mixture of different endpoints then you will likely get strange error messages in your Asterisk CLI/logs or other strange consequences)

[*] <timerRegisterExpires> If you have particularly busy/intensive phone users I’ve heard that setting this value to 900 will help from keep the phone from losing the ability to display BLF status after a few weeks. I’ve not personally had reason to change mine from the default. See Asterisk patch Presence Subscription on Cisco Phones.

[/List]

[] SIP Lines
See section <sipLines>
[List=I]
[
] Ordinary Lines - this configuration file reflects a phone setup with 2 ordinary lines, per <featureID>9</featureID>. The first line is a “normal” line and the second line is an “intercom” line which is set to auto answer.
[] Speed Dials - the remaining 4 line keys are configured as speed dials, per <featureID>21</featureID>. Where presence indication is desired set <featureOptionMask>1</featureOptionMask> for the speed dial entry.
[
] Setting preferred line - as I wanted the phone to default to the first "normal’ line when the phone was taken off hook I set <alwaysUsePrimeLine>true</alwaysUsePrimeLine> and <alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>

[/List]

[*] Voicemail
My VM number is defined within the lines section under <messagesNumber>1000</messagesNumber>. I have a customised dial plan using ‘1000’ to dial into VoiceMailMain, but of course you can use the usual *97 or *98 here or whatever you prefer to dial your voicemail.

[] Video and Camera Capability
[List=I]
[
] My 9971 phones have cameras installed hence you will need the tags <ciscoCamera> and <videoCapability> as set out variously below.

[*] If you are using your phone with Power over Ethernet supplied by a non-Cisco switch then you will also need to set <powerNegotiation>0</powerNegotiation> so that the phone can extract the full per port PoE power from the ethernet port on the non-cisco switch, otherwise the camera will fail to initialise due to lack of power. This could also be overcome by using a Cisco power brick to power the phone.

[*] To enable two-way H.264 based video calls you will also need to apply the Asterisk patch as published ion the Asterisk-Video mailing list from Artem Makhutov.

[/List]

[*] Call Lists Application (native)
To enable the built in Cisco application for missed/received/placed calls refer to the code under tags <phoneServices>. Once you have the presence patch applied BLF for call lists can be applied by <callLogBlfEnabled>3</callLogBlfEnabled> under the commonProfile section

[*] Other Applications
I have added apps in the <phoneServices> section for some existing external Cisco XML services like Berbee, some XML directory demos as well as my own custom PHP-based voicemail application (which I’m not allowed to call by its more commonly know name) residing on my asterisk server.
[List=I]

[] Application Menu. I have set the external Berbee and ‘Australian Services’ XML apps in the “Application” menu of the phone, accessed by the dedicated Application feature button and set by tag <phoneService type="0" category="0">
[
] Contacts Menu. To set up apps accessed by the dedicated “Contacts” button set the appropriate phone service using <phoneService type="1" category="0">. I’ve currently got placeholder (external) XML directory apps there

[*] Messages Menu. Finally apps included in the “Messages” menu accessed by corresponding dedicated button are set using <phoneService type="2" category="0">. The native voicemail app is here (just need to set your <messagesNumber> accordingly for one-touch access to voicemail. I’ve also added my custom voicemail app here so when I press the “Messages” button I get a small menu allowing me either (1) dial voicemail or (2) access my custom voicemail app

[/List]

[*] Call Forward All
This can be enabled by setting the following in extension_custom.conf. Note the presence patch noted above must be applied.

[from-internal-custom]
; Strip the x-cisco-serviceuri- prefix
exten => _[x]-cisco-serviceuri-.,1,Goto(${EXTEN:19},1)

; Enable forwarding
exten => _cfwdall-.,1,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=${EXTEN:8})
same => next,Hangup(normal_clearing)

; Disable forwarding
exten => cfwdall,1,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=)
same => next,Hangup(normal_clearing)

[*] Do Not Disturb
The following will enable a customised DND toggle feature, along the lines of the default *76 feature code, but updated to use the ‘DONOTDISTURB’ device state available once the Presence Subscription on Cisco Phones patch has been applied. The benefit is that the Cisco DND animations will be displayed for other subscribers to the extension hint, also the line button assigned for DND on the phone will glow red and also show the DND animation.

[List=I]
[*] firstly enable “Enable Custom Device States” under “Advanced Settings” in FPBX

[*] In extensions_custom.conf create a customised dnd-toggle app. In the example below I’ve used 760 as my assigned extension to call app-dnd-toggle-custom.

[app-dnd-toggle-custom]
; Custom DND Toggle using Cisco DoNotDisturb state
exten => 760,1,Answer
exten => 760,n,Wait(1)
exten => 760,n,Macro(user-callerid,)
exten => 760,n,GotoIf($["${DB(DND/${AMPUSER})}" = ""]?activate:deactivate)
exten => 760,n(activate),Set(DB(DND/${AMPUSER})=YES)
exten => 760,n,Set(STATE=DONOTDISTURB)
exten => 760,n,Gosub(app-dnd-toggle-custom,sstate,1)
exten => 760,n(hook_on),Playback(do-not-disturb&activated)
exten => 760,n,Macro(hangupcall,)
exten => 760,n(deactivate),Noop(Deleting: DND/${AMPUSER} ${DB_DELETE(DND/${AMPUSER})})
exten => 760,n,Set(STATE=NOT_INUSE)
exten => 760,n,Gosub(app-dnd-toggle-custom,sstate,1)
exten => 760,n(hook_off),Playback(do-not-disturb&de-activated)
exten => 760,n,Macro(hangupcall,)
exten => sstate,1,Set(DEVICE_STATE(Custom:DND${AMPUSER})=${STATE})
exten => sstate,n,Set(DEVICES=${DB(AMPUSER/${AMPUSER}/device)})
exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return)
exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)})
exten => sstate,n,Set(ITER=1)
exten => sstate,n(begin),Set(DEVICE_STATE(Custom:DEVDND${CUT(DEVICES,&,${ITER})})=${STATE})
exten => sstate,n,Set(ITER=$[${ITER} + 1])
exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin)
exten => sstate,n(return),Return()

[*] In the dialplan create extensions (in this example 760100 and 760120 for extensions 100 and 120 respectively) which are to be assigned to the line keys on the relevant phones.

[ext-dnd-hints-custom]
exten => 760100,1,Goto(app-dnd-toggle-custom,760,1)
exten => 760100,hint,Custom:DND100
exten => 760120,1,Goto(app-dnd-toggle-custom,760,1)
exten => 760120,hint,Custom:DND120

[*] On the phone assign set up a speed dial on the desired ‘DND’ line key (for the first phone this would be 760100) which calls app-dnd-toggle-custom. This also enables the line key to subscribes to the relevant DND hint for extension 100. As such when DND is activated by pressing the line key the usual audible confirmation is heard, the line key then lights up and the DND animation is displayed. Ditto when the key is pressed again to toggle DND off.

[*] Finally don’t forget to set &lt;featureOptionMask&gt;1&lt;/featureOptionMask&gt; against the relevant line key otherwise it will not subscribe to the DND hint.

[/List]

[*] SIP NOTIFY for reset and restart of Cisco phones
Although it is possible to write a php or perl script (see my recent post) to remotely restart or reset Cisco 89xx and 99xx phones, by far the simplest and quickest method is to use the SIP NOTIFY command. By applying the patch, it is possible to use the following commands from the Asterisk CLI to restart (reloads line keys, dial-plan and soft keys) or reset phones:

CLI> sip notify cisco-restart ${PEERNAME}
CLI> sip notify cisco-reset ${PEERNAME}

Also I’ve just noticed (although it was probably there all along) that the MWI indicator can be manually cleared using the following command:

CLI> sip notify clear-mwi ${PEERNAME}

The following variables and functions should be included in sip_notify_custom.conf settings:

[clear-mwi]
Event=>message-summary
Content-type=>application/simple-message-summary
Content=>Messages-Waiting: no
Content=>Message-Account: sip:[email protected]
Content=>Voice-Message: 0/0 (0/0)
Content=>

; Cisco

[cisco-restart]
Event=>service-control
Subscription-State=>active
Content-Type=>text/plain
Content=>action=restart
Content=>RegisterCallId={${SIPPEER(${PEERNAME},regcallid)}}
Content=>ConfigVersionStamp={0000000000000000}
Content=>DialplanVersionStamp={0000000000000000}
Content=>SoftkeyVersionStamp={0000000000000000}

[cisco-reset]
Event=>service-control
Subscription-State=>active
Content-Type=>text/plain
Content=>action=reset
Content=>RegisterCallId={${SIPPEER(${PEERNAME},regcallid)}}
Content=>ConfigVersionStamp={0000000000000000}
Content=>DialplanVersionStamp={0000000000000000}
Content=>SoftkeyVersionStamp={0000000000000000}

[/List]

Extract from SEPmac_address.cnf.xml

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;device&gt;
&lt;deviceProtocol&gt;SIP&lt;/deviceProtocol&gt;
 
  &lt;sshUserId&gt;admin&lt;/sshUserId&gt;
  &lt;sshPassword&gt;cisco&lt;/sshPassword&gt;
 
  &lt;devicePool&gt;
		&lt;dateTimeSetting&gt; 
			&lt;dateTemplate&gt;D/M/Ya&lt;/dateTemplate&gt; 
			&lt;timeZone&gt;GMT Standard/Daylight Time&lt;/timeZone&gt; 
			&lt;ntps&gt; 
				&lt;ntp&gt;
					&lt;name&gt;130.88.203.12&lt;/name&gt; 
					&lt;ntpMode&gt;Unicast&lt;/ntpMode&gt; 
				&lt;/ntp&gt;
			&lt;/ntps&gt;
		&lt;/dateTimeSetting&gt; 
 
     &lt;callManagerGroup&gt;
        &lt;members&gt;
           &lt;member priority="0"&gt;
              &lt;callManager&gt;
                 &lt;ports&gt;
                    &lt;ethernetPhonePort&gt;2000&lt;/ethernetPhonePort&gt;
                    &lt;sipPort&gt;5060&lt;/sipPort&gt;
                    &lt;securedSipPort&gt;5061&lt;/securedSipPort&gt;
                 &lt;/ports&gt;
                 &lt;processNodeName&gt;192.168.0.70&lt;/processNodeName&gt;
              &lt;/callManager&gt;
           &lt;/member&gt;
        &lt;/members&gt;
     &lt;/callManagerGroup&gt;
  &lt;/devicePool&gt;
 
  &lt;commonProfile&gt;
     &lt;phonePassword&gt;&lt;/phonePassword&gt;
     &lt;backgroundImageAccess&gt;true&lt;/backgroundImageAccess&gt;
     &lt;callLogBlfEnabled&gt;3&lt;/callLogBlfEnabled&gt;
  &lt;/commonProfile&gt;
 
  &lt;loadInformation&gt;sip9971.9-2-3-27&lt;/loadInformation&gt;
  &lt;featurePolicyFile&gt;DefaultFP.xml&lt;/featurePolicyFile&gt;
 
  &lt;vendorConfig&gt;
     &lt;disableSpeaker&gt;false&lt;/disableSpeaker&gt;
     &lt;disableSpeakerAndHeadset&gt;false&lt;/disableSpeakerAndHeadset&gt;
     &lt;pcPort&gt;0&lt;/pcPort&gt;
     &lt;settingsAccess&gt;1&lt;/settingsAccess&gt;
     &lt;garp&gt;0&lt;/garp&gt;
     &lt;voiceVlanAccess&gt;0&lt;/voiceVlanAccess&gt;
     &lt;ciscoCamera&gt;1&lt;/ciscoCamera&gt;
     &lt;videoCapability&gt;1&lt;/videoCapability&gt;
     &lt;usbClasses&gt;0,1,2&lt;/usbClasses&gt;
     &lt;sdio&gt;1&lt;/sdio&gt;
     &lt;wifi&gt;0&lt;/wifi&gt;
     &lt;bluetoothProfile&gt;0,1&lt;/bluetoothProfile&gt;
     &lt;powerNegotiation&gt;0&lt;/powerNegotiation&gt;
     &lt;autoSelectLineEnable&gt;0&lt;/autoSelectLineEnable&gt; 
     &lt;webAccess&gt;0&lt;/webAccess&gt;
     &lt;sshAccess&gt;0&lt;/sshAccess&gt;
     &lt;g722CodecSupport&gt;&lt;/g722CodecSupport&gt;
     &lt;daysDisplayNotActive&gt;1,2,3,4,5,6,7&lt;/daysDisplayNotActive&gt;
     &lt;displayOnTime&gt;08:30&lt;/displayOnTime&gt;
     &lt;displayOnDuration&gt;09:30&lt;/displayOnDuration&gt;
     &lt;displayIdleTimeout&gt;01:00&lt;/displayIdleTimeout&gt;
     &lt;displayOnWhenIncomingCall&gt;1&lt;/displayOnWhenIncomingCall&gt;
     &lt;spanToPCPort&gt;1&lt;/spanToPCPort&gt;
     &lt;loggingDisplay&gt;1&lt;/loggingDisplay&gt;
     &lt;loadServer&gt;&lt;/loadServer&gt;
  &lt;/vendorConfig&gt;

  &lt;commonConfig&gt;
     &lt;usb1&gt;1&lt;/usb1&gt;
     &lt;usb2&gt;1&lt;/usb2&gt;
     &lt;ciscoCamera&gt;1&lt;/ciscoCamera&gt;
     &lt;usbClasses&gt;0,1,2&lt;/usbClasses&gt;
     &lt;sdio&gt;1&lt;/sdio&gt;
     &lt;bluetooth&gt;1&lt;/bluetooth&gt;
     &lt;wifi&gt;1&lt;/wifi&gt;
     &lt;bluetoothProfile&gt;0,1&lt;/bluetoothProfile&gt;
     &lt;joinAndDirectTransferPolicy&gt;0&lt;/joinAndDirectTransferPolicy&gt;
  &lt;/commonConfig&gt;

  &lt;enterpriseConfig&gt;
     &lt;usb1&gt;1&lt;/usb1&gt;
     &lt;usb2&gt;1&lt;/usb2&gt;
     &lt;ciscoCamera&gt;1&lt;/ciscoCamera&gt;
     &lt;usbClasses&gt;0,1,2&lt;/usbClasses&gt;
     &lt;sdio&gt;1&lt;/sdio&gt;
     &lt;bluetooth&gt;1&lt;/bluetooth&gt;
     &lt;wifi&gt;1&lt;/wifi&gt;
     &lt;bluetoothProfile&gt;0,1&lt;/bluetoothProfile&gt;
     &lt;joinAndDirectTransferPolicy&gt;0&lt;/joinAndDirectTransferPolicy&gt;
     &lt;videoCapability&gt;1&lt;/videoCapability&gt;
     &lt;webAccess&gt;0&lt;/webAccess&gt;
     &lt;eapAuthentication&gt;2&lt;/eapAuthentication&gt;
     &lt;webProtocol&gt;0&lt;/webProtocol&gt;
  &lt;/enterpriseConfig&gt;
 
  &lt;advertiseG722Codec&gt;&lt;/advertiseG722Codec&gt;

  &lt;networkLocale&gt;United_Kingdom&lt;/networkLocale&gt; 
 
	&lt;networkLocaleInfo&gt; 
		&lt;name&gt;English_United_Kingdom&lt;/name&gt; 
		&lt;uid&gt;64&lt;/uid&gt; 
		&lt;version&gt;1.0.0.0-1&lt;/version&gt; 
	&lt;/networkLocaleInfo&gt; 
 
  &lt;deviceSecurityMode&gt;1&lt;/deviceSecurityMode&gt;
 
  &lt;idleTimeout&gt;0&lt;/idleTimeout&gt;
  &lt;authenticationURL&gt;&lt;/authenticationURL&gt;
  &lt;directoryURL&gt;&lt;/directoryURL&gt;
  &lt;idleURL&gt;&lt;/idleURL&gt;
  &lt;informationURL&gt;&lt;/informationURL&gt;
  &lt;messagesNumber&gt;&lt;/messagesNumber&gt;  
  &lt;messagesURL&gt;&lt;/messagesURL&gt;
  &lt;proxyServerURL&gt;&lt;/proxyServerURL&gt;
  &lt;servicesURL&gt;&lt;/servicesURL&gt;
  &lt;dscpForSCCPPhoneConfig&gt;96&lt;/dscpForSCCPPhoneConfig&gt;
  &lt;dscpForSCCPPhoneServices&gt;0&lt;/dscpForSCCPPhoneServices&gt;
  &lt;dscpForCm2Dvce&gt;96&lt;/dscpForCm2Dvce&gt;
 
  &lt;transportLayerProtocol&gt;2&lt;/transportLayerProtocol&gt;
  &lt;dndCallAlert&gt;5&lt;/dndCallAlert&gt;
  &lt;phonePersonalization&gt;1&lt;/phonePersonalization&gt;
  &lt;rollover&gt;0&lt;/rollover&gt;
  &lt;singleButtonBarge&gt;0&lt;/singleButtonBarge&gt;
  &lt;joinAcrossLines&gt;1&lt;/joinAcrossLines&gt;
  &lt;autoCallPickupEnable&gt;false&lt;/autoCallPickupEnable&gt;
  &lt;blfAudibleAlertSettingOfIdleStation&gt;0&lt;/blfAudibleAlertSettingOfIdleStation&gt;
  &lt;blfAudibleAlertSettingOfBusyStation&gt;0&lt;/blfAudibleAlertSettingOfBusyStation&gt;
 
  &lt;capfAuthMode&gt;0&lt;/capfAuthMode&gt;
  &lt;capfList&gt;
     &lt;capf&gt;
        &lt;phonePort&gt;3804&lt;/phonePort&gt;
     &lt;/capf&gt;
  &lt;/capfList&gt;
 
  &lt;certHash&gt;&lt;/certHash&gt;
  &lt;encrConfig&gt;false&lt;/encrConfig&gt;
  &lt;sipProfile&gt;
     &lt;sipProxies&gt;
        &lt;backupProxy&gt;USECALLMANAGER&lt;/backupProxy&gt;
        &lt;backupProxyPort&gt;5060&lt;/backupProxyPort&gt;
        &lt;emergencyProxy&gt;USECALLMANAGER&lt;/emergencyProxy&gt;
        &lt;emergencyProxyPort&gt;5060&lt;/emergencyProxyPort&gt;
        &lt;outboundProxy&gt;&lt;/outboundProxy&gt;
        &lt;outboundProxyPort&gt;&lt;/outboundProxyPort&gt;
        &lt;registerWithProxy&gt;true&lt;/registerWithProxy&gt;
     &lt;/sipProxies&gt;
 
     &lt;sipCallFeatures&gt;
        &lt;cnfJoinEnabled&gt;true&lt;/cnfJoinEnabled&gt;
        &lt;callForwardURI&gt;x-cisco-serviceuri-cfwdall&lt;/callForwardURI&gt;
        &lt;callPickupURI&gt;x-cisco-serviceuri-pickup&lt;/callPickupURI&gt;
        &lt;callPickupListURI&gt;x-cisco-serviceuri-opickup&lt;/callPickupListURI&gt;
        &lt;callPickupGroupURI&gt;x-cisco-serviceuri-gpickup&lt;/callPickupGroupURI&gt;
        &lt;meetMeServiceURI&gt;x-cisco-serviceuri-meetme&lt;/meetMeServiceURI&gt;
        &lt;abbreviatedDialURI&gt;x-cisco-serviceuri-abbrdial&lt;/abbreviatedDialURI&gt;
        &lt;rfc2543Hold&gt;false&lt;/rfc2543Hold&gt;
        &lt;callHoldRingback&gt;2&lt;/callHoldRingback&gt;
        &lt;localCfwdEnable&gt;true&lt;/localCfwdEnable&gt;
        &lt;semiAttendedTransfer&gt;true&lt;/semiAttendedTransfer&gt;
        &lt;anonymousCallBlock&gt;2&lt;/anonymousCallBlock&gt;
        &lt;callerIdBlocking&gt;2&lt;/callerIdBlocking&gt;
        &lt;dndControl&gt;0&lt;/dndControl&gt;
        &lt;remoteCcEnable&gt;true&lt;/remoteCcEnable&gt;
	&lt;retainForwardInformation&gt;true&lt;/retainForwardInformation&gt;
     &lt;/sipCallFeatures&gt;
 
     &lt;sipStack&gt;
        &lt;sipInviteRetx&gt;6&lt;/sipInviteRetx&gt;
        &lt;sipRetx&gt;10&lt;/sipRetx&gt;
        &lt;timerInviteExpires&gt;180&lt;/timerInviteExpires&gt;
        &lt;timerRegisterExpires&gt;3600&lt;/timerRegisterExpires&gt;
        &lt;timerRegisterDelta&gt;5&lt;/timerRegisterDelta&gt;
        &lt;timerKeepAliveExpires&gt;120&lt;/timerKeepAliveExpires&gt;
        &lt;timerSubscribeExpires&gt;120&lt;/timerSubscribeExpires&gt;
        &lt;timerSubscribeDelta&gt;5&lt;/timerSubscribeDelta&gt;
        &lt;timerT1&gt;500&lt;/timerT1&gt;
        &lt;timerT2&gt;4000&lt;/timerT2&gt;
        &lt;maxRedirects&gt;70&lt;/maxRedirects&gt;
        &lt;remotePartyID&gt;false&lt;/remotePartyID&gt;
        &lt;userInfo&gt;None&lt;/userInfo&gt;
     &lt;/sipStack&gt;
 
     &lt;autoAnswerTimer&gt;0&lt;/autoAnswerTimer&gt;
     &lt;autoAnswerAltBehavior&gt;false&lt;/autoAnswerAltBehavior&gt;
     &lt;autoAnswerOverride&gt;true&lt;/autoAnswerOverride&gt;
     &lt;transferOnhookEnabled&gt;false&lt;/transferOnhookEnabled&gt;
     &lt;enableVad&gt;false&lt;/enableVad&gt;
     &lt;preferredCodec&gt;none&lt;/preferredCodec&gt;
     &lt;dtmfAvtPayload&gt;101&lt;/dtmfAvtPayload&gt;
     &lt;dtmfDbLevel&gt;3&lt;/dtmfDbLevel&gt;
     &lt;dtmfOutofBand&gt;avt&lt;/dtmfOutofBand&gt;
     &lt;alwaysUsePrimeLine&gt;true&lt;/alwaysUsePrimeLine&gt;
     &lt;alwaysUsePrimeLineVoiceMail&gt;true&lt;/alwaysUsePrimeLineVoiceMail&gt;
     &lt;kpml&gt;3&lt;/kpml&gt;
     &lt;natEnabled&gt;false&lt;/natEnabled&gt;
     &lt;natAddress&gt;192.168.0.70&lt;/natAddress&gt;
 
     &lt;stutterMsgWaiting&gt;2&lt;/stutterMsgWaiting&gt;
 
     &lt;callStats&gt;false&lt;/callStats&gt;
     &lt;silentPeriodBetweenCallWaitingBursts&gt;10&lt;/silentPeriodBetweenCallWaitingBursts&gt;
     &lt;disableLocalSpeedDialConfig&gt;false&lt;/disableLocalSpeedDialConfig&gt;
 
 
     &lt;startMediaPort&gt;10000&lt;/startMediaPort&gt;
     &lt;stopMediaPort&gt;20000&lt;/stopMediaPort&gt;
     &lt;voipControlPort&gt;5060&lt;/voipControlPort&gt;
     &lt;dscpForAudio&gt;184&lt;/dscpForAudio&gt;
	 &lt;dscpVideo&gt;136&lt;/dscpVideo&gt;
	 &lt;dscpForTelepresence&gt;128&lt;/dscpForTelepresence&gt;
     &lt;ringSettingBusyStationPolicy&gt;0&lt;/ringSettingBusyStationPolicy&gt;
	 &lt;softKeyFile&gt;softkey.xml&lt;/softKeyFile&gt;
     &lt;dialTemplate&gt;dialplan.xml&lt;/dialTemplate&gt;
     &lt;phoneLabel&gt;Your_Label_Here&lt;/phoneLabel&gt;
     &lt;sipLines&gt;
        &lt;line button="1" lineIndex="1"&gt;
           &lt;featureID&gt;9&lt;/featureID&gt;
           &lt;featureLabel&gt;Sean 100&lt;/featureLabel&gt;
           &lt;name&gt;100&lt;/name&gt;
           &lt;displayName&gt;Study&lt;/displayName&gt;
           &lt;contact&gt;100&lt;/contact&gt;
           &lt;proxy&gt;USECALLMANAGER&lt;/proxy&gt;
           &lt;port&gt;5060&lt;/port&gt;
           &lt;autoAnswer&gt;
              &lt;autoAnswerEnabled&gt;2&lt;/autoAnswerEnabled&gt;
           &lt;/autoAnswer&gt;
           &lt;callWaiting&gt;3&lt;/callWaiting&gt;
 
           &lt;authName&gt;100&lt;/authName&gt;
           &lt;authPassword&gt;your_secret_here&lt;/authPassword&gt;
 
           &lt;sharedLine&gt;false&lt;/sharedLine&gt;
           &lt;messageWaitingLampPolicy&gt;3&lt;/messageWaitingLampPolicy&gt;
	   &lt;messageWaitingAMWI&gt;1&lt;/messageWaitingAMWI&gt;
           &lt;messagesNumber&gt;1000&lt;/messagesNumber&gt;
           &lt;ringSettingIdle&gt;4&lt;/ringSettingIdle&gt;
           &lt;ringSettingActive&gt;5&lt;/ringSettingActive&gt;
 
           &lt;forwardCallInfoDisplay&gt;
              &lt;callerName&gt;true&lt;/callerName&gt;
              &lt;callerNumber&gt;false&lt;/callerNumber&gt;
              &lt;redirectedNumber&gt;false&lt;/redirectedNumber&gt;
              &lt;dialedNumber&gt;true&lt;/dialedNumber&gt;
           &lt;/forwardCallInfoDisplay&gt;
			&lt;maxNumCalls&gt;4&lt;/maxNumCalls&gt;
			&lt;busyTrigger&gt;2&lt;/busyTrigger&gt;
        &lt;/line&gt;
        &lt;line button="2" lineIndex="2"&gt;
           &lt;featureID&gt;9&lt;/featureID&gt;
           &lt;featureLabel&gt;Intercom&lt;/featureLabel&gt;
           &lt;name&gt;101&lt;/name&gt;
           &lt;displayName&gt;&lt;/displayName&gt;
           &lt;contact&gt;101&lt;/contact&gt;
           &lt;proxy&gt;USECALLMANAGER&lt;/proxy&gt;
           &lt;port&gt;5060&lt;/port&gt;
           &lt;autoAnswer&gt;
              &lt;autoAnswerEnabled&gt;3&lt;/autoAnswerEnabled&gt;
           &lt;/autoAnswer&gt;
           &lt;callWaiting&gt;3&lt;/callWaiting&gt;

           &lt;authName&gt;101&lt;/authName&gt;
           &lt;authPassword&gt;your_secret_here&lt;/authPassword&gt;

           &lt;sharedLine&gt;false&lt;/sharedLine&gt;
           &lt;messageWaitingLampPolicy&gt;1&lt;/messageWaitingLampPolicy&gt;
           &lt;messagesNumber&gt;&lt;/messagesNumber&gt;
           &lt;ringSettingIdle&gt;4&lt;/ringSettingIdle&gt;
           &lt;ringSettingActive&gt;5&lt;/ringSettingActive&gt;

           &lt;forwardCallInfoDisplay&gt;
              &lt;callerName&gt;true&lt;/callerName&gt;
              &lt;callerNumber&gt;false&lt;/callerNumber&gt;
              &lt;redirectedNumber&gt;false&lt;/redirectedNumber&gt;
              &lt;dialedNumber&gt;true&lt;/dialedNumber&gt;
           &lt;/forwardCallInfoDisplay&gt;
                        &lt;maxNumCalls&gt;4&lt;/maxNumCalls&gt;
                        &lt;busyTrigger&gt;2&lt;/busyTrigger&gt;
        &lt;/line&gt;
		&lt;line  button="3"&gt;
			&lt;featureID&gt;21&lt;/featureID&gt;
			&lt;featureLabel&gt;Annette&lt;/featureLabel&gt;
			&lt;speedDialNumber&gt;110&lt;/speedDialNumber&gt;
			&lt;featureOptionMask&gt;1&lt;/featureOptionMask&gt;
		&lt;/line&gt;
                &lt;line  button="4"&gt;
                        &lt;featureID&gt;21&lt;/featureID&gt;
                        &lt;featureLabel&gt;Bedroom&lt;/featureLabel&gt;
                        &lt;speedDialNumber&gt;120&lt;/speedDialNumber&gt;
                        &lt;featureOptionMask&gt;1&lt;/featureOptionMask&gt;
                &lt;/line&gt;
		&lt;line  button="5"&gt;
                        &lt;featureID&gt;21&lt;/featureID&gt;
                        &lt;featureLabel&gt;DECTphone&lt;/featureLabel&gt;
                        &lt;speedDialNumber&gt;130&lt;/speedDialNumber&gt;
                        &lt;featureOptionMask&gt;1&lt;/featureOptionMask&gt;
                &lt;/line&gt;
		&lt;line  button="6"&gt;
                        &lt;featureID&gt;21&lt;/featureID&gt;
                        &lt;featureLabel&gt;DND&lt;/featureLabel&gt;
                        &lt;speedDialNumber&gt;760100&lt;/speedDialNumber&gt;
                        &lt;featureOptionMask&gt;1&lt;/featureOptionMask&gt;
                &lt;/line&gt;
	&lt;/sipLines&gt;
  &lt;/sipProfile&gt;

  &lt;phoneServices&gt;
     &lt;provisioning&gt;0&lt;/provisioning&gt;
     	&lt;phoneService  type="1" category="0"&gt;
     		&lt;name&gt;Missed Calls&lt;/name&gt;
     		&lt;url&gt;Application:Cisco/MissedCalls&lt;/url&gt;
        	&lt;vendor&gt;&lt;/vendor&gt;
     		&lt;version&gt;&lt;/version&gt;
     	&lt;/phoneService&gt;
	&lt;phoneService  type="2" category="0"&gt;
		&lt;name&gt;Voicemail&lt;/name&gt;
		&lt;url&gt;Application:Cisco/Voicemail&lt;/url&gt;
		&lt;vendor&gt;&lt;/vendor&gt;
		&lt;version&gt;&lt;/version&gt;
	&lt;/phoneService&gt;
	&lt;phoneService  type="1" category="0"&gt;
		&lt;name&gt;Received Calls&lt;/name&gt;
		&lt;url&gt;Application:Cisco/ReceivedCalls&lt;/url&gt;
		&lt;vendor&gt;&lt;/vendor&gt;
		&lt;version&gt;&lt;/version&gt;
	&lt;/phoneService&gt;
	&lt;phoneService  type="1" category="0"&gt;
		&lt;name&gt;Placed Calls&lt;/name&gt;
		&lt;url&gt;Application:Cisco/PlacedCalls&lt;/url&gt;
		&lt;vendor&gt;&lt;/vendor&gt;
		&lt;version&gt;&lt;/version&gt;
	&lt;/phoneService&gt;
	&lt;phoneService  type="1" category="0"&gt;
		&lt;name&gt;Personal Directory&lt;/name&gt;
		&lt;url&gt;Application:Cisco/PersonalDirectory&lt;/url&gt;
		&lt;vendor&gt;&lt;/vendor&gt;
		&lt;version&gt;&lt;/version&gt;
	&lt;/phoneService&gt;
	&lt;phoneService  type="1" category="0"&gt;
		&lt;name&gt;Corporate Directory (Demo)&lt;/name&gt;
		&lt;url&gt;http://directory.ciscoxmlservices.com/demo1/demo1/&lt;/url&gt;
		&lt;vendor&gt;&lt;/vendor&gt;
		&lt;version&gt;&lt;/version&gt;
	&lt;/phoneService&gt;
	&lt;phoneService  type="0" category="0"&gt;
                &lt;name&gt;Australian Services&lt;/name&gt;
                &lt;url&gt;http://cisco.internect.net/&lt;/url&gt;
                &lt;vendor&gt;&lt;/vendor&gt;
                &lt;version&gt;&lt;/version&gt;
        &lt;/phoneService&gt;
	&lt;phoneService  type="0" category="0"&gt;
                &lt;name&gt;Berbee&lt;/name&gt;
                &lt;url&gt;http://phone-xml.berbee.com/menu.xml&lt;/url&gt;
                &lt;vendor&gt;&lt;/vendor&gt;
                &lt;version&gt;&lt;/version&gt;
        &lt;/phoneService&gt;
	&lt;phoneService  type="2" category="0"&gt;
                &lt;name&gt;Visual Voice Mail&lt;/name&gt;
                &lt;url&gt;http://192.168.0.70/cisco/voicemail.php?user=100&lt;/url&gt;
                &lt;vendor&gt;&lt;/vendor&gt;
                &lt;version&gt;&lt;/version&gt;
        &lt;/phoneService&gt;
  &lt;/phoneServices&gt;
&lt;/device&gt;
1 Like

This is a wonderful write up. On behalf of the whole community thanks for setting a great example and taking the time and effort to author and contribute this information.

Thanks very much! I just added some further details to describe a customised DND toggle feature which uses the “DONOTDISTURB” custom device state.

In this way when DND is set using an assigned line key as a speed dial, the usual audible confirmation is heard per the standard DND-toggle app (*76 feature code) however:.

← the Cisco-style DND animation is now displayed rather than

← the ‘BUSY’ animation - which I think gives a bit more useful presence information.

{edit 14/03} - I’ve updated the blurb above to include settings for using SIP NOTIFY to reset or restart these phones. I’d completely overlooked this before, but so simple to get working!

Does the time display right on your CP-99x1?
Regardless which NTP server I use it always appears 01/01/82

May you have any ideas…

Firmware is sip9971.9.2.3-27

D.M.Y Central Europe Standard/Daylight Time ntp.sipgate.de Unicast

THX

Your XML code is incorrect. Do not use periods as the separator, use slash instead.

See my XML file example above. It should be:

<dateTemplate>D/M/Ya</dateTemplate> 

Hi,

thanks for your help!

I try it with your remarks without sucess.
On my CP-7975 it works without any Problems!

Only the CP-9971 will not work…

Any other Ideas??

Any other ideas? Yes I have a suggestion. Why don’t you put 1/4 of the effort troubleshooting the issue that the author of this post did putting together the results of their work.

You did not even bother to explain, neatly and cogently (as the author did), what exactly you tried, what part of it worked or didn’t work, error messages, log excerpts, software versions etc.

So here is my complete Config

Do you need anything else?

<?xml version="1.0" encoding="UTF-8"?> SIP
<sshUserId>admin</sshUserId>
<sshPassword>cisco</sshPassword>

<devicePool>
	<dateTimeSetting>
		<dateTemplate>D/M/Ya</dateTemplate>
		<timeZone>Central Europe Standard/Daylight Time</timeZone>
		<ntps>
			<ntp>
				<name>ntp.sipgate.de</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>ntp.sipgate.de</processNodeName>
				</callManager>
			</member>
		</members>
	</callManagerGroup>
</devicePool>

<commonProfile>
	<phonePassword></phonePassword>
	<backgroundImageAccess>true</backgroundImageAccess>
	<callLogBlfEnabled>3</callLogBlfEnabled>
</commonProfile>

<loadInformation></loadInformation>
<featurePolicyFile>DefaultFP.xml</featurePolicyFile>

<vendorConfig>
	<disableSpeaker>false</disableSpeaker>
	<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
	<pcPort>0</pcPort>
	<settingsAccess>1</settingsAccess>
	<garp>0</garp>
	<voiceVlanAccess>0</voiceVlanAccess>
	<ciscoCamera>1</ciscoCamera>
	<videoCapability>1</videoCapability>
	<usbClasses>0,1,2</usbClasses>
	<sdio>1</sdio>
	<wifi>0</wifi>
	<bluetoothProfile>0,1</bluetoothProfile>
	<powerNegotiation>0</powerNegotiation>
	<autoSelectLineEnable>0</autoSelectLineEnable> 
	<webAccess>0</webAccess>
	<sshAccess>0</sshAccess>
	<g722CodecSupport></g722CodecSupport>
	<daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
	<displayOnTime>08:30</displayOnTime>
	<displayOnDuration>09:30</displayOnDuration>
	<displayIdleTimeout>01:00</displayIdleTimeout>
	<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
	<spanToPCPort>1</spanToPCPort>
	<loggingDisplay>1</loggingDisplay>
	<loadServer></loadServer>
</vendorConfig>

<commonConfig>
	<usb1>1</usb1>
	<usb2>1</usb2>
	<ciscoCamera>1</ciscoCamera>
	<usbClasses>0,1,2</usbClasses>
	<sdio>1</sdio>
	<bluetooth>1</bluetooth>
	<wifi>1</wifi>
	<bluetoothProfile>0,1</bluetoothProfile>
	<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
</commonConfig>

<enterpriseConfig>
	<usb1>1</usb1>
	<usb2>1</usb2>
	<ciscoCamera>1</ciscoCamera>
	<usbClasses>0,1,2</usbClasses>
	<sdio>1</sdio>
	<bluetooth>1</bluetooth>
	<wifi>1</wifi>
	<bluetoothProfile>0,1</bluetoothProfile>
	<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
	<videoCapability>1</videoCapability>
	<webAccess>0</webAccess>
	<eapAuthentication>2</eapAuthentication>
	<webProtocol>0</webProtocol>
</enterpriseConfig>

<advertiseG722Codec></advertiseG722Codec>

<userLocale> 
	<name>German_Germany</name> 
	<uid/> 
	<langCode>de_DE</langCode> 
	<version/> 
	<winCharSet>UTF-8</winCharSet> 
</userLocale> 

<networkLocale>Germany</networkLocale> 
<networkLocaleInfo>
	<name>Germany</name> 
	<uid/>
	<version/> 
</networkLocaleInfo>

<deviceSecurityMode>1</deviceSecurityMode>

<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesNumber></messagesNumber>  
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>

<transportLayerProtocol>4</transportLayerProtocol>
<dndCallAlert>5</dndCallAlert>
<phonePersonalization>1</phonePersonalization>
<rollover>0</rollover>
<singleButtonBarge>0</singleButtonBarge>
<joinAcrossLines>1</joinAcrossLines>
<autoCallPickupEnable>false</autoCallPickupEnable>
<blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
<blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>

<capfAuthMode>0</capfAuthMode>
	<capfList>
		<capf>
			<phonePort>3804</phonePort>
		</capf>
</capfList>

<certHash></certHash>
<encrConfig>false</encrConfig>
<sipProfile>
	<sipProxies>
		<backupProxy>USECALLMANAGER</backupProxy>
		<backupProxyPort>5060</backupProxyPort>
		<emergencyProxy>USECALLMANAGER</emergencyProxy>
		<emergencyProxyPort>5060</emergencyProxyPort>
		<outboundProxy></outboundProxy>
		<outboundProxyPort></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>
		<retainForwardInformation>true</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>false</remotePartyID>
		<userInfo>None</userInfo>
	</sipStack>

	<autoAnswerTimer>0</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>true</alwaysUsePrimeLine>
	<alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>
	<kpml>3</kpml>
	<natEnabled>false</natEnabled>
	<natAddress>192.168.232.1</natAddress>

	<stutterMsgWaiting>2</stutterMsgWaiting>

	<callStats>false</callStats>
	<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
	<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>

	<startMediaPort>10000</startMediaPort>
	<stopMediaPort>20000</stopMediaPort>
	<voipControlPort>5060</voipControlPort>
	<dscpForAudio>184</dscpForAudio>
	<dscpVideo>136</dscpVideo>
	<dscpForTelepresence>128</dscpForTelepresence>
	<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
	<softKeyFile>softkey.xml</softKeyFile>
	<dialTemplate>dialplan.xml</dialTemplate>
	<phoneLabel>Büro</phoneLabel>

	<sipLines>
		<line button="1" lineIndex="1">
		<featureID>9</featureID>
			<featureLabel>Privat-620</featureLabel>
			<name>620</name>
			<displayName>620</displayName>
			<contact>620</contact>
			<proxy>USECALLMANAGER</proxy>
			<port>5060</port>

			<autoAnswer>
				<autoAnswerEnabled>2</autoAnswerEnabled>
			</autoAnswer>

			<callWaiting>3</callWaiting>

			<authName>620</authName>
			<authPassword>654321</authPassword>

			<sharedLine>false</sharedLine>
			<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
			<messageWaitingAMWI>1</messageWaitingAMWI>
			<messagesNumber>**600</messagesNumber>
			<ringSettingIdle>4</ringSettingIdle>
			<ringSettingActive>5</ringSettingActive>

			<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>Büro-621</featureLabel>
			<name>621</name>
			<displayName>621</displayName>
			<contact>621</contact>
			<proxy>USECALLMANAGER</proxy>
			<port>5060</port>

			<autoAnswer>
				<autoAnswerEnabled>2</autoAnswerEnabled>
			</autoAnswer>

			<callWaiting>3</callWaiting>

			<authName>621</authName>
			<authPassword>654321</authPassword>

			<sharedLine>false</sharedLine>
			<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
			<messageWaitingAMWI>1</messageWaitingAMWI>
			<messagesNumber>**600</messagesNumber>
			<ringSettingIdle>4</ringSettingIdle>
			<ringSettingActive>5</ringSettingActive>

			<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>WMW-622</featureLabel>
			<name>622</name>
			<displayName>622</displayName>
			<contact>622</contact>
			<proxy>USECALLMANAGER</proxy>
			<port>5060</port>

			<autoAnswer>
				<autoAnswerEnabled>2</autoAnswerEnabled>
			</autoAnswer>

			<callWaiting>3</callWaiting>

			<authName>622</authName>
			<authPassword>654321</authPassword>

			<sharedLine>false</sharedLine>
			<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
			<messageWaitingAMWI>1</messageWaitingAMWI>
			<messagesNumber>**600</messagesNumber>
			<ringSettingIdle>4</ringSettingIdle>
			<ringSettingActive>5</ringSettingActive>

			<forwardCallInfoDisplay>
				<callerName>true</callerName>
				<callerNumber>false</callerNumber>
				<redirectedNumber>false</redirectedNumber>
				<dialedNumber>true</dialedNumber>
			</forwardCallInfoDisplay>
			<maxNumCalls>4</maxNumCalls>
			<busyTrigger>2</busyTrigger>
		</line>
	</sipLines>
</sipProfile>

<phoneServices>
	<provisioning>0</provisioning>

	<phoneService  type="1" category="0">
		<name>Missed Calls</name>
		<url>Application:Cisco/MissedCalls</url>
		<vendor></vendor>
		<version></version>
	</phoneService>

	<phoneService  type="2" category="0">
		<name>Voicemail</name>
		<url>Application:Cisco/Voicemail</url>
		<vendor></vendor>
		<version></version>
	</phoneService>

	<phoneService  type="1" category="0">
		<name>Received Calls</name>
		<url>Application:Cisco/ReceivedCalls</url>
		<vendor></vendor>
		<version></version>
	</phoneService>

	<phoneService  type="1" category="0">
		<name>Placed Calls</name>
		<url>Application:Cisco/PlacedCalls</url>
		<vendor></vendor>
		<version></version>
	</phoneService>

	<phoneService  type="1" category="0">
		<name>Personal Directory</name>
		<url>Application:Cisco/PersonalDirectory</url>
		<vendor></vendor>
		<version></version>
	</phoneService>

	<phoneService  type="1" category="0">
		<name>Intern</name>
		<url>http://directory.ciscoxmlservices.com/demo1/demo1/</url>
		<vendor></vendor>
		<version></version>
	</phoneService>
</phoneServices>

I don’t need anything but I did suggest many other items in my message that would help the OP or someone else assist you.

You can’t just dump a config in forum and expect assistance. You need to be part of the solution. If you reread my message I suggested you supply more information than just the config.

At least you formatted it so it can be read.

I personally have never worked with this phone, I am just trying to get you to create posts that will encourage people to help you.

It makes for a better FreePBX community for everyone, my ultimate goal.

Everything works as expected except the Clock
It shows 01/01/82 1:00am

In the phone Logs i searched for NTP…

1679 NOT 00:00:22.878945 NETSD-netsdSignal(): EV_IP 1680 NOT 00:00:22.881348 NTP: -netsdevent: LSOCK_CMD_EVENT: NETSD_CMD_SIGIPCFG 1681 NOT 00:00:22.881528 VPNU: -events(1578): 96 bytes rcvd, rcvlen: 96 1682 NOT 00:00:22.882091 VPNU: -events(1578): EV_IP cesw1: old 0x0 1683 NOT 00:00:22.882383 VPNU: -get_ifaddress(): tun0 address: 0x00000000 netmask: 0x00000000

THX

Rather than using the FQDN for the NTP server try the equivalent numeric IP address of the NTP server in the XML config file. Finally check that the NTP server is actually reachable/issuing time updates. I know this sound dumb, but worthwhile to check from your PC, just to be sure :wink:

For testing purposes - have you used my NTP/time XML code snippet above - including my time zone setting?? This is definitely known to work on my 9971’s - and has been through all firmware iterations.

Finally, as I’m sure you’re no doubt well aware by now, Cisco’s are very finicky with the config files, and any minor error will result in the phone not updating the new config, the pervious config will be kept. So just make sure that your updated XML file is actually being applied - and that there is not a ‘grammatical’ XML error/wrong tag somewhere else that is causing an issue and therefore your updates not applied.

Any success using the above to work with other Cisco phones?

79x1
79x2
79x5
89xx
99xx

Can you bit a bit more specific when you say “the above”, as there is lots there mate? Clearly video is only going to work on the handsets capable of processing, transmitting and displaying it - so really only the 89xx and 99xx series phones.

Other folks on JIRA have tested the BLF/Presence capabilities of the patch with 79xx series phones, suggest you read carefully through the JIRA thread to check.

The XML code snippet above works on my 99xx series phones and will work fine for the 89xx series phones too. There are some XML code differences with the 79xx series phones, so I’m not going to say this XML config file will work nicely across to all those phones. Your mileage may vary.

Nightdipper, your question does not really make much sense, none of those phones offer Video.

The endpoint manager also supports most of them on a pre-8;4 build.

The above config is more specific to a Version 8.5 and above (especially 9) with the referred to Asterisk patches.

I have the cisco 9971 working but the calls with video between the phones are without quality. How can I improve calls with video on the phone cisco 9971?

Have you checked the video quality using soft phone to soft phone? How does it compare when calling 9971 to 9971 or with a soft phone as one end point and Cisco as the other.

I’ve enabled h264 as the only video codec under SIP setting in FPBX, and set the maximum video bit rate to 1000 kb/s.

Quality seems perfectly fine to me and matches the ‘preview’ quality on the phones.

I’d checked all the situations describes above with soft phone and the video worked very well. I too enabled h264 as the only video codec under SIP setting in FPBX.

I was thinking if there is some configuration for to do on the cisco 9971 or if I have to apply some patch on asterisk.

I have tried both the HTML and BBCODE versions of the code tag. Neither work.

It’s major hassle. Fixed pitch lists are converted to a variable font and look like crap.

I am also digging into it. In the interim, send me a PM and I can send any code quoted in an email, it’s all still there, just not visible.

No I have never had a 9971 or worked on one.

Guys perhaps I’m missing something being a noob on this site but I can’t seem to grab the XML config files posted. On both my Mac and Windows machine I have a grey background that is missing roughly 80% of the info, especially the tags.

Am I missing some simple setting somewhere?