Work From Home: Jabber Deployment (Part 1)

Jeremy Worden
automate builders
Published in
4 min readMar 19, 2020

Recently I was tasked with mobilizing our workforce so they could work from home as a response to COVID-19. This meant that I had to create over 6,000 new devices and associate them to the correct user in less than a couple of days on our Cisco Call Manager Cluster. Normally a project of this size would take weeks if not months to plan to make sure it went smoothly! Luckily I’m a programmer and used Electron and NodeJS to help me do this task easily.

I created an application that assist with Bulk Administration Tasks, called Better BAT :)

Better BAT Main Screen

It uses traditional Cisco BAT files and will check if the import file has any issues, for instance it will let you know if the Device Level CSS exists on the cluster you are importing on. Or another example would be checking if DND setting is correct for each model type in your import file. Where possible the tool will also provide a dropdown of correct possible configurations already on the cluster.

Example of Better BAT showing incorrect CSS and Location. Items in red can be fixed via a dropdown.

Another great feature is that it lets you leave out columns and set them via a Settings>Options menu. Example of this would be setting a Calling Search Space (CSS) for all Forward Busy Internal CSS.

Example of hardcoding Calling Search Space for a Line Level parameter

Better BAT will also allow you to “combine” what would normally be two BAT files into one. For instance look at the below CSV and notice that there is a column for “Remote Destination Profile Name” and one for “Device Name”. This import file would allow Better BAT to use the information to create an Extension Mobility profile and provision a Cisco 8845 for the user with one import file. This can be done because both devices share 90% of the same information.

Remote Destination Profile Name,Device Name,Device Profile Name,Description,Device Pool,CSS,AAR CSS,Location,Extension Mobility,User ID 1,Owner User ID,Device Type,Device Presence Group,Device Security Profile,Device Protocol,SIP Profile,MTP Preferred Originating Codec,Device Mobility Mode,Mobility User ID,DND Option,BLF Audible Alert Setting (Phone Busy),BLF Audible Alert Setting (Phone Idle),Always Use Prime Line,Always Use Prime Line for Voice Message,Use Trusted Relay Point,Phone Personalization,Directory Number 1,Route Partition 1,Voice Mail Profile 1,Line CSS 1,Auto Answer 1,Line Text Label 1,External Phone Number Mask 1,Maximum Number of Calls 1,Busy Trigger 1,Visual Message Waiting Indicator Policy 1,Ring setting (Phone Idle) 1,Ring Setting (Phone Active) 1,Caller Name 1,Caller Number 1,Redirected Number 1,Dialed Number 1,Alerting Name 1,Line Description 1,ASCII Alerting Name 1,Line Presence Group 1,Display 1,ASCII Display 1SMITHJ-RDP1,SEP112233445566,SMITHJ-UDP1,LAB Phone 1,TEST_DP,DEVICE_STD_CSS,,TEST_LOC,f,SMITHJ1,SMITHJ1,Cisco 8845,Standard Presence group,Cisco 8845 - Standard SIP Non-Secure Profile,SIP,Standard SIP Profile,711ulaw,Default,SMITHJ1,Ringer Off,Default,Default,Default,Default,Default,Default,\+1375551108,PHONE_PT,NoVoiceMail,LINE_Internal_CSS,Auto Answer Off,John-2408,,2,2,Use System Policy,Ring,,t,t,f,t,John Smith,Lab Phone 1,John Smith,Standard Presence group,John Smith,John Smith

So how did this help with my work from home Jabber deployment? Well it was pretty easy to export all the devices that would now need a Jabber clone. From there I was able to just update the Device Type and Device Name to reflect a Jabber import. I then used Better BAT to identify misconfiguration issues, i.e. incorrect Phone Button Template, MLPP Preemption or DND settings (There is an auto-fix function built in that will remedy these examples). I was able to then update them via the tool either manually or via a hard coded option and then push the devices in.

Once I had the devices in, I needed to update the users so the newly created devices would be associated. Luckily Better BAT pulls all the end user ID’s from the import file and starts my End User table for me. All I had to do is let the tool know that I would be updating these users and to append the new Jabber devices to the end of the users existing Controlled Devices. This way I didn’t wipe out the current configuration nor did I have to spend time doing VLOOKUP’s in Excel to add the Jabber devices to the correct column.

Better BAT option to append devices in table to the end of the already existing devices configured in Call Manager
Call Manager showing Controlled Devices for user after appending newly created Jabber

If anyone would like to test out the application I’ve posted it as freeware on my site:

automate.builders

I’m also happy to answer any questions you have about the software

Thanks!

Jeremy

--

--