我正在尝试构建一个 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 提供商或某些端口设置(如监听)或我遗漏的其他内容?