Jabber and CUCM TFTP Server Site Selection

CUCM TFTP server selection for Cisco phones has been a well known architecture for quite some time. The phone looks up a TFTP server address based on DHCP option 150 and downloads its configuration and files from the published address. Simple enough. Jabber on the other hand works a little differently as it does not use DHCP directly. The underlying PC takes care of addressing and Jabber has to find alternative methods to get to its TFTP server to download its configuration file.

In most cases Jabber uses a SRV records to locate a CUCM server running the User Data Service (UDS). UDS is enabled by default on all your CUCM servers by the way. Once this is located a service profile is returned which has a number of things, but in our case we are most interested in is the TFTP server addresses. Depending on how many TFTP servers you have enabled in your environment your service profile file will list all of them automatically. So if you have turned on TFTP on ever server in your cluster that’s what it will return.  See slide below for a more graphical look at the process.

 

image

Initially this may seem like a good idea to turn TFTP on every CUCM server and you have redundancy but this isn't how Jabber reads the file. Jabber will check to see if the first three TFTP servers are available only and if all three of those TFTP servers happen to be in a data center that is off line the client will not be able to pull down the jabber-config.xml file.

So what is the best practice? Never have more than two CUCM TFTP servers per cluster enabled per data center for Jabber. This will ensure that Jabber will never be stuck looking for a third server in the same datacenter and will need to look else where, hopefully in another datacenter where you have a third TFTP running. This doesn’t affect how a phone retrieves its information though because a phone as we mentioned earlier is using DHCP option 150. This also doesn’t affect how many TFTP servers you can have in your cluster just where you turn the service on if your also running Jabber and what high availability. In saying that ideally three TFTP servers is probably the optimal amount you will want or need there is nothing stopping you having more. I would suggest that if your desire is more than three have a solid engineering reason behind it.

As always, I hope this helps some hapless sole looking for an answer.

VoIPNorm

CUBE to Exchange 2013 Unified Messaging Interoperability

As most of you know when Microsoft moved to Exchange 2013 their architecture changed quite a bit. They introduced the Client Access Server as a new role for Unified Messaging and disbanded the UM role altogether putting the processes that ran on the UM server to the Mailbox Server role.

This isn’t a big deal but what happens during an initial call setup is Exchange uses a number of refer and moved temp messages to get the user to the right Mailbox Server running the UM process when a user tries to dial into voicemail via the voicemail pilot number. Now if you’re a larger Exchange customer this may present some issues integrating with CUCM or CUBE or maybe you just haven’t noticed this issue or you just decided its not that important any more. Either way I have a fix for you.

CUCM Issue, workaround and fix

Previous to version 11 of CUCM there is an issue where CUCM can not process the refers correctly and calls into the voicemail pilot number will not connect correctly. The fix is upgrade to version 11. I also discovered the same bug in 2010 when Exchange 2010 would refer back to Exchange 2007.

This does not affect any other functionality if that is a concern. The ability to leave a voicemail, MWI etc. all still work. It is only the ability to retrieve a voicemail via the Vmail pilot number that is affected by this bug. The other functions are using different methods to find and access the correct voicemail box.

If for some reason you would prefer not to upgrade to CUCM 11 there is a work around using CUBE. CUBE has the ability to consume these refer messages coming from Exchange 2013 CAS and UM processes. There is very little information available online for the right configuration of CUBE for use with Exchange 2013 Unified Messaging. I have highlighted below some of the key commands required for at least the ability to have the voicemail pilot connect and be referred to the right Exchange Mailbox server.

You may notice under dialpeer 100 I have highlighted max-redirects 3 specifically in red. This is a very important command that if not implemented will not allow the CUBE to correctly consumer the refer and moved-temp messages and basically cause a never ending loop of invites and moved-temp messages. Thanks to the Cisco TAC for discovering that command.

Does this configuration work for Exchange Online you may ask? I have no idea to be quite honest but it may be worth testing if you are curious. I found basically a void of information in regards to CUBE interop with Exchange Online so this may or may not work with the service.

voice service voip
no ip address trusted authenticate
mode border-element
media flow-around
allow-connections sip to sip
no supplementary-service sip moved-temporarily
no supplementary-service sip refer
supplementary-service media-renegotiate
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
sip
  referto-passing
!
dial-peer voice 100 voip
preference 1
 max-redirects 3
destination-pattern <voicemailPilot>
no notify redirect ip2ip
session protocol sipv2
session target ipv4:<ExchangeCASIP>:5060
session transport tcp
dtmf-relay rtp-nte
codec g711ulaw
no vad
 no supplementary-service sip moved-temporarily
!
dial-peer voice 300 voip
preference 1
destination-pattern [2-9].........
session protocol sipv2
session target ipv4:<CUCMIP>
session transport tcp
incoming called-number .
dtmf-relay rtp-nte
codec g711ulaw
no vad
no supplementary-service sip moved-temporarily
!

As always, I hope this helps some hapless sole looking for an answer.

VoIPNorm

VoIPNorm where have you been?

I am still around folks just been busy. Traveling, golf, studying and work all adds up after a while.  I am in the process of writing a new interoperability post for CUBE and Exchange 2013 UM and should have it up by next week. It should be an interesting read if you have ever run into issues with Exchange 2013 UM and the way it does refers to CUCM or CUBE.

Talk to you soon.

VoIPNorm

Collaboration Summit Announcements–IX5000 & Project Squared

You may have noticed last week a bunch of announcements coming from Cisco during our Collaboration Summit.The major ones were the release of Project Squared (which includes the partnership with Box) and also our new immersive system the IX5000. Below is a small collection of a few resources from that event as well as an interesting video of a WebRTC call from Project Squared running in a browser to a DX80 video endpoint transcoding free.

If your interested in trying out Project Squared you can sign up for free and start collaborating right here : https://www.webex.com/projectsquared/ . You can currently get to Project Squared through a Web browser or apps running on iOS, Android and MAC with Windows coming in December (date is public from Project Squared website).

http://blogs.cisco.com/collaboration/industry-first-h-264-video-endpoint-calls-firefox-via-webrtc-enabled-project-squared

http://blogs.cisco.com/collaboration/what-is-the-cisco-collaboration-cloud

http://blogs.cisco.com/collaboration/ix5000-launch

http://developers.blog.box.com/2014/11/17/project-squared-box-view/

VoIPNorm