【问题标题】:Kannel as SMPP serverKannel 作为 SMPP 服务器
【发布时间】:2016-09-01 13:30:22
【问题描述】:

我创建了 SMS 网关应用程序,我在其中使用 kannel 连接到 MNO(移动网络运营商)SMSCs。我有一组客户端连接到我的应用程序给定的 API(JSON API)和我的应用程序我基本上通过它的 http API 将请求发送到 kannel。我如何拥有这个新客户,他们的要求是他的请求应该通过 SMPP 协议进行,因为他认为 JSON API 没有那么安全,因为消息可以在发送给接收者的途中被更改。为了创建 SMPP 服务器,我使用Node JS SMPP server and client module,然后在收到请求后,我基本上向 kannel 发出 HTTP 请求。我在这里面临的问题是如何将 DLR 发送到客户端。我了解 kannel 为我提供了从 SMSC 获取交付报告的能力,正如他们的文档中引用的 here 所引用的那样,我可以这样做,但是我如何从我的客户那里获取消息 ID,我将发送到 kannel 以便客户将能够将传递报告映射到特定消息。这是我想知道的

  1. 可以将 kannel 用作 SMPP 服务器,即允许第三方连接我的基于 kannel 的应用程序,同时还能监控通过的消息吗?
  2. 如果不可能,第三方如何发送消息 ID 以及如何在 SMPP 中接收它?

任何关于更好的应用程序设计或资源的建议,我都可以为自己配备必要的知识来解决这个问题,我们将不胜感激。

免责声明:我是 SMPP 协议的新手

【问题讨论】:

  • 我认为您可以用您提出的解决方案回答您自己的问题,也可以接受其中一个回答,或者至少向响应者@Wahid Sadik 发表评论

标签: node.js sms smpp kannel


【解决方案1】:

这个问题很少有有趣的部分。让我们一次看一个。

实体之间的连接

您描述了实体之间的以下连接。为了方便讨论,我现在在这里列出。

您的现有客户使用以下连接流程:

Client <== JSON ==> Kannel <== SMPP ==> MNO SMSC

对于您的新客户,您正在使用以下连接流程:

Client ESME <== SMPP ==> Nodejs SMPP+JSON SMS Client <== ==> Kannel <== SMPP ==> MNO SMSC

替代连接 1:消除 Kannel

对于您的新客户,您还可以考虑这个(简化的)流程:

Client ESME <== SMPP ==> Nodejs SMPP/Nodejs ESME <== SMPP ==> MNO SMSC

这里要问的一个重要问题 - 为什么在流程中需要 Kannel。

替代连接 2:为什么不使用 JSON

我认为客户想说的是:

  • JSON 是基于文本的协议,可以在飞行中轻松操作。
  • SMPP 是基于二进制的,无法在飞行中轻松操作。

您可以通过提供以下一个/两个选项来帮助客户:

  • JSON 通过 HTTP 工作。您始终可以通过 HTTPS 进行连接,从而消除了被篡改的可能性。
  • 通过 VPN 连接。

我不知道这个流程是否会解决您的其他问题,但它简化了您的流程。

注意: VPN 应与 SMPP 一起使用。

可否将kannel用作SMPP服务器

免责声明:我没有使用 Kannel 的经验。

显示了一点谷歌搜索 - Kannel does not support allowing creating SMSC with it。虽然有点过时了。

messageId的映射

我没有完全理解这个问题。无论如何,这是我尝试回答的问题:

在哪里可以找到 messageId?

  • messageId 字段始终存在于 submit_sm 和 data_sm(由 ESME 发送)上。
  • messageId 字段存在,但根据协议,deliver_sm(由 SMSC 发送)上为空白。

如何映射messageId?

作为中间应用程序提供者,您负责映射从/到两端接收/发送的 messageId。有关一些相关讨论,请参阅此 SO 问题 - Message ID for SMS submission and delivery not the same

【讨论】:

    【解决方案2】:

    用kannel和nodejs创建短信网关,可以使用kannel.js

    但是kannel不支持smsc作为服务器,使用nodejs可以使用shorty搭建smpp服务器。

    【讨论】:

      【解决方案3】:

      要处理高流量的短信事务,您必须使用Vsmppbox 或 Opensmppbox SMPP 服务器和Kannel SMPP 网关,另外还可以使用 Sqlbox 从 Web 应用程序插入短信。在kannel最新svn的addons目录中找到sqlbox和opensmppbox,Vsmppbox是一个许可的SMPP服务器,具有更多功能

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多