gsmat-commandmodemussd

AT COMMANDS - USSD returns only OK


I have bought ZTE MF667 GSM Modem and i am using Hyper Terminal to send AT COMMANDS, i have a problem with USSD e.g :

AT+CUSD=1,"*111#",15 (to check balance) but it returns only OK

AT+CUSD=1,"*111#" returns only OK

I have tested another AT COMMADS which work fine like

AT+CMGL="ALL" to read SMS (WORKS)

How could i resolve the problem please ?


Solution

  • First of all USSD messages are fairly similar to SMS in that a message is sent from the mobile device to the operator network. This means when you execute a USSD command on your mobile device you will not receive an immediate response as the operator network's USSD service must answer your message. This explains why you receive only a "OK" answer to your USSD command. The "OK" is basically telling you the USSD command syntax was valid and a USSD command was sent from your mobile device to the operator network, nothing more.

    Secondly as USSD command responses will be returned as an unsolicited response and therefore will not be stored alongside your SMS's.

    Quote from wikipedia regarding this:

    USSD is generally associated with real-time or instant messaging services. There is no store-and-forward capability, as is typical of other short-message protocols like SMS.

    Addressing concretely your problem I would either assume that the operator network is being incredibly slow in responding. Or alternatively the "get balance" command you are sending is incorrect for your operator network. I would recommend checking your operator networks website to check the "get balance" USSD command code.