Purpose |
This session plan is triggered on receipt of a new SIP INVITE. |
---|---|
Feature Endpoint API |
sentinel-sip-spi ( |
The following diagram is a visual representation of the session plan. It shows:
-
the points-in-session where Sentinel will search for a feature execution script to run (the green boxes)
-
the most important points where Sentinel will make a decision about how the session should be processed further (the grey diamonds)
-
the points where Sentinel will delegate to the mediation layer to interact with an OCS (the blue mediation boxes) — see: Session plans for the Mediation Layer for more details.
The session plan is multi-leg aware; for example, within a multi-leg communication session, some of the feature script execution points may be run within the context of a particular ‘leg’. The points-in-session for this session plan are described in detail below the diagram.
Feature script execution points
Below are details of these points-in-session:
For feature script execution points available in the mediation layer (the dark blue box) see: Sentinel Mediation Layer. The feature endpoint for all sip execution points is |
On initial trigger …
The three major tasks Sentinel does on the first message of a new session (the initial trigger) are:
-
decide if the new session should be accepted for processing
-
if the new session is accepted, analyse the initial trigger and classify the session
-
do an initial credit check by querying the OCS for this session.
Should the session be accepted?
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Session Accept |
SipAccess_SessionAccept |
SipRequest |
SipSession |
Session Start |
SipAccess_SessionStart |
SipRequest |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should analyse the incoming INVITE and decide if the new session should be accepted, or rejected. Properties of the INVITE can also be used to determine the network operator and the session type.
… analyse the initial trigger …
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
Network Check |
SipAccess_NetworkPreCreditCheck |
SipRequest |
SipSession |
Session Check |
SipAccess_SessionPreCreditCheck |
SipRequest |
SipSession |
Subscriber Check |
SipAccess_SubscriberPreCreditCheck |
SipRequest |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should analyse the INVITE and classify this session. The three execution points allow you to select feature execution scripts in phases, as you further classify details of the session. For example: the first execution point can select a feature execution script that is particular to the network operator; the next execution point can select a feature execution script that is particular to the session type; and the last execution point can select a feature execution script that is particular to the plan and subscription ids.
… take actions based on the outcome of the initial credit check …
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
Initial Credit Allocated |
SipAccess_CreditAllocatedPostCC |
CCA |
SipSession |
Initial Credit Limit Reached |
SipAccess_CreditLimitReachedPostCC |
CCA |
SipSession |
Initial Control Not Required |
SipAccess_ControlNotRequiredPostCC |
CCA |
SipSession |
Initial Control Failure |
SipAccess_OCSFailurePostCC |
CCA |
SipSession |
Initial Control Reauthorise |
SipAccess_ChargingReauth |
RAR |
SipSession |
Initial Control Abort |
SipAccess_ChargingAbort |
ASR |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should decide what will happen to this session based on the outcome of the initial credit check.
Monitoring the session …
Sentinel monitors the session by exchanging messages with the S-CSCF and updating the credit allocated for this session with the OCS. Feature script execution points within the session monitoring phase play two roles:
-
execution points that are charging-centric (left-hand side). These feature script execution points run when the session needs more charging.
-
execution points that are signalling-centric (right-hand side). These feature script execution points run for SIP messages on each leg in a multi-leg session.
… take actions based on the outcome of an update credit check …
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
Mid Session Credit Allocated |
SipMidSession_CreditAllocatedPostCC |
CCA |
SipSession |
Mid Session Credit Limit Reached |
SipMidSession_CreditLimitReachedPostCC |
CCA |
SipSession |
Mid Session Control Failure |
SipMidSession_OCSFailurePostCC |
CCA |
SipSession |
Mid Session Control Reauthorise |
SipMidSession_ChargingReauth |
RAR |
SipSession |
Mid Session Control Abort |
SipMidSession_ChargingAbort |
ASR |
SipSession |
Mid Session Credit Finalised |
CreditFinalised |
CCA |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should decide what will happen to this session based on the outcome of an update credit check.
… as each leg is set up …
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Setup Sip Request |
SipAccess_PartyRequest |
SipRequest |
SipSession |
Setup Sip Response |
SipAccess_PartyResponse |
SipResponse |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should decide what will happen as a new leg in a multi-leg session is set up.
… as each leg continues …
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Mid Session Sip Request |
SipMidSession_PartyRequest |
SipRequest |
SipSession |
Mid Session Sip Response |
SipMidSession_PartyResponse |
SipResponse |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should decide what will happen to this leg, and the multi-leg session, as the leg proceeds.
… on a SUBSCRIBE request …
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Subscription Request |
SubscriptionSipRequest |
SipRequest |
SipSession |
Subscription Response |
SubscriptionSipResponse |
SipResponse |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at these execution points should decide what will happen to this leg, its usages, charging, and the multi-leg session, as the leg proceeds.
… on an out-of-dialog SIP transaction …
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Transaction Request |
SipTransaction_Request |
SipRequest |
SipSession |
Transaction Response |
SipTransaction_Response |
SipResponse |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at these execution points should decide what will happen to this leg, its usages, charging, and the multi-leg session, as the leg proceeds.
… … as each leg ends
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Leg End |
SipLegEnd |
LegEndEvent |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should decide what will happen as the leg ends.
Ending the session …
A session may end for many reasons (a subscriber hangs up a call, there is no credit and so on).
… on session end
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
End Session |
SipEndSession |
EndSessionEvent |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point may inject behaviour, such as sending notifications, when a session ends.
At any time …
There are a number of feature script execution points that may be triggered at ant time within the lifetime of a session.
As timers expire
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
Service Timer |
SipAccess_ServiceTimer |
TimerEvent |
NullActivity |
Suggested role/purpose of features that run at this feature script execution point
Service timers that are not configured to invoke a feature directly trigger this feature script execution point. Features that run at this execution point should decide what will happen to this session when the service timer expires.
See Sentinel Service Timer Provider for more details. |
If instruction execution fails
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
Instruction Execution Failure |
SipInstructionExecutionFailure |
InstructionExecutionFailedEvent |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point should decide what will happen to this session when a Leg or Charging Manager instruction failed to execute successfully.
As extension events are processed
Point in Session | Execution Point Name | Trigger Object | Trigger Activity |
---|---|---|---|
Feature Extension Event |
SipAccess_FeatureExtentionEvent |
Object |
Extension Activity |
Suggested role/purpose of features that run at this feature script execution point
Features that are invoked directly by Sentinel run in the context of the this feature script execution point.
See Sentinel Feature Extension Events and Sentinel Service Timer Provider to learn how a feature can be invoked directly. |