Enhanced Feature Execution Model
Sentinel SIP has improved the feature execution model in three important areas:
-
Added the concept of a
System Feature. Other features are now consideredUser Features -
Added the
runcriticalstatement to the feature execution script language -
Expanded the method for how a feature script execution point is processed. In the new model a
point-in-sessionis processed in three steps with aprescript,userscript and apostscript.
|
|
System features and pre/post feature execution scripts are only available in the Sentinel SIP frontend, but the concept eventually will be extended to the other cores. |
The rest of this section will explain these new concepts in more detail.
User and System Features
There are two types of feature:
-
User features are for customising the behaviour of a front-end sentinel service to the particular needs of sentinel installation. I.e features as we understand them in current front-ends
-
System features are for customising/implementing substantive aspects of the the sentinel front-end service behaviour. For example, the B2BUA feature provides back-to-back user agent functionality to Sentinel
|
|
See Sentinel SIP User Features for a list of user features. See Sentinel SIP System Features for a list of system features. |
What is a Feature Execution Point
A Feature Execution Point is a step in the lifetime of a session that has some significance and where custom behaviour might be needed. Sentinel features are used to customise the behaviour of a front-end sentinel service to the particular needs of a sentinel installation. The method for executing features is:
-
feature run at a
points-in-sessioncalled 'feature script execution points'. Thesepoints-in-sessioncorrespond to significant steps in the process of managing a session. For example, as the session is starting, or ending. -
a set of features to run, the order the features run, and any conditions are described in a feature execution script (i.e a script that dictates and controls how features are executed).
-
Sentinel searches for an appropriate feature execution script at run time considering the
point-in-sessionand the current value of theSentinelSelectionKey -
feature execution scripts always run to completion. That is, if a feature fails, then Sentinell will continue with the next feature.
-
Sentinel only takes action only after the
point-in-sessionhas been processed
|
|
See section Sentinel Selection Key for more information about the sentinel selection key. See Sentinel Feature Execution Scripts for more information on the feature script execution language. |
How Does Sentinel Process an Execution Point
Sentinel processes a feature script execution point in three steps (as shown in the following diagram).
-
Sentinel searches for a
prescript. Aprescript defines how a number ofsystem featuresshould run and and will be processed before anyuserfeatures are run. If a script is found, then Sentinel will execute it. -
If none of the critical features in the
prescript failed, then Sentinel searches for auserscript. Auserscript defines how a number ofuser featuresshould run. If a script is found, then Sentinel will executes it. If any of the critical features in theprescript failed, then Sentinel does not search for auserscript and skips to step 3. -
Sentinel searches for a
postscript. Apostscript defines how a number ofsystem featuresshould run and and will be processed after anyuserfeatures have run. If a script is found, then Sentinel will execute it.
|
|
The See: Managing Session Plans to learn how to associate a feature execution script to a |
Responding to Features that Fail
Some system features are more important to the correct behaviour of Sentinel than others. For example, it is critical that a fundamental system feature such as the B2BUA feature feature runs successfully, otherwise the integrity of the active session is questionable.
Sentinel supports a variant of the run statement called runcritical. The runcritical statement works in exactly the same way as run except that Sentinel has additional behaviour if a runcritical feature fails. For example, the default pre script used at the Sentinel SIP session accept point-in-session is:
featurescript PreSessionAccept {
runcritical B2BUA
}
|
|
A feature can fail in a number of way. If might issue |
In particular, Sentinel monitors the execution of critical features in a pre script. If any critical feature in a pre script fails, then Sentinel will not try to find, and execute, a user scripts for the active point-in-session. It will still try to find and execute a post script.
|
|
See: The |
