【问题标题】:Creating a SMPP Server using HTTP API使用 HTTP API 创建 SMPP 服务器
【发布时间】:2017-05-30 12:10:53
【问题描述】:
我有一个通过 HTTP 协议支持 JSON 的 SMS API。它以 JSON 格式接收来自客户端的 SMS 请求,并使用我自己的脚本将其转发到 Gateway/SMSC。
现在我正在尝试为我们的一个客户端开发一个 SMPP 服务器,客户端可以使用 SMPP 协议连接到我们。
我计划使用现有的 HTTP API 将消息提交到网关/SMSC。基本上是 SMPP 服务器内的 HTTP api。在那种情况下,我不需要为信用管理编写任何附加代码。
它应该像,
通过 SMPP 接收来自客户端的请求
验证客户信息
将消息转发到 HTTP API
使用 HTTP API 获取消息状态
使用 SMPP 向客户端发送状态响应。
我的问题是,
如何创建 SMPP 服务器,以便其他客户端可以使用 SMPP 连接到我的应用程序?
如何管理绑定到服务器的多个客户端?
有没有开源的 SMPP 服务器?
【问题讨论】:
标签:
php
ruby
node.js
smpp
【解决方案1】:
反之亦然,您的ESME 应用程序更容易运行;外部应用程序通过 HTTP API 向您的 SMPP 网关发送 SMS,您的 SMPP 网关验证外部应用程序和消息,返回带有消息跟踪 ID 的 ACK 或 NACK,然后使用 SMPP 协议将其转发到 SMSC。关于您的问题:
你需要选择SMPP API实现,有很多开源的samples。
如果您调查我上面提供的源代码,则会为每个成功的会话创建创建新的 SMPP 会话处理程序对象。此处理程序对象具有从客户端接收到 SMPP 消息时触发的回调方法。 API 本身代表您管理多个套接字连接,您应该注意验证 sessionBindRequested 中的 SMPP 绑定参数、收到的 SMPP 消息(firePduRequestReceived)和服务器应该发送的响应使用 API。还有许多其他 SMPP API,因此需要使用用户应用程序研究它们的消息传递模型。
有许多开源 SMPP API 实现,但作为一个完整的自定义解决方案,我认为你找不到开源的。