USSD Call Back Service

The Unstructured Supplementary Service Data (USSD) call back service connects two mobile subscribers, the A-party (who is roaming) and the B-party, following a USSD call back request from the A-party. To ensure the call is screened and charged appropriately, a Mobile Application Part (MAP) AnyTimeInterrogation (ATI) request can be sent to the HLR to find the location of the A-party. Before connecting the two parties, Call Control Framework (CCF) uses two InitiateCallAttempt operations to establish separate call legs for the A and B parties.

The USSD call back request is sent to MATRIXX in the ussd-String field of a MAP Process-UnstructuredSS-Request message. In the USSD call back request string, the service code prefixes the destination number (the B-party number). For example, a subscriber could enter *124*0722724681234# on their handset, where 124 is the service code for USSD call back requests and 0722724681234 is the B-party number.
Note: USSD service codes are predefined by the operator.
Features of the USSD call back service include:
  • You can configure multiple USSD call back services in addition to the default USSD call back service. For each service you can:
    • Configure the response type to use for determining when, during call processing, the USSD response is returned. For example you could configure to send the response before call initiation, or after the call is connected.
    • Specify the format of the USSD string in the incoming USSD message. One of:
      • *SAN*B-party number#
      • *SAN#B-party number#
      where SAN is the service access number or service code for the USSD call back request service.
    • Configure which voice service to associate with the USSD call back service. The voice service handles the call after the two parties are connected.
    • Configure the USSD service code to use for the call back service.
  • You can specify a limit for the number of concurrent call back sessions allowed per subscriber, for example, you can set a limit of one call back session per subscriber at one time.
  • You can configure whether to send an InitiateCallAttempt operation for the A-party first or for the B-party first.

Process Overview

The following overview describes the USSD call back process when a subscriber (the A-party) sends a USSD request to initiate a call to the B-party:
  1. The A-party (who is roaming) sends a USSD message in a MAP Process-UnstructuredSS-Request operation to MATRIXX (which is acting as an SCF) indicating that they want to phone the B-party.
  2. If the A-party cannot be found in the MATRIXX database, MATRIXX sends a MAP ATI request to the HLR to determine the location of the A-party so that the call is charged appropriately.
  3. MATRIXX then instructs the MSC to establish circuits to the A-party and the B-party and to connect the two parties.
  4. Before connecting the call, MATRIXX can instruct an IVR to play an announcement to the A-party.
  5. After the two parties are connected, the MSC monitors the call, MATRIXX applies charging, and the call continues as a typical voice call.