Friday, August 17, 2012

Cisco Jabber for iPad Pt 1 Provisioning CUPS and CUCM

Cisco Jabber Brand
As noted in my blog on Cisco Jabber for iPad Now Has Video, the latest version of Cisco Jabber for iPad was released on July 11, 2012. This version of Jabber not only adds video capabilities that leverage the built-in cameras on the iPad2 and 3rd generation iPad, but it also combines call processing, presence, and IM functionality into a unified client

In this series on provisioning, I am going to go through the various provisioning options for the Cisco Jabber for iPad. We'll initially start with the basics of getting the client communicating with various back-end services by using the Cisco Unified Presence Server and Cisco Unified Communications Manager integration options.

Background

I had 80% of this thing written 3 weeks ago. It has been one of those summers! In this installment I am going to do a walk through of provisioning Cisco Jabber for iPad to use CUCM for voice/video call processing and CUPS for presence. The way that the Jabber clients work (well, typically?) is that you would provision your Presence service first, whether that be WebEx Connect or CUPS. After provisioning the Presence/IM provider then you provisioned the call processing solution.

With the Jabber for iPad client certain configurations are mutually exclusive, but it is a relatively simple matter to re-provision the client to use different services. So, for example, you can provision CUPS and then back out to provision WebEx Connect. The client won't run both services simultaneously (unless there is something I don't know). Those of us who have been using the Jabber for Mac (not Jabber Video for Mac, which is just Movi) client are probably familiar with this behavior.  

The Cisco Jabber for iPad administration guide provides detailed steps for provisioning. It is pretty straightforward. However, there are lots of steps and the document is a tad on the clunky side. So, I thought I'd use that as an excuse to put this thing together.

Versions

The versions of the UC applications and clients that I was running during this test:
  • CUCM: 8.5(1)SU3  (and 8.6{2) SU1a)
  • CUPS: 8.6(2)
  • Cisco Jabber for iPad: 1.0
It is worth noting that the Jabbber Client for iPad supports 
G.711 (a-law/u-law) and G.722.1. To support G.722.1, you must load CUCM 8.6.1 or 
later.



General Considerations for this Solution

In a lab environment, it is relatively simple to get the Cisco Jabber for iPad client up and running. However, when introducing this into your production environment you will need to pay attention to a few things.


So, what are some of the challenges that you should be mindful of? The challenges can be grouped by End User Challenges and Business Challenges.

End User Challenges

In my mind the End User Challenges are pretty straightforward to define but often more difficult to achieve because not all end users are created equal. I am of the opinion that a properly conceived and well executed design is one that addresses the use case in a clean and transparent manner. 

The first challenge is to provide users with an interface that is simple and intuitive. A fair portion of this burden falls on the application itself but there is a significant amount of ownership placed on the system designer and admin. The system designer needs to avoid adding unnecessary complexity to a solution (i.e. don't get cute). The admin needs to recognize when a feature meets the need cleanly or is too cumbersome for the end user community. You can read this last point as: don't do something just because you can, do it because it addresses the need.

Some things you should consider to increase usability of the Cisco Jabber for iPad client are: 
  • Leverage LDAP for authentication
  • Use complete user settings on CUCM and CUP (i.e. don't skip LDAP configurations for directory search)
  • Leverage Application Dial and Directory Lookup rules

Obviously, keeping up with user demand is considered to be a challenge by some. I prefer to classify it as an imperative that is associated with the various business drivers behind this BYOD phenom.

Business Challenges


Some of the key business challenges are:
  • Providing secure access to the network
  • Enforcing company usage policies
  • Protecting data and loss prevention
  • WLAN Performance and reliability
The above is by no means a complete list. IT organizations also need to keep an eye on on-boarding a variety of platforms, density of wireless APs, new attack vectors for those less scrupulous people, etc.. A majority of these challenges are related to the security and WLAN infrastructure. 

With mobile workers you also add in the additional consideration of extending security to the remote device. Leveraging a VPN solution for the CUCM and CUPS integration with Jabber for iPad is the preferred solution. 

I am going to stop myself before I get too far off track. To sum it up, you need to get yourself familiar with the BYOD phenomenon and consider the various implications with deploying an army of video-enabled mobile devices. You also want to keep your CUCM CAC and region configurations in mind. I have seen more than one person have issues with video because they had "None" set for video bandwidth within a location. Woops!

Provisioning CUCM

Adding a New Device Type to the CUCM Cluster
 
The Cisco Jabber for iPad is a brand new device to currently shipping releases of CUCM. As such, you must load a new device package leveraging a Cisco Options Package (COP) file. The detailed procedures for loading a COP file on CUCM are provided here. We'll cover the Cliff's Notes version below.


Note: Since installing this COP requires a reload on each node in the CUCM cluster, I highly recommend reviewing Cisco's installation procedures thoroughly as part of your planning process.


You can download the COP file from the software download area of CCO. Under the Unified Communications Clients select the Cisco Jabber for iPad. At this moment in time, there is only one version of the COP files (version 1.0.1). Download the latest version that is compatible with your version of CUCM.  


You should download the COP file to a location that the CUCM cluster nodes can access using SFTP. Once downloaded, you will need to install the COP file on every node in the cluster, starting with the Publisher node.

Once you have the COP file downloaded, you can install this software package using the same method you would for any other package. It is important to keep in mind that after loading the COP image, the CUCM node needs to be restarted. This should (obviously) be done during a change control window. My approach with COP images is to install them on the Publisher node and reload that node. Then I install on all remaining CUCM nodes. Finally, I follow a process of reloading CUCM nodes in a manner that minimizes service disruption for registered endpoints and users. 

Customizing Dial Rules


In yesterday's workplace, managing the user interface to the dial plan was a relatively straightforward task. You had to figure out what the abbreviated dialing experience will be. You go with 4-digit, 5-digit, whatever. Then you determine off-net/PSTN dialing rules. In North America that may be an 8 or a 9 with 7-digit, 10-digit, 11-digit, or variable digits for International calls. While some admins go to great lengths to engineer the call flow, one of the main goals is to make the user experience consistent and (hopefully) simple. 

In the modern workplace, where mobile devices are in the process of ascension, the goal is still the same but the user experience is different. For example, the Cisco Jabber for iPad client can use entries from the local address book on the iPad. Users don't typically create personal address book entries with a leading "9" digit nor are they inclined to save their colleague's work number using the abbreviated digits they use from their desk phone.

Cisco provides Application Dial Rules and Directory Lookup Dial Rules as a tool to help administrators to maintain consistency in their core dial plan while at the same time accommodating the end user per-device dialing needs. These Dial Rules are XML packages that can be downloaded from Cisco, installed on CUCM, and modified (optional) as needed.

An overview of the process:
  • Obtain Cisco Options Package (COP) file for dial rules
  • Install the COP file on CUCM
  • (Optional - sorta) Download copy of dial rule .xml files, modify, and upload changes
  • Restart TFTP service  
Step-by-step procedures are provided in the Jabber for iPad Administration Guide.

Preparing to Provision Jabber Device
After adding the device type to the CUCM cluster and customizing dial rules, we can now put on some finishing touches. One of the recommended procedures is to create a custom SIP profile for Jabber clients. The main reason to create a custom SIP profile is so you can tweak the registration, keep alive, and subscription timers in order to accommodate running Jabber as a background process.

This consideration applies not only to Jabber on the iPad but also to Jabber clients on Android and iPhone/iPod Touch. The Cisco recommended timers for iPad SIP control channels are as follows:
  • Timer register delta: 60 seconds
  • Timer keep alive expires: 660 seconds
  • Timer subscribe expires: 660 seconds

Provision Jabber Device
The Jabber for iPad administration guide states that the device type (phone model) that you should use is the Cisco Jabber for iPad. However, in my lab (CUCM 8.5) the device type is actually Cisco Jabber for Tablet. Other than that difference, the procedures provided in the administration guide are adequate.

Some additional features that you may want to provision or things to pay attention to:
  • On the Device you will want to ensure you have Video capabilities enabled
  • You will also want to make sure that Regions and Locations are configured to allow video

Provisioning CUPS
For the purposes of this discussion, I'll assume that the basic CUPS services are provisioned and running. You'll also want to make sure all of the other basic CUPS/CUCM configurations are completed and that CUPS is fully integrated with CUCM. 

Provisioning CUPS to support the Jabber Client is pretty much the same as for Unified Personal Communicator (UPC), the Jabber for Windows (new version of UPC), Jabber for Mac, etc.

The basic task list:
  1. (CUCM) Provision user in CUCM for Presence
  2. (CUCM) Provision LDAP sync and authentication (should do that regardless)
  3. (CUCM) Provision end users with Standard CTI Enabled user group
  4. (CUPS) Provision LDAP for directory search (technically, optional but you'll want to do it)
  5. (CUPS) Configure IM Policy
  6. (CUPS) URL strings for fetching pictures (Nice but I usually skip this)
  7. (CUPS) Setting up CTI gateways (basically done for you during integration, but just in case)
  8. (CUPS) Set up SIP proxy TCP listener and the TFTP servers used by the Jabber clients to get device configurations from CUCM
  9. (CUPS) Set up voicemail profiles (optional)
  10. (CUPS) Map the Jabber user to the appropriate application/feature profiles


Configuring the Jabber Client

Application Install
Loading the Cisco Jabber for iPad application from the AppStore is pretty straightforward. Go to the AppStore on your iPad and search for Cisco Jabber or just Jabber. Let your fingers do the walking. 

Note that to use this application,  you need the iPad2 or iPad (3rd Generation). You can use WiFi, 3G, and 4G (depending on what your tablet supports). I only tested WiFi communications as I was using iPad2 and I know from previous tests with other softphones that video over 3G is not worth pursuing.


Configuring the Client

We are planning on using CUPS as our presence/IM solution and CUCM for voice/video call processing. To configure the Jabber client, we are using CUPS to push out the CUCM TFTP server information needed to get the client to communicate to the CUCM cluster.

NOTE: When configuring the Jabber client, you must provision CUPS first and then add CUCM. You will not be able to provision CUPS if you configure CUCM accounts first.

The first step is to launch the Jabber client. If this is your first time loading the client, or you have navigated back to the account setup screen, you will see the following.


Just like a Goosebumps choose your own adventure book (Ermahgerd Gersberms!) you have two paths you can take. On the left, you can choose Individual Accounts. This option is applicable if you have a Jabber TelePresence Video (i.e. @jabber.com) account or you have a WebEx Connect account. We will cover this integration in another installment of this series. It is worth noting that you can also provision a WebEx Connect service as a company-provided account.

For CUPS, you should choose the Select Account option under company provided accounts. This will bring up the following screen.



Under "Cisco Instant Messaging" select the option for Unified Presence. To provision CUPS you enter in the IP address or host name of the CUPS server along with the user name and password associated with your account. Once you enter all necessary information, select Sign In.



Assuming you have correctly provisioned the user in CUPS, you should be signed in and available. The presence status for your user is displayed in the upper left of the application screen. Contacts are shown in the sidebar on the left. In the following figure, user ucguerrilla is successfully logged into CUPS. The next step is to add a call processing agent for voice and video. On the right-side of the application window, select "Set up Video and Voice Calling Account".




When you are using CUPS as your Presence/IM solution and you start setting up the voice and video calling account, you will be prompted to provision CUCM for voice/video. Select the Unified Communications Manager option and you are presented with a new provisioning screen.



I think it is odd to have to provide credentials again but we'll act like a river and just flow with it. It is worth noting that the TFTP and CCMCIP address/host information fields are not configurable from the Jabber client. These must be setup in CUPS. 

Once you finish associating the CUCM information with the Jabber client, the client will register to the CUCM as a soft phone (or CSF, to be more specific). You will notice several changes to the interface. A dial pad function key is added to the interface (top right of the following screen shot) and a "Corporate Directory" menu is added to the panel on the left. This Corporate Directory allows you to search the CUCM corporate directory. The "My Contacts" option extends your directory options by incorporating contacts that may be in the Address Book on your iPad device. This is pretty handy and a good reason to pay close attention to the dial rules added to the CUCM (as previously noted).





Wrap Up

In this installment, we covered the basic setup and provisioning procedures. There are few application features that we have not covered yet. These may be added to a follow up post as I am still in the process of testing the client. In the immediate future, I am planning to play with the WebEx + Jabber TelePresence Video provisioning options.




Thanks for reading. If you have time, post a comment!

9 comments:

  1. Awesome post, just what I needed on the eve of deploying Jabber in house!

    ReplyDelete
  2. Could you run this without the CUPS server ... just CUCM?

    ReplyDelete
  3. When I try to setup Jabber client over Express-E. I have to configure Advanced Settings to manuel and set the Server's internal IP address.

    Is it possible to leave it auto and get the information from the Login process ?

    Thanks
    Dan

    ReplyDelete
    Replies
    1. Sounds like Service Discovery is not functioning or not provisioned. For external client connections via the Edge, you should look at DNS. Make sure you have the SRV record (_collab-edge._tls.domain.com) provisioned. Make sure that certificates leverage the same FQDN.

      HTH
      -Bill

      Delete
  4. Informative article..gr8 work done

    ReplyDelete