Description
Feature name |
USSD Callback |
---|---|
Applicable contexts |
USSD service |
Prerequisite features |
None |
The USSD Callback feature allows a subscriber to request via USSD that Sentinel set up a call between themselves and another party. The call will proceed according to the normal MOC session plan including SCUR charging, credit check, all MOC features and feature execution points. The call protocol is CAPv4.
The first step is to validate the received additional arguments for the USSD Callback feature, which are submitted via the ‘AdditionalArgument’ session state field. They must contain the CdPA argument, which however is not validated. If there are no additional arguments present the feature will report featureFailedToExecute and cease execution.
If validation succeeds, an HTTP call setup request is sent to a configurable host. In case of any error the feature reports featureFailedToExecute and takes no further action.
If the HTTP response code is ‘200 Ok’ its content string is checked to be non-empty and is then stored into the ‘ResponseMessage’ session state field. If it is an error response or invalid, the feature reports featureFailedToExecute to the core. In any case, feature execution is complete. It is then up to the HTTP server to establish the call through Sentinel.
Session state inputs and outputs
Error scenarios
Scenario | Handling |
---|---|
Sessionstate AdditionalArgument is null |
Set sessionstate MAPResponseErrorType to MAP_USSD_ERROR_DATA_MISSING |
No USSDCallbackConfiguration |
Set sessionstate ResponseMessage to “Failed to setup call (SR)” |
HTTP Error or IOException retrieving HTTP response content |
Set sessionstate ResponseMessage to “Failed to setup call (Error)” |
HTTP response timeout |
Set sessionstate ResponseMessage to “Failed to setup call (Timeout)” |
Feature responses
Response | Reason |
---|---|
featureFailedToExecute |
invalid USSD parameters, failed to send call setup request, received empty HTTP message or error response, response timeout etc |
featureHasFinished |
feature has finished |
Format of the HTTP call setup request
The call setup request format is not configurable. However the URL Host and Port are configurable.
http://<HOST>:<PORT>/sentinel-ss7?cgpa=<CGPA>&cdpa=<CDPA>
CGPA and CDPA are read from session state fields MSISDN and AdditionalArgument respectively, and are determined by the USSD service itself (from the initiating USSD request).
Configuration
USSDCallback configuration:
Parameter | Type | Description |
---|---|---|
CallbackRequestHost |
String |
The host to which the callback HttpRequest shall be sent |
CallbackRequestPort |
Integer |
The port to which the callback HttpRequest shall be sent |
Configuration profile naming
Configuration Profile Table Name | Description | Profile Naming |
---|---|---|
USSDServiceCallbackConfigurationTable |
USSDCallback feature configuration |
USSDServiceCallbackConfiguration |