Description

Feature name

ClassifyCallScenario

Applicable contexts

SS7 service

Prerequisite Features

None

The Classify Call feature is a pre credit check feature early in the feature list (but always after the emergency number feature). The feature classifies the call’s Session Type, Roaming Indicator, and Service Type, which are stored in session state variables for future features.

Session type

The call’s session type is classified as one of:

  • MobileOriginating

  • MobileTerminating

  • MobileForwarded.

A CallType enum is defined to represent the values, and the session type is stored in session state variable CallType.

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

Function DetermineSessionType(initialDP)

    /* make an assumption on insufficient information that originating */
    IF initialDP.eventTypeBCSM not set
    THEN
        return MobileOriginating
    ENDIF

    /* Originating or terminating eventTypeBCSM? */
    IF initialDP.eventTypeBCSM is one of {origAttemptAuthorized, collectedInfo, analyzedInformation, routeSelectFailure,
                                          oCalledPartyBusy, oNoAnswer, oAnswer,  oMidCall,oDisconnect, oAbandon}
    THEN
        isOriginatingEventTypeBCSM = true
    ELSE
        isOriginatingEventTypeBCSM = false
    ENDIF

    IF NOT isOriginatingEventTypeBCSM
    THEN
        return MobileTerminating
    ENDIF

    IF isOriginatingEventTypeBCSM AND initialDP.redirectingPartyID is set
    THEN
        return MobileForwarded
    ENDIF

    IF isOriginatingEventTypeBCSM AND initialDP.redirectingPartyID not set
    THEN
        return MobileOriginating
    ENDIF

    return Unknown

Roaming indicator

The call’s roaming indicator is classified as one of:

  • Roaming

  • NotRoaming.

The roaming indicator is stored in session state variable RoamingIndicator as a Boolean.

The roaming indicator is determined based on the following pseudo code:

Function DetermineRoaming(initialDP)
    IF initialDP.LocationInformation.VLR-Number prefix in (operator VLR number prefix list) THEN
       return isNotRoaming
    ELSE
       return isRoaming
    ENDIF
Note

In the case of an MT call, the location information may be reported; but this is dependent on an HLR setting (MAP PSI during MT processing).

For MO calls, the LocationInformation relates to the calling party. For the MT case, it relates to the called party.

The feature maintains a profile address list of home VLR numbers. If the VLR number is in this list, the call is not roaming.

Service type

The call’s service type is classified as one of:

  • Voice

  • Video

  • Data

  • Fax

A ServiceType enum is defined to represent the values, and the service type is stored in session state variable ServiceType.

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

Function DetermineServiceType(initialDP)

    IF initialDP.ext-basicServiceCode == ext-Teleservice THEN

       CASE initialDP.ext-basicServiceCode.ext-Teleservice
           Telephony(11):
           EmergencyCalls(12):
           VoiceGroupCall(91):
           VoiceBroadcast(92):
               return VOICE
           Alternate speech and fax group 3(61):
           Automatic fax group 3(62):
               return FAX
       ENDCASE

    ENDIF

    IF initialDP.ext-basicServiceCode is ext-BearerService THEN
        IF initialDP.ext-basicServiceCode.ext-BearerService == Asynchronous data bearer services (30) THEN
           return VIDEO
        ELSE IF initialDP.ext-basicServiceCode.ext-BearerService == synchronous data bearer services (20) THEN
           return DATA
        ENDIF
    ENDIF

    /* assume voice if no match */
    return VOICE

Session State inputs and outputs

Inputs

Name Type Format Description Behaviour if null/invalid

SentinelSelectionKey

com.opencloud.sentinel.common.SentinelSelectionKey

selection key (for example, <platform>::::)

For selecting configuration data

Report featureCannotStart, featureHasFinished

InitialDPArg

com.opencloud.slee.resources.cgin.cap_v1.CAP1InitialDPArg

CAP1InitialDPArg

InitialDP which triggered this session, which will be analysed to classify the session

Report featureCannotStart, featureHasFinished

Outputs

Name Type Format Description

CallType

com.opencloud.sentinel.common.CallType

One of: MobileOriginating, MobileTerminating, MobileForwarded, NetworkInitiated, EmergencyCall

The type of this session

RoamingIndicator

Boolean

true if roaming, false if non-roaming or indeterminate

Indicates whether this call is roaming or non-roaming

ServiceType

com.opencloud.sentinel.common.ServiceType

One of: Voice, Data, Fax, Video, Unknown

Indicates the service type of this session

Error scenarios

Scenario Handling

Null sessionstate InitialDPArg

Report featureCannotStart

Null sessionstate SentinelSelectionKey

Report featureCannotStart

InitialDPArg not CAP

Report featureCannotStart

Session type could not be determined

featureFailedToExecute

Roaming status could not be determined

featureFailedToExecute

Service type could not be determined

featureFailedToExecute

Feature responses

Response Reason

featureCannotStart InitialDP has not been set in session state, SessionState Sentinel

SelectionKey is not set or InitialDP is not CAP

featureFailedToExecute

unclassified error

featureHasFinished

feature has finished

Configuration

The ClassifyCall feature configuration consists of the BearerService and TeleService configuration profiles.

BearerService configuration

Parameter Type Description

BearerServiceCode

Integer

The bearer service value

BearerService

ServiceType

The ServiceType associated with the bearer service value

TeleService configuration

Parameter Type Description

TeleServiceCode

Integer

The tele service value

TeleService

ServiceType

The ServiceType associated with the tele service value

Each ServiceType attribute can be one of the following: Voice, Data, Fax, Video, Unknown.

For roaming determination, Classify Call uses an address list for matching VLR addresses. See Address Lists for how to configure data for the address list.

Configuration profile naming

Configuration Profile Table Name Description Profile Naming

${PLATFORMOPERATOR}_Sentinel_AddressListConfigurationTable

Address list configuration

${SELECTIONKEY}:ClassifyCallScenario:HomeVLR

${PLATFORMOPERATOR}_Sentinel_AddressListEntryTable Feature specific

Address List entry table

${SELECTIONKEY}:ClassifyCallScenario:HomeVLR:${ADDRESS}

BearerServiceConfigProfileTable

BearerService configuration

SentinelSelectionKey + ':' + BearerServiceCode (for example, OpenCloud:::::32)

TeleServiceConfigProfileTable

TeleService configuration

SentinelSelectionKey + ':' + TeleServiceCode (for example, OpenCloud:::::45)

Provisioning interfaces

The feature is provisioned using the Sentinel Features REST API or web interface.

Previous page Next page
Sentinel Express Version 2.7.0