To ensure efficient device failover to the backup/secondary application server, the SBC uses the Address Reachability Service (ARS) to determine if the target server is reachable, providing the ability to "blacklist" a server IP address if it is found to be unreachable, as well as the ability to remove the server from the blacklisted state. ARS profiles can be created to configure blacklisting and recovery algorithm variants.
These ARS profiles can be assigned to the services section of a SIP trunk group to enforce the blacklisting and recovery of any SIP peer(s) associated with the trunk group. If no recovery algorithm is specified when configuring a SIP ARS profile, the recovery algorithm default values are used as indicated below:
recoveryAlgProbeDuration: 1 second
recoveryAlgProbeInterval: 1 second
recoveryAlgProbeMethod: sip-options
recoveryAlgProbeNumResponses: 1
recoveryAlgTimerDuration: 1 second
recoveryAlgorithm: probe
Traffic is shared across all SBC Session Control Module (SCM) processes. For INVITE time outs, an IP Peer is blacklisted only when the same SCM process reaches the configured number of INVITE timeouts within the configured timeout duration.
For a single shot call scenario (i.e. lab testing), it may be necessary to gather additional timeouts to see an IP Peer get blacklisted. Once the peer is blacklisted, the same data is available across all SCM processes.
Similarly, when a peer is not blacklisted but is in the process of being blacklisted because of time outs, the 'show' command to check ARS Status may give inconsistent results depending upon the SCM process which responds first to the command.
Sonus recommends to not configure Path Check Profile and SIP ARS Profile on the same peer to avoid unexpected results. As a general rule, the Path Check Profile is configured on the access leg where there is less traffic, and the ARS Profile is configured on the peer leg where there is continuous traffic.
% set profiles services sipArsProfile <profile name> blkListAlgRetryAfterType sip-503 blkListAlgTimeoutsDuration <1-3600> blkListAlgTimeoutsNumTimeouts <1-3600> blkListAlgTimeoutsType sip-invite blkListAlgorithms <retryafter|timeouts> failureResponseCodes <400-699 | all |all4xx | all5xx | all6xx> midDialogArsScreenLevel <always | never | onlyIfNotBlackListDueto503> recoveryAlgProbeDuration <1-3600> recoveryAlgProbeInterval <1-600> recoveryAlgProbeMethod sip-options recoveryAlgProbeNumResponses <1-32> recoveryAlgTimerDuration <1-3600> recoveryAlgorithm <probe|timer>
The SIP ARS Profile Parameters are as shown:
The following example configures a SIP ARS profile named "ARSPROFILE1" using the various objects and parameters.
% set profiles services sipArsProfile ARSPROFILE1 blkListAlgorithms retryafter,timeouts blkListAlgTimeoutsType sip-invite blkListAlgTimeoutsNumTimeouts 45 blkListAlgRetryAfterType sip-503 % set profiles services sipArsProfile ARSPROFILE1 blkListAlgTimeoutsDuration 34 recoveryAlgProbeDuration 546 recoveryAlgProbeInterval 78 recoveryAlgProbeMethod sip-options recoveryAlgProbeNumResponses 6 recoveryAlgTimerDuration 456 recoveryAlgorithm probe % show profiles services sipArsProfile sipArsProfile ARSPROFILE1 { blkListAlgorithms timeouts,retryafter; blkListAlgTimeoutsType sip-invite; blkListAlgTimeoutsNumTimeouts 45; blkListAlgTimeoutsDuration 34; blkListAlgRetryAfterType sip-503; recoveryAlgorithm probe; recoveryAlgTimerDuration 456; recoveryAlgProbeMethod sip-options; recoveryAlgProbeInterval 78; recoveryAlgProbeNumResponses 6; recoveryAlgProbeDuration 546; }
To configure a single failureResponseCodes
value for a SIP ARS Profile:
% set profiles services sipArsProfile ARSPROFILE1 failureResponseCodes 404
To set multiple failureResponseCodes
values:
% set profiles services sipArsProfile ARSPROFILE1 failureResponseCodes [404 503 all6xx]
To delete a single failureResponseCodes
value:
% delete profiles services sipArsProfile ARSPROFILE1 failureResponseCodes all6xx
To delete all failureResponseCodes
values:
% delete profiles services sipArsProfile ARSPROFILE1 failureResponseCodes []