gpt4 book ai didi

node.js - Kannel 作为 SMPP 服务器

转载 作者:太空宇宙 更新时间:2023-11-03 22:41:18 24 4
gpt4 key购买 nike

我已经创建了 SMS 网关应用程序,我在其中使用 kannel连接到 MNO(移动网络运营商)SMSC。我有一组客户端通过 API(JSON API)连接到我的应用程序,在我的应用程序中,我基本上通过其 http API 将请求发送到 kannel。我如何拥有这个新客户,他们的要求是他的请求应该通过 SMPP 协议(protocol)进行,因为他认为 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 协议(protocol)的新手

最佳答案

问题中有几个有趣的部分。让我们一次一个地看它们。

实体之间的连接

您描述了实体之间的以下连接性。为了方便大家讨论,我现在就放在这里。

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

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 是一种基于文本的协议(protocol),可以在运行中轻松操作它。
  • SMPP 是基于二进制的,无法在飞行中轻松操作它。

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

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

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

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

kannel可以用作SMPP服务器

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

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

messageId 映射

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

哪里可以找到messageId?

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

如何映射messageId?

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

关于node.js - Kannel 作为 SMPP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19799187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com