AT指令 - USSD仅返回OK

3

我购买了中兴MF667 GSM调制解调器,使用Hyper Terminal发送AT命令时遇到了USSD问题,例如:

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

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

我已经测试过另外一些工作正常的AT命令,例如:
AT+CMGL="ALL" to read SMS (WORKS)

如何解决这个问题呢?

你找到答案了吗? - Anto sujesh
3个回答

6
首先,USSD消息与短信非常相似,因为消息是从移动设备发送到运营商网络的。这意味着当您在移动设备上执行USSD命令时,您将不会立即收到响应,因为运营商网络的USSD服务必须回复您的消息。这就解释了为什么您只收到“OK”作为对USSD命令的回答。基本上,“OK”告诉您USSD命令语法有效,并且USSD命令已经从您的移动设备发送到运营商网络,没有更多的信息。
其次,由于USSD命令响应将作为未经请求的响应返回,因此不会与您的短信一起存储。
引用维基百科关于此的说法:
“USSD通常与实时或即时消息服务相关联。与其他短消息协议(如SMS)典型的存储转发功能不同。”
具体解决您的问题,我建议要么假设运营商网络响应非常缓慢。要么,您发送的“获取余额”命令对您的运营商网络来说是不正确的。我建议检查您的运营商网络网站,以查看“获取余额”USSD命令代码。

我的USSD代码是正确的,但我仍然遇到了这些问题。有什么想法如何解决吗? - Anto sujesh
只是等待并不能带来答案......在获得“确定”之后,什么也没有发生...... - Jason Krs
如果是这种情况,我会检查代码是否使用了在调制解调器中使用的相同SIM卡在手机上运行。在深入配置调制解调器之前,这是一个快速简单的合理性检查。 - Matt Aldridge

1

过去20天我一直在尝试解决我的GSM调制解调器的问题。最终我通过以下步骤解决了这个问题,以下是解决方案:

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

现在测试您的USSD,例如:AT+CUSD=1,“USSD CODE”,15

我的GSM调制解调器详细信息-4G Quectel(4G)EC20修订版:EC20EQAR02A11E2G


哇,非常感谢。我一直在尝试将 Neoway M590E 模块与 Arduino 配合使用,但是我无法接收 USSD 命令。将字符集更改为 GSM(即 AT+CSCS="GSM")后,现在它可以完美地工作了。 - Jeromy Adofo

-3
只需发送命令“AT”,您就会收到您的USSD响应。

1
请详细说明? - Amanuel Nega
因为我已经花了一周的时间在Python上做这个...而我得到的只是“好”。 - saviour123

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接