Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. If you'd prefer to explore, try our test area to get started. And see here for current known issues.

New Member

CCM Directory Issue

I have to CCMs, one is in the states (CCMA) and the other is in a forward location (CCMB) and I'm have an Intercluster trunk set up between the two. I recently upgraded CCMA to CCM 3.3(3) and now I'm having problems pulling the Directory from CCMB which is still running CCM 3.1. Origanally, I took the xmldirectory.asp file, modified it to pull the directory from CCMA and CCMB and everything worked fine. Since upgrading CCMA to 3.3(3), the modified file is no longer working. After looking at the xmldirectory.asp file on CCMA, I noticed the code had changed significantly from the xmldirectory.asp file that was previously being used. Could someone please tell me what modifications I need to make to the new xmldirectory.asp file to pull the directory from CCMB? I'm pasting the old xmldirectory.asp file, the modified xmldirectory.asp file (ldap1directory.asp) and the new xmldirectory.asp file to help explain what I'm talking about.

"3.1 xmldirectory.asp file"

<%@ Language=JavaScript %>

<%

function getBaseURL()

{

var scriptName = Request.ServiceVariables("SCRIPT_NAME") ;

var endloc = String(scriptName).lastIndexOf("/") ;

var baseURL = "http://" +

String(Request.ServerVariables("SERVER_NAME")) +

String(ScriptName).substr(0, endloc + 1);

return baseURL;

}

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>" + getBaseURL() + "xmldirectoryinput.asp</URL>\r\n</MenuItem>\r\n</CiscoIPPhoneMenu>");

Response.Flush();

%>

"Modified xmldirectory.asp file"

<%@ Language=JavaScript %>

<%

function getBaseURL()

{

var scriptName = Request.ServiceVariables("SCRIPT_NAME") ;

var endloc = String(scriptName).lastIndexOf("/") ;

var baseURL = "http://" +

String(Request.ServerVariables("SERVER_NAME")) +

String(ScriptName).substr(0, endloc + 1);

return baseURL;

}

Response.ContentType = "text/xml";

Response.Buffer = true;

Response.Write("<CiscoIPPhoneMenu>\r\n<Prompt>Select a directory</Prompt>\r\n<MenuItem>\r\n<Name>Centcom Directory</Name>\r\n<URL>" + getBaseURL() + "xmldirectoryinput.asp</URL>\r\n</MenuItem>\r\n<Name>CJTF-7 Directory</Name>\r\n<URL>http://10.225.16.12/CCMCIP/xmldirectoryinput.asp</URL>\r\n<MenuItem>\r\n</CiscoIPPhoneMenu>");

Response.Flush();

%>

"3.3(3) xmldirecory.asp file"

<%@ Language=JavaScript %>

<%

%>

<!-- #include file="_top.asp" -->

<%

function getBaseURL()

{

var scriptName = Request.ServerVariables("SCRIPT_NAME") ;

var endloc = String(scriptName).lastIndexOf("/") ;

var baseURL = "http://" +

String(Request.ServerVariables("SERVER_NAME")) +

String(scriptName).substr(0, endloc + 1) ;

return baseURL ;

}

try

{

var name = String(Request.QueryString("Name").Item);

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>" + getBaseURL() + "xmldirectoryinput.asp</URL>\r\n</MenuItem>\r\n</CiscoIPPhoneMenu>");

%>

<CiscoIPPhoneMenu>

<Prompt><% = outputString( dictionary.xmldirectoryMsgPagePrompt, "dictionary.xmldirectoryMsgPagePrompt" ) %></Prompt>

<MenuItem>

<Name><% = outputString( dictionary.lblCorporateDirectory, "dictionary.lblCorporateDirectory" ) %></Name>

<URL><% = getBaseURL() %>xmldirectoryinput.asp</URL>

</MenuItem>

</CiscoIPPhoneMenu>

<%

}

catch (err)

{

Response.Clear();

Response.Write(dictionary.msgGeneralError + " ( "+ name + " )");

Response.AppendToLog(name + ":" + err.number + ":" + err.description);

}

Response.Flush();

%>

1 ACCEPTED SOLUTION

Accepted Solutions
Gold

Re: CCM Directory Issue

I apologize; I didn't read closely enough. I see now that you're trying to add items to the Directory menu besides the default #4 Corporate Directory.

The changes in 3.3 are mainly related to localization. The indirection you see to pick up the string "Corporate Directory" is a dictionary lookup to find that term in the user's local language. If you don't care about localization, you are free to add string elements directly to that menu. We've done this for other customers. One example of the relevant modification looks like this:

<% = outputString( dictionary.xmldirectoryMsgPagePrompt, "dictionary.xmldirectoryMsgPagePrompt" ) %>

<% = outputString( dictionary.lblCorporateDirectory, "dictionary.lblCorporateDirectory" ) %>

<% = getBaseURL() %>xmldirectoryinput.asp

Store Directory

http://10.1.2.4/ccmcip/storeindex.xml

I haven't personally tried directing you to another cluster's directory here, but I can't think of any reason why you couldn't. If this doesn't work, we would need some more information about how and where it's breaking down.

6 REPLIES
Gold

Re: CCM Directory Issue

If you really truly want your phones in the CCMB cluster to use the CCMA directory, just go into Enterprise Parameters and modify your Directory URL such that the phones hit the CCMA cluster directory web service directly. This will work fine, and will avoid any version problems or unsupported modifications like this.

New Member

Re: CCM Directory Issue

Actually, I don't want the phones in CCMB to use the CCMA directory. I want to be able to view CCMB's directory from a phone on CCMA. So if I hit the directories button on my 7940 I want to have the ability to see CCMA's directory and CCMB's directory. Any ideas????

Gold

Re: CCM Directory Issue

I apologize; I didn't read closely enough. I see now that you're trying to add items to the Directory menu besides the default #4 Corporate Directory.

The changes in 3.3 are mainly related to localization. The indirection you see to pick up the string "Corporate Directory" is a dictionary lookup to find that term in the user's local language. If you don't care about localization, you are free to add string elements directly to that menu. We've done this for other customers. One example of the relevant modification looks like this:

<% = outputString( dictionary.xmldirectoryMsgPagePrompt, "dictionary.xmldirectoryMsgPagePrompt" ) %>

<% = outputString( dictionary.lblCorporateDirectory, "dictionary.lblCorporateDirectory" ) %>

<% = getBaseURL() %>xmldirectoryinput.asp

Store Directory

http://10.1.2.4/ccmcip/storeindex.xml

I haven't personally tried directing you to another cluster's directory here, but I can't think of any reason why you couldn't. If this doesn't work, we would need some more information about how and where it's breaking down.

New Member

Re: CCM Directory Issue

Works like a champ....thanks for your help.

New Member

Re: CCM Directory Issue

Hello,

I want to do the same thing but I have very, I mean very little experience with XML or any scripting. Could you send me an example of what you did because I am trying to do the same thing.

Site A - Parklawn

Site B - WhiteOak

I also understand that you can write your own script so that you can search under many different fields from LDAP but you have to get something from LDAP?.com

If you can assist I would greatly appreciate it or maybe point me in a good direction for assistance.

Thanks!

bhenry33@adelphia.net

New Member

Re: CCM Directory Issue

Yes, it is possible to search the DCDirectory (which is just an LDAP directory). However, the ASP tool provided by Cisco that performs the search is limited to search by first and/or last name. To search with other criteria, you will need a third party ASP tool that can perform the LDAP query. I found one at ldapservices.com that works well for me. Although unless you're willing to play with it and learn scripting, you're better off contracting someone who knows how to do it.

As for an example of multiple directory, here is an example of our xmldirectory.asp file:

<%@ Language=JavaScript %>

<%

%>

<%

function getBaseURL()

{

var scriptName = Request.ServerVariables("SCRIPT_NAME") ;

var endloc = String(scriptName).lastIndexOf("/") ;

var baseURL = "http://" +

String(Request.ServerVariables("SERVER_NAME")) +

String(scriptName).substr(0, endloc + 1) ;

return baseURL ;

}

try

{

var name = String(Request.QueryString("Name").Item);

Response.ContentType = "text/xml";

Response.Buffer = true;

//Response.Write("\r\nSelect a directory\r\n\r\nCorporate Directory\r\n" + getBaseURL() + "xmldirectoryinput.asp\r\n\r\n");

%>

<% = outputString( dictionary.xmldirectoryMsgPagePrompt, "dictionary.xmldirectoryMsgPagePrompt" ) %>

SITE1 Directory

http://10.250.250.242/ccmcip/site1/xmldirectoryinput.asp

SITE2 Directory

http://10.250.250.242/ccmcip/site2/xmldirectoryinput.asp

SITE3 Directory

http://10.250.250.242/ccmcip/site3/xmldirectoryinput.asp

Speeddial Directory

http://10.250.250.242/ccmcip/speed/Speeddirectoryinput.asp

<%

}

catch (err)

{

Response.Clear();

Response.Write(dictionary.msgGeneralError + " ( "+ name + " )");

Response.AppendToLog(name + ":" + err.number + ":" + err.description);

}

Response.Flush();

%>

261
Views
0
Helpful
6
Replies