In this section:
Overview
In cloud environments, SBC instances are added and removed based on call traffic volume. There are situations when the call volume is low and instances are removed for optimum utilization of resources. SBC instances with minimal impact on the existing calls and registrations are removed by allocating time for those sessions to terminate on their own. The following object and parameters are added under Global object to support this feature:
System
Mode
- This parameter specifies the desired new global system state and acts according to the settings of the adjoining parameters. The following options are available:In Service
- When this option is selected, the SBC functions normally. The other two parameters (Action and Dry Up Timeout) are ignored. The SBC accepts new calls and refreshes the existing calls per existing SBC functionality.Out of Service
- When this option is selected, the SBC rejects any new calls, registrations, or subscriptions. Existing calls are dealt with in accordance with the remaining parameters.
Action
- This parameter specifies the SBC actions to handle the existing calls when theMode
is set toOut of Service
. The following options are available:Dry up
- When this option is selected, the SBC enters anOut Of Service Pending
state and rejects all new calls. For existing calls, a timer is started, at the end of which, any remaining calls are force terminated. The duration of that timer is determined by theDry Up Timeout
parameter, below. During the dry up period, messages involved in the maintenance of existing call legs such as reINVITEs or UPDATEs are allowed. Out-of-session messages are rejected. Specific scenarios are covered below. Once all the existing calls/registrations/subscriptions are terminated/cleared or the Dry Up Timeout value expires (whichever happens first), the SBC goes toOut of Service
state.Force
- When this option is selected, the SBC immediately goes toOut of Service
state. The existing calls are terminated. The Dry Up Timeout parameter is bypassed.
Dry Up Timeout
- This option specifies the time (in minutes) until the SBC goes toOut Of Service
state by setting the duration of the dry up timer. Once set, you cannot change the value of the running timer unless you revert the system back toIn Service
mode. Changing the value of this parameter after starting the dry up action has no effect on the system. The dry up timeout value may range from 15 minutes to 1440 minutes (1 day).
If the mode is changed from Out of Service
to In Service
when the dry up times is running, The Dry Up Timeout
gets cancelled and the system is reverted to In Service
mode.
If the mode is changed from Out of Service
to In Service
and If there is a dry up timer running and the sessions are not removed completely, all the unterminated calls, registrations and subscriptions are recovered. The SBC does not recover any calls, subscriptions, and registrations for which a tear-down message is initiated.
If the system mode is changed from Out of Service
> Dry up to Out of Service
> Force
before the Dry up Timeout
expires, the Dry up Timeout
timer is cancelled. The system behaves as though the Dry up Timeout
has expired and takes all the actions for removing the calls.
If the mode is Out of Service Pending
state and the system switches over, the Dry-up timer continues on and is not reset.
This feature is not available on the M-SBC.
REGISTER Message in Out of Service Mode
In Out of Service
mode, all new REGISTER messages are rejected with a 503 response code. The 503 response does not contain a retry-after header. Any DEREGISTER messages received are passed through to the registrar.
Refresh REGISTER requests are also rejected, with the 503 response that does not contain a retry-after header, based on the following conditions:
- The refresh register may be rejected if the register occurs within the
Dry up Timeout
.
The probability of rejection is based on an internal statistical method.
- The refresh register will be rejected if it occurs after the
Dry up Timeout
value.
An RCB destruction timer is started once the 503 response is sent for refresh REGISTER. The RCB is not destroyed immediately since the contents are required for routing calls to that endpoint through a different SBC instance. The timeout value is chosen in such a manner that the endpoint has completed registration through an alternate SBC instance before this RCB is destroyed. Once the RCB destruction timer expires, the RCB is destroyed immediately. The SBC does not send any message, especially the unREGISTER, to the inside registrar.
At the end of the Dry Up Timer
, any remaining connected registrations are destroyed with no further messages sent or received.
SUBSCRIBE Message in Out of Service Mode
In Out of Service
mode, all new SUBSCRIBE messages are rejected with a 503 response code. The 503 response does not contain a retry-after header. If there is a matching SCB, then a randomized SCB destruction timer between 10 seconds to 5 minutes is started upon sending the 503 response. This allows the SBC to relay NOTIFIES messages until the endpoint re-subscribes through an alternate SBC instance. Once the SCB destruction timer expires, the SBC sends an unSUBSCRIBE to Egress peer and destroys the SCB. Any response to the unSUBSCRIBE, including a 2xx, 401, or 403 response, is ignored. As stated earlier, a NOTIFY message matching an existing subscription is forwarded.
A refresh SUBSCRIBE which does not match an existing subscription is rejected with a 503 response. The 503 response does not include a retry-after header.
NOTIFY Message in Out of Service Mode
In Out of Service
mode, a NOTIFY messages matching an existing subscription are forwarded. The NOTIFY message is associated with a SUBSCRIBE and until the endpoint has learned about out-of-service and re-subscribed through an alternate SBC instance, the NOTIFY is forwarded.
A refresh NOTIFY which does not match an existing subscription is rejected with a 503 response. The 503 response does not include a retry-after header.
When existing calls are terminated a result of the Dry-up timer expiring or the use of the Force option, the calls are terminated with a BYE message.
OPTIONS Message in Out of Service Mode
In Out of Service
mode, all new OPTION messages are rejected with a 503 response which does not contain a retry-after header.
R-Factor Computation
In the SBC, the R-Factor computation is decoupled from QoS Routing. As a result, the SBC computes a call's R-Factor and adds it to the Call Data Records (CDRs) even if the QoS routing is not enabled. The parameter rFactorComputation
is added to the Global system level configuration CLI. If enabled, the SBC computes a call's R-Factor and adds it to the STOP CDR.
The R-Factor computation is performed based on the T-REC-G.107 specification that considers percentage packet loss, latency, and codec used. The R-Factor ranges from 0 to 100, where:
- 100 = Good
- 0 = Poor
Based on the formula, 93 is the highest score possible with G.711 codec when there is no latency or packet loss. For more information, refer to https://www.itu.int/rec/T-REC-G.107.
The R-factor is populated in the STOP CDR in the following fields:
- Ingress Inbound R-Factor
- Ingress Outbound R-Factor
- Egress Inbound R-Factor
- Egress Outbound R-Factor
Command Syntax
% set global system action <dryup | force> anonymizeDtmfLogging <disabled | enabled> dryupTimeout <15-1440 mins> mode <inService | outOfService> rFactorComputation <disabled | enabled>
Command Parameters
The following table represents Set Global System command parameters:
Parameter | Length/Range | Description |
---|---|---|
| N/A | Specifies the action to take when putting the SBC to
|
| N/A | Enable this flag to anonymize DTMF digits from the TRC file. This is to ensure the DTMF digits don't contain personal information such as credit card and personal identification details. A new file with extension ".TRC.ANN" is generated under the evlog directory, and the original file remains unchanged. If you disable this feature, the copied ".TRC.ANN" files are not deleted in case different log streamers/collectors require them. File anonymization applies to TRC log level 4 only. This feature does not support anonymizing DTMF data below log level 4.
Note: This feature is applicable to SBC SWe on AWS, Azure and GCP (public cloud) environments only. |
| 15 to 1,440 minutes | Specifies the time in minutes for calls and registrations to dryUp before terminating them. (default 120 minutes) |
| N/A | Specifies the service state of the SBC.
|
rFactorComputation | N/A | Enable this flag to compute the R-Factor and add it to the STOP CDR even if the QoS routing is not enabled. Since R-Factor computations are CPU-intensive, this parameter limits the computations to applicable call flows only. The default setting is "disabled".
|
Command Example
In this example, the system is pushed to out of service mode with dry up action (Dry Up Timeout = 180 mins). The system immediately goes to out of service standby mode and stops accepting new calls and registrations. Once all the existing calls/registrations/subscriptions are terminated/cleared or the Dry Up Timeout value expires (whichever happens first), the SBC goes to Out of Service mode. The R-Factor computation is enabled to compute the R-Factor and add it to the STOP CDR even if the QoS routing is not enabled.
% set global system mode outOfService action dryUp dryupTimeout 180 rFactorComputation enabled
set global system anonymizeDtmfLogging enabled commit