How to create a USSD application?

We have heard about USSD. It is a basic service supported on all gsm phones and gsm mobile networks. USSD is the only way to transfer data from a mobile user to the network in real-time, with no internet.  Many service providers provide application accessibility from the internet and USSD both. E.g in countries where the internet is not available at all places, USSD enables to access the same service without the internet.  In the previous blog, we have discussed a lot about USSD internals. Here we will cover what is a USSD application and how to develop it.

What is a USSD application? 

Like many other applications, it serves a purpose. You might have heard about voting. Voting can be done by SMS (just sending your option to a shortcode) or via USSD (dialing a code or string and selecting an option from a menu displayed).  The main thing in a USSD application is a menu. A menu depends on the application logic.  E.g you might need to vote for a candidate in your area via USSD. In this case, a menu will have a list of candidates and you will choose one or maybe none. Once chosen, the next menu is just the display of status (successful). Facebook is also an application that can be accessed via USSD.

How to develop a USSD application?

Now we know USSD and an application over USSD. So next what do we need to do to develop a USSD application? The first thing is communication with the device. This is only possible via mobile operator or aggregators, who connects to mobile operators and give connectivity to others.  Once you find any one of the options, next comes a string, which a mobile user will dial and will access the service. This string should be published with the mobile networks for routing the USSD message towards your application.  Now the connection is set, next,  what protocols need to be handled? The protocol is GSM-MAP 09:02 over SS7. You can directly use the ss7 stack and build the application logic in the application over the ss7 stack. Or another is to use a USSDGW. With USSD gateway you need to use simple and easy APIs to develop your business logic.

One all-done test USSD application with the real device and make available for others.