Purpose |
This session plan is triggered on receipt of third party REGISTER Request. |
---|---|
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 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:
The feature endpoint for all sip execution points is |
On initial trigger …
The two major tasks Sentinel does on the first message of a new session (the initial trigger) are:
-
decide if the new session can be accepted for processing
-
if the new session is accepted, analyse the initial trigger and classify the session
Should the session be accepted?
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
Session Accept |
SipRegistration_Accept |
SIP REGISTER |
SipSession |
Session Start |
SipRegistration_Start |
SIP REGISTER |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at this execution point analyse the incoming third party REGISTER request and extract the embedded 1st party REGISTER request and response. Properties of the request can also be used to determine the network operator.
… analyse the initial trigger …
Point in Session | Execution point name | Trigger Object | Trigger Activity |
---|---|---|---|
Network Check |
SipRegistration_NetworkCheck |
SIP REGISTER |
SipSession |
Session Check |
SipRegistration_SessionCheck |
SIP REGISTER |
SipSession |
Subscriber Check |
SipRegistration_SubscriberCheck |
SIP REGISTER |
SipSession |
Suggested role/purpose of features that run at this feature script execution point
Features that run at these execution points should analyse the 1st party REGISTER request and response to classify this session. For example features should extract public and private identities and determine type of registrartion scenario (register vs re-register vs de-register).
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.
… on an out-of-dialog SIP transaction response …
Point in session | Execution point name | Trigger object | Trigger activity |
---|---|---|---|
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, 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. |