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 www.cisco.com/​go/​cfn. 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 (Cisco UBE) 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 Cisco UBE does not process because, currently, unsupported payload types are not negotiated by Cisco UBE. 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 Cisco UBE so that both the remote ends can negotiate media independent of Cisco UBE.

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

  • Flow-through—Cisco UBE 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—Cisco UBE neither plays a part in media negotiation nor does it terminate and reoriginate media. Media negotiation and media exchange is completely end-to-end.

Unsupported Headers

You can configure Cisco Unified Border Element (Cisco UBE) to pass through unsupported headers (headers Cisco UBE cannot understand) such as SERVER, CALL-INFO, SUPPORTED, ALLOW-EVENTS, RESOURCE-PRIORITY and so on.

Non-mandatory Headers

You can configure Cisco UBE to pass through headers that are not mandatory (headers that Cisco UBE does not pass through by default). You can configure a list of headers to be passed across. The list can contain any header except the mandatory headers shown in the table below.

Table 1 Mandatory Headers List

Mandtory Headers List

ALSO

AUTHORIZATION

CALLID

CC_DIVERSION

CC_REDIRECT

CONTACT

CONTENT_DISP

CONTENT_ENCODING

CONTENT_LENGTH

CONTENT_TYPE

CISCO_GCID

CISCO_GUID

CSEQ

DATE

FROM

MAX_FORWARDS

MIME_VER

MIME_VER_VAL

PRIVACY

PRIVACY_ASSERTED_ID

PRIVACY_PREFERRED_ID

PROXY_AUTH

PROXY_AUTHENTICATE

RECORD_ROUTE

ROUTE

RTP_STAT

SESSION_EXPIRES

TIMESTAMP

TO

USER_AGENT

VIA

WWW_AUTHENTICATE

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 ActionPurpose
    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 ActionPurpose
      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 ActionPurpose
        Step 1 enable


        Example:
        Device> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.

         
        Step 2configure terminal


        Example:
        Device# configure terminal
         

        Enters global configuration mode.

         
        Step 3voice 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 4passthru-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 5passthru-hdr-unsupp


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

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

         
        Step 6exit


        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 8description string


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

        Adds descriptive information about the dial peer.

         
        Step 9session protocol sipv2


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

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

         
        Step 10voice-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 11end


        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 Master 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 2 Feature Information for Configurable Pass-Through of SIP INVITE Parameters

        Feature Name

        Releases

        Feature Information

        Configurable Unsupported Header using Pass-Through List

        15.4(1)T

        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

        15.3(3)M

        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

        15.0(1)M

        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.