With Jabber releases coming from Cisco on a near monthly basis there is a way to keep everyone updated. You can find a section in the installation guide about automatic updates, but it isn’t super clear. I’ll show you from a live installation how it is put together. You’ll want to only do this starting with version 10.5.
First of all you’re going to need a place to host an XML file and the installation files that will be downloaded by the clients. Some may choose Windows/IIS because of familiarity, but I’m a #FreeBSD fan. It’s also something to notice that some of the other application servers from Cisco like Jabber Guest are built on CentOS Linux so you may want to go that route.
Once you’ve found a suitable location you need to create the update.xml file which Jabber checks for changes. If you have thousands of clients in your environment be prepared for that.
<?xml version="1.0" encoding="utf-8"?> <JabberUpdate> <App name="JabberMac"> <LatestBuildNum>191164</LatestBuildNum> <LatestVersion>10.5.0</LatestVersion> <DownloadURL>http://yuengling.brewery.com/jabber/Cisco-Jabber-Mac-10.5.0.191164-56574006-MCwCFF7lmx_A_Q1b6iK97ETn7QBfP_N9AhQOKTx6TgnCyw3Z4NfjVqdactMcgA!!.zip</DownloadURL> </App> <App name="JabberWin"> <LatestBuildNum>37889</LatestBuildNum> <LatestVersion>10.5.0</LatestVersion> <DownloadURL>http://yuengling.brewery.com/jabber/CiscoJabberSetup.msi</DownloadURL> </App> </JabberUpdate>
Now that you’ve prepared your server and update.xml just upload those files to your server. The Jabber for Mac version requires the DSA signature in the file name and you can find that in the release notes from the download. I haven’t tried this on IIS but I do hear it requires a few modifications to host this file on IIS considering the name.
root@yuengling:/usr/local/www/apache22/data/jabber # ll total 56100 -rw-r--r-- 1 upload www 56574006 Sep 22 10:50 Cisco-Jabber-Mac-10.5.0.191164-56574006-MCwCFF7lmx_A_Q1b6iK97ETn7QBfP_N9AhQOKTx6TgnCyw3Z4NfjVqdactMcgA!!.zip -rw-r--r-- 1 upload www 786432 Nov 1 17:47 CiscoJabberSetup.msi -rw-r--r-- 1 upload www 557 Sep 25 19:33 update.xml
From here you need to test downloading each of these files and once that works you can proceed updating your jabber-config.xml. Recall that your jabber-config.xml file is hosted on CUCM so be prepared to update that file, upload to CUCM, and restart TFTP services. Please remember to upload to all your TFTP nodes in the cluster.
<config version="1.0"> <Client> <UpdateUrl>http://yuengling.brewery.com/jabber/update.xml</UpdateUrl> </Client> </config>
You can add a piece of code into your jabber-config.xml that will give users a display of information. I haven’t found that really useful at this stage, but I may do it for the Jabber 10.6 update that is coming ‘soon’.
If it displays properly your next task is to load up Jabber, click Help and “Check for Updates”. If everything pieced together properly you should get the following.
2 thoughts on “Configuring Cisco Jabber Automatic Updates”
One thing I wanted to avoid when setting up a Jabber update server was to have another server to manage. I didn’t want to build a windows box with IIS just for Jabber updates and then have to worry about Windows Updates, securing IIS, etc.
I ended up using CUCM as the web server. I uploaded jabber-update.xml and my Jabber installer file to the Call Manager Publisher TFTP site by going to the CUCM website > Cisco Unified OS Administration > Software Updates > TFTP File Management > Upload File.
After this I set the UpdateUrl in jabber-config.xml to: http://:6970/jabber-update.xml. In jabber-update.xml I set the DownloadURL to: http://:6970/CiscoJabberSetup.msi
Thanks Mike! I believe that works well in a few cases, but with the other services the IM&P server needs it does require a 3rd party server. I’m referring to not only the Jabber update mechanism but also problem reporting uploads, secure file transfer (spilling some 10.6 beans here), and compliance/archiving. I would be cautious of using the CUCM server as this distribution point for larger deployments (1000+) if it is also a call processing node.