Network Management Controls

The Oracle Communications Session Border Controller supports network management controls for multimedia traffic specifically for static call gapping and 911 exemption handling. These controls limit the volume or rate of traffic for a specific set of dialed numbers or dialed number prefixes (destination codes).

In TDM networks, automatic call/code gapping was developed as part of the advanced intelligent network (AIN) to enable network element load shedding based on destination number (DN) in case of overload. However, since there are as yet no standards for call/code gapping for next generation multimedia networks, the Oracle Communications Session Border Controller provides statically-provisioned network management controls.

To enable network management controls on your Oracle Communications Session Border Controller, you set up the ACLI net-management-control configuration and then enable the application of those rules on a per-realm basis. Each network management control rule has a unique name, in addition to information about the destination (IP address, FQDN, or destination number or prefix), how to perform network management (control type), whether to reject or divert the call, the next hop for routing, and information about status/cause codes. Details about the content of control rules and how to set them appear in the instructions and examples section.

When a SIP INVITE or an H.323 Setup for a call arrives at the Oracle Communications Session Border Controller on an ingress realm where network management controls have been enabled, the Oracle Communications Session Border Controller takes the following steps:

  • It searches the network management rules you have created (which are stored in tables on the Oracle Communications Session Border Controller) for a control rule that best matches the newly-received call.
  • If it does not find a matching control rule, the Oracle Communications Session Border Controller allows the call to proceed normally.
  • If it finds a matching control rule, then the Oracle Communications Session Border Controller treats the call according to the specifics of the rule and the treatment method that it designates.

Matching a Call to a Control Rule

The Oracle Communications Session Border Controller uses the call classification key (specified by the destination-identifier parameter) to match calls so that it can apply control rules. The call classification key specifies information about the destination, which can be an IP address, an FQDN, a destination (called) number, or destination prefix. You configure the classification key as part of the control rule.

Matching is performed from left to right, starting at the left-most character. A wildcard matches any digit.

The Oracle Communications Session Border Controller compares the following information from the SIP INVITE or H.323 Setup for matching:

  • SIP INVITE—User part of the Request URI, or the host part of the Request URI
  • H.323 Setup—Q.931 Called Party Number IE

With Release 6.0, the Oracle Communications Session Border Controller now normalizes the user-part of the Request-URI prior to performing any matching for NMC based on the dialed number. A departure from this feature’s prior implementation, this normalization strips out any of the visual-separator characters.

Note that normalization occurs only for NMC look-up purposes, and it does not alter the actual Request-URI. For previous releases, NMC rule matching based on the dialed number fails when the dialed number has visual separators or additional parameters such as: rn, npdi, cic, postd, etc. If multiple rules match an incoming call, then the Oracle Communications Session Border Controller gives first priority to destination number or the destination prefix. Next, it tries to match based on the IP address, and finally it looks to the domain (lowest priority).

Specifically, the Oracle Communications Session Border Controller supports the following:

  • The user-part can contain escaped sequences that the Oracle Communications Session Border Controller normalizes to their unescaped representation. For examples %23(358)555.1234567 would be normalized to #3585551234567.
  • The Oracle Communications Session Border Controller parses the user-part of the Request-URI up to the first semicolon (;). For example, the user-part in tel:+358-555-1234567;postd=pp22 will be +358-555-12134567.

Call Handling Determination

There are three types of control rules from which you can choose; each is a different way for the Oracle Communications Session Border Controller to handle calls matching the classification key:

  • Call gap rate—Controls the maximum sustained rate of calls that match the classification key.

    Using this type, the Oracle Communications Session Border Controller calculates the time since the last matching call. If that time is equal to or greater than the minimum time gap set in the control rule (i.e., it does not exceed the rate), then the call proceeds normally. If the call is less than the minimum time gap (i.e., it causes the call rate to be exceeded), then the Oracle Communications Session Border Controller either rejects or diverts the call.

    To keep the call rate below the control value, the Oracle Communications Session Border Controller ensures a minimum call gap time between the matching calls. For example, if the control value is 10 calls per second, the minimum call gap time would be 0.1 second. And if a matching call were to arrive within a tenth of a second since the last matching call, then the Oracle Communications Session Border Controller applies the treatment method.

  • Call gap percentage—Controls the percentage of calls matching the classification key you set for the control rule.

    When using this control rule type, the Oracle Communications Session Border Controller applies the treatment method to the percentage of matching calls (that you set in the value parameter) out the total number of matching calls it receives. For example, if you set the value parameter for the control rule to 50 and use this control type, the Oracle Communications Session Border Controller applies the treatment method to every other call it receives (or 50% of the calls it receives) that matches the classification key.

    Note that the Oracle Communications Session Border Controller cannot maintain exact percentages for the control value at all times, especially at system start-up when the number of incoming calls is small.

  • Priority—Exempts calls to a destination (like 911) from local network management controls such as:
    • Session agent constraints
    • Bandwidth constraints (such as per-realm bandwidth)
    • External policy servers (requests are made to the policy server; calls are admitted and processed regardless of the decision or reachability of the policy server)
    • Per-user call admission control
    • CPU constraints

      The Oracle Communications Session Border Controller will not bypass licensing constraints, however.

Treatment Methods

You can choose from two different treatment methods:

  • Call rejection—The Oracle Communications Session Border Controller rejects the call.
    • For SIP, the Oracle Communications Session Border Controller sends a response messages with the status code of the control rule. This response message also includes a Reason header with the Q.850 cause code that you configure as part of the control rule; it contains only the Q.850 cause code, and there is no reason-text included. For example:
      Reason: Q.850; cause=63
    • For H.323, the Oracle Communications Session Border Controller sends a releaseComplete message with the Q.850 cause code (that you configure as part of the control rule) of the control rule as the Q.931 Cause IE.
  • Call diversion—The Oracle Communications Session Border Controller routes the call to the location you specify in the control rule’s next hop parameter.

    Except for this routing, the call proceeds as normal. Local treatments such as number translation apply to the call, as do local controls such as licensing. Note the following:

    • If the next hop is an FQDN, the Oracle Communications Session Border Controller performs DNS queries to resolve the next hop to an IP address so that it can route the call properly.

      DNS queries only apply to pure SIP or IWF calls that originate in H.323 and are interworked to SIP.

    • If the next hop is a session agent group, the Oracle Communications Session Border Controller selects a session agent from the group according to the selection strategy you set for the group. Then the Oracle Communications Session Border Controller uses the IP address of the selected session agent.

Priority Call Exemption from Policy Server Approval

The Oracle Communications Session Border Controller now identifies priority calls and provides expedited treatment for them, even is these calls use associated realms for which there is an associated policy server handling bandwidth allocation. Instead of waiting for a response for the policy server, the Oracle Communications Session Border Controller immediately processes the call. When and if the policy server responds, the Oracle Communications Session Border Controller handles the response, but in all likelihood the priority calls has already been processed.

Enhanced Call Gapping

NMC provides flexibility by allowing a desired call-per-second (CPS) threshold to be achieved or surpassed by a predictable amount. Referred to as call gapping, this allows the Oracle Communications Session Border Controller to average the call rate and widen the period of a surge that would invoke NMC rules.

Without call gapping enabled, the NMC carries out a call gapping policy that monitors the arrival times between INVITEs, and then compares the arrival times to with the threshold. To enable this, you set the type parameter to gap-rate, and then configure the value parameter with the maximum sustained rate of calls. The threshold is equal to 1/gap-rate value. However, this implementation means that if two calls arrive simultaneously at the Oracle Communications Session Border Controller, one of them might be rejected or diverted if it exceeds the threshold and the control rule is applied. This is the case even when the sustained call rate does not exceed the control rule.

To resolve this, call gapping uses two parameters that form part of an calculation the Oracle Communications Session Border Controller performs for applying NMC rules. Using the current time, the time of the last call gapped, the call counter value (tracked internally by the Oracle Communications Session Border Controller), the CPS value for the gap-rate control rule, and the values of the new parameters, the Oracle Communications Session Border Controller performs calculations that determine whether or not to apply the control rule.

About the Call Gapping Algorithm

The Oracle Communications Session Border Controller employs this leaky bucket algorithm to enforce calls per second. It smooths the call rate over a defined window of time to protect against surges. The values used for the calculation are:

  • A—Calls per second; configure by setting the type parameter to gap-rate, and the value parameter to the CPS you want enforced
  • m—Maximum counter value; must be greater than 0
  • W—Window size; must be greater than
  • deltaT—Time between allowed calls matching an NM control rule

The calculation is performed as follows, with the noted results:

  • 1 + m - m*A*deltaT/W =< M—Means the call is allowed
  • 1 + m - m*A*deltaT/W >M—Means that NMC rules are applied

Note the following:

  • Setting the counter value and the window size to the same values guarantees that the processed CPS load will not exceed the desired CPS target.
  • As the counter value becomes greater than the window size value, rejection rate will drop and the desired CPS threshold is not guaranteed.
  • Increasing the window size results in a lower rejection rate when the attempted CPS is the same as the desired CPS; as the attempted CPS rate increases, rejection rates increase at a steeper rate.
  • If either the count rate or the window size is set to 0, then the Oracle Communications Session Border Controller reverts to call gapping behavior it uses when the relevant parameters are not configured.

Network Management Control Configuration

In order use the network management controls feature, you need to set control rules and then enable their application on a per-realm basis. This section shows you how to set up those configuration.

Configuring an Individual Control Rule

To configure individual network management control rule:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the signaling-related configurations.
    ORACLE(configure)# session-router
  3. Type net-management-control and press Enter.
    ORACLE(session-router)# net-management-control
  4. name—Enter the name of this network management control rule; this value uniquely identifies the control rule. There is no default for this parameter.
  5. state—Enable or disable this network management control rule. The default value is enabled. The valid values are:
    • enabled | disabled

  6. destination-identifier—Enter the call classification key. This parameter specifies information about the destination, which can be an IP address, an FQDN, a destination (called) number, or destination prefix. You can wildcard characters in the classification key using the carat symbol (^).

    You can enter special characters in the destination-identifier parameter. You can enter characters such as the plus-sign (+), the asterisk (*), the pound sign (#), capital letter A (A), capital letter B (B), capital letter C (C), capital letter D (D), lowercase letter p (p), lowercase letter w (w).

    This parameter can accommodate a list of entries so that, if necessary, you can specify multiple classification keys. You can edit the list of classification keys using the ACLI add-destination-identifier and remove-destination-identifier commands from within the network management controls configuration.

  7. type—Enter the control type that you want to use. The valid values are:
    • GAP-RATE—Controls the maximum sustained rate of calls that match the classification key.

    • GAP-PERCENT—Controls the percentage of calls matching the classification key you set for the control rule.

    • PRIORITY—Exempts calls to a destination (like 911) from local network management controls. Use this value if you want to enable Priority Call Exemption from Policy Server Approval.

  8. value—When you set the control type to either GAP-RATE or GAP-PERCENT, enter the maximum sustained rate of calls or the percentage of calls to which you want the control rule applied. The default value is zero (0). The valid values are:
    • GAP-RATE—Maximum is 2147483647

      • Using the minimum value (0) means that the Oracle Communications Session Border Controller treats all calls
      • Using the maximum value means that the Oracle Communications Session Border Controller treats no calls
    • GAP-PERCENT—Maximum is 100

      • Using the minimum value (0) means that the Oracle Communications Session Border Controller treats no calls
      • Using the maximum value (100%) means that the Oracle Communications Session Border Controller treats all calls
  9. treatment—Enter the treatment method that you want to use. The default value is none. The valid values are:
    • reject—The Oracle Communications Session Border Controller rejects the call.

    • divert—The Oracle Communications Session Border Controller routes the call to the location you specify in the control rule’s next hop parameter.

  10. next-hop—Enter the next hop for the Oracle Communications Session Border Controller to use when the treatment method is DIVERT. The valid values are:
    • hostname(:port)

    • IP address(:port)

    • Name of a valid, configured session agent

    • Name of a valid, configured session agent group—When you set this parameter to a session agent group, you must specify that it is a session agent group by prepending the name of the group with either SAG: or sag:. For example, the entry for a session agent group with Group2 as its name would be SAG:Group2 or sag:Group2.

  11. realm-next-hop—Enter the realm identifier to designate the realm of the next hop when the treatment type is DIVERT.
  12. protocol-next-hop—Enter the signaling protocol for the next hop when the treatment type is DIVERT.
  13. status-code—Enter the SIP response code that you want the Oracle Communications Session Border Controller to use when the treatment method is REJECT. The default value is 503 (Service Unavailable). The valid range is:
    • Minimum—1

    • Maximum—699

  14. cause-code—Enter the Q.850 cause code that you want the Oracle Communications Session Border Controller to use when the treatment method is REJECT. The default value is 63 (Service or option not available). The valid range is:
    • Minimum—1

    • Maximum—999999999

      For a SIP call, the Oracle Communications Session Border Controller replaces the cause code in the Reason header of the SIP response.

      For a H.323 call, the Oracle Communications Session Border Controller converts the cause code to a Q.931 cause code in the Q.931 Cause IE in the releaseComplete message.

Enabling Enhanced Call Gapping

Enhanced NMC call gapping uses new configuration parameters to the network management controls configuration:

  • gap-rate-max-count—Maximum count that triggers the application of network management control rule if it is exceeded. The default value is zero (0). The valid range is:
    • Minimum—0
    • Maximum—999999999
  • gap-rate-window-size—Length of time in seconds used for the gapping rate calculation. The default value is zero (0). The valid range is:
    • Minimum—0
    • Maximum—999999999

For this feature to behave as intended, you also need to set the type parameter to gap-rate, and set the value parameter to the maximum sustained rate of calls that you want to support.

To configure NMC call gapping enhancements:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter to access the signaling-related configurations.
    ORACLE(configure)# session-router
  3. Type net-management-control and press Enter.
ORACLE(session-router)# net-management-control

To add support to a pre-existing network management control configuration, use the ACLI select command to choose the configuration you want to edit.

  • gap-rate-max-count—Maximum count that triggers the application of network management control rule if it is exceeded. The default value is zero (0). The valid range is:
    • Minimum—0
    • Maximum—999999999

      Along with the current time, the last time of a gapped call, the call counter value, the CPS value, and the gap-rate-window-size value, the Oracle Communications Session Border Controller uses gap-rate-max-count as a measurement to determine if a control rule will be applied.

  • gap-rate-window-size—Length of time in seconds used for the gapping rate calculation. The default value is zero (0). The valid range is:
    • Minimum—0
    • Maximum—999999999

      Along with the current time, the last time of a gapped call, the call counter value, and the CPS value, the Oracle Communications Session Border Controller uses the gap-rate-window-size value to calculate whether the maximum count is within allowable limits.

  1. Save and activate your configuration.

Applying a Network Management Control Rule to a Realm

Once you have configured network management control rules, you can enable their use on a per-realm basis.

To apply a network management control rule to a realm:

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

    If you are enabling network management controls for a pre-existing realm, then you must select (using the ACLI select command) the realm that you want to edit.

  4. net-management-control—Set this parameter to enabled to apply network control rules in this realm. The default value is disabled. The valid values are:
    • enabled | disabled

  5. Save and activate your configuration.