Thursday, March 18, 2010

Call Flow from OCS 2007 R2 to Cisco Call Manager

My current client is interested in integrating Microsoft OCS 2007 R2 Enterprise Voice with Cisco Unified Call Manager (CUCM).  As we began our discussions, they became interested in better understanding the call flow.  I did some research and found very little in the way of easy-to-understand information so, I picked up the phone and called a colleague that is expert in the area.

 

Cisco Subsciber Call Flow

The illustration above gives you a high-level view of the call flow between OCS and Cisco’s voice platform.  I’ve illustrated two scenarios;  a) A single party, point-to-point call and b) a multi-party conference.

Scenario A – Single Party, Point to Point Call

When a call is made from an OCS Enterprise Voice-Enabled User (1) to an internal Cisco Subscriber the call will be routed to the mediation server where the Direct SIP (2) connection between the mediation server and the Call Manager will be used to setup the call using SIP.  If the call is setup properly, the Call Manager will return the MAC address of the subscribers phone and a direct RTP Stream (3) will be established between the mediation server and the Cisco end-point.  Traffic from the OCS User (1) to the mediation server will use Microsoft’s RT-Audio Codec.  The mediation server will transcode the RT-Audio RTP stream to G.711 for delivery to the Cisco End Point.

Scenario B – Multi-Party Call

A multi-party call is a little more complicated as Cisco requires a Media Termination Point (5a, 5b) which will aggregate all the RTP streams and distribute them appropriately.  Cisco gives you a couple options for implementing the MTP.  They offer a software based MTP (5a) that will load up as part of the IOS on the Call Manager itself.  This solution is great for testing or smaller implementations.  However it does not scale well for large interoperability scenarios.  The alternative is to implement a hardware based DSP (Digital Signal Processor) on the Cisco Voice Gateway (example 3845) that will run the MTA.  This alternative is great for larger scale implementations.

When a call is originated from OCS (1), destined to multiple Cisco subscribers, the call is setup between the mediation server and Call Manager (2) using SIP (2).  The setup will see that the OCS user wants multiple Cisco end points and will return an path that sends all RTP streams to the MTP (4).  The MTP (5a, 5b) will then aggregate the RTP stream to the appropriate Cisco end points (6).

Note:  OCS 2007 R2 supports Direct SIP with Cisco Unified Call Manger 4.x, 5.x, & 6.x. (http://technet.microsoft.com/en-us/office/ocs/bb735838.aspx) and soon will support Cisco’s 7.x release of CUCM.  Cisco, on the other hand will tell you that they don’t “support” Direct SIP to OCS on any platform, other than 7.x.  That said, I’ve seen Direct SIP work well with the Microsoft supported versions and one shouldn’t let Cisco’s FUD keep you from deploying Direct SIP to these down-versions.

So I hope this helps simplify the call flow between Cisco and OCS.  Send your comments or questions.  Until next time.

-D