为什么我无法收到 USSD 通知,而只能收到来自 GSM 调制解调器的 GSM 提供商的 OK 响应?

为什么我无法收到 USSD 通知,而只能收到来自 GSM 调制解调器的 GSM 提供商的 OK 响应?

我正在尝试构建一个 C++ 应用程序,将信用从 GSM 网络转移到另一个用户。

在我的国家,有多个 GSM 提供商:Djezzy、Mobilis 和 Oreedo。

因此,在基于这些命令编写一些 C++ 应用程序之前,下载并首先尝试使用 PuTTY 和 HyperTerminal 来测试 AT 命令:

我尝试了华为 E169,它是一款 USB GSM 调制解调器。因此,在 Oreedo 提供商上,我们使用 USSD 代码来获取信用余额:*200#我发出以下命令:

AT+CUSD=1,"*200#",15

它会返回我的 SIM 卡余额,这真是太神奇了。但是当我尝试从 Mobilis 获取等值余额时(例如使用 USSD 代码):*222#获取信用余额时,我只得到“OK”,但没有余额信息。

有趣的是:如果我将三星 Galaxy J5 用作 USB 调制解调器(安装其驱动程序后),使用 USSD 代码后:

AT+CUSD=1,"*222#",15

我在 PuTTY 或 HyperTerminal 上只得到了 OK,但我可以在手机上看到 USSD 余额通知!?尽管我是从笔记本电脑上运行的应用程序请求它的?!

我被困在这里了。我想要做的是能够获取余额或按我的意图进行任何查询。

这是否属于 GSM 提供商或某些端口设置(如监听)或我遗漏的其他内容?

相关内容