Send Query Result in USSD Notification Process

MATRIXX Engine can send the query results of an Unstructured Supplementary Service Data (USSD) query to the subscriber in the USSD string of a Mobile Application Part (MAP) USSD Notify message.

When a susbscriber submits a USSD query request from their handset, the network sends a TCAP BEGIN (MAP Process-UnstructuredSS-Request) message to MATRIXX. If the sendAsNotify flag is set to true in the mtxUssdQueryNotification template, a MAP callout request is performed to return the query results in the ussd-String field of a MAP-USSD Notify TCAP message.

USSD Query Processing, Send Query Results in USSD Notify Message

The USSD query is processed in the following way:
  1. The Mobile Switching Center (MSC) sends a USSD query for balance information to MATRIXX Engine in a Mobile Application Part (MAP) Process-UnstructuredSS-Request TCAP message.
  2. The USSD incoming service library processes the USSD query and generates an MtxUssdQueryNotification MATRIXX Data Container (MDC). The MDC holds the USSD query in the UssdCode field, and the TCAP OID for the TCAP session. The ActiveMQ Gateway delivers the MtxUssdQueryNotification MDC (with attached subscriber balances, general information, and any additional fields configured in My MATRIXX) to the message broker (ActiveMQ).
  3. The Notification Server gets the message from the ActiveMQ notification request queue. The Notification Server checks the value of the sendAsNotify flag in the mtxUssdQueryNotification template. If it is set to:
    • false — This means that the query result is returned in the Process-UnstructuredSS-Request result.
    • true — This means that the query result is sent in a USSD notification.
    In this case, sendAsNotify is set to true.
  4. The Notification Server returns a message acknowledgement for the original TCAP message request, and sends it to the ActiveMQ notification response queue.
  5. The ActiveMQ Gateway gets the message MDC and deletes the notification.
  6. MATRIXX Engine returns an empty Process-UnstructuredSS-Request result to the MSC in a TCAP END message.
  7. The Notification Server sends the MtxUssdCallOutRequestMsg message to the ActiveMQ USSD request queue. The MtxUssdCallOutRequestMsg MDC includes USSD properties such as the USSD coding scheme to use, the destination SCCP address, and others.
  8. The ActiveMQ Gateway receives the MtxUssdCallOutRequestMsg MDC from the ActiveMQ USSD request queue.
  9. Based on the configured USSD coding scheme, the USSD service library compresses the notification text and converts it to USSD format. For information about USSD coding schemes, see the 3G TS 23.038 protocol specification.
    1. The USSD service library creates a new TCAP session from the MtxUssdCallOutRequest message, and returns the MtxUssdCallOutRequest message to the ActiveMQ USSD response queue.
    2. The USSD service library sends a TCAP Begin(MAP USSD Notify) message containing the USSD message to the Network Enabler. Based on the SCCP address in the USSD message, Network Enabler sends the TCAP message to the network.
    3. Network Enabler forwards the returned result to the Charging Server.

      The result is logged in the system log file. The log message includes the Notify ID and the TCAP OID. This information can be used to correlate the returned results with the original USSD request message, for example, in case of errors.

  10. The Notification Server receives the MtxUssdCallOutRequest success message from the ActiveMQ USSD response queue.
Figure 1 shows how the USSD query is processed:
Figure 1. USSD Query - Result Sent in USSD Notification

USSD Notification Query Results Message Sequence

Figure 2 shows the message flows between the MSC, MATRIXX Engine, and the Notification Server when MATRIXX Engine sends the results of a USSD query to the subscriber in a USSD notification.
Figure 2. USSD Query Results Sent in USSD Notification Flow