Implementing USSD (Unstructured Supplementary Service Data)
Overview
The USSD session can be initiated by the Mobile Station (MS) or an External Short Message Entity (ESME). The USSD messages create a real-time connection during a USSD session. The connection remains open, allowing a two-way exchange of a sequence of data.
This makes USSD more responsive than services that use SMS.
USSD can be used to provide:
- enhance mobile marketing capabilities
- menu-based information services
- interactive data services
- mobile-money services
- location-based content services
- callback service (to reduce phone charges while roaming)
- configuring the phone on the network
Requirements
USSD over SMPP solution is always vendor specific and requires service description from your SMPP provider or mobile network operator. We can help you to implement this with Inetlab.SMPP library, but you need to send us this description.
Types of USSD messages
- Set up a session: Begin message
- Continue a session: Continue message
- End a session: End message
- Abort a session: Abort message
Types of USSD operations
The USSD session involves the following operations:
Request: to request a session
- If the session is initiated by an MS, the MS can only send a Request message in the first message. In the subsequent message exchange, the MS can only respond to the Request or Notify message from an ESME.
- If the session is initiated by an ESME, the Request message can be sent by only the ESME, while the MS can only respond to the message.
Notify: to notify of a session
The Notify message can be sent by only an ESME. The Notify message differs from the Request message in that an MS responds to a Notify message automatically, but the response to a Request message can only be done manually. For example, send a response character string.
Response: to respond to a session
The response to a Request or Notify message can be sent by the MS or an ESME. When the ESME sends a Response message, it indicates the end of a session.
Release: to release a session
When an ESME ends a session initiated by itself, the operation type can only be Release.