首页 > 解决方案 > 如何实现这样的短信 USSD 应用程序?

问题描述

我想知道如何创建一个像这样的 SMS 应用程序,您可以在其中发短信说“1GB”并从服务器获得一些响应。https://imgur.com/zwFFhzz

抱歉,我是 USSD 的新手,如果有业余问题,我深表歉意。1)这样的应用程序如何工作?我需要知道什么来实现这个?

标签: smsussd

解决方案


要实施 USSD 风格的应用程序,您需要获得网络运营商的支持和帮助。

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

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

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

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

例如,当我在卡塔尔研究 Yalla Bill 支付系统时,我们经常不得不参加 QTel(国家电信提供商)的会议,以解释我们的路由规则并对其进行测试,以确保它们正确实施。

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

还要考虑的另一件事是,许多提供商会向您收取很多钱来承担这样的项目,甚至如果您希望他们只是拦截发送到给定号码的任何内容并直接路由回给您以供您使用在您自己的服务器上采取行动。

一些提供商确实拥有允许某种类似访问的 SDK,有时是免费的,有时是收费的。我记得当我为 Orange 工作时,您可以加入“Orange 合作伙伴计划”,这会为您提供一些不错的 SDK 代码并访问各种内部网络内容(我构建了其中的很大一部分 :-D),这让您可以做一些事情有趣的东西,因为该公司成为 EE,现在是 BT 的一部分,但老实说,我不知道它是否仍在使用中。

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

我相信 Twilio 有这个功能,而且我知道 MBlox 确实是因为我使用的就是这个功能。

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

例如,我的 MBlox 帐户给了我一个随用随付的 HTTP SMS 端点,在那里我发送带有一组参数的常规 TCP 获取请求,他们将这些请求转换为 SMS 并将它们发送给收件人。我在英国境内为每条文本支付大约 2 便士英国,设置它花费了我 50 英镑。

最重要的是,我得到了一个入站 SMS 号码,每年花费我固定的 50 英镑,并且该号码收到的任何 SMS 都会发送到我提供给他们的基于 TCP/WEB 的端点,然后我会做需要的事情当它到达时收到的短信。

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


推荐阅读