CUCM 6.1.2 Additional Directory Strange Issue

Unanswered Question
Oct 29th, 2008

Hi All,

Very similar post to:

Where we are trying to setup a custom web server that will serve our custom Corporate directory and the Personal Directory.

We have had the corporate directory working under out 4.1 cluster, and recently upgraded to 6.1.2

Since then the Personal Directory which contains the Fast dials and PAB have moved under the directories button.

So what we want to achieve is to have our own directories url with our corporate directory under it and the personal directory.

So i have updated the .asp script that we used on our 4.1 cluster to include the extra menu item.

The directory url .asp looks like this:

<%@ Language=JavaScript %>


var serverIP;

serverIP = "x.x.x.x";

Response.ContentType = "text/xml";

Response.Buffer = true;

Response.Write("<CiscoIPPhoneMenu>\r\n<Prompt>Select a directory</Prompt>\r\n<MenuItem>\r\n<Name>Corporate Directory</Name>\r\n<URL>http://" + serverIP + "/directory/ldapdirectory2.asp</URL>\r\n</MenuItem>\r\n<MenuItem>\r\n<Name>Personal Directory</Name>\r\n<URL>http://PUBLISHER-IP:8080/ccmpd/</URL>\r\n</MenuItem>\r\n</CiscoIPPhoneMenu>");



The way i found the Personal Directory URL was from inside the 6.1 default directory xml file.

This was the text that was in the file:

- <MenuItem>

<Name>Personal Directory</Name>



So to me this url: http://PUBLISHER-IP:8080/ccmpd/

is the URL that points the phone to the Personal Directory when selected on the phone.

So i have applied the custom directory to a few test phones and i can now use our internal corp directory and the Personal Directory.

When selecting the PD, a user can login and out without a problem. They can set their own Fast dials and PAB entries.

Now the issue is when setup this way with the custom url, there are some issues with the PD.

What we are seeing is that people can log into the PD setup their fast dies etc, then if another person on the cluster logs into their PD, then they get the fastdials not of their own login, but the last person to login to the PD service. So When person A is logged in to the PD directory service, they are fine, however when person B logs in, they get person A's PAB and fast dials. Same with Person C.

Very strange. It is as if the Call manager doesn't know which phone belongs to which PD account.

has anyone had a similar issue like this? If not, where could i start to try and find a fix to this issue?

FYI: When i change the phones back to the 6.1.2 local default directory url, everything works fine. there are no issue like i have described above.

Would really appreciate some help on this.


I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
stephan.steiner Fri, 10/31/2008 - 00:43

Didn't name=undefined make you suspicious? Did you ever look at how this looks when a phone requests the service?

When the phone makes the request to the directory selection url, it sends you a query string containing the name attribute and a value.. the value is the name of the phone (SEP123....).. so you need to read out the phone name and put it into the url you send back to the phone.

churchi Fri, 10/31/2008 - 00:53

Hi Stephan,

Yes it did make me suspicious, and that is why i think the issue is defiantly the url i have the phone pointing back to for access to the Personal Directory.

In this case, do you know the url that i should be passing back with the variables in it to access the Personal Directory from my custom .asp script?

stephan.steiner Fri, 10/31/2008 - 04:55

You must have skipped over it.. my previous post mentioned that the value of name is the phone from which the request is made... the phone makes a request to your service page and appends that parameter to the request. Your page needs to read it, then construct the personal directory url by once again appending that device name.

That way it will work as expected.

churchi Sun, 11/02/2008 - 13:18

Hi Stephan,

Ok i see what you mean. Is it just a variable that i would append in there like '#DEVICENAME#' or would it be something different?

stephan.steiner Mon, 11/03/2008 - 00:42

Did you ever sniff the traffic to see what is going on? When you hit the directory button, the phone makes the following request:

GET /ccmcip/xmldirectory.jsp?locale=German_Germany&name=SEP0016D43F0C3D HTTP/1.1

As you can see, the phone sends both locale and the device name to the CCM. The CCM responds:

<?xml version="1.0" encoding="UTF-8"?>

Verzeichnis ausw..hlen

Pers..nliches Verzeichnis


So as you can see, the CCM reads both locale and name from the phone's request, and uses them to formulate the response.

For once it takes the name parameter and appends it 1:1 to the personal directory.

And it uses the locale to get the name of both directories in the appropriate language.

So.. your custom directory page needs to do the same as the CCM does... read both parameters in the url, use the locale to send back the appropriate name for both directories, and append the phone name to the personal directory (this is needed because knowing the phone tells you which user owns it / is logged in, and hence when you try to log in, the ccm validates the login/pin against the appropriate user).

webberr Mon, 11/24/2008 - 05:17


Did you ever get a final resolution to this? I am hitting the exact same problem. Stephan did a great job explaining what needs to be done, but has anyone actually done this?

Thanks - Rob.

webberr Mon, 11/24/2008 - 06:52


Thanks to Google I was able to find the fix. The attached file is the .asp file we place on our old 4.1 Publisher that is accessed by our CUCM 6.1 phones.

The command:

strName = Request.QueryString("name")

obtains the device name that was included in the original URL. The command:

PersonalDirectoryURL = "http://(place name or IP of 6.1 Publisher here):8080/ccmpd/" + strName

Creates the Personal Directory URL with the same device name embedded into it. I tried adding in:

"&locale=" + strLocale

...sniffing it the URL looked correct, but I kept getting a Parse Error on the phone. Its not important to me since we only use one locale...perhaps someone else can figure out that issue.

The first

section is a special Corporate directory we use and we customize the "xmldirectoryinput_with_corp_directory.asp" page to point to our corporate phone web page.

The second

is the Personal Directory with the correct requesting device name in the URL.



This Discussion