PHP5
PHP5

Reputation: 69

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 ?

Upvotes: 3

Views: 7410

Answers (3)

Anto sujesh
Anto sujesh

Reputation: 355

for past 20 days i try to solve this issues on my GSM Modem. finally i solved by follow below steps here its a solution :

STEP 01 :  AT+CSCS="GSM"  Enter, it will return ok
STEP 02 : AT+QURCCFG="urcport","uart1"  Enter, it will return ok

Now test your USSD like : AT+CUSD=1,"USSD CODE",15

My GSM modem Details - 4G Quectel (4G) EC20 Revision: EC20EQAR02A11E2G

Upvotes: 2

user1104916
user1104916

Reputation: 113

Just send the command "AT" and you'll receive your ussd response.

Upvotes: -3

Matt Aldridge
Matt Aldridge

Reputation: 2075

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.

Upvotes: 6

Related Questions