Cisco Support Community

Jabber Config File Generator

Please find the attached HTML document, download and open it on your PC.  This provides an easy to use form where you simply answer a few questions and it will render the proper jabber-config.xml file for you to copy/paste.  There is built in logic to verify you are entering in the correct information for the deployment selected, as well as valid XML characters.


The XML file structure is rendered in JavaScript, so you'll still need to copy/paste the contents into a text file and upload the file to your CUCM server, but you can rest assured that the configuration is correct and valid by using this form.


Update 2015-07-09: Updated with 11.0 keys, testing new automated method to mine key values from public facing documentation, new UI. Feedback on the new UI is welcome

Update 2015-03-12: Update default selection for new keys.

Update 2015-02-18: Added more keys from 10.6.

Update 2015-01-28: Update for 10.6 keys.

Update 2014-12-17: Update value generation when using reserved characters (&/&) so that only substitution takes place once.

Update 2014-11-19: Reworked the Jabber-Plugin additions, relaxed hostname verification, more import enhancements, updated missing keys in 10.5, corrected default value selection.

Update 2014-10-22: Updated CSS, corrected a few default values to match updated documentation and user comments in this forum, enhanced import function, added optional Telemetry Suggestion from existing data.

Update 2014-10-09: Added text import of existing jabber-config.xml file to pre-populate the form (works in FireFox & Chrome, IE not tested).  Removed SHA Hash generation of TelemetryCustomerID field.

Update 2014-08-29: Added 10.5 J4W keys which should apply to the other 10.5 releases as well, with additional logic to aid with some of the more complex key configuration.

Update 2014-05-12: Modified UI slightly, also corrected problem with checkbox inputs

Update 2014-05-09: Updated logic to include PhoneMode keys for versions past 9.2; although not all clients support PhoneMode yet.

Update 2014-04-24: Corrected misspelled keys, and validation errors.

Update 2014-04-21: Added J4W 9.7 specific fields, as well as simplifying data entry for BDI fields.  If using BDI, simply make sure you've selected OSX, iOS, or Android, and the script will copy whatever fields you have entered for the EDI integration, and automatically create the BDI specific keys for you.

Update 2014-01-02: Added partial Mac 9.2 specific fields for BDI, Windows 9.6 specific fields.

Update 2013-07-25: Modified Search Base validation logic to include the default CN in addition to OU's

Update 2013-05-17: Added 9.2 specific fields.

Update 2012-12-29: Added 9.1 specific fields and implented version switching for it to work with both 9.0, 9.1, and any future version dependent fields

Update 2012-08-16: resolution to CSCua39052 in Jabber 9.0(4) resolved the Base Filter open/close bracket problem.  Updated validation tests to reflect this change.  As such, this script will only work for Jabber 9.0(4) and later when using a custom Base Filter; if using Jabber prior to 9.0(4), simply remove the last closing bracket in the Base Filter tag before uploading to TFTP.

Cisco Employee

Haven't tried this yet, but I just want to say...  Awesome Idea and Intiative!!!

Thank You!


Community Member

Kudos to you sir, thanks!

Community Member

Great idea and will be very useful in J4E rollouts, I have used it in a Lab and will defiantly use for customers in the coming months.



Community Member

very useful tool.


Community Member

Wow, thank you thank you thank you! I was beating my head against the desk trying to manually create the config file for my environment, and this took me 20 minutes to set, upload, and test.

Community Member

Great idea, I'm looking forward to test it! It will speed up deployments a lot, no more manual XML writting with notepad++ :-)

Community Member


I think you meant to say UDS instead of UCS if I am not mistaken for directory integration

Community Member

Very helpful however I need to display a DOD Banner (MOTD) do I add this to the jabber-config file so users receive notice or is this option configured else where.

Thank you

Community Member

I might just be blind or new to the Cisco world to not know where exactly I'm supposed to be looking but does anyone really understand how BDI works. The BDI is missing from the tool and more importantly with the Jabber for Mac client getting a big refresh that is going to need to get some attention. Just not sure how to do some mapping of LDAP using BDI for the Mac clients. Thanks in advance.

Cisco Employee

BDI would be configured similar to how you configure non-AD LDAP integrations.  Esentially it's setting up EDI but manually specifying the LDAP servers to connect to and a service account for them to connect with.  This guide may help some:

Once Jabber Mac 9.2 is posted, I'll revise this script to work with that as well if there are any additional paramters that need to be added.

Community Member

I don't have access to the link specified above.  Can someone share the content?

Community Member

This seems a useful tool, but I cannot get past the Search Base OU's.  I've tried using the following:


But the field validation keeps refering to an invalid OU string. 

I've looked at my existing jabber config file and the above is how it was setup.  Just wanted to test this out so I can generate a new config with new entries (not necessarilyt the search base).

Exactly what type of validation does the Search Base OU check for?


Cisco Employee

The validation is checking that the value entered is not empty, and matches a regular expression.  The JavaScript logic for this is:

(e.value !== '' && (e.value.match(/^(OU=).+,\s*(DC=).+/i) === null || e.value.match(/[^\w-_\s=,]/ig) !== null))

From your example, it appears you're using a Container rather than an OU for the Search Base.  And the logic is hard coded to check specifically for "OU" at the begining of the line.  I'll have to make some changes to that regex to allow "CN" to be included as well.

In the short term, you could edit the file you downloaded in a text editor and simply comment out or remove lines 2528 to 2530 and this will remove the validation checking for the Search Bases.

Community Member

Really excited about Jabber for Mac 9.2.1 and looking forward to the hopeful addition of BDI to the config generator! I can't seem to wrap my head around how it works compared to EDI or UDS .

Community Member

Here's the jabber-config.xml file I used to get directory searches for Mac Jabber 9.2.1 working in AD environment.  Note that though I am using TLS, I could not get it working over the standard ldaps (636) port. I assume this is a bug in 9.2.1, but in any case wireshark confirms it is doing ssl.  Also, I have the UCM service profile for Jabber is set to ldap not global catalog mode if that even matters when using a config file.

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

<config version="1.0">







        <BDISearchBase1>ou=My Users,dc=ad,dc=mycompany,dc=com</BDISearchBase1>







NOTE (from v9.2.1 doc): The default value is (&(objectCategory=person). Configuration files can contain only valid XML character entity references. Use &amp; instead of & if you specify a custom base filter.

Cisco Employee

Thanks you for this great and wonderfull tool

Community Member

Which argument/line will enable the Remote and Mobile Access in version 9.6?


Community Member

Hi there,

just to let you notice that the tool, when enabling URI Dialing, writes:


that is not working, as Jabber is expecting:



Anyway it's a very nice tool.



Community Member

Great tool, has saved me hours!

Does anyone know if it is possible to force these settings on the clients?

So far, I can see that the Jabber client uses the settings in here the first time, but then if a user changes a setting, like the inactive time, it stays at the user setting, not what is in the jabber-config.xml.





Community Member


This is most helpfull. Could you possibly update this to include the new client parameter "Persistent_Chat_Enabled"?


Community Member

Hi Szelenka,

Just had a look at the tool, look pretty useful. I am in the process of integrating CUCILync in 9.2.1 and looks like this also require the creation of a jabber-config.xml file any chance it can be tailored to be used for this?


Community Member

Did you ever find out if this works for the CUCILync 9.2 client?

Community Member

Jabber for Mac v9.6 fixed the SSL issues from v9.2.1 & 9.2.2.  So now I've removed the keywords BDIConnectionUsername & BDIConnectionPassword, and let it use a given user's jabber credentials for their directory lookups.






Not sure if I had to, but I also added this part to the top at some point in time. At the state of Jabber development at the time at least I think, it eliminated the user having to enter any hostnames during Jabber setup.

Cisco Employee

It will work with CUCILync.  The only thing that is in CUCILync, that is not in this script are the "Internet Explorer Pop-up" parameters used for the toast notifications.

Community Member

This is very helpful - thank you.


is there any way to re-name the fields listed under "Directory Attribute Mapping?"  i.e. instead of saying Home or Other, having it say Work2 or Pager?


Community Member

It works fantastic! thanks

Cisco Employee

The key names are hard coded to those values "Home", "Other", etc.  This allows the client to know which keys to lookup consistently.  However, you can change the value of these keys to whatever attribute exists in the directory.

Community Member

understood. however, mapping a pager# to "other" and a secondary work phone# to "home" and not having the ability to change this is a pain point to some of my customers.


Community Member

I used the generator to script out the directory parameters but had to manually add phone (TFTP, CTI etc) ) and voicemail parameters, would be great if this could be added to the script.

Community Member

Thanks for updating this generator. FYI, I notice that when I use Exclude Service Discovery option, it will only generate

Cisco Employee

Thanks for catching that, I corrected this problem and uploaded a version which allows that to be generated.

Community Member

might want to add:




as an option.  I will disable local IM history.  Original post:

Community Member

When creating a UDS directory file, the generator asks to put in a URL where to download the photos from. You will have to enter a string like: http://<ip_web_server>/%%udi%%.jpg . udi is not the correct variable as it should be uid. However, you cannot generate the config file if you set the string to http://<ip_web_server>/%%uid%%.jpg . You will probably have to make a slight adjustment there.

Regards, Martin

Community Member

Thanks Scott!



Community Member

First of all, I want to thank you for your time and effort. This tool saved me so much time and trouble. I really don't want to miss it anymore.

But is there any chance that you could upgrade it to work with jabber 10.5? Because we want to upgrade from Jabber for Windows 9.7.2 to 10.5.0 and I want to make sure that everythink is setup correctly.

Best regards,


Community Member

Hi szelenka,


First of all, thanks for building up this useful tool. This is helping all of us to save a lot of time when deploying Cisco Jabber.

I´ve just downloaded the last version (10.5) of your Config File Generator and found that it might have some errors on the following fields:

Policies --> Voice Services Domain = It´s not accepting neither a DNS SRV entry, nor a domain (i.e: It only accepts hostnames...

Directory --> Presence Domain = It´s not accepting a domain entry (i.e: It only accepts hostnames...


Could you please check if these errors are real or if I´m commiting a mistake?

Thanks again!



Community Member

Thank you very much! You're our saver!! 5 STARS!

However, I may say something about Search Bases for BDI.

I noticed that when configuring Search Base for BDI, you only (and only) have one Search Base option which is <BDISearchBase1>DC=domain,DC=com</BDISearchBase1>.

Whatever you specify with <BDISearchBase2> it will never be taken into account.

Since the file generator replicates the Search Bases of EDI to Search Bases of BDI (let's suppose you specified 2 EDI Search Bases). It will work perfectly for EDI, but for BDI only the first BDISearchBase1 is taken into account, and BDISearchBase2 will be definitely ignored. 

So guys, when you attempt to configure two (or more) Search Bases in EDI, please consider that BDI will review only the first Search Base, the others will be thrown out.

For BDI, aggregate your search bases to only one Search Base and put it into <BDISearchBase1>DC=domain,DC=com</BDISearchBase1>.

So, for multiple Search Bases, two options are offered :

1- You may generate "jabber-config.xml" file with aggregated Search Base for EDI, and thus will generate also an aggregated Search Base for BDI and it's all perfect.

2- - You may generate "jabber-config.xml" file with multiple Search Bases for EDI, then edit "jabber-config.xml" to modify the <BDISearchBase1> to an aggregated one, and delete <BDISearchBase2></BDISearchBase2> line. 



Community Member

The tool doesnt accept Hostnames that is starting by numbers although there is no restriction from UC servers wise. For 123CUCM.

Cisco Employee

I updated this verification to allow the hostname/domains to begin with any alphanumeric character.  However it will still fail if you simply enter in the hostname (i.e. 123CUCM), you'll need to populate the field with the FQDN (i.e. 123CUCM.local) for it to pass the validation test.

Community Member

Many thanks for the great effort!  


I remember using this, however, it prints the error now on the developer console : 


'The value of the property 'fnPopulateForm' is null or undefined, not a Function object'

on "jabber-config.html, Line: 484, Column: 73"

Community Member



Very powerfull service, thank you !!!!


I however have many questions,I see we have a maximum of 5 search bases but I have 8 search bases, can we rather say for searching in root like OU=cisco,DC=company,DC=com and in this root have a exception for no searching in OU=Direction,OU=cisco,DC=company,DC=com ?

Can we import a lot of personal directory for all users using jabber-config.xml or other?

I have 500 end users in cucm that are in fact speed dials for outgoing calls and since jabber search on ldap directory I can't see these end users.


Last questions :)

I want to auto login users when I start Jabber and automatially choose correct advanced settings like CUCM IM and IP.


Thanks a lot ;)

Community Member


first of all: thanks a lot for this tool!!


Today I generated a new config and had some problems with directory serach, maybe you can double-check the tool.


First I downloaded the latest version from your article above.

I opend the jabber-config.html with FireFox 32.

In the "Existing jabber-config.xml" field I pasted the current jabber config, conatining these two lines:





I activated call pickup and generated a new config file.

In the new file, the lines were modified as follows:



Can you please doublecheck?

Cisco Employee

Thanks for reporting this. I'll need to update the code to catch when the HTML code is already in the string so we don't convert it twice.

Community Member

Can you please tell us what has been added to the Tool regarding 10.6?

Community Member

Thanks for updating this tool. I might be going blind but I couldn't see "save to outlook" option, so if anyone needs it you can use this:



Cisco Employee

thanks, there were apparently a good number of keys that I missed from the pre-FCS documentation. I've updated the script with everything I could find on now.

Cisco Employee

The script just takes the parameters that are published in the documentation and performs some input validation on the values. For a full list, please refer to this page:

Community Member

This tool makes the life easier I love it. Any plan that this tool is integrated in CUCM?


Community Member

I can't seem to download your tool. There seems to be an issue with the format.

Community Member

Can you repost the file? It seems to be corrupted and I'm unable to download it. Thanks so much.