This feature handles the SIP side of the USSI conversation.

Feature cheat sheet

Feature Name Network Operator Data Used in PlanId(s) Stateful or Stateless POJO Feature or SBB Feature

HandleUssiInvite

No

USSI

Stateless with FSM encoded into session state

POJO

Session Input variables

The feature reads the following fields in Session State

Session State variable name Variable type Comments
UssdTextAsText

String

The data to put in the <ussd-string> element of the <ussd-data> xml in the message body

UssdLanguageDcsMapping

enum

An enum that indicates the supported language to put in the <language> element of the <ussd-data> xml

UssdConversationComplete

boolean

Set by the Handle Mobile Initiated Ussd feature to indicate the USSD conversation is finished.

UssiErrorCode

int

Set by the Handle Mobile Initiated Ussd if the response from the HLR is an error

Session Output variables

The feature sets the following fields in Session State

Session State variable name Variable type Comments
MSISDN

String

The MSISDN extracted from the 'P-Asserted-Identity' header.

UssdTextAsText

String

The <ussd-string> element of the <ussd-data> xml from the message body of the INVITE

UssdLanguageDcsMapping

enum

And enum that represents the <language> element of the <ussd-data> xml from the message body of the INVITE

Statistics

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

Name Description
Started

Incremented when the feature is started.

FailedToStart

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

IssuedWarning

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

FailedDuringExecution

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

TimedOut

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

ReceivedUssiInvite

Incremented when the feature receives an INVITE that has a multipart/mixed message body with both USSD XML and SDP.

SavedUssiData

Incremented when the USSD XML data is successfully saved in session state.

SentInvite200Response

Incremented when the feature sends a 200 OK response to the INVITE.

ReceivedInviteAck

Incremented when the feature receives the ACK for the 200 OK.

SentByeWithSuccess

Incremented when the feature sends a BYE with successfully retrieved USSD data.

SentByeWithError

Incremented when the feature sends a BYE with a error in the USSD text.

ReceivedBye200Response

Incremented when the feature receives the 200 OK to the BYE.

EndSessionInError

Incremented when the feature ends the session due to an error.

Behaviour

This features handles all of the SIP messaging for a USSI conversation.

It starts by receiving the INVITE and checking it for an SDP body with media ports set to 0, as well as the presence of the ussd-data XML body. When this is confirmed it will save the 'ussd-string' and 'language' fields into session state as well as extracting the MSISDN from the 'P-Asserted-Identity' header.

It will then send a '200 OK' response with the following set:

  • Recv-Info header field containing the g.3gpp.ussd info-package name

  • The 'Accept' header field containing the 'application/vnd.3gpp.ussd+xml', 'application/sdp' and 'multipart/mixed' MIME types

  • SDP answer as described in subclause 4.5.2 of 3GPP TS 24.390

The feature then waits for the 'ACK' to the '200 OK', as well as for the MAP conversation to complete which is handled by the Handle Mobile Initiated Ussd feature. When both of these requirements are satisfied the feature will send a 'BYE' with a application/vnd.3gpp.ussd+xml MIME body, as described in subclause 5.1.3 of 3GPP TS 24.390 including a <ussd-string> element and a <language> element. Or a 'BYE' with a application/vnd.3gpp.ussd+xml MIME body, as described in subclause 5.1.3 of 3GPP TS 24.390 including a <error-code> element.

Previous page Next page
Sentinel IP-SM-GW Version 2.9.0