In this section:
The Congestion objects provide a facility for managing the call congestion for SBC application. Following system congestion levels are defined in this section, with each level representing an increasing severity of congestion within the SBC:
adaptive
– The congestion level at which the adaptive congestion control algorithm activates. The adaptive algorithm iteratively adjusts the call acceptance rate up or down to maximize call throughput while maintaining target performance metrics throughout the overload event. The algorithm is self-tuning to automatically adjust to nominal capacity (and to non-call-rate related events consuming unpredictable amounts of CPU) and is independent of call scenario mix, signaling types, and user retry behavior. There is a single default configuration for all system configurations. Emergency calls may optionally be given preference over non-priority calls.levelMC1
– Limited congestion level. By default, no calls are rejected due to congestion in this level.levelMC2
– Moderate congestion level. By default, the adaptive congestion controls activate when this level of congestion is reached.levelMC3
– Critical congestion level. By default, this level is disabled since the adaptive congestion controls (which activate at levelMC2) prevent the box from reaching this level.mode
– Mode for the system congestion control.policer
– System congestion Call Rate Policer configuration.In levels MC1 and MC2, the SBC software will attempt to balance traffic by assigning H.323 and SIP calls to non-congested modules. In levels MC1, MC2, and MC3, all INFO event log messages are suppressed.
These congestion levels only apply to the packet calls. You define the threshold at which these congestion levels are trigger by associating each level with an Overload Profile. CPU utilization congestion criteria thresholds and durations are specified in the Overload Profile. By configuring the Overload Profile appropriately, some of the congestion criteria can trigger a change in the congestion level.
During a sustained system load, the SBC accepts calls at a smooth rate, avoiding behavior such as accepting all calls for a short period of time, and then rejecting all calls for the remaining sampling period. This is accomplished with system-level policers. Unlike IP Traffic Policers--which control the allowed rate of incoming IP packets, congestion policers control the allowed rate of incoming calls in a system. Individually configurable bucket sizes (POLICER BUCKETSIZE) control the call burst handling capability. The policer fill rate controls the sustained rate (the rate at which tokens are added to the bucket). In this case, the fill rate is the sustained call rate allowed at calls per second (CPS). Fill rates are not configurable when using congestion policers; instead, they are dynamically adjusted based on resource usage, to maximize those resources.
% set system congestion adaptive MCLevel <mc1 | mc2 | mc3> % set system congestion levelMC1 mode <inService | outOfService> overloadProfileName <defaultMC1 | defaultMC2 | defaultMC3> levelMC2 mode <inService | outOfService> overloadProfileName <defaultMC1 | defaultMC2 | defaultMC3> levelMC3 mode <inService | outOfService> overloadProfileName <defaultMC1 | defaultMC2 | defaultMC3> % set system congestion mode <adaptive> policer preference call <0-3> emergencyCall <0-3> initialSipRegister <0-3> initialSipSubscribe <0-3>
To display congestion configuration information:
% set system congestion adaptive MCLevel mc1 % set system congestion levelMC1 mode inService overloadProfileName defaultMC1 % set system congestion levelMC2 mode inService overloadProfileName defaultMC2 % set system congestion levelMC2 mode outOfService overloadProfileName defaultMC3 % set system congestion mode adaptive % set system congestion policer preference call 0 % show system congestion levelMC1 { mode inService; overloadProfileName defaultMC1; } levelMC2 { mode inService; overloadProfileName defaultMC2; } levelMC3 { mode outOfService; overloadProfileName defaultMC3; } mode adaptive; adaptive { MCLevel mc1; } policer { preference { call 0; } }