Introduction
This document describes the various methods to disable directory access on a set of phones.
In Cisco Unified Communications Manager (CUCM) 7.X and later, the IP Phone Services have various directories such as:
- Missed Calls
- Received Calls
- Placed Calls and so on
Choose Device > Device Settings > Phone Services in order to view the IP Phone Services.
By default, all services (except Intercom Calls) have Enterprise Subscription enabled. This means it is automatically assigned to all phones.
The TelecasterService table stores the parameters for all Phone Services that are provisioned on the system. This default entry is:
admin:run sql select name, priority, urltemplate, pkid from telecasterservice
name priority urltemplate pkid
===================== ======== ===================================== ====================================
Missed Calls 1 Application:Cisco/MissedCalls d0059763-cdcc-4be7-a2a8-bbd4aac73f63
Received Calls 2 Application:Cisco/ReceivedCalls 0061bdd2-26c0-46a4-98a3-48a6878edf53
Placed Calls 3 Application:Cisco/PlacedCalls a0eed443-c705-4232-86d4-957295dd339c
Intercom Calls 4 Application:Cisco/IntercomCalls 27f92f3c-11ed-45f3-8400-fe06431c0bfc
Personal Directory 5 Application:Cisco/PersonalDirectory 4a9d384a-5beb-4449-b176-cea0e8c4307c
Corporate Directory 6 Application:Cisco/CorporateDirectory 7eca2cf1-0c8d-4df4-a807-124b18fe89a4
Voicemail 1 Application:Cisco/Voicemail ca69f2e4-d088-47f8-acb2-ceea6722272e
The methods to disable the directory on a phone are:
- Manual Update
- Service Provisioning
Manual Update
Method 1: Delete and Readd the IP Phone Services from the GUI without Enterprise Subscription Enabled
Complete these steps in order to perform a bulk update to all the phones that require directory access.
- Choose Bulk Administration > Phones > Phone Template, and create a phone template.
- Subscribe the phone template to the IP Phone services.
- Choose Bulk Administration > Phones > Update Phones > Query, and choose the phone that require directory access.
- On the next page, check the Assign IP Phone Services check box.
- Choose the template created.
- Submit the job.
In this method, there is no option to modify the priority field and by default it is configured with a priority of 50.
admin:run sql select name, priority, urltemplate, pkid from telecasterservice
name priority urltemplate pkid===================== ========== ======================================== ========================================
Missed Calls 50 Application:Cisco/MissedCalls d0059763-cdcc-4be7-a2a8-bbd4aac73f63
Received Calls 50 Application:Cisco/ReceivedCalls 0061bdd2-26c0-46a4-98a3-48a6878edf53
Placed Calls 50 Application:Cisco/PlacedCalls a0eed443-c705-4232-86d4-957295dd339c
Intercom Calls 4 Application:Cisco/IntercomCalls 27f92f3c-11ed-45f3-8400-fe06431c0bfc
Personal Directory 50 Application:Cisco/PersonalDirectory 4a9d384a-5beb-4449-b176-cea0e8c4307c
Corporate Directory 50 Application:Cisco/CorporateDirectory 7eca2cf1-0c8d-4df4-a807-124b18fe89a4
Voicemail 1 Application:Cisco/Voicemail ca69f2e4-d088-47f8-acb2-ceea6722272e
The priority defines the order of services listed in the directory. If multiple services have the same priority, the services are listed in alphabetical order.
The priority field can be changed manually from the CLI using this query:
run sql update telecasterservice set priority = 1 where pkid = 'd0059763-cdcc-4be7-a2a8-bbd4aac73f63'
Note: In CUCM Version 7, the services are displayed in the alphabetical order even if the priority is set. This field is applicable only from CUCM Version 8 onwards. IP Phone 7940/7960 does not use internal services provisioning. This phone model always uses external services provisioning. Check the Service Provisioning Paramter section for more details on the types of Service Provisioning.
Method 2: Delete the IP Phone Services from the GUI, and Re-Add them using CLI Commands
- Delete the IP Phone services from the GUI.
- Enter this command in the CLI in order to create the IP Phone service:
run sql insert into telecasterservice (pkid,Name,NameASCII,Description,URLTemplate,tkPhoneService,EnterpriseSubscription,Priority) values('d0059763-cdcc-4be7-a2a8-bbd4aac73f63','Missed Calls','Missed Calls','Missed Calls','Application:Cisco/MissedCalls',1,'f',1)
All other services are available in the release notes. (Ensure the Enterprise Subscription parameter is changed to 'f'. In the release notes, it is set to 't.') For more information, refer to http://www.cisco.com/en/US/partner/docs/voice_ip_comm/cucm/rel_notes/7_0_1/cucm-rel_notes-701.html#wp631159
- For all phones that require directory access, complete these steps in order to perform a bulk update:
- Choose Bulk Administration > Phones > Phone Template, and create a phone template.
- Subscribe the Phone Template to the IP Phone services.
- Choose Bulk Administration > Phones > Update Phones > Query, and choose the phone that requires directory access.
- On the next page, check the Assign IP Phone Services checkbox.
- Choose the template created.
- Submit the job.
Note: In CUCM Revision 7, the services are displayed in alphabetical order even if the priority is set. This field is applicable only from CUCM version 8 onwards. IP Phone 7940 will not use internal services provisioning. This phone model always uses external services provisioning. Check the Service Provisioning Paramter section for more details on the types of Service Provisioning.
Service Provisioning Parameter
The Service Provisioning parameter determines whether a phone receives the service configurations internally (in the TFTP config file - service configured as IP Phone Services) or externally (with service URLs - configured under Enterprise parameter or at the device level). This parameter can be controlled at a device level via the "Common Phone Profile" setting on an IP phone. The default behavior is to use internal service provisioning.
Method 1: Create a Common Phone Profile, and Change Service Provisioning to External URL
- Choose Device > Device Settings > Common Phone Profile in order to create a common phone profile.
- Copy the 'Standard Common Phone Profile". In the Phone Personalization Information section, change Service Provisioning to External URL.
- Choose the phones that do not need directory access, and assign them to the new Common Phone Profile.
- Choose System > Enterprise Parameters, and delete the URL directories parameter.
- The URL Messages field is set to blank by default. Enter this URL: http://<IP Address of Publisher>:8080/ccmcip/getmessagesmenu.jsp. The message URL is required as the voicemail access is now based on the external URL and not on IP Phone services.
- Restart the IP phone.
- Press the Directories button. The message "No Services Available" is displayed, and the menu is not displayed.
Note: In this method, voicemail access is a two-button process. Press the Voicemail button, and then select the voicemail option using the Keypad/Select softkey. Also, instead of using a Common Phone Profile, it can be directly set on the Device Configuration page.
Method 2: Remove the URL Directories Parameter at the Device Level
The URL directories parameter can be removed at the device level (instead of under the Enterprise parameter).
- Choose Device > Device Settings > Common Phone Profile in order to create a Common Phone Profile.
- Copy the "Standard Common Phone profile". In the Phone Personalization Information section, change the Service Provisioning to External URL.
- Assign the Common Phone Profile created for all the phones that do not need directory access
- Add an invalid URL on the phone configuration page. This setting takes precedence over the Enterprise Parameter settings.
- Choose System > Enterprise Parameters. The URL Messages field is set to blank by default. Add this URL: http://<IP Address of Publisher>:8080/ccmcip/getmessagesmenu.jsp. This step is required as the voicemail access is now based on the external URL and not IP phone services.
- Restart the IP phone.
In this method, when you Press the Directories button, the message "Host Not Found" is displayed on the phone screen.
Note: In this method, voicemail access is a two-button process. Press the Voicemail button, and then select the voicemail option using the Keypad/Select softkey. Also, instead of using a Common Phone Profile, it can be directly set on the Device Configuration page.
Method 3: Service Provisioning and URL Directories are Set Under Enterprise Parameter
- Set Service Provisioning to Both under Enterprise Parameter.
- Set URL Directories in this format: http://<IP Address of Publisher Server>:8080/ccmcip/xmldirectory.jsp
- Choose Device > Device Settings > Phone Services, and delete all services except voicemail.
- Set the Service Provisioning parameter to Internal for all the phone that does not require directory access.
- Reset all IP phones.
Note: Service provisioning can also be set with a Common Phone Profile as seen in the first two methods of the Service Provisioning parameter. In this method there are 5 options under Directories in this order: Missed Calls, Received Calls, Placed Calls, Personal Directory and Corporate Directory.
Method 4: Directories URL is Hosted on an External Web Application
In this method, when the Directories button is pressed, the options displayed are limited.
In this example, the personal directory option is not available. The directory URL is hosted on an External Web Application server.
- Create an .xml file with these contents:
<CiscoIPPhoneMenu>
<MenuItem>
<Name>Missed Call</Name>
<URL>Application:Cisco/MissedCalls</URL>
</MenuItem>
<MenuItem>
<Name>Received Call</Name>
<URL>Application:Cisco/ReceivedCalls</URL>
</MenuItem>
<MenuItem>
<Name>Placed Call</Name>
<URL>Application:Cisco/PlacedCalls</URL>
</MenuItem>
<MenuItem>
<Name>Corporate Directory</Name> <URL>Application:Cisco/CorporateDirectory</URL>
</MenuItem>
</CiscoIPPhoneMenu>
To obtain a copy of the template, refer to the CiscoIPPhone XML Object Quick Reference section of the Cisco Unified IP Phone Services Application Development Notes. Copy template for the CiscoIPPhoneMenu object.
- Upload the .xml file to the document root of the Web Application server.
- Restart appropriate service. (For Windows, restart the IIS service.)
- Choose System > Enterprise Parameters in the Call Manager, and give the URL Directories parameter in this format:
http://<IP Address of Application Server>/<File name created above>.xml
- Set the Service Provisioning to Both in the Enterprise Parameter section.
- Choose Device > Device Settings > Phone Services, and delete all services except voicemail.
- Set the Service Provisioning parameter to Internal for the phone that does not require directory access.
- Reset the IP phone.
Note: The Service Provisioning can also be set using a Common Phone Profile as in the first two methods of the Service Provisioning parameter section
Method 5: Directories URL is Hosted on an External Web Application and with Customized Message
This method is similar to the method 4; however the message "No Services Configured" can be customized.
In this method, when the Directories button is clicked, the options displayed are limited. In this example, the Personal directory option is not available, and the directory URL is hosted on an External Web Application server.
- Create an .html file with these contents. This is the message that can be customized.
No Services Configured
- Upload the .html file to the document root of the Web Application server.
- Create an .xml file with these contents:
<CiscoIPPhoneMenu>
<MenuItem>
<Name>Missed Call</Name>
<URL>Application:Cisco/MissedCalls</URL>
</MenuItem>
<MenuItem>
<Name>Received Call</Name>
<URL>Application:Cisco/ReceivedCalls</URL>
</MenuItem>
<MenuItem>
<Name>Placed Call</Name>
<URL>Application:Cisco/PlacedCalls</URL>
</MenuItem>
<MenuItem>
<Name>Corporate Directory</Name>
<URL>Application:Cisco/CorporateDirectory</URL>
</MenuItem>
</CiscoIPPhoneMenu>
To obtain a copy of the template, refer to the CiscoIPPhone XML Object Quick Reference section of the Cisco Unified IP Phone Services Application Development Notes. Copy template for the CiscoIPPhoneMenu object.
- Upload the .xml file to the document root of the Web Application server.
- Restart the appropriate service. (For Windows, restart IIS service.)
- Choose System>Enterprise Parameters On Call Manager and give this URL Directories parameter:
http://<IP Address of Application Server>/<File name created above>.xml
- Set the "Service Provisioning" to Both in Enterprise Parameter section.
- Select the Phone that does not require Directory access, In this section External Data Locations Information > Directory, add this URL: http://<IP Address of Application Server>/<File name created above>.html
- Choose Device > Device Settings > Phone Services and delete all services except voicemail.
- Reset the IP phones.
Note: When the Directories button is pressed "No Services Configured" message is displayed in directories and not as a message at the bottom of the screen as seen in the previous methods.
Method 6: Modify Method 4 or Method 5 if you Do Not Want to Delete the IP Phone Services
If you do not want to delete the IP Phone Services, complete Method 4 or Method 5 with these changes:
- Set the Service Provisioning to External in Enterprise Parameter section.
- Choose System > Enterprise Parameters. The URL Messages field is set to blank by default, add this URL:
http://<IP Address of Publisher>:8080/ccmcip/getmessagesmenu.jsp
Note: In this method, voicemail access is a two-button process. Press the Voicemail button, and use the Keypad/Select softkey in order to select the voicemail option.