This feature generates and sends a USSD request to an HLR, and handles the result .
Feature cheat sheet
Feature Name | Network Operator Data | Used in PlanId(s) | Stateful or Stateless | POJO Feature or SBB Feature |
---|---|---|---|---|
HandleMobileInitiatedUssd |
No |
USSI |
Stateless |
POJO |
Session Input variables
The feature reads the following fields in Session State
Session State variable name | Variable type | Comments |
---|---|---|
MSISDN |
String |
The MSISDN to use in the MAPProcessUnstructuredSS_Request operation |
UssdLanguageDcsMapping |
UssdLanguageDcsMapping |
The Data Coding Scheme to use in the MAPProcessUnstructuredSS_Request operation |
UssdTextAsBytes |
byte [] |
The text to use in the MAPProcessUnstructuredSS_Request operation, in an encoding matching the data coding scheme. |
Session Output variables
The feature sets the following fields in Session State
Session State variable name | Variable type | Comments |
---|---|---|
UssdLanguageDcsMapping |
UssdLanguageDcsMapping |
The Data Coding Scheme retrieved from the MAPProcessUnstructuredSS_Request ack (if successful). |
UssdTextAsBytes |
byte [] |
The text retrieved from the MAPProcessUnstructuredSS_Request ack (if successful), in an encoding matching the data coding scheme. |
UssiErrorCode |
int |
The Ussi Error codes as defined in TS 24390-c60 (if unsuccessful). |
UssdConversationComplete |
boolean |
Whether the conversation is complete and a BYE should be sent to the initiating party. |
Statistics
HandleMobileInitiatedUssd 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 → HandleMobileInitiatedUssd
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.1].SbbID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.1].feature.HandleMobileInitiatedUssd"
Name | Description |
---|---|
SendProcessUnstructuredSSRequestSucceeded |
Incremented when a MAPProcessUnstructuredSS_Request is sent to the HLR |
SendProcessUnstructuredSSRequestFailed |
Incremented when an attempt to send a MAPProcessUnstructuredSS_Request fails |
ReceiveProcessUnstructuredSSRequestAck |
Incremented when the feature receives a MAPProcessUnstructuredSS_Request ack |
ReceiveProcessUnstructuredSSRequestError |
Incremented when the feature receives a MAP error in response to the request |
ReceiveUnexpectedError |
Incremented when the feature receives an error that is not specifically mapped to an error code |
ReceiveUnstructuredSSNotify |
Incremented when the feature receives a MAPUnstructuredSSNotify_Request from the HLR |
Configuration
The feature is configured with configuration scoped according to a Sentinel Selection Key.
The Profile Table used to hold feature configuration is IPSMGWSharedConfigProfileTable
.
The following attributes are available
Attributes | Type | Meaning |
---|---|---|
HlrAddress |
String |
Address of the HLR to request the IMSI from, used when establishing the MAP dialog if |
UseMsisdnAsHlrAddress |
Boolean |
Controls whether to address the outbound HLR leg using a GT address formed from the subscriber MSISDN, instead of using the configured |
SentinelOriginatingAddress |
String |
Address of Sentinel used when establishing the MAP dialog |
Using MSISDN as HLR Address
The Fetch IMSI feature can optionally address the HLR leg using a GT address formed from the inbound subscriber MSISDN, as opposed to using the destination addresses configured in the IPSMGWMapProxyConfigProfileTable
profile table described above.
This behaviour can be enabled or disabled by setting the UseMsisdnAsHlrAddress
attribute in the Shared Configuration Profile
.
MAP Application Context
The feature uses MAP Application Context networkUnstructuredSsContext
.
This application context was added in GSM MAP Phase 2.
Behaviour
When the feature is triggered on a SIP invite, the feature will construct a MAPProcessUnstructuredSS_Request message from values in session state. The Handle USSI Invite and Convert USSI Text features are responsible for correctly setting the session state fields.
When the HLR responds to the message, or the TCAP connection times out, the feature will indicate (through session state) that a response to the A-Party should be generated. If the HLR sent a success response, the feature will retrieve the USSD text and data coding scheme from the result, and store those values in session state. If the HLR sent an error response appropriate to the operation, the feature will store the corresponding value in session state (and leave the text and DCS fields blank). If an unrecognized error occurs - eg a TCAP timeout, an abort, or an unrecognized MAP error - the USSI Error Code session state field will be set to 1 (and the text and DCS fields will be left blank.
We do not support multi-stage USSI requests, so if the HLR attempts to send a MAPUnstructuredSSNotify_Request, to begin a multipart USSD operation, the feature will respond with a TCAP User Abort, and set the Error Code session state to 1.