Description
Feature name |
SubscriberDetermination |
---|---|
Applicable contexts |
SIP service |
Prerequisite features |
DetermineCallType |
The Subscriber Determination feature is a pre credit check feature early in the feature list (but always after the emergency number feature). The feature inspects the SIP INVITE to determine the subscriber address for this session and set the Subscriber session state field.
It determines the subscriber address either by:
-
returning the value already stored in the Subscriber session state field; otherwise
-
returning the value of the P-Served-User header (if that header is present); otherwise
-
analysing the FROM or RequestURI headers, depending on the call type:
-
moc: subscriber address is the URI in the FROM header
-
mtc: subscriber address is the URI in the RequestURI header
-
networkinitiated: subscriber address is the URI in the FROM header
-
The feature will string the parameters from the URIs in case some is present.
Leg Manager inputs
Leg | Name | Type | Format | Description | Behaviour if null/invalid |
---|---|---|---|---|---|
calledParty |
InviteRequest |
org.jainslee.resources.sip.SipRequest |
See EasySIP javadoc |
The invite to be sent to the called party |
Runtime exception handled by feature runner |
Session state inputs and outputs
Inputs
Name | Type | Format | Description | Behaviour if null/invalid |
---|---|---|---|---|
CallType |
com.opencloud.sentinel.common.CallType |
One of: MobileOriginating, MobileTerminating, MobileForwarded, NetworkInitiated, EmergencyCall |
Session type of this call |
Subscriber will not be determined unless it can be determined from PServedUserHeader |
Subscriber |
String |
MSISDN |
Check the subscriber is not already set before proceeding |
Subscriber determination will take place |
Error scenarios
Scenario | Handling |
---|---|
Called Party leg Invite Request is null or does not contain Subscriber address |
Report featureFailedToExecute |
Feature responses
Response | Reason |
---|---|
featureFailedToExecute |
Invalid subscriber, if the feature was unable to determine any sensible subscriber address in any of the above ways |
featureHasFinished |
feature has finished |