AT 命令 - USSD returns 只有 OK

AT COMMANDS - USSD returns only OK

我已经购买了中兴 MF667 GSM 调制解调器,我正在使用超级终端发送 AT 命令,我遇到了 USSD 问题,例如:

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

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

我已经测试了另一个 AT COMMADS,它工作正常

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

请问我该如何解决这个问题?

首先,USSD 消息与 SMS 非常相似,因为消息是从移动设备发送到运营商网络的。这意味着当您在移动设备上执行 USSD 命令时,您不会立即收到响应,因为运营商网络的 USSD 服务必须回复您的消息。这解释了为什么您只收到 "OK" 对 USSD 命令的回答。 "OK" 基本上是在告诉您 USSD 命令语法有效并且 USSD 命令已从您的移动设备发送到运营商网络,仅此而已。

其次,USSD 命令响应将作为未经请求的响应返回,因此不会与您的 SMS 一起存储。

维基百科关于此的引述:

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.

具体解决您的问题我会假设运营商网络的响应速度非常慢。或者您发送的 "get balance" 命令对于您的运营商网络不正确。我建议检查您的运营商网络网站以检查 "get balance" USSD 命令代码。

只需发送命令 "AT",您就会收到 ussd 响应。

在过去的 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

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