Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何实现这样的sms USSD应用程序?_Sms_Ussd - Fatal编程技术网

如何实现这样的sms USSD应用程序?

如何实现这样的sms USSD应用程序?,sms,ussd,Sms,Ussd,我想知道如何创建一个像这样的短信应用程序,你可以发短信说“1GB”,然后从服务器上得到一些响应 对不起,我是USSD的新手,所以如果有任何问题,请道歉。1) 像这样的应用程序是如何工作的?要实现这一点,我需要知道什么?要实现USSD风格的应用程序,您需要获得网络运营商的认可和帮助 各种工具集中都有API,允许您向设备发出USSD命令,这些API只是将请求作为AT命令直接传递到设备上的GSM调制解调器(我记不清它到底是什么),调制解调器单元负责执行该命令 有些命令直接在设备上处理。例如,如果您键入

我想知道如何创建一个像这样的短信应用程序,你可以发短信说“1GB”,然后从服务器上得到一些响应


对不起,我是USSD的新手,所以如果有任何问题,请道歉。1) 像这样的应用程序是如何工作的?要实现这一点,我需要知道什么?

要实现USSD风格的应用程序,您需要获得网络运营商的认可和帮助

各种工具集中都有API,允许您向设备发出USSD命令,这些API只是将请求作为AT命令直接传递到设备上的GSM调制解调器(我记不清它到底是什么),调制解调器单元负责执行该命令

有些命令直接在设备上处理。例如,如果您键入*06#(或#06*)我忘记了哪个,大多数设备将显示他们的IMEI编号。许多移动网站也经常会列出“你不应该知道的秘密制造商命令”或“让你获得免费信用的特殊命令”…:-)

所有这些都是由调制解调器制造商(而非设备制造商)内置在调制解调器固件中的固定字符串

然而,大多数USSD风格的SMS实际上是在提供商网络内解析和操作的,通常是在连接到主网络SMSC或与主网络SMSC协同工作的某种应用服务器上

例如,当我在卡塔尔从事亚拉账单支付系统的工作时,我们通常必须参加QTel(国家电信提供商)的会议,解释我们的路由规则,并对其进行测试,以确保其正确实施

当我在Orange UK担任网络工程师时,我经常需要处理自动售货机公司的服务请求,这些公司在固件中使用USSD向供应商SMSc中心的路由器发送消息

另一件事要考虑的是,许多供应商会收取你很多钱来承担这样一个项目,如果你想让他们拦截任何一个给定的号码,并直接路由到你,让你在自己的服务器上运行。 有些提供商确实有SDK,允许类似的访问,有时是免费的,有时是付费的。我记得当我为Orange工作时,你可以加入“Orange Partners Program”,这为你带来了一些不错的SDK代码,并可以访问各种内部网络内容(我构建了大量代码:-D),这让你可以做一些有趣的事情,因为该公司成为了EE,现在是BT的一部分,老实说,我不知道它是否还在使用

您还可以获得一个短代码,虽然这不是USSD样式的SMS,但您可以将SMS消息发送到代码,然后这些消息将转发到您控制的TCP服务器端点

我相信Twilio有这个功能,我知道MBlox也有,因为我用的就是MBlox

它不是真正的USSD,但您可以轻松设置一个短代码,让人们向它发送SMS,然后使用SMS发送API回复发送号码

例如,我的MBlox帐户为我提供了一个按需付费的HTTP SMS端点,在这里,我发送带有一组参数的常规基于TCP的get请求,它们将这些请求转换为SMS,并将它们发送给收件人。我在英国境内的每一篇文章大约支付2英镑,而建立它需要花费我50英镑

除此之外,我还得到了一个入站短信号码,每年的固定费用为50英镑,该号码接收到的任何短信都会发送到我提供给他们的基于TCP/WEB的端点,然后当收到的短信到达时,我会根据需要对其进行处理


“我的入站”是一个正常的全长数字,但是对于您的图片显示的“短码”数字,您可能需要为此支付额外费用。

看起来它使用了一个短代码进行交互,响应被解析为通过另一个API购买2GB

谢谢你的详细回答。需要明确的是,对于图中的2GB,它就像“触发器”,我是否需要移动运营商的帮助来实现这些“触发器”字?如果你想使用真正的USSD,有两种方法,都需要他们的帮助。1) 你告诉他们你的触发器,他们为你监视和处理这些触发器,2)他们将发送的每一条消息重定向到给定的短码,直接返回给你,你处理它并将响应返回给他们,然后在USSD频道上发送回去。但是,如果你使用标准的短信服务提供商并自己连接起来,这不是真正的USSD,但它也可以正常工作。但是如果你需要USSD格式的短信服务,你也可以在USSD上开发这样一个菜单,让用户开始购买,我在Github上做了一个USSD集成示例,并可以提供链接,但这取决于您要连接到的电信公司。