16

I'm using Minicom (serial port software for Linux) for interacting with my GSM modem. Actually now I'm trying to use one of my mobile-provider's services with AT commands.

Here I say, I want to see my balance:

AT+CUSD=1,*555*87*1234#

OK

+CUSD: 1,"this service will deduct you 5cent from your balance, to continue please enter 1",15

So, here I sent "1", but nothing happened and the session got closed.

AT+CUSD=1,1

OK

Nothing happened, but the session closed.

With a normal phone, after entering 1, I will get my current balance.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
atari83
  • 489
  • 1
  • 5
  • 15

2 Answers2

22

The format of the command is AT+CUSD=[<n>[,<str>[,<dcs>]]], and the second parameter, <str>, is a string that should be enclosed in double quotes. E.g.

AT+CUSD=1,"*555*87*1234#"
AT+CUSD=1,"1"

See 27.007 for more details about AT+CUSD and V.250 for general AT command handling.


If your phone gives an OK response to AT+CUSD=1,1 that is really bad, it should have given ERROR. V.250 is crystal clear on this:

String constants shall be bounded at the beginning and end by the double-quote character

hlovdal
  • 26,565
  • 10
  • 94
  • 165
  • the problem is solved :) actually my account was zero at first, and normally I should have received an error saying that "my balance is not enough", anyway after I transferred the money to my account, I've tested again and now I see the confirmation message and .. – atari83 Apr 07 '13 at 07:54
12
AT+CUSD=1,"your_service_code",15

So for your case,

AT+CUSD=1,"*555*87*1234#",15

And don't forget the 15 at the end. This question helped me to solve the problem.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Nassim
  • 2,879
  • 2
  • 37
  • 39