This document provides a solution for intermittent one-way audio outbound calls over Session Initiation Protocol (SIP)/SIP Cisco Unified Border Element (CUBE) to various Internet Telephony Service Providers (ITSPs).
Cisco recommends that you have knowledge of SIP.
The information in this document is based on these software and hardware versions:
Cisco Unified Communications Manager (CUCM)
CUBE
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Intermittent one-way audio on outbound calls over SIP/SIP CUBE to various ITSP(s)
Call Flow/Topology:
Originator > CUCM (MGCP/SIP) > CUBE (SIP/SIP) > ITSP (Megafon) > Terminator.
ITSP providers who have Mail Transfer Agents (MTA) that do not support duplicate c= lines in Session Description Protocol (SDP) (REINVITE/200 OK) causes intermittent one-way audio for the leg from the ITSP(Tx) to the public switched telephone network (PSTN) phone(Rx).
Provider(s): Megafon (Megacable)
Without SIP Profile:
################################################################################ Sent: INVITE sip:3114560380@200.52.198.253:5151;transport=udp SIP/2.0 Via: SIP/2.0/UDP 200.52.198.15:5060;branch=z9hG4bK1BFE52263 From: <sip:3396900084@200.52.198.15:5060>;tag=3DF1D23A-15D3 To: sip:3114560380@200.52.198.253:5151;tag=227d2baf Date: Wed, 27 Feb 2013 19:44:31 GMT Call-ID: 00000196930006353732439410516722228326160@10.1.56.8 Supported: timer,resource-priority,replaces,sdp-anat Min-SE: 360 Cisco-Guid: 3949497188-2152468962-2983459299-4054721625 User-Agent: Cisco-SIPGateway/IOS-12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 101 INVITE Max-Forwards: 70 Timestamp: 1361994271 Contact: <sip:3396900084@200.52.198.15:5060> Expires: 180 Allow-Events: telephone-event Content-Type: application/sdp Content-Length: 274 v=0 o=CiscoSystemsSIP-GW-UserAgent 8535 9331 IN IP4 200.52.198.15 s=SIP Call c=IN IP4 200.52.198.15 t=0 0 m=audio 18504 RTP/AVP 0 101 19 c=IN IP4 200.52.198.15 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=rtpmap:19 CN/8000 a=ptime:20
With Applied SIP Profile:
Note: Connection-Info removes the first instance c= lines, but not the second.
################################################################################ PSTN#show run | sec voice class sip-profile voice class sip-profiles 1000 request REINVITE sdp-header Connection-Info remove response 200 sdp-header Connection-Info remove Sent: INVITE sip:3310862061@200.52.198.253:5151;transport=udp SIP/2.0 Via: SIP/2.0/UDP 200.52.198.15:5060;branch=z9hG4bK1BFB91A7E From: <sip:3396900084@200.52.198.15:5060>;tag=3DC26466-1A5F To: MEGAFON <sip:3310862061@200.52.198.253:5151>;tag=3e3a03d7 Date: Wed, 27 Feb 2013 18:52:42 GMT Call-ID: 00000195730006353421530314263322228326160@10.1.56.8 Supported: timer,resource-priority,replaces,sdp-anat Min-SE: 360 Cisco-Guid: 2932370470-2152010210-2968844771-4054721625 User-Agent: Cisco-SIPGateway/IOS-12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 102 INVITE Max-Forwards: 70 Timestamp: 1361991162 Contact: <sip:3396900084@200.52.198.15:5060> Expires: 180 Allow-Events: telephone-event Content-Type: application/sdp Content-Length: 250 v=0 o=CiscoSystemsSIP-GW-UserAgent 1274 9443 IN IP4 200.52.198.15 s=SIP Call t=0 0 m=audio 21846 RTP/AVP 0 101 19 c=IN IP4 200.52.198.15 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=rtpmap:19 CN/8000 a=ptime:20
With Applied SIP Profile:
Note: Connection-Info removes the second instance c= lines, but not the first.
################################################################################ PSTN#show run | sec voice class sip-profile voice class sip-profiles 1000 request REINVITE sdp-header Audio-Connection-Info remove response 200 sdp-header Audio-Connection-Info remove Sent: INVITE sip:3310862061@200.52.198.253:5151;transport=udp SIP/2.0 Via: SIP/2.0/UDP 200.52.198.15:5060;branch=z9hG4bK1BFB91A7E From: <sip:3396900084@200.52.198.15:5060>;tag=3DC26466-1A5F To: MEGAFON <sip:3310862061@200.52.198.253:5151>;tag=3e3a03d7 Date: Wed, 27 Feb 2013 18:52:42 GMT Call-ID: 00000195730006353421530314263322228326160@10.1.56.8 Supported: timer,resource-priority,replaces,sdp-anat Min-SE: 360 Cisco-Guid: 2932370470-2152010210-2968844771-4054721625 User-Agent: Cisco-SIPGateway/IOS-12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 102 INVITE Max-Forwards: 70 Timestamp: 1361991162 Contact: <sip:3396900084@200.52.198.15:5060> Expires: 180 Allow-Events: telephone-event Content-Type: application/sdp Content-Length: 250 v=0 o=CiscoSystemsSIP-GW-UserAgent 1274 9443 IN IP4 200.52.198.15 s=SIP Call c=IN IP4 200.52.198.15 t=0 0 m=audio 21846 RTP/AVP 0 101 19 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=rtpmap:19 CN/8000 a=ptime:20
*Caveat
SDP (RFC 2327) support allows for multiple c lines, which shows that the CUBE has properly implemented the feature. This solution example serves as a possible solution for ITSP providers who do not properly support RFC 2327.
From the RFC:
Session description v= (protocol version) o= (owner/creator and session identifier). s= (session name) i=* (session information) u=* (URI of description) e=* (email address) p=* (phone number) c=* (connection information - not required if included in all media) b=* (bandwidth information) One or more time descriptions (see below) z=* (time zone adjustments) k=* (encryption key) a=* (zero or more session attribute lines) Zero or more media descriptions (see below) Time description t= (time the session is active) r=* (zero or more repeat times) Media description m= (media name and transport address) i=* (media title) c=* (connection information - optional if included at session-level) b=* (bandwidth information) k=* (encryption key) a=* (zero or more media attribute lines)
Use this solution to solve the problem.
PSTN#show run | sec voice class sip-profile voice class sip-profiles 1000 request REINVITE sdp-header Audio-Connection-Info remove response 200 sdp-header Audio-Connection-Info remove
Set the profile globally (voice service VoIP).
################################## PSTN#show run | sec voice service voip voice service voip sip sip-profiles 1000
Set the profile on a specific dial-peer. This should be set on dial-peer to and from the PSTN.
################################################################### PSTN#show run | sec dial-peer voice 5566 dial-peer voice 5566 voip destination-pattern 6666 session target ipv4:1.1.1.1 voice-class sip profiles 1000
Refer to the document, Cisco Unified Border Element (CUBE) Session Initiation Protocol (SIP) Normalization with SIP Profiles Configuration Example for more information.
These are the supported SDP headers:
rtr(config-class)#response 200 sdp-header ? Attribute a= Audio-Attribute a= Audio-Bandwidth-Info b= Audio-Connection-Info c= Audio-Encryption-Key k= Audio-Media m=audio Audio-Session-Info I= Bandwidth-Key b= Connection-Info c= Email-Address e= Encrypt-Key k= Phone-Number p= Repeat-Times r= Session-Info I= Session-Name s= Session-Owner o= Time-Adjust-Key z= Time-Header t= Url-Descriptor u= Version v= Video-Attribute a= Video-Bandwidth-Info b= Video-Connection-Info c= Video-Encryption-Key k= Video-Media m=video Video-Session-Info I=
Revision | Publish Date | Comments |
---|---|---|
1.0 |
08-Mar-2013 |
Initial Release |