Jabber Config File Generator

Document

Apr 22, 2015 8:04 AM
Jul 5th, 2012

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 structre 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-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.

Overall Rating: 5 (33 ratings)
chrlunsf Tue, 07/10/2012 - 11:15

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

Thank You!

Chris

s_mcnally Thu, 07/12/2012 - 16:06

Kudos to you sir, thanks!

abcronin Thu, 07/26/2012 - 15:25

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.

Cheers

Andy

campizi28 Fri, 07/27/2012 - 17:35

very useful tool.

Tnks,

muranskycotech Sat, 08/11/2012 - 06:25

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.

Jiri Solc Sun, 08/19/2012 - 12:02

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

skilambi Fri, 08/24/2012 - 11:31

Scott

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

nidia.gutierrez Mon, 04/15/2013 - 19:05

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

CondorXIII Wed, 05/15/2013 - 13:48

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.

szelenka Fri, 05/17/2013 - 11:00

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:

http://www.cisco.com/en/US/partner/docs/voice_ip_comm/jabber/Windows/9_2/JABW_BK_C9731738_00_jabber-windows-install-config_chapter_0101.html#JABW_RF_O1D72112_00

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.

Arthur Ohlemacher Tue, 05/28/2013 - 10:59

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

Yves Velazco Thu, 07/25/2013 - 09:40

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

CN=Users,DC=internal,DC=companyname,DC=com

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?

Thanks...

szelenka Thu, 07/25/2013 - 10:13

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.

clmiller Tue, 04/07/2015 - 21:57

my customer has a root search base of dc=corp2000,dc=org and the validation field says this is not valid, which it is very valid.

CondorXIII Tue, 09/24/2013 - 15:06

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 .

mduling Thu, 10/17/2013 - 15:22

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">

    <Directory>

        <DirectoryServerType>BDI</DirectoryServerType>

        <BDILDAPServerType>AD</BDILDAPServerType>

        <BDIPrimaryServerName>1.1.1.1</BDIPrimaryServerName>

        <BDIPresenceDomain>mycompany.com</BDIPresenceDomain>

        <BDIServerPort1>389</BDIServerPort1>

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

        <BDIConnectionUsername>ucm_query@ad.mycompany.com</BDIConnectionUsername>

        <BDIConnectionPassword>my_password</BDIConnectionPassword>

        <BDIEnableTLS>1</BDIEnableTLS>

        <BDIBaseFilter>(&(objectCategory=person)</BDIBaseFilter>

    </Directory>

</config>

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.

mduling Tue, 04/29/2014 - 15:20

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.

 

<BDIServerPort1>636</BDIServerPort1>

<BDIEnableTLS>True</BDIEnableTLS>

<BDIUseJabberCredentials>True</BDIUseJabberCredentials>

 

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.

<CUCM>
  <PhoneService_UseCredentialsFrom>presence</PhoneService_UseCredentialsFrom>
</CUCM>
 
<Presence>
  <PresenceServerType>CUP</PresenceServerType>
</Presence>
 
<Voicemail>
<VoiceMailService_UseCredentialsFrom>phone</VoiceMailService_UseCredentialsFrom>
</Voicemail>
rcronier Tue, 01/21/2014 - 05:22

Thanks you for this great and wonderfull tool

Elter Picolo Tue, 02/25/2014 - 06:07

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

Thanks

fabio1981 Fri, 03/14/2014 - 09:22

Hi there,

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

<EnableSIPURIDialing>true</EnableSIPURIDialing>

that is not working, as Jabber is expecting:

<EnableSIPURIDialling>true</EnableSIPURIDialling>

 

Anyway it's a very nice tool.

 

Fabio

jasonmid99 Tue, 03/18/2014 - 16:20

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.

Thanks,

 

Jason.

 

lowen@utah.gov Tue, 04/01/2014 - 13:45

szelenka

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

Thanks!

Bhasker Mistry Thu, 04/03/2014 - 09:14

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?

 

tpfrankli Tue, 04/29/2014 - 14:41

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

szelenka Wed, 04/30/2014 - 04:35

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.

Bhasker Mistry Fri, 05/09/2014 - 01:29

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.

MATTHEW MIKTUS Tue, 05/06/2014 - 13:47

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?

 

szelenka Thu, 05/08/2014 - 10:44

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.

MATTHEW MIKTUS Thu, 05/08/2014 - 10:46

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.

 

radoslav-drabik Wed, 05/07/2014 - 13:27

It works fantastic! thanks

Ferdi0802 Sun, 05/11/2014 - 19:05

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

 <ServiceDiscoveryExcludedServices/>
szelenka Mon, 05/12/2014 - 06:27

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

Nicholas Whiting Wed, 05/28/2014 - 10:23

might want to add:

 

<Policies>
<disable_im_history>true</disable_im_history>
</Policies>

 

as an option.  I will disable local IM history.  Original post: https://communities.cisco.com/message/129654

m.vanheukelum Tue, 06/10/2014 - 14:44

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

Chester Rieman Wed, 07/30/2014 - 13:42

Thanks Scott!

 

 

Rene Charbonneau Mon, 08/18/2014 - 23:28

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,

René

daniel.ferianzzi Thu, 09/11/2014 - 06:42

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: cisco.com). It only accepts hostnames...

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

 

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

Thanks again!

Rgds,

Daniel

Mohamed Amine Jaafar Thu, 09/18/2014 - 00:52

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. 

 

Voilà.

Trad Tobaishat Wed, 11/19/2014 - 07:22

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

szelenka Wed, 11/19/2014 - 08:01

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.

Fikri FIRAT Wed, 11/26/2014 - 04:00

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"

jasb_cistel Fri, 11/28/2014 - 01:38

Hi,

 

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 ;)

s-mantsch Tue, 12/16/2014 - 02:35

Hello,

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:

 

  <BDIBaseFilter>(&amp;(objectCategory=person))</BDIBaseFilter>

   <BaseFilter>(&amp;(objectCategory=person))</BaseFilter>

 

I activated call pickup and generated a new config file.

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

   <BaseFilter>(&amp;amp;(objectCategory=person))</BaseFilter>
   <BDIBaseFilter>(&amp;amp;(objectCategory=person))</BDIBaseFilter>

 

Can you please doublecheck?

szelenka Tue, 12/16/2014 - 12:15

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.

Trad Tobaishat Thu, 02/05/2015 - 00:28

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

szelenka Wed, 02/18/2015 - 09:47

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:

http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/jabber/10_6/CJAB_BK_C56DE1AB_00_cisco-jabber-106-deployment-and-installation-guide/CJAB_BK_C56DE1AB_00_cisco-jabber-106-deployment-and_chapter_01010.html#CJAB_RF_G345C5C0_00

Trad Tobaishat Thu, 02/19/2015 - 07:03

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

 

Will Pettit Sat, 02/14/2015 - 06:20

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:

<Options>
   <EnableSaveChatHistoryToExchange>true</EnableSaveChatHistoryToExchange>
   <InternalExchangeServer>servername.domain</InternalExchangeServer>
   <ExternalExchangeServer>servername.domain</ExternalExchangeServer>
 </Options>

Cheers

szelenka Wed, 02/18/2015 - 09:46

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 cisco.com now.

Jonathan Krasnow Tue, 03/10/2015 - 10:07

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

Actions

Login or Register to take actions

This Document

Posted July 5, 2012 at 6:44 AM
Updated March 12, 2015 at 8:09 AM
Stats:
Comments:64 Overall Rating:5
Views:71942 Contributors:42
Shares:16

Related Content