<Kirathi>
USSD manenoz has two facets: Network-side workings and the
application-side workings.
A gateway sits in between the two to
act as an 'interpreter' that converts simple universal SS7 MAP protocol
'spoken' by every handset to complex/robust protocols that the APP 'speaks',
and vice-versa.
---------
|
|<------http------> APP
HANDSET <---ss7 map----> | USSD-GW |<-----xmlRpc-----> APP
| SERVER
|<------smpp------> APP
|
|<---witchcraft---> APP
---------
I understand that you will be concentrating on the App side of things. I'll however point you to materials on the Network side of things as well, for completeness sake.
</Kirathi>
Network-Side References :
· Introductory stuff : http://www.dialogic.com/~/media/products/docs/appnotes/11038_USSD_an.pdf
· Generic Stuff : USSD Overview - Sema.pdf (attached)
· Industry meat & bones : ETSI Technical Standards documents (3GPP TS 22.090, 3GPP TS 23.038, 3GPP TS 23.090, 3GPP TS 24.090, 3GPP TS 29.002). Freely available on the internet. Easily searchable on http://webapp.etsi.org/key/queryform.asp
Application-Side References :
Ideally, these ought to be provided by the USSD-GW Vendor through the mobile operator. They specify the protocols supported by the GW and define the API to be used. At some point our, as per my limited knowledge, the vendor list for local operators was as follows (this may have changed with time)
· Safaricom ~~> OpenCode
· Airtel Kenya ~~> Comviva
· Yu-Mobile ~~> Tayana
Addendum : Some additional nice reference I recommend to you : http://developers.smsgh.com/documentations/ussd
Tony.