SIP Options Tag Handling

This section explains how to configure SIP options on a global or per-realm level and how to specify whether the feature treatment applies to traffic inbound to or outbound from a realm, or both.

SIP extensions that require specific behavior by UAs or proxies are identified by option tags. Option tags are unique identifiers used to designate new options (for example, extensions) in SIP. These option tags appear in the Require, Proxy-Require, and Supported headers of SIP messages.

Option tags are compatibility mechanisms for extensions and are used in header fields such as Require, Supported, Proxy-Require, and Unsupported in support of SIP.

The option tag itself is a string that is associated with a particular SIP option (i.e., an extension). It identifies this option to SIP endpoints.

Overview

The SIP specification (RFC 3261) requires that the Oracle® Enterprise Session Border Controller B2BUA reject any request that contains a Require header with an option tag the Oracle® Enterprise Session Border Controller does not support. However, many of these extensions operate transparently through the Oracle® Enterprise Session Border Controller's B2BUA. You can configure how SIP defines the Oracle® Enterprise Session Border Controllers B2BUA treatment of specific option tags.

Also, there might be certain extensions that an endpoint indicates support for by including the option tag in a Supported header. If you do not want a given extension used in your network, the you can configure SIP option tag handling to remove the undesired option tag from the Supported header. You can also specify how option tags in Proxy-Require headers are to be treated.

Configuration Overview

You configure the SIP feature element to define option tag names and their treatment by the Oracle® Enterprise Session Border Controller when the option tag appears in a Supported header, a Require header, and a Proxy-Require header. If an option tag is encountered that is not configured as a SIP feature, the default treatments apply. You only need to configure option tag handling in the SIP feature element when non-default treatment is required.

You can specify whether a SIP feature should be applied to a specific realm or globally across realms. You can also specify the treatment for an option based on whether it appears in an inbound or outbound packet. Inbound packets are those that are coming from a realm to the Oracle® Enterprise Session Border Controller and outbound packets are those which are going from the Oracle® Enterprise Session Border Controller to the realm.

The following tables lists the SIP option tag parameters you must configure.

Parameter Description
name SIP feature tag name
realm Realm name with which the feature will be associated. To make the feature global, leave the field empty.
support mode inbound Action for tag in Supported header in an inbound packet.
require mode inbound Action for tag in Require header in an inbound packet
proxy require mode inbound Action for tag in Proxy-Require header in an inbound packet
support mode outbound Action for tag in Supported header in an outbound packet
require mode outbound Action for tag in Require header in an outbound packet
proxy require mode outbound Action for tag in Proxy-Require header in an outbound packet

SIP Option Tag Handling Configuration

To configure SIP option tag handling:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the system-level configuration elements.
    ORACLE(configure)# session-router
  3. Type sip-feature and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# sip-feature
    ORACLE(sip-feature)#

    From this point, you can configure SIP option tags parameters. To view all sip-feature parameters, enter a ? at the system prompt.

  4. name—Enter a name for the option tag that will appear in the Require, Supported, or Proxy-Require headers of inbound and outbound SIP messages.

    You must enter a unique value.

    Note:

    Valid option tags are registered with the IANA Protocol Number Assignment Services under Session Initiation Protocol Parameters. Because option tags are not registered until the SIP extension is published as a RFC, there might be implementations based on Internet-Drafts or proprietary implementations that use unregistered option tags.
  5. realm—Enter the name of the realm with which this option tag will be associated. If you want to apply it globally across realms, leave this parameter blank.
  6. support-mode-inbound—Optional. Indicate the support mode to define how the option tag is treated when encountered in an inbound SIP message’s Supported header. The default value is pass. Valid values are:
    • pass—Indicates the B2BUA should include the tag in the corresponding outgoing message.

    • strip—Indicates the tag should not be included in the outgoing message. Use strip if you do not want the extension used.

  7. require-mode-inbound—Optional. Indicate the require mode to define how the option tag is treated when it is encountered in an inbound SIP message’s Require header. The default value is reject. The valid values are:
    • pass—Indicates the B2BUA should include the tag in the corresponding outgoing message.

    • reject—Indicates the B2BUA should reject the request with a 420 (Bad Extension) response. The option tag is included in an Unsupported header in the reject response.

  8. require-mode-inbound—Optional. Indicate the require proxy mode to define how the option tag is treated when encountered in an incoming SIP message’s Proxy-Require header. The default is reject. The valid values are:
    • pass—Indicates the B2BUA should include the tag in the corresponding outgoing message.

    • reject—Indicates the B2BUA should reject the request with a 420 (Bad Extension) response. The option tag is included in an Unsupported header in the reject response.

  9. support-mode-outbound—Optional. Indicate the support mode to define how the option tag is treated when encountered in an outbound SIP message’s Supported header. The default value is pass. Valid values are:
    • pass—Indicates the B2BUA should include the tag.

    • strip—Indicates the tag should not be included in the outgoing message. Use strip if you do not want the extension used.

  10. require-mode-outbound—Optional. Indicate the require mode to define how the option tag is treated when it is encountered in an outbound SIP message’s Require header. The default value is reject. Valid values are:
    • pass—Indicates the B2BUA should include the tag.

    • reject—Indicates the B2BUA should reject the request with a 420 (Bad Extension) response. The option tag is included in an Unsupported header in the reject response.

  11. require-mode-outbound—Optional. Indicate the require proxy mode to define how the option tag is treated when encountered in an outgoing SIP message’s Proxy-Require header. The default value is reject. The valid values are:
    • pass—Indicates the B2BUA should include the tag.

    • reject—Indicates the B2BUA should reject the request with a 420 (Bad Extension) response. The option tag is included in an Unsupported header in the reject response.

      The following example shows SIP option tag handling configured for non-default treatment of option tags.

      sip-feature
              name                           newfeature
              realm                          peer-1
              support-mode-inbound           Strip
              require-mode-inbound           Reject
              proxy-require-mode-inbound     Pass
              support-mode-outbound          Pass
              require-mode-outbound          Reject
              proxy-require-mode-outbound    Reject
              last-modified-date             2004-12-08 03:55:05