02-06-2018 09:50 AM - edited 03-17-2019 12:08 PM
I'm testing a Cisco IP 7940 on a third party Voip service. Is there a way to configure the directory XML URL without having CUC or similar software?
Solved! Go to Solution.
02-08-2018 07:51 AM
Your thought is correct; you have to setup a TFTP server and upload the .xml config file there:
Here is a sample XML file for the 7940/7960:
<device> <versionStamp>{7960 Sep 12 2016 08:02:59}</versionStamp> <devicePool> <callManagerGroup> <members> <member priority="0"> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> </ports> <processNodeName>10.10.10.1</processNodeName> </callManager> </member> </members> </callManagerGroup> </devicePool> <commonProfile> <callLogBlfEnabled>2</callLogBlfEnabled> </commonProfile> <loadInformation></loadInformation> <userLocale> <name>English_United_States</name> <langCode>en_US</langCode> </userLocale> <networkLocale>United_States</networkLocale> <networkLocaleInfo> <name>United_States</name> </networkLocaleInfo> <idleTimeout>0</idleTimeout> <authenticationURL></authenticationURL> <directoryURL>http://10.10.10.1:80/localdirectory</directoryURL> <idleURL></idleURL> <informationURL></informationURL> <messagesURL></messagesURL> <proxyServerURL></proxyServerURL> <servicesURL>http://10.10.10.1:80/CMEserverForPhone/serviceurl</servicesURL> <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices> <dscpForCm2Dvce>96</dscpForCm2Dvce> <vendorConfig> <daysBacklightNotActive>1,7</daysBacklightNotActive> <backlightOnTime>08:30</backlightOnTime> <backlightOnDuration>00:01</backlightOnDuration> <backlightIdleTimeout>00:05</backlightIdleTimeout> <displayOnWhenIncomingCall>10</displayOnWhenIncomingCall> </vendorConfig> </device>
02-06-2018 11:54 PM
I assume you are referring to CUCM (and not CUC which is Cisco Unity Connection). Yes, you can do that if you change the <directoryURL> or the <servicesURL> of the phone's configuration file.
You may also find this helpful: Cisco Unified IP Phone Services Application Development Notes
02-08-2018 06:03 AM
Thanks for the response. When I view the Directories URL on the 7940 itself there doesn't appear to be a way to edit the URL. Under Current Settings it just says Unprovisioned. How do I provision it?
02-08-2018 07:37 AM
You will not edit it at the phone. You will create the corresponding XML configuration file and "feed" it to the phone. What kind of 3rd party server are you using? How do you register your 7940 phones?
02-08-2018 07:43 AM
I'm testing a service called Voip.MS. The phones are registered through them, but they don't push XML files to the endpoints. Do I need to setup a TFTP server with the XML files? Do you have any sample directory XML files I can take a look at?
02-08-2018 07:51 AM
Your thought is correct; you have to setup a TFTP server and upload the .xml config file there:
Here is a sample XML file for the 7940/7960:
<device> <versionStamp>{7960 Sep 12 2016 08:02:59}</versionStamp> <devicePool> <callManagerGroup> <members> <member priority="0"> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> </ports> <processNodeName>10.10.10.1</processNodeName> </callManager> </member> </members> </callManagerGroup> </devicePool> <commonProfile> <callLogBlfEnabled>2</callLogBlfEnabled> </commonProfile> <loadInformation></loadInformation> <userLocale> <name>English_United_States</name> <langCode>en_US</langCode> </userLocale> <networkLocale>United_States</networkLocale> <networkLocaleInfo> <name>United_States</name> </networkLocaleInfo> <idleTimeout>0</idleTimeout> <authenticationURL></authenticationURL> <directoryURL>http://10.10.10.1:80/localdirectory</directoryURL> <idleURL></idleURL> <informationURL></informationURL> <messagesURL></messagesURL> <proxyServerURL></proxyServerURL> <servicesURL>http://10.10.10.1:80/CMEserverForPhone/serviceurl</servicesURL> <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices> <dscpForCm2Dvce>96</dscpForCm2Dvce> <vendorConfig> <daysBacklightNotActive>1,7</daysBacklightNotActive> <backlightOnTime>08:30</backlightOnTime> <backlightOnDuration>00:01</backlightOnDuration> <backlightIdleTimeout>00:05</backlightIdleTimeout> <displayOnWhenIncomingCall>10</displayOnWhenIncomingCall> </vendorConfig> </device>
02-09-2018 06:54 AM
So there is no way to manually configure the URL without Cisco software or setting up a TFTP server? In other words, I can't just put the directory xml file on an internal web server and point the directory URL to that xml file. Is that correct?
02-09-2018 07:00 AM
For the 7940, no there is no other option.
For other phone model (eg. 78xx) you could purchase 3rd Party Call Control (3PCC) firmware that would allow you do so.
02-09-2018 10:01 AM
I created a configuration file using the sample you provided. Here it is:
<device>
<versionStamp>{7940 Sep 12 2016 08:02:59}</versionStamp>
<devicePool>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort></ethernetPhonePort>
</ports>
<processNodeName></processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<commonProfile>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation></loadInformation>
<userLocale>
<name>English_United_States</name>
<langCode>en_US</langCode>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
</networkLocaleInfo>
<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL>http://192.168.128.135:80/directory.xml>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<vendorConfig>
<daysBacklightNotActive>1,7</daysBacklightNotActive>
<backlightOnTime>08:30</backlightOnTime>
<backlightOnDuration>00:01</backlightOnDuration>
<backlightIdleTimeout>00:05</backlightIdleTimeout>
<displayOnWhenIncomingCall>10</displayOnWhenIncomingCall>
</vendorConfig>
</device>
I named it based on the <SIP MAC Address>.cnf.xml and placed it in the tftp directory on my tftp server. I then updated the network configuration settings on the 7940 to turn off DHCP and enter the IP address of the tftp server. I've rebooted the phone and the directory still isn't showing under the directories button. Any thoughts on what I'm doing wrong?
02-09-2018 10:06 AM
Does the phone register to the PBX and makes/receives calls? I see that in your XML configuration, you have not closed the <directoryURL> tag; i.e. </directoryURL>.
02-09-2018 10:31 AM - edited 02-09-2018 10:32 AM
The phone is registered with the PBX and makes/receives calls. I closed the tag and rebooted again. I checked the Directories URL in the settings and it says "Unprovisioned"still.
02-09-2018 10:59 AM
Can you take a packet capture from the phone (span the phone port to a PC and have a wireshark running) and open some SIP debugging at the server at the same time? To see what happens when you press the Directories button.
02-14-2018 06:03 AM
It looks like it was a file permissions issue. I've fixed it by changing the permissions to 777.
I do have another issue though. The directory listing won't dial.
Here's the XML text:
<CiscoIPPhoneMenu>
<Title>UPC IP Telephony Directory</Title>
<Prompt>People reachable via VoIP</Prompt>
<MenuItem>
<Name>Test</Name>
<URL>Dial:1010</URL>
</MenuItem>
</CiscoIPPhoneMenu>
The directory loads fine, but when I push "select" nothing happens. I'm assuming it's an issue with the URL, but I can't seem to find a solution.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide