Guest

Cisco Unified Border Element

Duplicate c= Lines in SDP Cause Intermittent One-way Audio with Various ITSP(s)

Cisco - Duplicate c= Lines in SDP Cause Intermittent One-way Audio with Various ITSP(s)

Document ID: 116010

Updated: Apr 26, 2013

Contributed by Maurice Spencer and Steven Smith, Cisco TAC Engineers.

   Print

Introduction

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).

Prerequisites

Requirements

Cisco recommends that you have knowledge of SIP.

Components Used

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.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Problem

Symptom

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.

Cause/Problem Description

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)

Conditions and Environment

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)

Solution

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.

SDP Headers

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=

Related Information

Updated: Apr 26, 2013
Document ID: 116010