Configurable Pass-Through of SIP INVITE Parameters

The Configurable Pass-Through of SIP INVITE Parameters feature enables the Cisco Unified Border Element (Cisco UBE) platform to pass through end-to-end headers at a global or dial peer level that are not processed or understood in a Session Initiation Protocol (SIP) trunk to SIP trunk scenario. The pass-through functionality includes all or only a configured list of unsupported or non-mandatory SIP headers and all unsupported content or Multipurpose Internet Mail Extensions (MIME) types.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.

Prerequisites for Configurable Pass-Through of SIP INVITE Parameters

  • Configuring the media flow-around command is required for Session Description Protocol (SDP) pass-through. When flow-around is not configured, the flow-through mode of SDP pass-through will be functional.

  • When the dial-peer media flow mode is asymmetrically configured, the default behavior is to fall back to SDP pass-through with flow-through.

Cisco Unified Border Element

  • Cisco IOS Release 15.0(1)M or a later release must be installed and running on your Cisco Unified Border Element.

Cisco Unified Border Element (Enterprise)

  • Cisco IOS XE Release 3.1S or a later release must be installed and running on your Cisco ASR 1000 Series Router.

Restrictions for Configurable Pass-Through of SIP INVITE Parameters

When Session Description Protocol (SDP) pass-through is enabled, some of the interworking that the Cisco Unified Border Element currently performs cannot be activated. These features include:

  • Delayed Offer to Early Offer Interworking

  • Supplementary Services with Triggered Invites

  • Flow-around calls will not work with SDP pass through

  • DTMF Interworking Scenarios

  • Fax Interworking/QoS Negotiation

  • Transcoding

For configurable pass-through of SIP INVITE parameters, the following features for Session Initiation Protocol (SIP)-SIP dial-peer rotary calls are not supported:

  • Unsupported header pass-through functionality for SIP-SIP dial-peer rotary calls

  • Unsupported content pass-through functionality for SIP-SIP dial-peer rotary calls


Note

With CSCty41575, the unsupported header and content pass-through functionalities mentioned above are addressed.


Information About Configurable Pass-Through of SIP INVITE Parameters

Cisco Unified Border Element (Unified Border Element) does not support end-to-end media negotiation between the two endpoints that establish a call session. This is a limitation when the endpoints intend to negotiate codec or payload types that Unified Border Element does not process because, currently, unsupported payload types are not negotiated by Unified Border Element. Unsupported content types include text or plain, image or jpeg and application or resource-lists and XML. To address this problem, Session Description Protocol (SDP) is configured to pass transparently through Unified Border Element so that both the remote ends can negotiate media independent of Unified Border Element.

Session Description Protocol (SDP) pass-through is addressed in two modes:

  • Flow-through—Unified Border Element plays no role in the media negotiation. It terminates and reoriginates the Real-time Transport Protocol (RTP) packets irrespective of the content type negotiated by both endpoints. Flow-through supports address hiding and Network Address Translation (NAT) traversal.

  • Flow-around—Unified Border Element neither plays a part in media negotiation nor does it terminate and reoriginate media. Media negotiation and media exchange is completely end-to-end.

Header passthrough is only applicable to SIP messages and responses that have end-to-end significance. For information on header passthrough support across different SIP methods and SIP Responses, see Table 1: Header Passthrough Support for SIP Method and Table 2: Header Passthrough Support for SIP Response.

Table 1. Header Passthrough Support for SIP Method

SIP Method

Passthrough Support

ACK/ PRACK1

Yes

BYE

Yes

CANCEL

No

INFO

Yes

INVITE

Yes

NOTIFY, OPTIONS, PUBLISH

No

REFER 2

Yes

REGISTER, SUBSCRIBE, UPDATE

No

1 Only for Delayed Offer to Delayed Offer
2 Only when supplementary service sip refer is configured
Table 2. Header Passthrough Support for SIP Response

SIP Response

Passthrough Support

100

No

180

Yes

183

Yes

Other 1XX

No

2XX, 3XX 3

Yes

4XX, 5XX, 6XX

Yes

3 Depends on the configuration for handling redirection.

Supported SIP Headers

You can configure Unified Border Element to pass through SIP headers that are both mandatory and not mandatory (headers that Unified Border Element does not pass through by default). You can configure a list of headers to be passed across for both mandatory and non-mandatory SIP headers.

Mandatory Headers

The following table provides a list of mandatory headers that are supported for pass through by Unified Border Element:

Table 3. List of Mandatory Headers

List of Mandatory Headers Supported on Unified Border Element

Also

Authorization

Call_ID

CC-Diversion

CC-Redirect

Cisco_Gcid

Cisco_Ccid

Contact

Content-Disposition

Content-Encoding

Content-Length

Content-Type

Cseq

Date

From

Max-Forwards

MIME-Version

P-Asserted-Identity

P-Preferred-Identity

Privacy

Proxy-Authenticate

Proxy-Authorization

Record-Route

Route

Session-Expires

Timestamp

To

User-Agent

Via

WWW-Authenticate

Non-Mandatory Headers

The list of non-mandatory headers can contain any header except the mandatory headers that are configured for pass through. The following table provides a list of non-mandatory headers that are supported for pass through by Unified Border Element:

Table 4. List of Non-Mandatory Headers

List of Non-Mandatory Headers Supported on Unified Border Element

Accept-Contact

Accept-Resource-Priority

Alert-Info

Accept-Encoding

Accept-Language

Accept

Allow

Allow-Events

Call-Info

Content-ID

Diversion

Event

Expires

History-Info

Location

Min-Expires

Min-SE

Orig-dial-plan

Proxy-Require

P-Associated-URI

P-Called-Party-ID

Remote-Party-ID

Reason

RSeq

RAck

Refer-To

Request-Disposition

Resource-Priority

Require

Requested-By

Referred-By

Replaces

Replaces

Retry-After

Session

Subscription-State

Sip-Etag

Sip-If-Match

Session-ID

Server

Supported

Term-dial-plan

Unsupported

Warning

Unsupported Headers

You can configure Cisco Unified Border Element (Cisco UBE) to pass through unsupported headers (headers Cisco UBE cannot understand). The following are some of the examples for SIP headers that are unsupported on Unified Border Elements:

  • P-Early-Media

  • SIP-Req-URI

Support for Content-Types

Cisco Unified Border Element consumes, interprets and re-originates the supported Content-Type values as required. The following are the Content-Type values supported by Unified Border Element:

  • application/sdp

  • application/qsig

  • application/media-control+xml

  • application/x-q931

  • application/gtd

  • application/simple-message-summary

  • application/kpml-response+xml

  • application/dtmf-relay

  • application/broadsoft

  • message/sipfrag

  • audio/telephone-event

  • multpart/mixed

Unsupported Content-Type Values

The following are some of the Content-Type values that are not supported (unknown) by Unified Border Element.

  • Content-Type: application

    • application/isup (SIP-T)

    • application/xml

    • application/xml-dtd

    • application/xhtml+xml

    • application/isup

    • application/dialog-info+xml

    • application/mpeg4-iod

    • application/conference-info+xml

    • application/kpml-request+xml

    • application/resource-lists+xml

    • application/policy-caps+xml

    • application/session-policy+xml

    • application/sip

  • Content-Type: text

    • text/plain

    • text/html

    • text/xml

    • text/xml-external-parsed-entity

  • Content-Type: multipart (with required parameter “boundary”)

    • multipart/signed

    • multipart/encrypted

    • multipart/mixed/SDP + q931 + text

    • multipart/alternative

    • multipart/parallel

    • multipart/related

  • Content-Type: image

    • image/jpeg

    • image/jpeg

    • image/gif

    • image/jp2

    • image/jpm

    • image/jpx

  • Content-Type: video

    • video/mpeg

    • video/DV

    • video/h264

    • video/mp4

  • Content-Type: audio

    • audio/basic

    • audio/mpeg

    • audio/DV

    • audio/3gpp

    • audio/AMR

  • Content-Type: message

    • message/sip

    • message/cpim

    • message/rfc822

    • message/partial

    • message/external-body

How to Configure Configurable Pass-Through of SIP INVITE Parameters

Enabling Configurable Pass-Through of SIP INVITE Parameters (Global Level)

Perform this task to configure unsupported content pass-through on a Cisco UBE platform at the global level.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. voice service voip
  4. sip
  5. pass-thru {content {sdp | unsupp} | headers {unsupp | list-tag}}
  6. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

voice service voip

Example:


Device(config)# voice service voip

Enters voice service VoIP configuration mode.

Step 4

sip

Example:


Device(conf-voi-serv)# sip

Enters SIP configuration mode.

Step 5

pass-thru {content {sdp | unsupp} | headers {unsupp | list-tag}}

Example:


Device(conf-serv-sip)# pass-thru content unsupp 

Passes the Session Description Protocol (SDP) transparently from in-leg to the out-leg with no media negotiation.

Step 6

end

Example:


Device(conf-serv-sip)# end

Ends the current configuration session and returns to privileged EXEC mode.

Enabling Configurable Pass-Through of SIP INVITE Parameters (Dial Peer Level)

Perform this task to configure unsupported content pass-through on a Cisco UBE platform at the dial-peer level.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. dial-peer voice tag voip
  4. voice-class sip pass-thru {content {sdp | unsupp} | headers {unsupp | list tag}} [system]
  5. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

dial-peer voice tag voip

Example:


Device(config)# dial-peer voice 2 voip

Enters dial peer VoIP configuration mode.

Step 4

voice-class sip pass-thru {content {sdp | unsupp} | headers {unsupp | list tag}} [system]

Example:


Device(config-dial-peer)# voice-class sip pass-thru content sdp

Passes the Session Description Protocol (SDP) transparently from in-leg to the out-leg with no media negotiation.

Step 5

end

Example:


Device(config-dial-peer)# end

Ends the current configuration session and returns to privileged EXEC mode.

Configuring a Route String Header Pass-Through Using Pass-Through List

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. voice class sip-hdr-passthrulist list-tag
  4. passthru-hdr header-name
  5. passthru-hdr-unsupp
  6. exit
  7. dial-peer voice tag voip
  8. description string
  9. session protocol sipv2
  10. voice-class sip pass-thru headers list-tag
  11. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

voice class sip-hdr-passthrulist list-tag

Example:

Device(config)# voice class sip-hdr-passthrulist 101

Configures list of headers to be passed through and enters voice class configuration mode.

Step 4

passthru-hdr header-name

Example:

Device(config-class)# passthru-hdr Resource-Priority

Adds header name to the list of headers to be passed through. Repeat this step for every non-mandatory header.

Step 5

passthru-hdr-unsupp

Example:

Device(config-class)# passthru-hdr-unsupp

Adds the unsupported headers to the list of headers to be passed through.

Step 6

exit

Example:

Device(config-class)# exit

Exits the current configuration session and returns to global configuration mode.

Step 7

dial-peer voice tag voip

Example:


Device(config)# dial-peer voice 1 voip

Enters dial peer voice configuration mode.

Step 8

description string

Example:


Device(config-dial-peer)# description inbound-dialpeer

Adds descriptive information about the dial peer.

Step 9

session protocol sipv2

Example:


Device(config-dial-peer)# session protocol sipv2

Configures the IETF Session Initiation Protocol (SIP) for the dial peer.

Step 10

voice-class sip pass-thru headers list-tag

Example:


Device(config-dial-peer)# voice-class sip pass-thru headers 101

Enables call routing based on the destination route string for a dial peer.

Step 11

end

Example:


Device(config-dial-peer)# end

Exits the current configuration mode and returns to privileged EXEC mode.

Configuration Examples for Configurable Pass-Through of SIP INVITE Parameters

Example: Enabling Configurable Pass-Through of SIP INVITE Parameters (Global Level)

Device> enable
Device# configure terminal
Device(config)# voice service voip
Device(conf-voi-serv)# sip
Device(conf-serv-sip)# pass-thru content unsupp
Device(conf-serv-sip)# end

Example: Enabling Configurable Pass-Through of SIP INVITE Parameters (Dial Peer Level)

Device> enable
Device# configure terminal
Device(config)# dial-peer voice 2 voip
Device(config-dial-peer)# voice-class sip pass-thru content sdp
Device(config-dial-peer)# end

Example: Configuring a Route String Header Pass-Through Using Pass-Through List


Device> enable
Device# configure terminal
Device(config)# voice class sip-hdr-passthrulist 101
Device(config-class)# passthru-hdr X-hdr-1
Device(config-class)# passthru-hdr Resource-Priority
Device(config-class)# passthru-hdr-unsupp
Device(config-class)# exit
Device(config)# dial-peer voice 1 voip
Device(config-dial-peer)# description inbound-dialpeer
Device(config-dial-peer)# session protocol sipv2
Device(config-dial-peer)# voice-class sip pass-thru headers 101
Device(config-dial-peer)# end

Additional References for Configurable Pass-Through of SIP INVITE Parameters

Related Documents

Related Topic Document Title
Voice commands Cisco IOS Voice Command Reference
Cisco IOS commands Cisco IOS Command List, All Releases
SIP configuration tasks SIP Configuration Guide, Cisco IOS Release 15M&T

Technical Assistance

Description Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/support

Feature Information for Configurable Pass-Through of SIP INVITE Parameters

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 5. Feature Information for Configurable Pass-Through of SIP INVITE Parameters

Feature Name

Releases

Feature Information

Configurable Unsupported Header using Pass-Through List

Cisco IOS XE Release 3.11S

This feature extends the Pass-Through List functionality to specify the pass-through of unsupported headers as well. The following command was introduced:passthru-hdr-unsupp .

Configurable Route-String Header Pass-Through using a Pass Through List

Cisco IOS XE Release 3.10S

This feature enables the Cisco UBE to pass through end-to-end headers that are not processed or understood in a SIP trunk to SIP trunk scenario by specifying the headers to be passed through in a pass through list. The pass through functionality will includes only the configured list of non-mandatory SIP headers.

The following commands were introduced or modified: passthru-hdr , voice class sip-hdr-passthrulist .

Configurable Pass-Through of SIP INVITE Parameters

Cisco IOS XE Release 3.1S

This feature enables the Cisco UBE to pass through end-to-end headers that are not processed or understood in a SIP trunk to SIP trunk scenario. The pass through functionality includes all or only a configured list of unsupported or non-mandatory SIP headers, and all unsupported content/MIME types.

The following commands were introduced or modified: pass-thru and voice-class sip pass-thru .