In this section:
Modified: for 12.1.3
Based on call traffic volume, SBC instances are added and removed in cloud environments. There are situations when the call volume is low, and instances are removed to maximize the utilization of resources. SBC instances with minimal impact on the existing calls and registrations are removed by allocating time for those sessions to terminate independently. The following object and parameters are added under the 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 selecting this option, the SBC usually functions. 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
new calls, registrations, or subscriptions. The remaining parameters deal with existing calls.Action
- This parameter specifies the SBC actions to handle the existing calls when the Mode
is set to Out of Service
. The following options are available:Dry up
- When this option is selected, the SBC enters an Out Of Service Pending
state and rejects all new calls. A timer is started for existing calls, at the end of which any remaining calls are force terminated. The Dry Up Timeout parameter below determines the duration of that timer. During the dry-up period, messages involved in the maintenance of existing call legs, such as re-INVITEs 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 to Out of Service
state.Force
- When this option is selected, the SBC immediately goes to Out 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 to Out 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 to In 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).Dry Up Mode Handling
- This option specifies which actions while the SBC is in dry-up mode ("out of service mode"). These configurable actions allow the user to silently discard OPTIONS ping or keepalive messages, or to reject these messages with a configurable SIP cause code. Without this feature's configurable actions, the SBC responds to incoming messages for OPTIONS Keepalive and Invite with a "503 Service Unavailable," and for the remaining OODs the SBC sends a "500 Server Internal Error" response.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.
All registration types (refresh REGISTER, de-REGISTER, new REGISTER) are rejected with 503 in the out-of-service mode. The 503 response does not contain a retry-after header. Any DEREGISTER messages received are passed through to the registrar.
Once the dryUpTimout timer expires, the SBC will not clear active registrations.
An RCB destruction timer is started once the 503 response is sent for refresh REGISTER. The RCB is not destroyed immediately since its contents are required for routing calls to that endpoint through a different SBC instance. The timeout value is chosen so 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.
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.
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.
In Out of Service
mode, all OPTION (OOD and in-dialog) messages are rejected with a 503 response which does not contain a retry-after header.
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 is populated in the STOP CDR in the following fields:
% set global system action <dryup | force> anonymizeDtmfLogging <disabled | enabled> dryupTimeout <15-1440 mins> dryupModeHandling optionsKeepalive <disabled | reject | silentDiscard> optionsKeepaliveRejectReason <400-699> oodAndInvite <disabled | reject | silentDiscard> oodAndInviteRejectReason <400-699> mode <inService | outOfService> rFactorComputation <disabled | enabled>
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