CUC (6) CUCM (28) Jabber (6) Python (2) Routing (3) Solarwinds Orion NPM (4) switching (1) Video (6) voice (3)

Sunday, 16 December 2012

SIP Early Offer CUCM Trunk

I was working on a migration the other day that had a CME with a SIP trunk to some dodgy provider, that shall remain unnamed (well not really if you pay attention). This particular implementation meant adding a CUCM cluster to the mix. Initially, I set the CME router as a H323 gateway on the CUCM, and simply have the CME router act as an IP-IP gateway. The problem that I encountered after I did this, is that when I made an inbound call, the CUCM phone rang and once picked up, the external originator of the call kept ringing, so clearly there was something wrong with the signalling. When I started debugging SIP on the inbound call leg (and this is why I love SIP so much, as it is so easy to understand its signalling). I realised that the provider was using Early Offer.

Early offer means that the media negotiation parameters are sent as SDP inside the INVITE message (see below)

INVITE sip:0399167314@;user=phone SIP/2.0
Max-Forwards: 69
Session-Expires: 3600;refresher=uac
Min-SE: 600
Supported: timer, 100rel
To: 0399167314 <sip:039xxxxxxx@;user=phone>
From: <sip:0396xxxxxx@>;tag=3563846310-73199
Via: SIP/2.0/UDP;branch=z9hG4bK571711401be254476c9b6c922cdfcb01
Contact: <sip:039xxxxxxx@>
Call-Info: <sip:>;method="NOTIFY;Event=telephone-event;Duration=1000"
Content-Type: application/sdp
Content-Length: 524

o=MSX02-KENT-SYD 1436627 0 IN IP4
s=sip call
c=IN IP4
t=0 0
m=audio 22242 RTP/AVP 18 0 8 99 102 103 104 4 105 3 106 107 108 125 101 100
a=rtpmap:99 G.726-16/8000
a=rtpmap:102 G.726-24/8000
a=rtpmap:103 G.726-32/8000
a=rtpmap:104 G.723.1-H/8000
a=rtpmap:105 G.723.1-L/8000
a=rtpmap:106 G.729b/8000
a=rtpmap:107 G.723.1a-H/8000
a=rtpmap:108 G.723.1a-L/8000
a=rtpmap:125 G.nX64/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:100 X-NSE/8000
a=fmtp:100 192-194

The responding party should then send a SDP inside its "200 OK" response back to the SIP provider. Obviously Early Offer is not something that H323 understands by default, so H323 Fast start will need to be used. If you want to read up on how that works:

anyway to cut a long story short. I decided to go for SIP instead. So I built a SIP Trunk on CUCM. With Early Offer you will need to set the following in the SIP profile for the particular trunk  (I always prefer to have an inidvidual Profile for each trunk, as it will allow for more graularity between gateways).

Also, it is important that you set the "send send-receive SDP in midcall INVITE",  which is pretty much Early Offer Mid Call. This will be used for for instance Conferencing and Music On Hold, when an external party is involved.

please note that I did not use MTP for this set up to work.

Cisco has the following documented on this:

"Media Termination Points (MTPs) are generally not required for Delayed Offer calls from Unified CM SIP trunks. For this reason, Cisco recommends Delayed Offer as the call setup method for outbound calls from Unified CM SIP trunks. For outbound Early Offer calls from Unified CM, MTP resources are required (SIP Trunk MTP required box is checked and the desired codec to be offered is selected) and remain in the media path for the duration of the call."

Also, make sure that when you make changes to the SIP profile; ALWAYS RESTART the gateway from CUCM.

1 comment:

  1. Hey I am running a business in uk and I am looking some SIP Providers that reduce cost and also improve communication level because By using a business SIP trunk to combine voice and data, you can drop your analogue ISDN and save more than 60% on connectivity charges. Please suggest me something like this SIP Providers