Feature cheat sheet

Feature Script Name

FetchIMCSI

MMTel or SCC

Both

Call-Type

Orig or Term

Session Plan

mmtel-orig, scc-tads-only

Execution Points

SipAccess_SubscriberCheck

Network Operator Config

Yes

Subscriber Config

No

POJO or SBB

POJO

Feature FSMs

None

Feature Parameters

None

SAS Support

Yes

RA Entity Links

sentinel-sis-in-hlr

Prerequisite features

Network Operator Data

The FetchIMCSI feature depends on configuration from four profile tables:

  • The FetchIMCSIConfigProfileTable provides the basic configuration for the feature.

  • The FetchIMCSIFeatureServiceKeyProfileTable provides mapping between orig and term service keys.

  • The HLRConfigProfileTable provides configuration for sending requests to the HLR.

  • The CapChargingConfigProfileTable provides configuration for how the feature should behave on non-roaming terminating calls.

FetchIMCSIConfigProfileTable

Basic feature configuration is stored on a profile table called FetchIMCSIConfigProfileTable.

Data is scoped according to a Sentinel selection key.

Attribute Name Type Default Description
FetchImcsiEnabledOnOrigCall

boolean

false

Enables/Disables the feature for originating calls.

RequestedTdpOnOrigCall

int

1 (orig), 12 (term)

Trigger Detection Point to request on originating calls, determines whether the O-CSI or T-CSI is retrieved from the HLR. (1, 2, or 3 for O-CSI; 12 for T-CSI).

FetchImcsiEnabledOnTermCall

boolean

false

Enables/Disables the feature for terminating calls.

RequestedTdpOnTermCall

int

1 (term), 12 (term)

Trigger Detection Point to request on terminating calls, determines whether the O-CSI or T-CSI is retrieved from the HLR. (1, 2, or 3 for O-CSI; 12 for T-CSI).

FetchIMCSIFeatureServiceKeyProfileTable

This profile table is used to provide mappings between orig and term TDP service keys. These mappings are used when the TDP requested is for a different call type (i.e. originating/terminating) than the session.

Data is scoped according to a Sentinel selection key, with a suffix which corresponds the the service key to map from. A default suffix can be used to define a mapping for keys that do not have specific profiles.

Attribute Name Type Default Description
SourceServiceKey

String

None

The service key to map from, or 'default' to match all service keys that do not have a more specific match for the selection key.

TargetServiceKey

int

None

The service key to map to.

HLRConfigProfileTable

This profile table provides the configuration for connecting to the HLR. It is shared across all features that communicate with the HLR.

For more information refer to HLR MAP Configuration.

CapChargingConfigProfileTable

The feature checks a single field on the OnlyChargeTerminatingCallsIfInternationalRoaming profile table. This is used to determine if the feature needs to do anything on a non-roaming terminating call.

For more information refer to CapChargingConfigProfileTable.

Session Input Variables

Variable name Type Comments

ChargeMode

Enum

The feature will only run if the charge mode is CAP.

CallType

Enum

Affects whether orig or term feature config is loaded, and depending on the TDP, whether the service key is mapped.

SentinelSelectionKey

SentinelSelectionKey

Affects which profiles are loaded from each configuration table.

Session Output Variables

Variable name Type Comments
OcImTdpHeader

String

Contains the data that was retrieved from the HLR, ready for inclusion in a header on the SIP message towards the IMSSF.

Statistics

FetchIMCSI statistics are tracked by the sentinel.volte.sip SBB and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.volte.sip service → sentinel.volte.sip SBB → feature → FetchIMCSI
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.volte.sip,vendor=OpenCloud,version=2.9.0].SbbID[name=sentinel.volte.sip,vendor=OpenCloud,version=2.9.0].feature.FetchIMCSI"

Statistic

Type

Description

Started

Counter

Incremented when the feature is invoked.

FailedToStart

Counter

Incremented when Sentinel VoLTE encounters an error while attempting to start the feature.

IssuedWarning

Counter

Incremented when a non-fatal problem is encountered and the feature issues a warning.

FailedDuringExecution

Counter

Incremented when a fatal problem is encountered and the feature cannot execute correctly.

TimedOut

Counter

Incremented when the feature takes too long to complete and Sentinel VoLTE aborts execution.

ExecutionNotRequired

Counter

Incremented when the feature determines that it does not need to do anything.

RequestSent

Counter

Incremented when an ATSI request is sent to the HLR.

RequestFailed

Counter

Incremented when no result is received after attempting to send a request.

ReceivedATSIResult

Counter

Incremented when an ATSI result is received from the HLR.

DialogOpenRefused

Counter

Incremented when a DialogOpenRefused event is received after attempting to send a request.

UserAbortedDialog

Counter

Incremented when a UserAbortedDialog event is received after attempting to send a request.

ProviderAbortedDialog

Counter

Incremented when a ProviderAbortedDialog event is received after attempting to send a request.

OperationErrorOccurred

Counter

Incremented when a OperationErrorOccurred event is received after attempting to send a request.

InvalidResponse

Counter

Incremented when an ATSI result is received for a request, but it does not contain the requested data.

ServiceKeyMappingFailed

Counter

Incremented when a service key requires mapping, but no mapped value can be found.

FetchedIMCSI

Counter

Incremented when the feature successfully retrieved CSI information from the HLR.

AttachedToMapRequestAci

Counter

Incremented when the feature creates and attaches to the activity for the MAP request.

DetachedFromMapRequestAci

Counter

Incremented when the detaches from the activity for the MAP request.

ResponseLatency

Sample

Time from sending the ATSI request to receiving the ATSI result, sampled on receipt of the result.

Installation

FetchIMCSI is a GSM only feature and as such will only be deployed if GSM mode is selected in the installer. Additionally the feature will only be enabled in its configuration profile if explicitly done so in the installer. The feature is only useful when CAP charging is being used, so the option to enable it will only be given by the installer if CAP charging is selected.

Behaviour

The FetchIMCSI feature retrieves the O-CSI or T-CSI data for a subscriber from the HLR. The data in the response is extracted and put into a format for use in an OC-IM-TDP SIP header, which is sent to the IMSSF when doing CAP charging.

Sending the Request

When initially triggered, the feature will construct a Any Time Subscription Interrogation (ATSI) request in order to retrieve the required data from the HLR.

Execution Conditions

Before creating the request, the feature will check that the following conditions are met:

  1. The enabled flag corresponding to the call type is true in the feature configuration profile.

  2. The charge mode for the call is CAP

  3. If the call is terminating and not international roaming, the OnlyChargeTerminatingCallsIfInternationalRoaming config flag is false.

If any of these conditions is not met, the feature will immediately finish execution without sending a request.

The ATSI Request

If the conditions are met, the feature will create the ATSI request towards the HLR.

The subscriber identity to request information for will be a digit string taken from the default public ID in the served user’s registration data. If a digit string is not found in the default public ID, then the feature will attempt to retrieve one from the Subscriber session state field. If Subscriber field also does not have an appropriate ID, then the feature will abort its attempt to create a request and record an error.

The data the feature requests from the HLR depends on the Requested TDP field corresponding to the call type in the feature configuration profile. The request will either be for the O_CSI or the T_CSI according to the following table:

TDP Value Requested Data

2 or 3

O_CSI

12

T_CSI

Once the request is created, a MAP dialog will be opened to the HLR and the request will be sent. The feature will then enter a waiting state until a response is received.

Processing the Result

On receipt of an ATSI result from the HLR, the feature will attempt to extract the information within, and format it into an OC-IM-TDP header. This header will be put into the OcImTdpHeader session state field.

OC-IM-TDP Header

This header is formatted as a comma separated list of property=value pairs. It has the following data:

Property Name Value
bcsmTriggerDetectionPoint

collectedInfo if the CallType is originating, termAttemptAuthorized if it is terminating.

defaultCallHandling

continueCall or releaseCall based on the DefaultCallHandling field in the requested TDP data in the ATSI result. May be absent if the field was empty in the result.

serviceKey

See below.

scfAddress.address

The address part of the GsmSCF_Address field in the requested TDP data in the ATSI result.

scfAddress.nature

The nature part of the GsmSCF_Address field in the requested TDP data in the ATSI result.

scfAddress.numberingPlan

The numbering plan part of the GsmSCF_Address field in the requested TDP data in the ATSI result.

Service Key

The serviceKey property in the final OC-IM-TDP header has special handling. If the requested information matches the session’s call type (i.e. O_CSI is requested on an originating call, or T_CSI requested on a terminating call), then the final serviceKey value used in the header will match the value of the ServiceKey field in the requested TDP data in the ATSI result. If the requested information does not match the call type, then the feature will attempt to map the service key to a different value based on the service key mapping profile.

To find the mapped value, the feature will search for a profile on the FetchIMCSIFeatureServiceKeyProfileTable profile table. The profile name used will be the sentinel selection key with the service key received in the ATSI result as a suffix. Standard selection key matching will apply, where the profile with the longest matching selection key and a matching service key suffix will be used. If no matching profile with the service key is found, then the feature will reattempt the search with default as the suffix. If still no profile is found, the feature will use the original, unmapped service key in the OC-IM-TDP header. If a profile is found, the value of the TargetServiceKey will be used in the OC-IM-TDP header.

Handling of Request Failure

If the feature fails to retrieve the requested information for any reason, it will increment the feature statistic that best explains why, and report the details to SAS. Beyond that, the feature will abort execution and no further action will be taken.

Previous page Next page
Sentinel VoLTE Version 2.9.0