Java USSD menu tree generation - how to

前端 未结 3 1925
灰色年华
灰色年华 2020-12-30 14:18

I want to generate a tree-based menu using Java that will appear on a USSD browser. Each node may have children, ending with leaf nodes. I will also have to maintain state r

相关标签:
3条回答
  • 2020-12-30 14:34

    HI, am also currently developing a USSD menu based application. Unforturnately there are scarce resources about USSD applications on the internet and i think it's because USSD unlike SMS is not yet standardized. so every telecom has their own ussd implementation. The project am working on requires a USSD gateway(run by the telecom) and my webserver(apache) which runs my app. my app written in php communicates the telecoms USSD gateway via xml fortunately for me. so i get mobile user input from the USSD gatway via xml and i also send xml pages back to the USSD server which inturn display the reply on the use's mobile phone. that's all i know.

    0 讨论(0)
  • 2020-12-30 14:41

    I assume that you get a message from the gateway such as: (Session#, UserInput) and you need to compute the next information to send to the user ?

    I propose:

    1. table CURRENTSTATE:
      Session#
      State

    2. table STATES:
      State
      Title

    3. table CHOICES:
      State
      Choice
      Name
      DoCode
      NewState

    Then when you get the message (Session#, UserInput):

    1. query CURRENTSTATE using the Session# to determine what state the user is in.
    2. query CHOICES using the State and Choice=UserInput to determine the new state (and DoCode) based on user input.
    3. Based on DoCode, you can do some processing.
    4. update CURRENTSTATE to reflect the new state.
    5. query STATES to get the Title (e.g. "Please choose a color").
    6. query CHOICES to get the possible choices from the new state (e.g. (1, "Blue"), (2, "Red"), etc.)
    7. build the message (concat Title + choices)
    8. return message to user.

    Is that a reasonable way to solve the problem ?

    0 讨论(0)
  • 2020-12-30 14:45

    Have a look at an implementation of this problem: Vumi.org

    Source code viewable at https://github.com/praekelt/vumi

    0 讨论(0)
提交回复
热议问题