11-16-2022 06:44 AM
Hello,
I managed to create a custom directory hosted on an IIS server, but I notice that the language of the directory remains in English. The "User locale" field of the phone is set to "French", but it doesn't seem to be enough.
How can I set the language of my directory? Is it from the ccmcipdctionary.asp file?
I also have a second question, is it possible to display only the users who have a phone number ?
Thanks !
Solved! Go to Solution.
11-16-2022 03:15 PM
It looks like the LDAPSearch object can ingest localization files that effect the language-specific text in the XML for displaying directories. However, the localization file(s) were accessible directly from the CUCM host back in 4.x when it was installed on a standard Windows OS, and now that modern CUCM is installed as an opaque (Linux) appliance, there is no way to retrieve any such localization file(s) off the disk.
Using my wiles, I can confirm that there are no files anything like ccmcipdictionary.* on CUCM 14, so I suspect this whole localization file concept has changed and ccmcipdictionary.asp has been lost to time...
This means localization support with LDAPSearch won't work either
* After having LDAPSearch generate the XML list output, do a global search/replace to replace the standard US_EN text tokens in the XML document with localized versions you implement/source yourself.
* Abandon the LDAPSearch object, and build a modern web service that simply outputs the expected XML to send to the phones. This sample attempts to do just that using Node/Express/EJS - unfortunately it doesn't implement any localization at the moment, but you have the full source code to modify as needed: https://github.com/CiscoDevNet/ipps-javascript-samples
11-16-2022 09:01 AM
Is your directory based on localizeddirectory.asp from the SDK? Fairly amazed you got it working as the sample is very old/out-of-date...
From the header comments, it looks like you will have had to configure your directory app as the target for the Directories URL for the enterprise (or individual phone)
which should result in the phone including a 'locale=XXX' URL query parameter when it retrieves the URL (might double check this with Wireshark.) The .asp script seems to extract this locale and store it in the session for later reference.
You could also 'hard-code' the locale by including your own 'locale=XXX' URL query parameter in the service URL for your app - e.g. if you have it configured as a regular service, and not as the base Directory URL.
Also keep in mind this setting effects how the phone determines the Directories URL to actually use:
11-16-2022 09:02 AM
The LDAPSearch COM object doesn't seem to have an option for excluding results with no phone number - but I assume you can do that by modifying the LDAP search base specified, i.e. by adding (telephoneNumber=*)
11-16-2022 12:30 PM
Do you think I should include this LDAP filter in the code of the localizeddirectory.asp file?
11-16-2022 12:25 PM
Yeah, my directory is based on localizeddirectory.asp from the SDK. Thanks, I feel like Victor Frankenstein with your message
I already made the changes on the CUCM to indicate to use "Both" sources for services provisioning.
I also hard specified the local variable in the localizeddirectory.asp file, but nothing to do. In the code of localizeddirectory.asp file, the local variable is only used in the following variable:
var fileName = "c:\ciscowebs\ipphoneservices\ccmcip\locales\" + locale + "\ccmcipdictionary.asp"
However, I don't have this path (or a similar one) in the SDK... So, I don't know what is ccmcipdictionary.asp and if is the one I need...
I tried to see if it was on the CUCM, in vain...
11-16-2022 03:15 PM
It looks like the LDAPSearch object can ingest localization files that effect the language-specific text in the XML for displaying directories. However, the localization file(s) were accessible directly from the CUCM host back in 4.x when it was installed on a standard Windows OS, and now that modern CUCM is installed as an opaque (Linux) appliance, there is no way to retrieve any such localization file(s) off the disk.
Using my wiles, I can confirm that there are no files anything like ccmcipdictionary.* on CUCM 14, so I suspect this whole localization file concept has changed and ccmcipdictionary.asp has been lost to time...
This means localization support with LDAPSearch won't work either
* After having LDAPSearch generate the XML list output, do a global search/replace to replace the standard US_EN text tokens in the XML document with localized versions you implement/source yourself.
* Abandon the LDAPSearch object, and build a modern web service that simply outputs the expected XML to send to the phones. This sample attempts to do just that using Node/Express/EJS - unfortunately it doesn't implement any localization at the moment, but you have the full source code to modify as needed: https://github.com/CiscoDevNet/ipps-javascript-samples
11-17-2022 10:00 AM - edited 11-17-2022 10:00 AM
Thank you, your JS solution is much better than the SDK and I managed to achieve the different goals!
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