Home
How to Disable Corporate Directory in CUCM 7.x

Recently I fielded a request from a customer to explain how they could restrict access to the Corporate Directory and Personal Directory from an IP phone.  I checked into it and found that CUCM 7.x introduces a few changes that actually allows administrators to properly address requests like this one.

 

 

The request to disable or restrict access to the corporate directory is actually quite reasonable and not uncommon.  One common scenario is that the customer wants to restrict access to an internal/corporate directory from a common area phone.  This request can be simply hide the Corporate Directory, hide the Personal Directory, or disable the button entirely.  In pre-CUCM7x systems you can't accomodate all of these requests but in CUCM7x you have much more flexibility.  We'll talk about the general process flow first and then discuss the pre- and post-CUCM7x options.

 

What is the corporate directory?

The Corporate Directory is a Cisco feature that allows users to search a repository of names and phone numbers.  By default it is an application that runs on the CUCM cluster which uses data stored in the "enduser" table.  You can check out the data in your "enduser" table by issuing the following query via AXL/SOAP or at the command shell:

admin:run sql select firstname,lastname,telephonenumber from enduser
firstname lastname telephonenumber
========= =================== ===============
**TELEPHONENUMBER** David Hailey 1203123 Bill Bell 1203456 Andre Wright 1203789

Data displayed in the default Corporate Directory application uses the "enduser" database table even when you have DirSync enabled.  Data is replicated from your corporate LDAP to the "enduser" table.

How does the phone access the corporate directory?

When a user selects the directories button on the Cisco IP phone it is actually using a URL provided by the CUCM configuration to pull an XML document from a designated location.  By default this is an application hosted on one of the CUCM cluster nodes.  However, this is not required.  You can write your own Corporate Directory application.  As long as the application can provide a properly formatted XML document to the IP phone, you are in business.

How does one disable the corporate directory in pre-CUCM7x versions?

In a pre-CUCM7x build, if you wanted to disable the corporate directory for all phones, you simply go to System>Enterprise Parameters and scroll down to the Phone URL Parameters section and delete the URL you find in the URL Directories parameter.  Click on save, reset the phones, and Corporate Directory is no more.  This will also remove the Personal Directory option provided in CUCM 5x and later releases.

In most cases, you don't want to disable the Directories URL for all phones but only specific groups of phones.  In this case, you have two options.

Option 1:

Delete the Directory URL setting in Enterprise Parameters and then specify the valid Directory URL at the device level for phones you want to have it enabled on.  The default is "disabled" so, if a phone has no URL defined in the device config, it uses the default.

Option 2:

With the Enterprise Parameters set to use the valid URL, you can put a bogus setting on the phone configuration page for phones you want to restrict.  I have looked through some forum threads and some people like to actually put a bogus URL like: http://1.1.1.1/bogus.html or http://nodirectory or something equally trivial.  This method doesn't work so well for me.  I mean, it achieves the same end goal but there is a side effect.  The phone will actually try to resolve and connect to the URL.  So, what you see on the phone is something like this:

Notice the erroneous request and resulting timeout.  This is somewhat annoying to me. You can avoid this, at least in CUCM 6x and relevant phone firmware.  If you specify a URL like "disable" or "heythere"  then you can actually avoid the "Host Not Found" error.  Why?  Well, my guess (I didn't write the firmware) is that the phone recognizes an invalid URL and just ignores it without kicking out an error message to the screen.

So, what about CUCM 7x?

In CUCM 7x, I found that quite a few things have changed.  I messed around in the lab a little to understand the "new" behavior and I learned quite a bit.  First, in CUCM 7x the various directories like Missed Calls, Received Calls, Placed Calls, etc. are now IP Phone Services.  You can see them by going to Device>Device Settings>Phone Services:

Would you look at that!  ...What am I looking at?  Basically, think of each menu item you would normally see in the "Directories" menu as a service.  You can now configure them individually.  One may think that they can assign/unassign directory features like they would say Extension Mobility.  It isn't that straight forward, at least by default.  You will notice that there is a parameter in the tabular view called "Enterprise Subscription".  This is a key attribute.

When an IP Phone Service is setup as an Enterprise Subscription, this means that it is automatically assigned to all phones.  In otherwords you can't "unassign" the service.  At least not in one step.  Also, you can only toggle the Enterprise Subscription parameter when you create an IP Phone Service.  So, services like Corporate Directory (which are "configured" on system build) are already enabled as an Enterprise Subscription.  We'll come back to this in a moment.

There is another, related feature that we should understand a little before playing around with the new toys.  I believe the feature is called "Enhanced Service Provisioning".  It basically allows an administrator to set a parameter which tells a phone to get service configurations either internally (using TFTP config file) or externally (using service URLs).

The configuration controlling how phones behave is controlled at a system-wide level with a new Enterprise Parameter called "Service Provisioning".  This parameter can also 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 which means:

  • Phone Services are provisioned using IP Phone Service settings and delivered to the phone in the configuration file (TFTP)
  • Messages/Directories URL parameters are not used

When this parameter is set to use External Service Provisioning, the device will use the URL parameters as they would in pre-CUCM7x builds.  So, Internal is the new method and External is the old method. You can also configure the "Service Provisioning" parameter to do both.  I haven't played with that much yet.

So, lets say you wanted to disable the Personal Directory feature from all phones in the cluster, how would you proceed?  This is easy, go to Device>Device Settings>Phone Services.  Click on Personal Directory and toggle the "Enable" option off.  Click on Save and then Update Subscriptions.  Of course, you need to soft restart IP phones for it to take effect.  Once you are done, no phone in the cluster will have access to the Personal Directory.

What if you wanted to disable it on only a few phones?  This is slightly tougher.  By default, phones use Internal Service Provisioning.  Which means that the Directory URL is ignored.  Further, when using the Directory URL (i.e. "External Service Provisioning") you don't have the option to just filter out the Personal Directory (unless, of course, you are custom building the application - different topic).  Further, the Personal Directory has the Enterprise Subscription flag enabled and you can't disable it.  This isn't a huge deal, simply do the following:

  • Take note of all of the parameters for the Personal Directory service
  • Delete the Personal Directory service
  • Add a new server called Personal Directory and add in all of the parameters except the Enterprise Subscription flag, make sure this is turned off
  • Now, update the Subscriptions on an individual phone so they are subscribed to the Personal Directory service you just created
  • You are done

This method applies to all of the directory Phone Services.  So, if you wanted to disable the Corporate Directory you can do this using the same methodology.

Now, one of the problems I have heard people complain about is that they want to disable the Directories button completely.  I saw this on a Netpro thread recently and when I mocked the scenario up in my lab I experienced the issue the user was having.  The solution is found in the understanding of how the "Service Provisioning" parameter works with the Phone Services.

Let's say you have 2000 phones and you want to disable the Directories button a 20 of them.  There are a few approaches but I like the following best.

  • In CCMAdmin go to Device>Device Settings>Common Phone Profile
  • Select and copy the "Standard Common Phone Profile"
  • Configure this new profile as follows:

Notice that we are specifying External Service Provisioning for this common profile. Now, proceed to assign this profile to an IP phone.

  • Go to Device>Phone
  • Select the "Common Phone Profile" setting and choose the new phone profile "External URL Phone Profile"
  • Click on Save and Apply Config

So, what have we accomplished.  We basically have told the target phone to not use the Enterprise Subscription Phone Services and to use the Messages and Directory URLs instead.  Does this accomplish our goal?  Assuming you have the default configuration applied for the Enterprise Parameters URL settings then you have fallen short of your goal.

Since we have told the phone to use the External Service URLs it will behave like a pre-CUCM7x phone.  Which means, the device settings URL for Directory must be considered.  By default, this field is blank.  Which does not mean "disabled", it simply means use the Enterprise Parameters.  Now, the Enterprise Parameters will still have the xmldirectory.jsp URL configured by default.  So, when you go to the phone with the "External URL Phone Profile" configured and hit the directories button, you still pull down the Directories menu.

To "fix" this, go to the System>Enterprise Parameters and delete the URL Directories parameter.  Restart the IP phone and now when you hit the Directories button you will see a message "No Services Available" at the bottom of the phone screen and no menu is displayed.  Now, you have successfully disabled the Directories button.

Missed Calls/Received Calls/Placed Calls

(Added 8/31/2010)

Some readers noted that when they enabled a custom corporate directory Missed Calls, Received Calls, and Placed Calls would no longer be presented as menu options.  This is by design.  The developer will need to modify their back-end application to accommodate presentation of these directory URLs:

  • Missed Calls:  "Application:Cisco/MissedCalls"
  • Received Calls: "Application:Cisco/ReceivedCalls"
  • Placed Calls: "Application:Cisco/PlacedCalls"

A snippet of Java code from one of my corporate directory applications:

These URLs essentially tell the phone to load a local "application".  IOW, you won't see the phone try to resolve these URLs to a network entity.  The directories are still stored on the phone itself.

 

Comments (59)Add Comment
0
Corporate Directory
written by CJ Guinn, October 19, 2009
This is an awesome Article and solved my Problem with My Upgrade to CUCM 7.1(2B)SU1 and the Corporate Directory.

I have a custom Script that was working and after the upgrade no longer worked. I just disabled the Coporate Directory by unchecking the enable box and reset my phones to get it to work.

I do not have the Service Provisioning External URL Option in the 7.1.2 version. Atleast I ahve not found it.

Thanks fo the Article.....
0
Wow...Very Nice
written by Dan Williams, November 19, 2009
It is everything I was hoping to learn and more! Thanks for taking the time to share this with all of us in the field!

Dan
0
CUCM Adminstrator
written by Anas, January 25, 2010
Hi, I want to set contact list in Cisco IP phone can you help me to do this
Thanks
Anas
William Bell
Re: CUCM Administrator
written by William Bell, January 25, 2010
Anas,

We could possibly help. Can you provide more information on what it is you are trying to accomplish and what kind of help you need?

Regards,
Bill
0
Service URL for Missed calls
written by Georges Mansour, July 07, 2010
Hi guys,

Does any one have the url link for missed calls and placed calls and received calls like the url for the corporate directory?

Regards,
0
Trying to use external directory but missed calls not appearing
written by Greg Given, August 17, 2010
I have setup an external xml file and it works as expected for directory lookups. however when sepcifying external url my missed calls and placed calls go away. how can I confugre this so they stay and we have access to an external url for directories?
William Bell
Re: Service URLs for Placed, Missed, and Received calls
written by William Bell, August 31, 2010
Greg and Georges,

Sorry for the delay in responding. I have been engaged on other tasks. You can reference the Missed/Placed/Received calls easily by using the same URLs that you see listed in the CUCM 7.1 phone services list.

I updated the blog article to answer your questions. I tried to paste the content here but our blog engine isn't cooperating to XML content.

HTH.

Regards,
Bill
William Bell
Re: Service URLs for Placed, Missed, and Received calls
written by William Bell, August 31, 2010
Greg and Georges,

My comments were not being posted intact. Our blog engine doesn't handle special characters. So, I just incorporated the answer to your question in the blog article itself. Scroll to the bottom and you should see a good (and intact) answer/example.

HTH.

Regards,
Bill
0
Service URLs for Placed, Missed, and Received calls
written by Chris Kaleth, January 11, 2011
Bill...great post! We are getting around to UCM 8.x and this helped alot! I'm still stumped on how to get the Placed/Misses/Received calls to display when I have the corporate directory configured as a external URL. Where does the developer come into play and where exactly are they developing?
When I changed the common profile config to "external" I lost Placed/Missed/Received. When I changed it to "both" I had 2 corporate directories and the placed/missed/received.

Also, do I need to add the external URL in the Enterprise Services or just the Corporate Directory Phone service or both?
William Bell
Re: Service URLs for Placed, Missed, and Received calls
written by William Bell, January 12, 2011
Chris,

I assume that you have a server-side web application in your network. When you enable the external URL, you will want to point the enterprise parameter (or device parameter) for the corporate directory to your web server.

The behavior you are seeing with respects to "losing" the placed/missed/received calls is expected. Your application needs to tell the phone to display these menu options. To get the placed/missed/received calls to display, your developer will need to incorporate the appropriate XML child nodes into whatever code they are using to generate the XML menu. An example is provided at the end of the blog post. The example is based on jscript in an ASP.

HTH.

Regards,
Bill

0
...
written by Bo , March 28, 2011
Hi Bill,

Great article!

What if I want to add a second corporate directory? What will happen to a phone that subscribes to both corporate directories?
Thank you,


Bo
William Bell
Re: subscribe to second corporate directory
written by William Bell, March 29, 2011
Bo,

Thanks for the feedback. If you have two different corporate directories you can configure a phone to subscribe to them as a service. This would mean you access the directories via the Services button on the phone rather than the Directory button. You would want to use different directory names in this case.

If you wanted the two directories to be accessed through the directories button then you would need to do the following:

1. Set Services Provisioning to External
2. Create a custom XML application that provides a phone menu where your custom directories are listed. This custom application should also account for Missed, Received, and Placed call lists.
3. Configure the directories URL on the device to point to your XML application

HTH.

Regards,
Bill
0
Multiple tenant groups with different corporate directories
written by Jim, April 01, 2011
Anyone knows how to configure custom external directories for CUCM. I need to be able to point different phones to different directories, and have these directories be hardcoded to search by department, and let the user enter first name and last name as search criteria. I know how to change the directory url for the phone, but I need help with the actual building of the script. The main difference for each search is the department, which will equal the tenant company name. Any help would be appreciated guys.
William Bell
Re: multiple tenant groups with different corporate directories
written by William Bell, April 07, 2011
Jim,

I have done this for customers before. I have had two different approaches. For one customer, I used the IP address of the device to determine the digits displayed/search options. This was done because the customer imagined a scenario where EM or a VoWLAN phone could see a custom directory "per building". E.g. "Operator" in building A is different than building B. Using the IP address can get you there.

The other option is to use a custom URL with a query string that is exposed to CCMAdmin as a parameter for the IP phone service. This will make it easy to have different rules for display/filters based on what phone submits the request.

Now, as far as helping with the script, it is custom work and we may be able to help. If you are looking for PS help then send a message to This e-mail address is being protected from spambots. You need JavaScript enabled to view it '> This e-mail address is being protected from spambots. You need JavaScript enabled to view it . If you had specific questions, you can post here and I (or others) will try to answer.

Regards,
Bill
0
How to get missed calls
written by Norberto, April 11, 2011
Hello William:

I need to get missed calls, by executing an url o an ws. I saw one comment where you say that is an url "Application:Cisco/MissedCalls", but ¿how can invoke this?

best regards.
0
But how do you resurrect the voicemail button?
written by Paul, April 13, 2011
Where I am, even executives have cubicles so anyone can see their calls if they poke around their phone directories after hours. I can disable the button for a single user at a time by using the Common Phone Profile> Services Provisioning> External URL method, then delete the Enterprise Parameters> URL Directories url. Great.

BUT, this also forces the voicemail button to use the Enterprise Parameters> URL Messages url. I can not find ANYWHERE what that url should be for CUCM 7.1 with CUE 7.0.

The other option (as I see it) is to remove all the other directories as enterprise subscriptions, rebuild them as non enterprise subscriptions, and then subscribe all phones BUT the executives to them.

Any insight?
Thanks!
Paul
William Bell
Re: How to get missed calls
written by William Bell, April 13, 2011
Hey Norberto,

If you look at the end of the blog, you will see a code example on how to reference the Missed Calls application URL.

HTH.

Regards,
Bill
William Bell
Re: But how do you resurrect the voicemail button?
written by William Bell, April 13, 2011
Paul,

First, have you tried provisioning the phone to use both Internal and External URL provisioning? The setting of "Both" under the Common Phone Profile Config is worth checking.

Second, for your execs you may want to consider using Extension Mobility and enable the CUCM service parameter to clear call logs when a user logs in or out of a phone. This way, they can access the call logs while in the office and the call logs are erased when they leave. Worth considering.

HTH.

Regards,
Bill
0
How to get missed calls
written by Norberto, April 13, 2011
Hi Bill, thanks in advance.

I can't understant how invoke this url, since i guess it's a relative one (Application:Cisco/MissedCalls).

I'm invoking many services, for example: https://:/realtimeservice/services/RisPort
https://:/axl/

But I can't find any request to get missed calls from specified device.

I don't know in what context I can use this url (Application:Cisco/MissedCalls) since I need do it from an application written in c#.

I was trying to use the server url https://:/Cisco/MissedCalls?device=xxxxxx
or the phone url http://phone_ip/Cisco/MissedCalls

May be, I am misunderstanding the concept.

Please help me

Best regards.






William Bell
Re: How to get missed calls
written by William Bell, April 13, 2011
Norborto,

If I understand your request, you are looking for a method to remotely pull the missed calls list from the phone. I was referring to the ability to still provide a missed calls list from the phone's perspective. Basically, if you build a custom corp. directory application for phones, your app needs to make these URLs available to the phone via the XML response to the phone.

So, I am guessing we are talking about different solutions.

AFAIK there is no way to remotely retrieve the missed calls list from the phone via direct API calls. It is important to note that CUCM does not store Missed/Received/Placed calls. The phone caches this information.

HTH.

Regards,
Bill
0
How to get missed calls
written by Norberto, April 13, 2011
Ok,Bill thank you very much.
0
Resolve name external inbound calls
written by Norberto, April 14, 2011
Hi Bill, I have another question.

Please, tell me if there is a way to trap external inbound calls, lookup the number in a local directory and display the message with last, first name in the target phone.

thx in advance

regards.

ps: is this the right blog to post?
William Bell
Re: Resolve name external inbound calls
written by William Bell, April 14, 2011
Norberto,

CUCM has no way to resolve calling number to name via a directory lookup. Some soft clients do this via user defined address books or LDAP hooks. One of my fellow CSC Netpros wrote a TCL script that apparently addresses your need. I haven't tested this script nor can I attest to performance, usability, or stability. The script is called "number to name" and is available here: http://www.ciscoxmlservices.co...vr-scripts

Since it is a TCL app, it runs on the gateway and requires that the gateway is not backhauling ISDN B+D to CUCM (i.e. it won't work with MGCP).

HTH.

Regards,
Bill
0
Messgae button not active
written by james, May 09, 2011
Hi Bill, thanks for the detail step outlined to remove directory services, after following the steps the Message button also has no Service Configured. What the url for the message. I think it needed since the Service provision is now set to External.

Thanks
James
William Bell
Re: Message button not active
written by William Bell, May 13, 2011
James,

Well, you can set service provisioning to support both internal and external ("Both" is the setting). That should address your immediate issue. In regards to the URL typically assigned to the messages button, it is "Application:Cisco/Voicemail".

HTH.

Regards,
Bill
0
How to hide a user in corporte directory integrated with ldap
written by Baten, May 13, 2011
Hi Bill,
I am wondering if there is a way to hide specific user's extension number in corporate directory or the the user itself. For example the CFO does not want his extension to be diplayed in the corporae directory. The user should be able to authenticate against ad . CUCM version is 8.03x.

Thanks in advance.

Baten
William Bell
Re: how to hide a user in corporate directory integrated with ldap
written by William Bell, May 13, 2011
Baten,

Your approach would depend on how you use the LDAP information today. For instance, you could clear the telephoneNumber or ipPhone attribute for the user. This would result in the user being searchable in the directory, but no phone number would be presented. However, if you were using the telephoneNumber/ipPhone attribute for other things (CUPC, MOC, other apps?) then you could introduce a problem.

I also believe that if a user object's sn value is blank, then the object will not be synchronized. I may be fuzzy on the details. It isn't a practice I recommend, so I haven't tested it out.

You could also use permissions to hide the user objects from the CUCM DirSync service account. This means the user object is never synchronized. Which could impact other applications you want the user to use.

Basically, there is a trade off for all of these methods. So, it is important to understand what would be impacted by allowing the executive to hide his/her number.

The optimal approach is to build a custom corporate directory application where you can create a "block directory" list or something similar. This allows you to avoid impacting other applications/uses by focusing the filter on what you want to hide (corporate directory). There is a somewhat outdated example of a customer corporate directory application on Cisco's developer website (look for the phone SDK @ developer.cisco.com).

HTH.

Regards,
Bill
0
external caller id name
written by Michele, May 18, 2011
Hi Bill!
Very interesting and useful post! Just a question, is the corporate directory usable also for the external calls?
I mean having external calls informations ( IE first name last name number ) displayed on the phone by the mean of the corporate directory in MissedReceivedPlaced calls?
Thanks.
William Bell
Re: external caller id name
written by William Bell, May 18, 2011
Michele,

Thanks for the feedback!

No, the corporate directory application cannot be used in the manner you describe. Actually, there is no native way in the CUCM to resolve calling party names using a corporate directory. You will sometimes see software clients doing this for the user, but it is done by the soft client.

To do something similar for standard IP phones and CUCM, you would need to consider a "man in the middle" approach. One option is to leverage TCL scripts on a H323 voice gateway. There are two scripts I have seen:

1. A script on the Cisco Developer site: http://developer.cisco.com/web/vgapi/resources

The script is called "Modifying Calling Name".

2. A script put together by a third party: http://www.ciscoxmlservices.co...vr-scripts

Look for "Number to Name" in the script description table.

I have not tested either script, so I can't make a specific recommendation at this time.

HTH.

Regards,
Bill

0
both option
written by hythim, May 20, 2011
If we use the "both" option in service provisioning, and delete the URL Directories

The mssg button i think will still work cause of using internal service provisioning but will the Directories button will still work cause the phone still see the internal
William Bell
Re: both option
written by William Bell, May 21, 2011
Hythim,

Not sure I follow the scenario or not. You are deleting the enterprise subscription for directories and setting the provisioning method for a device (or group of devices) as "both". You will want to check the URL Directories parameter in the Enterprise Parameters section of the config and/or check the URL Directories parameter at the device level. These fields identify external sources and may be used if provisioning is set to external or both.

HTH.

Regards,
Bill
0
Still directory button
written by imagimatrix, July 14, 2011
hi,

thanks about your blog, it's helps me to understand more about CUCM.

I want to disable Directory Button, I tried to do all steps on a virtual CUCM 7.1 with a CIPC, but still appear it.

do you think this is becouse I using a virtual machine or a CIPC?

Thanks.
0
TCL "number to name" script
written by Norberto, September 09, 2011
Hi Bill, I get the script "number to name" from ciscoxmlservices.com and it works. The script recover from an URL the name of the caller if exists.
Now, my problem is the screen area in which the caller information is displayed, i mean, its too small and its not enoght to display first and last caller names even other information. Do you know a way to increase o configure the screen phone for caller information?

best regards

Norberto
William Bell
Re: TCL "number to name" script
written by William Bell, September 09, 2011
Norberto,

I have not used that particular script. I do not know of a way to increase the size of the call pane (which is what displays the information you are looking for).

Regards,
Bill
0
Common Phone Profile Configuration - Phone Personalization Information - Services Provisioning - Both
written by John, October 17, 2011
Bill,

Great article with great comments and answers. I just wanted to share my experience as it seems others have run into the same issues I was experiencing. My environment is CUCM 7.1.5 with an external LDAP server used for the Corporate Directory lookup function. I went from CallManager 4.2 to CUCM 7.1.5 and noticed that the Corporate Directory lookup function was not working as expected. In CallManager 4.x, the Corporate Directory Lookup function was invoked using URLs (at the device level for subsets of the phones and at the enterprise parameter level for all other phones). In CUCM 7.1.5, the Services Provisioning parameter at the device level (i.e. - as specified in the Common Phone Profile Configuration - Phone Personalization Information section - Services Provisioning - "default") and at the enterprise parameter level (under the Enterprise Parameters Configuration section - "internal") both use internal services provisioning. So, from the Corporate Directory Lookup function standpoint, this means that CUCM will look at the corporate directory built on the CUCM servers (i.e. - the end user database). The directory menu displayed when pressing the directories button on the phone shows the following:
1. Missed Calls
2. Received Calls
3. Placed Calls
4. Corporate Directory
I found that this (what is being displayed) is being controlled via the Phone Services under (Device - Device Settings - Phone Services). Those services that have the Enterprise Subscription flag = true and the Service Type = Directories under the service itself, will be displayed when pressing the Directories button. To hide any of these services, uncheck the "Enable" box.
The above-mentioned description covers the scenario when service provisioning is being performed “internally”.
When service provisioning is done “externally” (i.e. – by specifying “external” in the Common Phone Profile for Services Provisioning), I saw one option under the directory menu display and that was for the Corporate Directory, so the directory menu displayed when pressing the directories button on the phone shows the following:
1.Corporate Directory

This provided the correct (i.e. – accessing the LDAP server by using the URLs) Corporate Directory Lookup Function, but obviously, I was missing the other 3 directory menu entries (i.e. – Missied Call, Received Calls, and Placed Calls).

Next I tried, specifying “both” in the Common Phone Profile at the device level. This resulted in the directory menu displaying the following:

1. Received Calls
2. Placed Calls
3. Corporate Directory
4. Corporate Directory
Option 3 actually provides an “internal” search of the Corporate Directory – using the end user database on the CUCM servers
Option 4 actually provides an “external” search of the Corporate Directory – using the LDAP server via the URLs.
So now I had to get rid of option 3 and get back the original option 1 – Missed Calls. To accomplish this I unchecked the “Enable” box in the Service Information section of the Corporate Directory Phone service. So now I have what I wanted. So when the user presses the Directory Button, the following is displayed:
1. Missed Calls
2. Received Calls
3. Placed Calls
4. Corporate Directory
And the Corporate Directory Lookup Function is using the “external” LDAP server.
In summary, what I had to do to accomplish this is:
1.Change the “Services Provisioning” in the Phone Personalization Information section of the Common Phone Profile Configuration from “default” to “both” – Note that the “Services Provisioning” parameter in the Enterprise Parameters Configuration section (under Systems – Enterprise Parameters) is not modified and still has the value of “internal”
2.Uncheck the “Enable” box for both the Corporate Directory and the Personal Directory (under Device – Device Settings – Phone Services”) to hide them from being displayed when the user presses the Directories button – note that it is hiding the “internal” Corporate Directory option and is displaying the “external” Corporate Directory option.
3.Make sure that the “Service Type” for Missed Calls is “Directories” and not “Standard IP Phone Service”
I hope this helps others

Thanks,
John
0
host not found in personal directory
written by ehsan, October 24, 2011
hi..
i have cucm 8.5.....i have problem,and i need help...
when i want use personal directory i have '' host not found '' error ...
tanx for help me .
William Bell
Re: host not found in personal directory
written by William Bell, October 24, 2011
This is a generic error. It basically means the phone can't establish communication with the host associated with Personal Directory. More information would be needed to understand your configuration and the nature of your issue. You may want to check the following:

http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a0080a5b7af.shtml#host

HTH.

Regards,
Bill
0
Unsubscribe Corporate Directory for selected phones.
written by Sandy, November 17, 2011
Hi Bill,

Great article, I was trying to achieve the same using the below method. Let me know if I am missing something.

I am trying to remove the capability of viewing numbers via the Corporate directory feature for some phones. So I created a new Phone service named it as Corporate, gave the same default service URL path as that of Corporate Directory (Corporate Directory: "Application:Cisco/CorporateDirectory") and did not select the Enterprise subscription option.

Then on the phones where I don't want the Corporate directory feature, I selected "related links-Subscribe/Unsubscribe" option and from there I wanted to select the new Corporate phone service that I created. However I could not find this new service listed, only the existing default ones were there.

What could be wrong?

0
Can you remove the CLEAR button from the Directories tab?
written by Dave, February 13, 2012
Under directories, you can clear the missed/received/placed calls by simply pressing the CLEAR softkey. Does anyone know how to remove this option from the end user?
0
...
written by Baktha Muralidharan, March 10, 2012
Thanks for the great blog!. Really cleared up this whole area of service provisioning for me!

Have one last question/doubt however, and would appreciate if you can help with it-

- I configured a common phone profile with BOTH
- applied the profile to the phone
- removed the directories URL from enterprise parameters
- reset the phone

since I have the services provisioning set to BOTH, shouldn't the phone now use the internal provisioning (namely, enterprise subscription to Application:Cisco/CorporateDirectory)? I am finding that, if I delete the directories URL in the enterprise parameters page, corporate directory menu item goes away from the directories page on the phone. [I do see Missed Calls, Received Calls, Placed Calls, and Personal Directory]

Thanks in advance,
/Baktha
William Bell
Re: Great Blog
written by William Bell, March 13, 2012
Hey Baktha,

How are you? What phone model, firmware version, and CUCM version are you using? I tested with a device in my lab and the behavior is what you were expected. Meaning, I configured a phone to use "Both" for services provisioning. I then clear the URL and Secure URL for Directories under Enterprise Parameters. I then applied the configuration to my phone (don't forget to do that). On my test station I still saw the Enterprise Subscription.

Regards,
Bill

follow me on twitter: @ucguerrilla
0
disable Corporate Directory for a few phones
written by Laurentiu, March 22, 2012
hi, i want to disable corporate directory feature for some of the phones in my network. i found this post verry verry helpfull. i understood that i have to :
- Take note of all of the parameters for the Corporate Directory service
- Delete the Corporate Directory service
- Add a new server called Corporate Directory and add in all of the parameters except the Enterprise Subscription flag, make sure this is turned off
- Now, update the Subscriptions on an individual phone so they are subscribed to the Corporate Directory service you just created

but i have a question though, and because i do not have a test environment, a lab, I want to be sure first before making any mistakes : if I delete the Corporate directory which has the Enterprise Subscription flag on, what will happen to the phones that I do not update the subscription on ? theese would be the ones I want to have access to Corporate Directory feature and I don't want to affect them.

thank's a lot, appreciate if you can answer my question.
Laurentiu
William Bell
Re: disable Corporate Directory for a few phones
written by William Bell, March 24, 2012
Laurentiu,

If I follow, you want to disable the directory on only a few phones. I assume that most phones will still need the corporate directory. So, I wouldn't delete the Corporate Directory enterprise service. Instead, I would create a new Common Phone Profile that has the "Services Provisioning" parameter set to External. Then I would delete the directories URL and secure directories URL under the Enterprise parameters.

Basically, you are telling a subset of your phones to ignore internal services and use external services only. At this point, the phones will reference the Directories URL at the Device level. When that is blank then the phone will use whatever is specified at the Enterprise Level. When both are blank, the phone will not display a directory (since there is no URL to display).

So, don't delete the default Corporate Directory application.

HTH.

Regards,
Bill
0
VoiceMail Missing
written by Subbin, April 02, 2012
Hi Bill,

This article helped me to disable directory from couple of phones.

But at the same time the VoiceMail (Messages) Button lost it link to Unity too. By providing an external link under the device in Messages, helps to reach the voice mail box of the user, but only on 2 clicks.

Is there a way to resolve this. Such that the voicemail (Messages) button is not affected, or a way to restore the standard settings for the Messages (Voicemail) button of the phone.

Thanks a lot.
Subbin
0
still getting the missed calls, the placed callsand the received calls on a 7937
written by carlos segura, April 03, 2012
i did all the steps I have deleted the url on the enterprise parameters and this phone still getting that info I tested with a 7940 and it works just fine but i having problems with this one.
I want to disable all that info on this 7937 but i'm not able to do it..please help
William Bell
Re: VoiceMail Missing
written by William Bell, April 04, 2012
Subbin,

By chance did you modify the phone services provisioning to "External" only? This would cause the issue you describe. Try setting it to "Both" and the phones should be able to access both internal and external services.

HTH.

Regards,
Bill
0
Senior IPT Consultant
written by Michael Sears, April 08, 2012
Great Article. I have a greater understanding of how things work. I do have a problem that I'm struggling with. I'm trying to meet the following requirements for a customer. Hope you can make a few suggestions.

Staff is going out of town and asks technical support to disable the directories button for privacy purpose.
Directory button removed from SB Phone 1 when you select directories button needs to show that there are “No Services Configured”.
William Bell
Re: Senior IPT Consultant
written by William Bell, April 13, 2012
Michael,

What phone model? Which directories? I assume that since you mentioned privacy, you are referring to Missed Calls, Received Calls, Placed Calls, and Personal Directory. If that is the case then you can completely disable the directories from the phone's POV by configuring the phone(s) to use external Services Provisioning only. You can do this from various places in the CCMAdmin portal. (Test on a phone level first, to be sure)

Once you set the phones to use external services provisioning you can do the next step. Go to Enterprise Parameters and delete the URL Directories URL and Secure Directory URL parameters are blank.

Exact behavior may vary by phone model.

HTH.

Regards,
Bill

0
...
written by Jeff McHugh, April 16, 2012
Anyone know how to get a second clusters directory onto a phone? We have 2 clusters and I figured I could subscribe the 2nd clusters directory as a service on the phone, but no luck. Anyone ever do this? Seems like it should be easy, but ...
William Bell
Re: Jeff McHugh
written by William Bell, April 16, 2012
Jeff,

Conceptually, it would seem like you could simply copy the URL for directories from Cluster B and program it as a phone service on Cluster A. However, in my testing this results is the phone (registered to Cluster A) is still seeing the directory listing from Cluster A. Even when one would think it is referencing the URL point to Cluster B. Is that what you are seeing? You may also be seeing missed/received/placed calls as well. [NOTE: Exact behavior will likely depend on the phone model you are using]

One of the things you can try is using a URL that skips the "top level" directory application on Cluster B and jump right to the screen that asks for input. For example: http://clusterBipOrHostname:80...input.jsp. This should provide a behavior that is closer to what you need.

HTH.

Regards,

Bill
@ucguerrilla
0
...
written by Jeff McHugh, April 16, 2012
Thanks Bill, I was seeing what you mentioned in your first paragraph, your fix in the 2nd paragraph worked, thanks a million!

For my edification, where did you find that URL?
Also, would it be possible to put this 2nd clusters directory under the DIRECTORIES button on the phone?
William Bell
Re: Jeff McHugh
written by William Bell, April 16, 2012
Jeff,

Glad it worked. I know about the URLs because I have developed an Enterprise Directory application that we offer customers. This application will pull data from one or more CUCM clusters (using AXL/SOAP), local directories (presently config file, future a local DB), and LDAP (currently under dev). It will present multiple directories or smoosh entries into one list with various tenant-specific display rules applied. (That's my shameless sales pitch).

Anyway, when I was developing the app, I used several protocol traces to get a feel for how different devices interact with the built-in directory. I just checked my notes when I received your question. So, that is where I got the info.

HTH.

Regards,
Bill
Twitter: @ucguerrilla




0
...
written by Jeff McHugh, April 16, 2012
Thanks Bill, do you have contact info for someone @ Chesapeake to reach out to regarding the app?
0
...
written by Jeff McHugh, April 16, 2012
Thanks Bill, do you have contact info for someone I can reach out to regarding the app?
0
...
written by Will, May 08, 2012
Bill,

We recently ran into something odd while trying to add custom items on the directory. We set our common profile to "both" and added a custom Personal Directory, White Pages, and Corporate Directory. On 69xx phones and the IPCOMM, duplicate items were replaced with our custom ones. On 79xx phones, the items were added so that we had two Personal Directory and Corporate Directory entries.

Not sure why the phones act differently, but should I assume the best workaround would be to either:

a) unsubscribe the enterprise services that we are replacing (and create dupes w/o the enterprise subscription for any onesy-twosy phones that won't use the custom script)
b) or set the common profile for external and add the missed calls, placed calls, received calls to our directory script?

Thanks,
Will
William Bell
Re: Will - Duplicate Services
written by William Bell, May 09, 2012
Will,

If I understand your scenario then what you are seeing is normal behavior. There are some phones which will concatenate both enterprise subscriptions and directories provided by external URLs. The behavior does depend on the platform (or more accurately firmware).

If you didn't require your enterprise directories (i.e. your custom directory covers all bases) then you could disable the Corp Directory and Personal Directory that are provisioned as enterprise parameters.

You should still be able to keep Missed, Received, and Placed call directories enabled (while disabling Corp Dir and Personal Dir). Of course, if you disable those then your custom app needs to build it into the XML. I recently deployed our custom directory and I was able to provide a clean interface by:

1. Disabling the enterprise service: Corp Directory
2. I kept Personal Directory enabled (I'll circle back around to this)
3. I kept Missed, Placed, Received call directories enabled

Back to Personal Dir. For this, I found that 7940s and 60s wouldn't show the Personal Directory if there was a custom/external directory URL (no surprise). I also found that if I added the XML in our custom app that would render the Personal Directory option, phones other than the 7940s/60s would show dupes (again, no surprise). What I did was check the headers in the HTTP get request for the phone model type and then determine whether I needed to render the Personal Dir or not.

HTH.

Regards,
Bill
Twitter: @ucguerrilla
0
It is a dumb design
written by NoName, May 11, 2012
I have played with the Directories features on the CUCM, following people's recommendations here. But to be honest, the whole design is lame. I am sorry Cisco. For a simple directory feature, it cannot be that complicated. The other thing I found you will get different results with different phone models and different firmwares. Very frustrating. Cannot be worse.
William Bell
Re: It is a dumb design
written by William Bell, May 12, 2012
Actually, I have to disagree with you. It could be worse. smilies/grin.gif

Granted, the inconsistency in user experience suboptimal. Especially, if we are talking about native operation and not using a customized directory, where you can normalize the UI experience a bit.

The Internal/External provisioning architecture is not the issue. Nor is the Corporate Directory for that matter. As NoName suggests, the issue is that the firmware on certain models is unable to take advantage of enterprise (Internal) provisioning for all services. The 7940/7960 don't use the Missed/Receive/Placed calls directories in the same way as a 7965, 89xx, 99xx, etc.

So, the UI shortcomings are coming from a combination of things.

-Bill

Write comment

busy