This feature reads configuration and sets up triggers in the Sentinel SIP service, that will cause session replication to begin at certain points in a call.

Feature Cheat Sheet

Feature Script Name

DetermineSessionReplication

Applicable Contexts

SIP service

Call-Type

All

Session Plan

All

Execution Point

SipAccess_SessionStart and SubscriptionStart (in system pre-scripts)

Network Operator Config

Yes

Subscriber Config

None

POJO or SBB

POJO

Feature FSMs

None

Feature Parameters

None

SAS Support

No

Prerequisite features

None

Feature Statistics

DetermineSessionReplication statistics are tracked by the sentinel.sip SBB and can be found under the following parameter set:
SLEE-Usage → sentinel.sip service ID → sentinel.sip SBB ID → feature.DetermineSessionReplication

Name Type Description
Started

Counter

Incremented when the feature is triggered.

FailedToStart

Counter

Incremented when the feature fails to start.

FailedDuringExecution

Counter

Incremented when the feature fails while executing.

IssuedWarning

Counter

Incremented when the feature issues a warning.

TimedOut

Counter

Incremented when the feature times out during execution.

SessionReplicationDisabledForSession

Counter

Incremented when the feature determines that replication will never be enabled for the current session.

ArmedReplicationTriggerOnSubscriptionUASLegs

Counter

Incremented when the feature sets up a replication trigger for subscription user-agent-server legs.

ArmedReplicationTriggerOnSubscriptionUACLegs

Counter

Incremented when the feature sets up a replication trigger for subscription user-agent-client legs.

ArmedReplicationTriggerOnInviteUASLegs

Counter

Incremented when the feature sets up a replication trigger for invite user-agent-server legs.

ArmedReplicationTriggerOnInviteUACLegs

Counter

Incremented when the feature sets up a replication trigger for invite user-agent-client legs.

ImmediateSessionReplicationEnableTriggered

Counter

Incremented when the feature immediately enables session replication for a session.

Configuration

This feature reads configuration from the SipSessionReplicationConfigProfileTable profile table. Profiles in this table are named based on the Sentinel selection key that they should be applied to.

The profile specification for this table is sentinel-sip-session-replication-profile. Each profile in this table has four fields that are used to indicate the point in a call that session replication should begin. Each of the four fields corresponds to a different type of leg. The fields use Enums to define the points in the call that session replication can begin. There are two different Enum types, one for legs initiated by SIP REFER or SUBSCRIBE requests, and one for legs initiated by INVITE requests.

The four fields on the profiles are:

Field Name Enum Type Purpose
InviteUASLegReplicationTrigger
InviteReplicationTrigger

Determines the point in the signalling on a INVITE user-agent-server leg at which replication will be enabled.

InviteUACLegReplicationTrigger
InviteReplicationTrigger

Determines the point in the signalling on a INVITE user-agent-client leg at which replication will be enabled.

SubscriptionUASLegReplicationTrigger
SubscriptionReplicationTrigger

Determines the point in the signalling on a SUBSCRIBE or REFER user-agent-server leg at which replication will be enabled.

SubscriptionUASLegReplicationTrigger
SubscriptionReplicationTrigger

Determines the point in the signalling on a SUBSCRIBE or REFER user-agent-client leg at which replication will be enabled.

The possible values for each of the two different Enum types are outlined below.

InviteReplicationTrigger Enum

Enum Value Description
DISABLED

Replication start will never be triggered by a leg of this type.

INITIAL_REQUEST

Replication will begin as soon an initial INVITE request is seen on a leg of this type.

PROVISIONAL_RESPONSE

Replication will begin as a 18x response for the initial INVITE request is seen on a leg of this type.

RINGING_RESPONSE

Replication will begin when a 180 response for the initial INVITE request is seen on a leg of this type.

SUCCESS_RESPONSE

Replication will begin when a 2xx response for the initial INVITE request is seen on a leg of this type.

ACK

Replication will begin when an ACK for a 2xx response for the initial INVITE request is seen on a leg of this type.

SubscriptionReplicationTrigger Enum

Enum Value Description
DISABLED

Replication start will never be triggered by a leg of this type.

INITIAL_REQUEST

Replication will begin as soon an initial SUBSCRIBE or REFER request is seen on a leg of this type.

SUCCESS_RESPONSE

Replication will begin when a 2xx response for the initial SUBSCRIBE or REFER request is seen on a leg of this type.

Behaviour

This feature reads configuration data from the SipSessionReplicationConfigProfileTable profile table, and uses it to set up triggers in the SIP service that will initiate session replication. When reading from the profile table, the feature will select the profile that best matches the current Sentinel selection key.

The feature sets the triggers by setting special session state fields that are checked by the Sentinel SIP service when it hits key points in a call flow. If the service decides it has reached or passed the point in the call the the trigger corresponds to, it will instruct the Sentinel SIP Leg Manager to begin session tracking on all current and future legs (See External Session Tracking for details of how legs are tracked).

If the feature is unable to find any suitable profile for the current session, it will not set any triggers. This effectively disables session replication for the session.

Special Handling for Initial Request Triggers

There is special handling in the feature for user-agent-server legs that have an INITIAL_REQUEST trigger. If InviteUASLegReplicationTrigger config is set to INITIAL_REQUEST and the feature was triggered on an INVITE request, or SubscriptionUASLegReplicationTrigger config is set to INITIAL_REQUEST and the feature was triggered on an SUBSCRIBER or REFER request, then the feature itself will immediately instruct the Leg Manager to begin session tracking, bypassing the need to wait for the service to do it.

Session Ownership Facility Availability

Before it attempts to read any configuration the feature will check whether the Rhino Session Ownership Facility is available on the node. If the feature determines that the session ownership facility is not available, it will skip loading config, and disable session replication for the session.

Previous page Next page
Sentinel Express Version 2.8.0