构建SMS服务器的最佳实践是什么?

时间:2011-02-20 12:04:24

标签: architecture system gsm sms-gateway

我正在尝试构建一个系统,其中我有终端节点能够通过GSM网络发送/接收SMS消息。我现在需要构建一个服务器解决方案,该解决方案将在保存我的业务逻辑的Web服务器和客户端(节点)之间发送充当网关的SMS消息。沟通是双向的。 我已经读过一些关于完整的SMS服务器解决方案(可能充当GSM网关),但结果却太昂贵了。 我曾想过将手机连接到我的服务器(然后使用一些API),但可能是我的服务器将进入数据中心,我不能以这种方式附加任何东西。 我不希望有太多的消息(例如每天100个/双向)。我也不打算有太多的客户(不到100个)。 在这里,我要求一个通用的系统解决方案(例如最佳实践)。

2 个答案:

答案 0 :(得分:10)

构建此类SMS服务器有三种基本选择:

1)将手机或USB GSM棒连接到服务器并使用它们进行短信通信。限制是

  • 数量有限(但您的100条短信/日应该没问题。)

  • 由于消费类硬件可能相当不可靠(例如,手机/手机固件不是为24x7操作而构建的,您可能需要定期重置设备;大多数手机需要电池才能正常工作,电池耗尽)。

  • 由于RF规则和移动网络覆盖范围,数据中心可能无法放置。

  • 手机号码方案仅限于SIM MSISDN。

2)将SMS连接到网络运营商SMS网关。网络运营商完全使用这些方案:批量短信通信。这些都是专有的,通常会说“更容易”消化传输消息传输协议。限制:

  • 您必须以连接方式和协议方式与网络运营商绑定。

  • 由于网关可能会进行存储转发,因此通信可能会延迟。

  • 根据定价方案,只有大批量才有意义。

3)将SMS服务器连接到移动运营商SS7网络,将其添加为网络元素。限制:

  • 复杂的实施。需要专用硬件(SS7接口卡)和要编程的驱动程序。

  • 需要与网络运营商进行非平凡的网络整合,包括广泛的测试。

  • 需要E1 / T1线路(或更大或SIGTRAN)进行连接,这通常是数据中心的事情,但并非在每个数据中心都可用。

  • 在定价方案和运作方面价格昂贵。

假设我理解您的要求,对于您的情况,我会选择选项1)并将SMS服务器放置在具有良好覆盖范围的地方,即不一定在数据中心。将其作为服务器基础架构的前端出售。如果将其放入数据中心是必须的,那么请转到选项2)并查看您的移动网络运营商短信批发产品。

答案 1 :(得分:1)

我在Linux中使用smstools包接收,解析短信。在配置文件中,您指向一个接收2个参数的外部脚本(例如,RECEIVED path-to-sms-file)。我使用perl解析SMS。其他选择是Alamo SMS网关,但我遇到了很多问题。