The Issue
The issue only surfaces for inbound calls when media by pass is turned on the Mediation Server for Cisco Gateways. In the case we were working on the call would make the client ring but the client could not answer and the call would fall back to Exchange Unified Messaging. Although Exchange UM could answer the call the Lync client could not.
Below is the SDP sent by the Cisco gateway that indicates comfort noise payload type 19. 19 was reserved for an IETF draft that was eventually replaced by RFC 3389. RFC 3389 describes a Real-time Transport Protocol (RTP) payload format for transporting comfort noise (CN).
v=0
o=CiscoSystemsSIP-GW-UserAgent 6674 1741 IN IP4 10.10.125.10
s=session
c=IN IP4 10.10.125.10
t=0 0
m=audio 17544 RTP/AVP 0 101 19
c=IN IP4 10.10.125.10
a=rtcp:17545
a=x-bypassid:bc5cdacd-0c16-47e5-8213-97808ff94bbf
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:19 CN/8000
a=ptime:20
a=x-mediasettings:signalboostunsupported rtcpunsupported holdrtcpunsupported
As you can see the gateway signals the wrong comfort noise format for G.711 and the Lync client is unable to answer the call. Not sure why Cisco are still using 19 format as default since the RFC was written in 2002 but it is what it is. There is an expectation in the RFC of backward compatibility also so this may be more than the wrong default at play here so I am not about to point a finger.The Fix
There are in fact two fixes that are pretty easily configured on the gateway. First off you can disable Voice Activity Detection all together on the outbound dial peer. The second option is to change the payload type for comfort noise to the correct format. Its pretty common for people to turn VAD off by default so some people may not have realized this issues existed. Previous Cisco documentation for OCS R2 has VAD enabled which it is by default so people migrating to Lync hoping to take advantage of media bypass might be caught out.
Option 1
dial-peer voice 1999 voip
tone ringback alert-no-PI
description TO Lync
destination-pattern 55555
session protocol sipv2
session target ipv4:192.168.1.250:5068
session transport tcp
dtmf-relay rtp-nte
codec g711ulaw
fax protocol none
no vad
Option 2
dial-peer voice 1999 voip
tone ringback alert-no-PI
description TO Lync
destination-pattern 55555
session protocol sipv2
session target ipv4:192.168.1.250:5068
session transport tcp
dtmf-relay rtp-nte
codec g711ulaw
fax protocol none
rtp payload-type comfort-noise 13
Comments welcomed.
VoIPNorm
I noticed that the formating is a bit messed up in RSS feed. The text is white and for some reason it wasnt converted to the correct colour in the RSS feed. Appoligies to those that had this issue.
ReplyDeleteCheers
Chris
Chris, we are also testing some features of Lync with inbound calling in a very similar topology. Only our issue appears to be that media-bypass is not supported with a SIP delayed offer. We have tested this several times and can confirm that inbound call to Lync, routed via CUCM, requires that MTP be required on the SIP trunk between CUCM and Lync in order for Media-Bypass to function.
ReplyDeleteWe do not see any issue with the exact same topology on calls originated by Lync -> CUCM -> PSTN; media-bypass works.
So curious if you have seen this. No where have I seen on any blog or technet article call out that early-offer is required for media bypass to work on inbound calls.
Thanks!
One other comment/question, you said UM can answer the call, which I assume all things being equal means UM supported CN type 19 in the SDP. Can you confirm that to be true? If so, then I would suggest MS is at fault for not maintaining the same support in Lync. Not as if a majority of interest here is integration of CUCM and Lync....
ReplyDeleteThat is true. Exchange has no problem answering the call. Like I said I wasnt pointing fingers and this maybe another issue which could be a issue with the Lync client but fact remains by default the ISR doesnt comply with the RFC. You need to make a change to have it comply. Something to keep in mind.
ReplyDeleteWas any of the above with CUBE in the picture? Or not at all? :-/
ReplyDeleteHi Chuck
DeleteCUBE or not the issue is the same as it affects all IOS versions. So you will need either to use option one or two and have the dial peer pointed at Lync us one of the options above.