SIP Early Media Suppression

This section explains how to configure SIP early media suppression, which lets you determine who can send early media and in what direction. Early media are the RTP/RTCP packets sent from the called party to the caller, or vice versa, before a session is fully established (before a 200 OK is received). When the Oracle® Enterprise Session Border Controller receives an INVITE message with SDP, it can forward media packets to the calling endpoint as soon as it forwards the INVITE to the next hop. It can also forward media packets received from the calling endpoint to the called endpoint as soon as the Oracle® Enterprise Session Border Controller receives SDP in a SIP response to the INVITE, usually a provisional message. This allows for any early media to be played, such as remote ringback or announcement.

Early media can be unidirectional or bidirectional, and can be generated by the caller, the callee, or both.

With early media suppression, you can block early media until the call is established. You can define which outbound realms or next hop session agents are allowed to send or receive early media. early media suppression only applies to RTP packets. RTCP packets received by Oracle® Enterprise Session Border Controller are still forwarded to their destination in both directions, unless an endpoint is behind a NAT and the media manager has not been enabled for RTCP forwarding.

Note:

To use early media suppression, you cannot configure media release of any kind: same-realm, same-network, or multiple-system media release.

With the SIP-based addressing, early media suppression is based on the outbound SIP interface realms and the value of their early-media-allow parameter. When the Oracle® Enterprise Session Border Controller forwards a SIP Invite out a SIP interface, the outbound realm is chosen based on the SIP layer information, such as the session agent for the next-hop or the address prefix of the next-hop SIP device. The matching realm’s early-media-allow parameter value then applies to either allow all, block all, or block one-way early media until a 200 ok is received. At that point bidirectional media is allowed. The decision is based on SIP-layer addressing of next-hops.

You configure a rule for a realm or a session agent to use early media suppression. An early media suppression rule specifies whether you want to prevent early media in any direction, allow early media going to the calling endpoint in the reverse direction, or allow early media in both directions. The forward direction is when the packets flow from the caller to the called party. The reverse direction is when the packets flow from the called party to the caller.

The early media suppression rule is applied to a session. When the Oracle® Enterprise Session Border Controller initiates a new session, it first checks whether the next hop is a session agent and if so, whether an early media suppression rule has been configured it. If an early media suppression rule is found, the Oracle® Enterprise Session Border Controller enforces it. If the next hop is not a session agent or no early media suppression rule is configured, the Oracle® Enterprise Session Border Controller checks whether an early media suppression rule has been configured for the outbound realm. If it finds one, it enforces it.

Example

The following illustration shows two examples of early media suppression.

The SIP Early Media Suppression example diagram is described below.
  1. Caller UE1 makes a call to the PSTN media gateway (MGW). The INVITE traverses from UE1 to the Oracle® Enterprise Session Border Controller through the softswitch to the MGW. The Oracle® Enterprise Session Border Controller allows early media from the core to reach UE1.
  2. The PSTN MGW makes a call to UE1. The INVITE traverses to the Oracle® Enterprise Session Border Controller and to UE1. The Oracle® Enterprise Session Border Controller blocks all early media to and from UE1 until a 200 OK is received.

Early Media Suppression Support

The Oracle® Enterprise Session Border Controller supports suppressing early media in the following directions no matter which side makes the SDP offer, until it receives 200 OK for an INVITE:

  • Forward direction based on the outbound realm or next-hop session agent
  • Forward and reverse directions based on the outbound realm or next-hop session agent.

The Oracle® Enterprise Session Border Controller allows all media when a 200 OK response is received for the INVITE, regardless of whether the 200 OK response contains SDP.

Call Signaling

The Oracle® Enterprise Session Border Controller media manager performs early media suppression according to an early media suppression rule. No change has been made to call signaling. For SIP, the Oracle® Enterprise Session Border Controller still forwards SDP received in an INVITE request or response after performing a NAT to the media connection address. After which, the Oracle® Enterprise Session Border Controller is ready to receive media packets from the endpoints. If an early media suppression rule has been configured, the Oracle® Enterprise Session Border Controller drops the packets going in the direction being specified by the rule.

For a H.323 to SIP call, early media suppression rule does not change how the Oracle® Enterprise Session Border Controller performs H.225/Q.931 call signaling and starts the H.245 procedure (if required) to establish logical channels for early media on the H.323 leg of the call.

Suppression Duration

When early media suppression is enabled in a session, the block lasts until the session is established. For a SIP to SIP call or an H.323 to SIP call, a session is established when the system receives a 200 OK response to the INVITE. A 200 OK response to the INVITE terminates early media suppression, even when it does not contain a SDP. (A 200 OK response to a PRACK or an UPDATE request does not terminate early media suppression.) After a session is established, the Oracle® Enterprise Session Border Controller can receive a change in media session (for example, a re-INVITE with a new SDP) without an early media suppression rule blocking the media.

About the Early Media Suppression Rule

An early media suppression rule is configured in the form of a permission. It specifies whether early media is allowed in both directions, the reverse direction only or not at all. Reverse direction media is media sent in the upstream direction towards the calling endpoint.

Session Agent Rule

The next-hop session agent’s early media suppression rule is applied regardless of whether the media packet’s source or destination address is the same as the session agent’s address. For example, if the session’s next hop session agent is 10.10.10.5 but the SDP in a 183 response specifies 10.10.10.6 as its connection address.

Rule Resolution

When the call’s next hop is a session agent and both the outbound realm of the call and the session agent have an early media suppression rule, the session agent’s early media suppression rule takes precedence. If the session agent’s early media suppression rule has not been configured, the outbound realm’s early media suppression rule is used, if configured.

Selective Early Media Suppression

Normally, the Oracle® Enterprise Session Border Controller performs early media blocking based on destination realm. Calls to such realms are prohibited from sending and receiving RTP until a SIP 200 OK response is received, and you can set the direction of the blocked media.

While decisions to block early media are customarily based on SIP-layer addressing, there are cases when the Oracle® Enterprise Session Border Controller can reject early media based on the SDP address in the SDP answer for a 1XX or 2XX response. By comparing the SDP address with the realm prefix or additional prefix address, it can block early media for matching realms. For these cases, you define global or signaling realms—ones that are not tied to SIP interfaces, but which establish additional address prefixes and rules for blocking early media.

This way, the Oracle® Enterprise Session Border Controller blocks all early media for SIP interface realms, but can accept it for global realms that reference media or PSTN gateways. This configuration allows early media for calls destined for the PSTN, and blocks it for user-to-user and PSTN-to-user calls.

Selective early media suppression addresses the fact that some service providers need to allow early media for certain user-to-user and PSTN-to-user calls to support, for example, custom ringback tones. The enhancements also address the fact that Oracle® Enterprise Session Border Controllers can themselves lose the ability to decide whether or not early media should be blocked when confronted with hairpinned call flows, or with traffic that traverses multiple Oracle® Enterprise Session Border Controllers.

To address this need, you can configure realm groups. Realm groups are sets of source and destination realms that allow early media to flow in the direction you configure. For example, you can set up realm groups to allow media from PSTN realms to user realms so that users can listen to PSTN announcements, but prohibit early media from user realms to PSTN realms.

Note:

The source and destination realms you add to your lists need to be a global signaling realm matching the caller’s SDP address prefix or a SIP realm.

Configuring the Realm

To configure the 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. If configuring an existing realm, enter the select command to select the realm.
  5. early-media-allow—Enter the early media suppression rule for the realm. The valid values are:
    • none—No early media is allowed in either direction

    • both—Early media is allowed in both directions

    • reverse—Early media received by Oracle® Enterprise Session Border Controller in the reverse direction is allowed

      There is no default value. If you leave this parameter blank, early media is allowed in either direction. You can use the following command to clear this parameter:

      early-media-allow ()
  6. Save and activate your configuration.

    For example:

    realm-config
            identifier                     access1
            addr-prefix                    192.168.1.0/24
            network-interfaces
                                           media:0
            mm-in-realm                    enabled
            mm-in-network                  enabled
            msm-release                    disabled
            qos-enable                     disabled
            max-bandwidth                  0
            max-latency                    0
            max-jitter                     0
            max-packet-loss                0
            observ-window-size             0
            parent-realm
            dns-realm
            media-policy
            in-translationid
            out-translationid
            class-profile
            average-rate-limit             0
            access-control-trust-level     none
            invalid-signal-threshold       0
            maximum-signal-threshold       0
            deny-period                    30
            early-media-allow              none
            last-modified-date             2006-02-06 13:09:20

Configuring Session Agents

If you do not configure early media suppression for a session agent, the early media suppression for the outbound realm is used, if configured.

To configure session agents:

  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 session-agent and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# session-agent
    ORACLE(session-agent)#
  4. If configuring an existing session agent, enter the select command to select the session agent.
  5. early-media-allow—Enter the early media suppression rule for the session agent. The valid values are:
    • none—No early media is allowed in either direction

    • both—Early media is allowed in both directions

    • reverse—Early media received by Oracle® Enterprise Session Border Controller in the reverse direction is allowed

      There is no default value. If you leave this parameter blank, early media is allowed in either direction. You can use the following command to clear this parameter:

      early-media-allow ()
  6. Save and activate your configuration.

    For example:

    session-agent
            hostname                       cust1
            ip-address                     192.168.1.24
            port                           5060
            state                          enabled
            app-protocol                   SIP
            app-type
            transport-method               UDP
            realm-id                       access1
            description
            carriers
            allow-next-hop-lp              enabled
            constraints                    disabled
            max-sessions                   0
            max-outbound-sessions          0
            max-burst-rate                 0
            max-sustain-rate               0
            time-to-resume                 0
            ttr-no-response                0
            in-service-period              0
            burst-rate-window              0
            sustain-rate-window            0
            req-uri-carrier-mode           None
            proxy-mode
            redirect-action
            loose-routing                  enabled
            send-media-session             enabled
            response-map
            ping-method
            ping-interval                  0
            media-profiles
            in-translationid
            out-translationid
            trust-me                       disabled
            early-media-allow              reverse
            last-modified-date             2006-05-06 13:26:34

Configuring Realm Groups

To configure a realm group for selective early media suppression:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
    ORACLE(configure)#
  2. Type media-manager and press Enter.
    ORACLE(configure)# media-manager
    ORACLE(media-manager)#
  3. Type realm-group and press Enter.
    ORACLE(media-manager)# realm-group
    ORACLE(realm-group)#
  4. name—Enter the name of the realm group.
  5. source-realm—Enter the list of one or more global/SIP realms that you want to designate as source realms for the purpose of blocking early media; this is the realm identifier value for the realms you want on the list. Values in this list refer to calling SDP realms; this parameter has no default. To enter more than one realm in the list, list all items separated by a comma and enclose the entire entry in quotation marks:
    ORACLE(realm-group)# source-realm Private, Public

    To add a realm to the list, use the plus sign (+) in front of each new entry.

    ORACLE(realm-group)# source-realm +Private

    You can also remove single items in the list by using the minus sign (-) directly in front of the realm identifier.

    ORACLE(realm-group)# source-realm -Private
  6. destination-realm—Enter the list of one or more global/SIP realms that you want to designate as destination realms for the purpose of blocking early media; this is the realm identifier value for the realms you want on the list. Values in this list refer to called SDP realms; this parameter has no default. To enter more than one realm in the list, list all items separated by a comma and enclose the entire entry in quotation marks:
  7. ORACLE(realm-group)# source-realm Private, Public

    To add a realm to the list, use the plus sign (+) in front of each new entry.

    ORACLE(realm-group)# destination-realm +Private

    You can also remove single items in the list by using the minus sign (-) directly in front of the realm identifier.

    ORACLE(realm-group)# destination-realm -Private
  8. early-media-allow-direction—Set the direction for which early media is allowed for this realm group. Valid values are:
    • none—Turns off the feature for this realm group by blocking early media

    • reverse—Allows early media to flow from called to caller

    • both (default)—Allows early media to flow to/from called and caller

  9. Save and activate your configuration.