2012-07-21 48 views

回答

1

这并不像看起来那么简单。

我前一段时间曾在中东的一个项目在哪里,我们有这个确切的要求,我们实际上不得不争取当地电信公司的帮助,以支持我们的努力。

基本上,这一切都取决于一般SMS的工作方式。

大多数人认为,短信是一个字节为导向的方式在8位通道发送很像MMS和GPRS数据,但实际上它不是。

短信在大多数基于GSM设备的信令信道(这就是为什么当电话响起,例如您的短信不工作)

越是这样,仅此信令信​​道的一小部分是实际发送使用,它通常是带外串行数据。

鉴于此信息,最低限度需要使用标准msisdn(即电话号码的真实名称)寻址的本地GSM连接,则该连接必须提供标准的C7信令环境在连接端将其推入基于SMPP的服务器(或类似服务器)之前,可以对其进行反应并解码串行数据。

一旦你在服务器中解码了消息,并且你已经分析了PDU中的各种标志以知道这是USSD消息,那么你需要从队列中移除消息,处理然后将其发送给应用服务器,然后该应用服务器将决定调用哪个URL,或者将SOAP传递给哪个端点以及其他许多因素,以及采取任何响应,将其转换回SMPP然后重新序列化并将其从信令通道发送回原始设备。

现在,有了正确的技术知识和设备,您可以自行设定。现在许多移动电话提供商将为其客户提供覆盖范围较小的微微蜂窝,也可以购买可连接到本地PC的短线天线,但您需要绝对确保您允许在您所在地区执行此操作。

许多部门严格控制哪些无线电发射是在任何给定的区域是不允许的,并重罚或监禁定胜负那些谁打破这些法律。

一旦你有天线,那么你可以在天线连接的机器上运行'Open BTS'之类的东西。开放式基站可以完成标准GSM网络BTS软件所做的一切,包括从aBis接口向上传送数据,直至用于SMS流量的SMPP服务器。

但是它并不提供SMS软件,因为您需要另一台带有标准Linux发行版的机器,然后如Kannel设置并在其上运行的软件,一旦您拥有kannel,那么您就有能力处理消息。

使所有这些工作在一起,你就可以做本地USSD测试。

然而,有一个更容易的选择,但它可能会花费你一些钱,这是与一个服务提供商,如全球USSD(Link Here)或类似谁收取固定费用将做所有的辛苦工作为你,让你专注于响应你的应用程序调用。