问题
Need a few infos please regarding the communication of a Java web application via USSD interface! we need to implement that to reach our target customer base in poorer communities with low end phones.
I am looking into USSD, as a way to communicate with our current Java EE web application.
I believe that I have understood how i can construct a menu in USSD (via XML and certain parameters / tags.) However, I am not sure how to give a response. I only started reading up on it yesterday but find a lot of info which Google finds useless.
Our current web app has web services set up. I imagine that I need to get USSD interface / xml file (parameter = - callback - "url request" )connected to the web service!? And all send data of a user (received input) equals a URL request?
And how do I send a response !? how much data can be displayed ?? and what format or does this data need to be transmitted?
It is very tough to find out from the mobile provider here in south africa what gateway they are using - not sure If I am right, but seem to be WASP !? if that is a gateway, then thats what all providers seem to use in SA . . I have tried contacting vodacom SA in several ways, no reply. All I am interested in is what gateway they use, how to construct a response.
EDIT: this was an email response of vodacom ->we offer ussd web service . . We then connect to the SMSC’s via SMPP in our USSD Gateway.
回答1:
You need SMPP. OpenSMPP is a great Java library for SMPP. I've done USSD-SMPP with it. Just ask the carrier for connection parameters:
- system-id
- system-type
- ip address
- port
- password
If you want further information on the fields, read SMPP specification PDF. It's pretty good simple reading.
Usually there are some TLV
s (special parameters) you will need to set in your SMPP packets in order to use USSD, but nothing outside the standard protocol. Also, do keep in mind that you will need some special packet flow when dealing with USSD. That flow should be provided by the Gateway provider (the one that sold the SMPP-USSD gateway to the carrier).
One last very important thing: you need help from the carrier in order to do these kind on things. There is no way you will end up getting USSD to work without their help. They need to provide you not only by granting you access to their platform, but with monitoring your packets and sometimes telling you what's wrong.
Hope it helps.
回答2:
Vumi is a free software stack that can do USSD and SMPP bindings etc for you. It's written in Python. They have documentation etc that should be interesting to you.
来源:https://stackoverflow.com/questions/5234489/ussd-interface-java-web-app-communication