是否有用于USSD对USB调制解调器的请求的任何API

时间:2018-08-29 00:37:31

标签: usb modem sms-gateway

我正在我的国家开始进行一次小型充值业务,出于不同的原因,我不得不使用USB调制解调器发出我的业务所依赖的USSD请求

我发现最好的调制解调器是Huwaui e3531 USB调制解调器

我思考建立网站的方式是创建一个小恶魔,该恶魔会不断检查网站是否有新订单,并使用mmcli执行USSD请求(这是我能找到的最佳实用程序,但我愿意接受建议)

此解决方案的问题是 我必须编辑mmcli源代码以仅输出USSD响应(正常响应中有很多多余的单词),而且mmcli cancel USSD请求无法正常工作(不确定原因),更不用说那些会出错并停止影响商务的恶魔

我的第二个选择是使用Hilink固件,该固件为我提供了一个API,可以直接从我的网站发出USSD请求(正是我想要的),但是还有两个小问题,第一个是并没有让我取消USSD请求的选择,其二是发出请求的速度有点慢

因此,我正在寻找一种中间的东西,即具有API的功能,这样我就可以从我的网站上运行USSD命令,它既快速又可靠

我能找到的最好的是这个project,但是我在阅读源代码后发现它正在使用Hilink固件API来工作。

1 个答案:

答案 0 :(得分:0)

我们必须为此在我们公司中做一个“黑客”解决方案。由于我们没有足够的时间来学习mmcli库,因此我们的解决方案是使用C ++中的“ popen”传递linux终端命令,并对其进行解析以生成并充分响应我们传递的USSD命令。即。我们通过“ popen”发送了USSD命令,并解析了响应并发送了所需的响应。我们在Ubuntu上运行了服务器,该服务器默认安装了mmcli lib,这就是我们使用的服务器。因此,我们不必查看源代码,只需使用简单的管道即可将命令传递给终端。我应该注意,它只会产生我们期望的完美输出,而不会产生额外的信息,并且您可以设置重试计数以防出现错误。

这是我们设置架构的方式,以防万一:

网络服务器

  • 具有在专用端口上运行的开放式Websocket,该侦听器侦听来自服务器的传入请求,并推送到与其连接的所有客户端(本地服务器)。

本地linux终端

  • 有一个websocket客户端正在等待来自服务器的消息
  • 收到消息后,它将解析并执行USSD代码,然后将有关执行状态的消息发送给我们的回调api url。

    我们已经运行了几个月了而我们唯一担心的是电源和稳定的互联网连接;我们的本地服务器必须始终开机并在线。

我很乐意分享我们用于linux命令的代码,它在github上。