USSD Call Initiation Message Sequences

The following examples show call initiation message sequences for different callback response types.

MATRIXX Engine sends an appropriate Unstructured Supplementary Service Data (USSD) response message, such as Your request is being processed, after receiving a USSD callback request from the HLR. The response type configured for the USSD callback service determines when, during the call initiation process, MATRIXX Engine sends the USSD response. You can configure the following response types for the USSD callback service. The call initiation message sequence is different in each case:
Note: In USSD callback message sequences, the A-party (the caller) is always on leg 3 of the call, and the B-party (the called party) is always on leg 4.
For an example end-to-end call flow for USSD callback, see the discussion about call flow for USSD callback.

Respond Before Call Initiation

When the response type is set to respond_before_call_initiation, MATRIXX returns an appropriate USSD response message, such as "Your request is being processed" to the HLR before sending separate InitiateCallAttempt operations to the G-MSC for both legs of the call. If both InitiateCallAttempt operations are successful, MATRIXX instructs the G-MSC to connect the two parties. Figure 1 shows the call initiation message sequence when the USSD callback service is configured to respond before call initiation:
Figure 1. Respond Before Call Initiation Message Sequence

Respond After B-Party Call Initiation

When the response type is set to respond_after_b_party_initiation, MATRIXX returns the USSD response message to the HLR after sending a successfull InitiateCallAttempt operation to the G-MSC for the B-party call leg (leg 4). Figure 2 shows the call initiation message sequence used when the USSD callback service is configured to respond after the B-party call leg is initiated:
Figure 2. Respond After B-party Call Initiation Message Sequence

Respond After A-party Answers

When the response type is set to respond_after_a_answer, MATRIXX returns the USSD response message to the HLR after sending successfull InitiateCallAttempt operations to the G-MSC for both call legs, and after the A-party answers. Figure 3 shows the call initiation message sequence used when the USSD callback service is configured to respond after the A-party answers:
Figure 3. Respond After A-party Answers Message Sequence

Respond After Connection

When the response type is set to respond_after_connection, MATRIXX returns the USSD response message to the HLR after sending successful InitiateCallAttempt operations to the G-MSC for both call legs, and after connecting the two parties. Figure 4 shows the call initiation message sequence used when the USSD callback service is configured to respond after the two parties are connected. In the example message sequence, MATRIXX sends a request to play an announcement to the A-party before connecting the call:
Figure 4. Respond After Connection Message Sequence