Description

Feature name

DetermineRegistrationStatus

Applicable contexts

SIP service

Prerequisite Features

None

The Determine Registration Status feature is a pre credit check feature early in the feature list (but always after the emergency number feature). The feature attempts to identify the user’s registration state as one of Registered or Unregistered, which is then stored in the SipRegistrationStatus session state variable for future features.

Leg Manager inputs

Leg Name Type Format Description Behaviour if null/invalid

callingParty

InviteRequest

org.jainslee.resources.sip.SipRequest

See Easysip javadoc

INVITE received from the calling party Runtime exception handled by feature runner

Session State inputs and outputs

Outputs

Name Type Format Description

SipRegistrationStatus

com.opencloud.sentinel.common.SipRegistrationStatus

One of: Registered, Unregistered

Registration status of this call

Error scenarios

Scenario Handling

Failed to get an INVITE request from the calling party leg

Report featureCannotStart

Insufficient information to determine registration status

Report featureFailedToExecute

Registration status

The call’s registration status is classified as one of:

  • Registered

  • Unregistered.

A SipRegistrationStatus enum is defined to represent the values, and the registration status is stored in session state variable SipRegistrationStatus.

The session type is determined based on the following pseudo code:

Function determineRegistrationStatus(callingPartyInvite)

    regState = determineRegistrationStatusBasedOnPServedUser(callingPartyInvite)

    IF regState is null
    THEN
        featureFailedToExecute()
    ENDIF


SipRegistrationStatus Function determineRegistrationStatusBasedOnPServedUser(callingPartyInvite)
    header = callingPartyInvite.getAddressHeader(P_SERVED_USER)
    IF header is null
    THEN
        return null
    ENDIF

    regState = header.getParameter(REGSTATE)
    IF regState not set
    THEN
        return null
    ENDIF

    IF regState is REG
    THEN
        return Registered
    ELSEIF regState is UNREG
    THEN
        return Unregistered
    ELSE
        return null

Feature responses

Response Reason

featureCannotStart

CallingParty leg InviteRequest has not been set

featureFailedToExecute

Registration status could not be determined

featureHasFinished

feature has finished

Configuration

Determine Registration Status cannot be configured.

Previous page Next page
Sentinel Express Version 2.7.0