Cisco is continuously developing its CallManager Express product, introducing new features and services to help keep up with its customers' and the market’s demands.
With the rapid increase of the mobile phone market, customer requests for CallManager Express to support them are on the rise. In response, Cisco added support for Apple’s popular iPhone with CallManager Express v8.6 ( IOS 15.1(4)M ), but unfortunately did not include Android support, leaving millions of Android phone users in the dark.
At the time Cisco Mobile 8.1 & 8.0 was available for iPhone users, allowing them to connect and make phone calls via CME just as any normal softphone client. Cisco Mobile was later renamed Cisco Jabber.
Thankfully, with CallManager Express v9.1 ( IOS 15.2(4)M1 ), Cisco finally added support of the Jabber application for the Android operating system. Both Cisco Jabber versions (Android and iPhone) use SIP as the communication protocol with CME. SCCP is not used.
While CME 9.1 now supports both iPhone and Android phones, getting them to work is a different story.
This article will demonstrate how to configure your CallManager Express v9.1 to support Cisco Jabber for both iPhone and Android operating systems.
At the time of writing, the latest version of Cisco Jabber for iPhone is 9.0 (1) and 188.8.131.521 for the Android operating system.
Cisco ISR 2800 Series CME – No Support for Jabber Android Users
On the 1st of November 2010, Cisco announced its discontinuation of all 2800 series ISR routers and, as a result, will only provide minor software upgrades.
The latest IOS version available for the 2800 series is 15.1(4) which, according to our CME-IOS Matrix, supports CallManager Express v8.6.
Since support for the Android operating system begins officially with v9.1, the 2800 series CME routers will only be able to support Cisco Jabber for iPhone. Unfortunately no support for Android is available (yet) for this platform, and we don’t expect to see any in the near future.
IT Managers and engineers who want to provide CME services to their Android Jabber users must upgrade to the 2900 series platform.
Cisco Jabber for Android – How to Overcome Bugs!
Jabber support for the Android operating system is very new on CME and as such, the Jabber version available in Google’s Play Store might not work properly.
When we tested Cisco’s Jabber from the Google Play Store using our Samsung Galaxy SII (Model GT-I9100) running Ice-Cream Sandwich 4.0.4, it was not able to connect to our CME v9.1. We tried the LAN Wi-Fi and even the GSM network (via Anyconnect VPN) but the application failed continuously to register and requested we check our Internet Calling settings.
After consulting with Cisco engineers around the globe, we discovered we had hit a bug on the Android version of Jabber, specific to some Samsung phones running Android 4.0.4. This was later confirmed with some HTC Android phones as well.
However, we managed to obtained an Engineering Special (ES) edition (as Cisco calls it) of Jabber, that overcomes the problems mentioned and works like a charm! This ES Jabber release is not available through Google’s Play Store, nor from Cisco as a direct download.
Fortunately, Firewall.cx Android users can download the engineering special edition from our Cisco Tools and Applications section!
Configuring CallManager Express to Support Jabber for Android and iPhone
The configuration settings of CME are pretty much identical for both Android and iPhone operating systems.
Since Jabber for CME uses SIP as a communication protocol, it is mandatory to enable SIP registration on CME. Enabling SIP registration requires special attention to ensure registration is only restricted to the local network or VPN users at most.
Opening SIP registration to public IP’s or untrusted networks is definitely not recommended as it could allow anyone to connect and register to the CallManager Express.
First step is to configure CME to allow calls from SIP to SIP endpoints and enable SIP registrar:
ip address trusted list
ipv4 192.168.50.5 255.255.255.255
allow-connections sip to sip
bind control source-interface GigabitEthernet0/1
bind media source-interface GigabitEthernet0/1
The ip address trusted list section is used to list remote client IP addresses which are not part of the local network. This will allow them to register with CME and place or receive calls. If for example your Android or iPhone connects to the corporate LAN via VPN (AnyConnect VPN) and obtains an IP address on a different network/subnet from CME, it will be necessary to list the VPN IP address or VPN network pool for the phone to register.
The control source-interface GigabitEthernet0/1 command ensures SIP uses GigabitEthernet 0/1 as the binding interface for all SIP communications. The interface’s IP address will show up as the source IP for all outgoing communications. All incoming communications are expected to terminate to this interface as well.
Next step is to configure the voice register global section. This section holds key configuration elements for the correct operation of our CME SIP service.
Here we will specify various parameters including: Set SIP registrar to CME mode, source-address for phone registration, maximum extensions (max-dn), maximum phones (max-pool), set authentication for phone registration and finally create configuration files for all phones (tftp-path, file text & create profile).
source-address 192.168.9.5 port 5060
authenticate realm firewallcx
create profile sync 0033775744721428
Now we can configure our phone extension using the voice register dn command and SIP phone with the voice register pool command:
voice register dn 5
name Chris-Android 778
label Chris-Android 778
voice register pool 1
registration-timer max 720 min 660
id mac 147D.C5AF.79B2
number 1 dn 5
username chris password firewallcx
While most commands are self-explanatory, we’ll focus on the most important:
number 778: This specifies the extension our SIP phone will have.
id mac 147D.C5AF.79B2. This is the Wi-Fi MAC address of our mobile phone. In our example, our Samsung Galaxy SII.
type Jabber-Android. Here we specify the sip client type. It can either be CiscoMobile-iOS for Apple iPhone users or Jabber-Android for Android users.
codec g729r8: This specifies the codec that will be used for this client. It is possible to use g711ulaw or g711alaw, g722-64k, g729r8 and ilbc. Each code has different bandwidth requirements and sound quality. G729r8 and ilbc require 8 and 13kbps-15.2kbps respectively, while the others require 64kbps. Don’t forget to add the IP overhead to these figures.
Note: When the SIP phone extensions and devices configurations are complete or altered, it is imperative we go to the voice register global section and issue the create profile command. This ensures the appropriate configuration files on CME are created for our SIP devices.
Cisco Jabber for Android (both 4.0.4 and 2.3) Settings – Configuration Example
Connect to the Google Play Store and search for Cisco Jabber:
After downloading and installing Cisco Jabber for Android, launch the application and click on Begin Setup:
Next, in the Device ID field, enter the SEP+MAC address (Applications ->Settings->Wi-Fi-> Advanced Wi-Fi) without any spaces or dots. Now, enter your CME IP address in the Server Address field.
You can selectively enable Use mobile data network and Use noncorporate Wi-Fi options. We always select Use noncorporate Wi-Fi only to ensure the GSM mobile network is not used (especially if your provider charges GSM data).
If necessary, enable Auto Start so that Cisco Jabber starts every time your phone restarts. Now click Verify to register with CallManager Express:
After Cisco Jabber successfully registers with CME, we are presented with the main screen and dial pad:
Cisco Jabber for iPhone Settings – Configuration Example
First we need to verify our phone is connected to the corporate Wi-Fi network and is accessible from CME.
- Launch Cisco Jabber and complete the setup wizard.
- Enter the Device Name SEP, followed by your MAC address without any dots. e.g SEP147DC5AF79B2
- Enter your CME IP address in the TFTP Server field. E.g 192.168.9.5
- Turn ON SIP Digest Authentication and enter the username and password configured under the voice register pool section
Following is a screenshot of the complete settings on our iPhone:
This concludes our Cisco CallManager Express (CME) Cisco Jabber for Android and iPhone configuration.