Realm-Based Packet Marking

The Oracle® Enterprise Session Border Controller supports TOS/DiffServ functions that allow you to

  • Set up realm-based packet marking by media type, either audio-voice or video
  • Set up realm-based packet marking for signaling, either SIP or H.323

Upstream devices use these markings to classify traffic in order to determine the priority level of treatment it will receive.

By default, the ESBC does not pass DSCP codes in ingress packets to egress packets. You must configure a media-policy with desired TOS changes and affix those policies to the realms on which you want to define egress types of service. Without amedia-policy, the ESBC includes the default DSCP code, CS0 (Hex 0x00), as the DSCP code to all egress media packets.

TOS Passthrough Configuration

As stated above, the ESBC does not passthrough received DSCP values transparently. If this is the desired behavior, no config change is required. This is the default behavior. Packets sent by ESBC show DSCP value 0x00.

If passthrough support is desired, you can enable the sip-config option called use-recvd-dscp-marking which enables passthrough support. With this option enabled, the ESBC passes the DSCP value which was received through to egress. To enable this option in sip-config, set the option as shown below.

ORACLE(sip-config)#options +use-recvd-dscp-marking

About TOS DiffServ

TOS and DiffServ are two different mechanisms used to achieve QoS in enterprise and service provider networks; they are two different ways of marking traffic to indicate its priority to upstream devices in the network.

For more information about TOS (packet) marking, refer to:

For more information about DiffServ, refer to:

ToS Byte

The TOS byte format is as follows:

This image shows the ToS byte datagram.

The TOS byte is broken down into three components:

  • Precedence—The most used component of the TOS byte, the precedence component is defined by three bits. There are eight possible precedence values ranging from 000 (decimal 0) through 111 (decimal 7). Generally, a precedence value of 000 refers to the lowest priority traffic, and a precedence value of 111 refers to the highest priority traffic.
  • TOS—The TOS component is defined by four bits, although these bits are rarely used.
  • MBZ—The must be zero (MBZ) component of the TOS byte is never used.

DiffServ Byte

Given that the TOS byte was rarely used, the IETF redefined it and in doing so created the DiffServ byte.

The DiffServ byte format is as follows:

This image shows the ToS byte datagram.

The DiffServ codepoint value is six bits long, compared to the three-bit-long TOS byte’s precedence component. Given the increased bit length, DiffServ codepoints can range from 000000 (decimal 0) to 111111 (decimal 63).

Note:

By default, DiffServ codepoint mappings map exactly to the precedence component priorities of the original TOS byte specification.

Packet Marking for Media

You can set the TOS/DiffServ values that define an individual type or class of service for a given realm. In addition, you can specify:

  • One or more audio media types for SIP and/or H.323
  • One or more video media types for SIP and/or H.323
  • Both audio and video media types for SIP and/or H.323

For all incoming SIP and H.23 requests, the media type is determined by negotiation or by preferred codec. SIP media types are determined by the SDP, and H.323 media types are determined by the media specification transmitted during call setup.

Configuring Packet Marking by Media Type

This section describes how to set up the media policy configuration that you need for this feature, and then how to apply it to a realm.

These are the ACLI parameters that you set for the media policy:

name        media policy name
tos-settings  list of TOS settings

Note:

The media-policy, tos-settings parameter is not RTC supported and a reboot is required for these updates to take affect.

This is the ACLI parameter that you set for the realm:

media-policy default media policy name

Packet Marking Configuration

To set up a media policy configuration to mark audio-voice or video packets:

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

    From this point, you can configure media policy parameters. To view all configuration parameters for media profiles, enter a ? at the system prompt.

  4. Type media-policy and press Enter.
    ORACLE(media-manager)# media-policy

    If you are adding support for this feature to a pre-existing configuration, then you must select (using the ACLI select command) the configuration you want to edit.

  5. name—Create a reference name for this policy and press Enter.
  6. Type tos-settings and press Enter.
    ORACLE(media-policy)# tos-settings
  7. media-type—Enter the media type that you want to use for this group of TOS settings. You can enter any of the IANA-defined media types for this value: audio, example, image, message, model, multipart, text, and video. This value is not case-sensitive and can be up to 255 characters in length; it has no default.
    ORACLE(tos-settings)# media-type message
  8. media-sub-type—Enter the media sub-type you want to use for the media type. This value can be any of the sub-types that IANA defines for a specific media type. This value is not case-sensitive and can be up to 255 characters in length; it has no default.
    ORACLE(tos-settings)# media-sub-type sip
  9. media-attributes—Enter the media attribute that will match in the SDP. This parameter is a list, so you can enter more than one value. The values are case-sensitive and can be up to 255 characters in length. This parameter has no default.

    If you enter more than one media attribute value in the list, then you must enclose your entry in quotation marks ().

    ORACLE(tos-settings)# media-attributes sendonly sendrecv
  10. tos-value—Enter the TOS value you want applied for matching traffic. This value is a decimal or hexidecimal value. The valid range is:
    • 0x00 to 0xFF.

      ORACLE(tos-settings)# tos-value 0xF0
  11. Save and activate your configuration.

Applying a Media Policy to a Realm

To apply a media policy to a realm:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type media-manager and press Enter to access the system-level configuration elements.
    ORACLE(configure)# media-manager
  3. Type realm and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(media-manager)# realm
    ORACLE(realm)#
  4. media-policy—Enter the unique name of the media policy you want to apply to this realm.

Signaling Packet Marking Configuration

ToS marking for signaling requires you to configure a media policy and set the name of the media policy in the appropriate realm configuration.

This section shows you how to configure packet marking for signaling.

Configuring a Media Policy for Signaling Packet Marking

To set up a media policy configuration to mark signaling packets:

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

    From this point, you can configure media policy parameters. To view all media policy configuration parameters, enter a ? at the system prompt.

  4. Type media-policy and press Enter.
    ORACLE(media-manager)# media-policy

    If you are adding support for this feature to a pre-existing configuration, then you must select (using the ACLI select command) the configuration you want to edit.

  5. name—Create a reference name for this policy and press Enter.
  6. Type tos-settings and press Enter.
    ORACLE(media-policy)# tos-settings

    Note:

    The media-policy, tos-settings parameter is not RTC supported and a reboot is required for these updates to take affect.
  7. media-type—Enter the media type that you want to use for this group of TOS settings. You can enter any of the IANA-defined media types for this value: audio, example, image, message, model, multipart, text, and video. This value is not case-sensitive and can be up to 255 characters in length; it has no default.
    ORACLE(tos-settings)# media-type message
  8. media-sub-type—Enter the media sub-type you want to use for the media type. This value can be any of the sub-types that IANA defines for a specific media type. This value is not case-sensitive and can be up to 255 characters in length; it has no default.
    ORACLE(tos-settings)# media-sub-type sip
  9. media-attributes—Enter the media attribute that will match in the SDP. This parameter is a list, so you can enter more than one value. The values are case-sensitive and can be up to 255 characters in length. This parameter has no default.

    If you enter more than one media attribute value in the list, then you must enclose your entry in quotation marks ().

    ORACLE(tos-settings)# media-attributes sendonly sendrecv
  10. tos-value—Enter the TOS value you want applied for matching traffic. This value is a decimal or hexidecimal value. The valid range is:
    • 0x00 to 0xFF.

      ORACLE(tos-settings)# tos-value 0xF0
  11. Save and activate your configuration.

Applying a Media Policy to a Realm

To apply a media policy to a realm:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type media-manager and press Enter to access the system-level configuration elements.
    ORACLE(configure)# media-manager
  3. Type realm and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(media-manager)# realm
    ORACLE(realm)#
  4. media-policy—Enter the unique name of the media policy you want to apply to this realm.

Using Class Profile for Packet Marking

Class profile provides an additional means of ToS marking, but only for limited circumstances. Use class-profile only if you are marking ToS on traffic destined for a specific To address, and when media-policy is not used on the same realm. Using media-policy for ToS marking is, by far, more common.

To configure a class profile, you prepare your desired media policy, create the class profile referencing the media policy and the To address, and set the name of the class profile in the appropriate realm configuration.

Class Profile and Class Policy Configuration

This section shows you how to configure packet marking using a class profile.

To configure the class profile and class policy:

  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 class-profile and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# class-profile
    ORACLE(class-profile)#
  4. Type policy and press Enter to begin configuring the class policy.
    ORACLE(class-profile)# policy

    From this point, you can configure class policy parameters. To view all class policy configuration parameters, enter a ? at the system prompt.

  5. profile-name—Enter the unique name of the class policy. When you apply a class profile to a realm configuration, you use this value.
  6. to-address—Enter a list of addresses to match to incoming traffic for marking. You can use E.164 addresses, a host domain address, or use an asterisk (*) to set all host domain addresses.
  7. media-policy—Enter the name of the media policy you want to apply to this class policy.

Applying a Class Policy to a Realm

To apply a class policy to a realm:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type media-manager and press Enter to access the system-level configuration elements.
    ORACLE(configure)# media-manager
  3. Type media-policy and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(media-manager)# realm
    ORACLE(realm)#
  4. class-profile—Enter the name if the class profile to apply to this realm. This is the name you set in the profile-name parameter of the class-policy configuration.