To achieve efficient device failover to a backup/secondary Application Server, the SBC uses ARS to determine if a server is reachable, providing the ability to temporarily "blacklist" a server IP address when specified criteria are met. The ARS profile defines when to blacklist a peer and the recovery algorithm that defines when to remove blacklisting, restoring the peer into service. An ARS profile can be assigned to the services section of a SIP trunk group to trigger the blacklisting and recovery of any SIP peer(s) associated with the trunk group. Refer to Address Reachability Service for more information on using ARS and ARS profiles.

Note

Ribbon 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. 

Command Syntax

% set profiles services sipArsProfile <profile name>
  blkListAlgNoRetryAfterDuration <1-3600>
  blkListAlgNoRetryAfterNum503 <1-3600>
  blkListAlgRetryAfterMethods
	BIT 0 - sip-invite
	BIT 1 - sip-register
	BIT 2 - sip-subscribe
	BIT 3 - sip-notify
	BIT 4 - sip-options
	BIT 5 - sip-message
	BIT 6 - sip-publish
	BIT 7 - sip-info
	BIT 8 - sip-refer
   blkListAlgRetryAfterType sip-503
   blkListAlgTimeoutsDuration <1-3600>
   blkListAlgTimeoutsNumTimeouts <1-3600>
   blkListAlgTimeoutsType sip-invite
   blkListAlgorithms <retryafter | timeouts | noRetryAfer>
   failureResponseCodes <400-699 | all |all4xx | all5xx | all6xx>
   midDialogArsScreenLevel <always | never | onlyIfNotBlackListDueto503>
   recoveryAlgForNoRetryAfter <probe|timer|none>
   recoveryAlgForTimeouts <probe|timer|none>
   recoveryAlgProbeDuration <1-3600>
   recoveryAlgProbeInterval <1-600>
   recoveryAlgProbeMethod sip-options
   recoveryAlgProbeNumResponses <1-32>
   recoveryAlgTimerDuration <1-3600>
   recoveryAlgorithm <probe|timer>

Command Parameters

The SIP ARS Profile Parameters are as shown:

SIP ARS Profile Parameters

Parameter

Length/Range

Description

sipArsProfile

1-23

<profile name> – The name of the SIP Address Reachability Service profile.

blkListAlgorithms

N/A

Identifies blacklisting algorithm to use for the ARS Profile. Any combination of triggers can be specified for a profile.

  • noRetryAfer - trigger blacklisting when a peer endpoint sends SIP 503 responses without a Retry After header at a rate that exceeds a number defined by blkListAlgNoRetryAfterNum503 within the time interval defined by blkListAlgNoRetryAfterDuration.
  • retryafter – Use the blkListAlgRetryAfterType (trigger) as the blacklisting criteria.
  • timeouts (default) – Use the timeout of the specified SIP message for blacklisting the server. The objects blkListAlgTimeoutsType, blkListAlgTimeoutsNumTimeouts, and blkListAlgTimeoutsDuration must also be specified.

blkListAlgNoRetryAfterNum503

1 - 3600The number of SIP 503 responses without a Retry After header events sent by a peer to trigger blacklisting of that peer endpoint. The default is 1.

blkListAlgNoRetryAfterDuration

1 - 3600The duration, in seconds, in which the SIP 503 responses without a Retry After header events must occur to trigger blacklisting of the peer sending the responses. The default is 1.

blkListAlgRetryAfterType

N/A

Use to specify the SIP status code type which includes a 'Retry-After' value (currently, the only supported value is sip-503).

  • sip-503 – When a SIP 503 message is received with Retry-After field from downstream server, this option puts that server into blacklist to prevent new call requests (SIP INVITEs) from retransmitting, and starts a Recovery Algorithm to recover the server from blacklist after the duration specified in the Retry-After header contained in the received SIP 503 message.

blkListAlgTimeoutsDuration

1-3600

Duration (in seconds) in which the specified number of timeouts must occur. (default = 1).

blkListAlgTimeoutsNumTimeouts

1-3600

The number of timeout events for a single INVITE transaction (including any retransmissions) before black listing the address. (default = 1).

blkListAlgTimeoutsType

N/A

The timeout trigger type (currently, only sip-invite is available):

  • sip-invite – Use SIP INVITE messages as a timeout trigger.
failureResponseCodes

400-699, or
(all, all4xx, all5xx, all6xx)

Use this parameter to define one or more response codes to treat as failure responses. The options include the following:

  • 400-699 – Enter a single code, or enter multiple codes within square brackets and separating each entry with a space. For example, [409 505 699]
  • all – include all response codes from 400-699
  • all4xx – include all 4xx response codes
  • all5xx – include all 5xx response codes
  • all6xx – include all 6xx response codes

INFO: When you use more than one value, enclose the values in square brackets [ ], separating each value with a space. Entering  a value without using brackets appends the value to the existing configuration.

NOTE: Ensure failureResponseCodes values for Path Check Profile and SIP ARS Profile within the same zone/trunk group use similar values to avoid unexpected behavior. For example, it is not advisable to set Path Check Profile failureResponseCode to "all" and SIP ARS Profile failureResponseCodes to "all4xx" and "all6xx". See Path Check Profile (CLI).

midDialogArsScreenLevelN/A

Use this parameter to control when to apply ARS to a mid-dialog request.

  • always – ARS is applied to all mid-dialog requests in a call.
  • never (default) – ARS is not applied to mid-dialog requests.
  • onlyIfNotBlackListDueto503 – ARS is applied to mid-dialog requests unless blacklist due to 503 is encountered.

recoveryAlgProbeDuration

1-3600

Duration (in seconds) in which the specified number of responses must occur. (default = 1).

recoveryAlgProbeInterval

1-600

The probe interval value, in seconds. (default = 1).

recoveryAlgProbeMethod

N/A

Specifies the probe method (currently, only sip-options is available).

  • sip-options

recoveryAlgProbeNumResponses

1-32

The number of consecutive responses to occur before removing an entry from the black list. (default = 1).

recoveryAlgTimerDuration

1-3600

Duration (in seconds) that the IP address remains blacklisted. (default = 1).

recoveryAlgorithm

N/A

The recovery algorithm to use once the peer is blacklisted.

  • probe (default) – The ARS initiates an active "ping" to the blacklisted server until it gets a response. Once the number of consecutive responses are received as defined by the recoveryAlgProbeNumResponses parameter, the address is removed from the blacklist.
  • timer – The ARS removes the entry for the blacklist after a configured duration.

blkListAlgRetryAfterMethods 

Use this parameter to specify the SIP request types to retry after blacklist algorithm.

The options include:

  • sip-register 
  • sip-subscribe
  • sip-invite 
  • sip-notify 
  • sip-options
recoveryAlgForTimeoutsN/A

Specifies the type of recovery algorithm for the endpoints blacklisted with timeouts algorithm.

  • probe - use probe as recovery algorithm for the endpoints blacklisted with timeouts algorithm.
  • timer - use timer as the recovery algorithm for the endpoints blacklisted with timeouts algorithm.
  • none - use the recovery algorithm specified in the ARS profile.
Note: When the flag is set to none, the SBC continues with the default behavior which is specified in the recoveryAlgorithm flag.
 recoveryAlgForNoRetryAfterN/A

Specifies the type of recovery algorithm for the endpoints blacklisted with 503 noRetryAfter algorithm.

  • probe - use probe as the recovery algorithm for the endpoints blacklisted with 503 noRetryAfter algorithm.
  • timer - use timer as the recovery algorithm for the endpoints blacklisted with 503 noRetryAfter algorithm.
  • none - use the recovery algorithm specified in the ARS profile.

Note: When the flag is set to none, the SBC continues with the default behavior specified in the recoveryAlgorithm flag.

Command Examples

The following example configures a SIP ARS profile named "ARSPROFILE1" using the various objects and parameters.

 % set profiles services sipArsProfile ARSPROFILE1 
	blkListAlgTimeoutsDuration 34 
    blkListAlgNoRetryAfterNum503 3200
    blkListAlgRetryAfterMethods sip-invite
    blkListAlgRetryAfterType sip-503
    blkListAlgTimeoutsDuration 1
    blkListAlgorithms retryafter 
    blkListAlgTimeoutsNumTimeouts 1
    blkListAlgTimeoutsType sip-invite
    blkListAlgorithms retryafter
    failureResponseCodes all
    midDialogArsScreenLevel always
    recoveryAlgForNoRetryAfter none
    recoveryAlgForTimeouts timer
    recoveryAlgProbeDuration 20
    recoveryAlgProbeInterval 15
    recoveryAlgProbeMethod sipoptions
    recoveryAlgProbeNumResponses 2
    recoveryAlgTimerDuration 123
    recoveryAlgorithm probe

 

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 []