Call Flow for USSD Callback

The Unstructured Supplementary Service Data (USSD) callback service involves two mobile subscribers, the A-party (the calling subscriber who is roaming) and the B-party (the called party).

When the A-party sends a USSD message to MATRIXX, through an HLR, requesting a call with the B-party, MATRIXX Engine, which is acting as an SCF, instructs the G-MSC to:
  1. Establish circuits to the A-party and the B-party.
  2. Connect the two parties.
If required, MATRIXX Engine performs a Mobile Application Part (MAP) AnyTimeInterrogation (ATI) request to determine the location of the A-party so that MATRIXX Engine can apply appropriate location based charging.
After establishing the connection between the two parties, the call proceeds: the G-MSC monitors the call, and MATRIXX charges for the call. If required, MATRIXX can instruct an IVR to play an announcement to the A-party before connecting the call.
Note: For a USSD callback, MATRIXX does not support using VXML scripts to play announcements.
The following diagrams show the message flows for a successful call following a USSD callback request:
  1. Figure 1 shows the USSD callback request from the A-party, and the initial call attempts for both legs of the call, where leg 3 is the A-party leg, and leg 4 is the B-party leg.
    Figure 1. Initial Call Attempt
    Note: The USSD callback process uses the CAP 4 InitiateCallAttempt, ContinueWithArgument, and MoveLeg operations. For information about these operations see the discussion of supported CAP 4 operations for USSD callback in the appendix.
  2. Figure 2 shows the callback to the A-party. When the A-party answers, an announcement is played, and charging starts for the call.
    Figure 2. Callback to the A-Party
  3. Figure 3 shows the callback to the B-party to connect the two parties. The call is released when the B-party hangs up.
    Figure 3. Callback to the B-Party