Conditional Bandwidth CAC for Media Release

The Oracle® Enterprise Session Border Controller supports conditional call admission control (CAC) using the SIP profile configuration. With this feature enabled, you can allow the conditional admission of SIP calls that could potentially have their media released instead of risking the possible rejection of those calls due to internal bandwidth limits.

About Conditional Bandwidth CAC for Media Release

The Oracle® Enterprise Session Border Controller performs bandwidth CAC for SIP per realm, for each Address of Record (AoR) or IP address. The system checks bandwidth limits based on the codecs listed in SDP. If a new SIP INVITE contains codecs in an SDP message that exceed bandwidth available for a given resource, the system rejects that INVITE. This check occurs both on the ingress and egress sides of a call, and both sides must have enough available resources to support the call for it to be admitted.

In the case of calls where media is released, the Oracle® Enterprise Session Border Controller does not count bandwidth consumed by the call. However, this exemption is not given until the media is actually released—and media release conditions are unknown at the time SIP INVITE is admitted. This is because an INVITE received on one side of the Oracle® Enterprise Session Border Controller is only media-released when that INVITE is routed back through the Oracle® Enterprise Session Border Controller as a hairpin or other multi-system media release. So there has to be enough bandwidth for the initial INVITE; otherwise, and even if the INVITE is a candidate for media release, it will be rejected.

When there is a significant volume of such calls—ones that are candidates for media release, but cannot be admitted because of CAC limits—it becomes important to admit them so long as they truly end in media release. This feature thus allows admission of SIP calls that might otherwise be rejected because of bandwidth limitations when the far-end of the call causes media to be released.

Details and Conditions

This feature applies in a two system scenario. In order to track a call as a candidate for provisional media release, the access-side Oracle® Enterprise Session Border Controller adds a Require: header with an option tag to the INVITE or UPDATE message on egress. The option tag is configurable in the sip config option. The default is com.acmepacket.cac .

The following sections describe when the SIP INVITE or SIP UPDATE are:

  • initially received by the Oracle® Enterprise Session Border Controller
  • received by the second Oracle® Enterprise Session Border Controller

INVITEs UPDATEs Initially Received By Oracle® Enterprise Session Border Controller

When the Oracle® Enterprise Session Border Controller first receives an INVITE or UPDATE message, it considers if it should be admitted provisionally or rejected outright due to CAC bandwidth constraints. If the INVITE or UPDATE is admitted provisionally, a Require: header is inserted on egress from the system.

The Oracle® Enterprise Session Border Controller inserts the Require header on egress under these conditions:

  • It receives an INVITE / UPDATE with no or a non-matching Require header.
  • The egress conditional cac admit parameter in the SIP profile on the egress realm, SIP interface, session agent is set to enabled in the egress realm
  • The request would otherwise be rejected because of current bandwidth CAC limits in the ingress OR egress realms
  • The call is a candidate for media-release in the ingress realm

A call is considered a candidate for media-release when the ingress realm has any of these parameters set to disabled:

  • mm-in-realm
  • mm-in-network
  • mm-same-ip
  • mm-in-system

INVITEs UPDATEs Received by Second SBC

The second Oracle® Enterprise Session Border Controller receives the INVITE or UPDATE with the newly inserted Require: header. Standard SIP convention indicates that if the UAS receiving the request does not know how to handle the Require header, the request should be rejected.

When the following three conditions are met, the INVITE is permitted into the system for processing:

  • The ingress conditional cac admit in the SIP profile on the ingress realm, SIP interface, session agent parameter is set to enabled
  • The con-cac-tag sip config option is configured to the same value as the received Require header’s option tag
  • The call is a candidate for media-release

The call is considered a candidate for media-release on the second system (indicated by the ingress conditional cac admit parameter is set to enabled) when either the ingress or egress realms have any of these parameters set to disabled:

  • mm-in-realm
  • mm-in-network
  • mm-same-ip
  • mm-in-system

and the following parameter is set to enabled:

  • msm-release

If the call, as received by the second system is not considered a candidate for release, the INVITE or UPDATE is failed with a 503 Insufficient Bandwidth message.

After the INVITE has been processed by the Oracle® Enterprise Session Border Controller, the Require: header is removed upon egress from the system.

The following diagram shows the two-system scenario:

The INVITEs UPDATEs Received by Second SBC diagram is described above.

Conditional Admission with Per-user CAC

In the event that the per-user CAC feature is also being used, and per-user CAC bandwidth is exceeded, the Oracle® Enterprise Session Border Controller also uses this option tag mechanism. However, if the per-user CAC implementation does count bandwidth regardless of media-release, then the Oracle® Enterprise Session Border Controller will reject calls exceeding the per-user CAC limits when it receives them.

On the second system, when the per-user CAC feature is being used, the Oracle® Enterprise Session Border Controller will perform the same option tag mechanism based on if the ingress conditional cac admit parameter is enabled.

Conditional Bandwidth CAC Configuration

You enable this feature by first configuring a SIP profile, and then applying the profile to any of these:

  • realm
  • SIP interface
  • SIP session agent

SIP Profile Configuration

The SIP profile is an element in the ACLI’s session-router path, and you can configure multiple SIP profiles. Though this configuration contains additional parameters, you do not have to use them for the conditional bandwidth CAC for media release.

To configure a SIP profile:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
    ORACLE(configure)#
  2. Type session-router and press Enter.
    ORACLE(configure)# session-router
    ORACLE(session-router)#
  3. Type sip-profile and press Enter.
    ORACLE(session-router)# sip-profile
    ORACLE(sip-profile)#
  4. name—Enter a name for this SIP profile configuration. This parameter is blank by default, and it is required. You will need the SIP profile’s name when you want to apply this profile to a realm, SIP interface, or SIP session agent.
  5. ingress-conditional-cac-admit—Set this parameter to enabled to process an INVITE with a Require tag as received on an ingress interface. You can set this parameter to disabled if you do not want to use this feature on the ingress side. There is no default for this parameter.
  6. egress-conditional-cac-admit—Set this parameter to enabled if you want to use conditional bandwidth CAC for media release for calls that are first received by this system. This results in option tags being inserted on the INVITE’s egress if the conditional CAC conditions are met. You can set this parameter to disabled if you do not want to use this feature. There is no default for this parameter.
  7. Save your work.

Applying a SIP Profile

Once you have configured one or more SIP profiles, you can apply them to realms, SIP interfaces, and SIP session agents. As an example, this section shows you how to apply a SIP profile to a SIP interface. But the parameter name is the same in these configurations:

  • realm-config
  • sip-interface
  • session-agent

    To apply a SIP profile to a realm:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
    ORACLE(configure)#
  2. Type session-router and press Enter.
    ORACLE(configure)# session-router
    ORACLE(session-router)#
  3. Type sip-interface and press Enter.
    ORACLE(session-router)# sip-interface
    ORACLE(sip-interface)#
  4. sip-profile—Enter the name of SIP profile configuration you want to use for conditional bandwidth CAC for media release for this SIP interface. This value is blank by default, but it must be the value of the name parameter from a valid SIP profile.
  5. Save your work.

Configuring Require Header Option Tag

You may change the Require: header’s option tag from the default com.acmepacket.cac to one of your own choosing. Remember that both systems’ option tags must match exactly.

To configure the Require: header’s option tag:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the session-router path.
    ORACLE(configure)# session-router
  3. Type sip-config and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(session-router)# sip-config
  4. Use the ACLI select command so that you can work with the SIP configuration.
    ORACLE(sip-config)# select
  5. options—Set the options parameter by typing +options, a Space, the option name con-cac-tag= your-new-tag, and then press Enter.
    ORACLE(sip-config)# options +con-cac-tag=com.test.cac
  6. Save your work.