BroadNet
SMPP 主题中心

SMPP详解

定义

SMPP (Short Message Peer-to-Peer)是承载应用(即ESME)与移动运营商SMSC之间A2P短信的开放TCP协议。ESME会开启持久绑定,将消息作为二进制submit_sm PDU提交,并通过同一套套接字接收状态报告。

摘自 SMPP协议是如何工作的?

最后更新 9核心术语

工作原理

  1. 1

    绑定

    ESME打开一个TCP连接(理想情况下为TLS)并发送带有system_id和密码的bind_transceiver。它可以作为发送器(Transmitter)、接收器(Receiver)或收发器(Transceiver)进行绑定;通过SMPP 3.4进行收发器绑定是现代默认方式。

    阅读完整回答
  2. 2

    提交

    每条消息都以submit_smPDU的形式发出,SMSC会通过携带message_id的submit_sm_resp进行确认。窗口期——即在未确认的情况下可以处于传输状态的PDU数量——是限制实际吞吐量的最常见因素。

    阅读完整回答
  3. 3

    接收状态报告

    状态报告作为deliver_sm PDU以异步方式通过同一套接字(socket)到达,并由message_id匹配回原始消息。

    阅读完整回答
  4. 4

    保持会话活跃

    每30秒一次的enquire_link心跳包可保持绑定状态,客户端通过指数退避机制进行重连,而解绑操作会干净地关闭会话。提交失败时会返回一个用于解码的数字command_status。

    阅读完整回答

核心术语

每个术语都有对应的详情页面,提供完整解释。

常见问题

您应该在何时选择SMPP而不是REST?

Choose SMPP when you sustain several hundred messages per second or need persistent binds (capacity per bind is agreed with your account team), run latency-critical OTP where every millisecond counts, or integrate into an operator/aggregator ecosystem that already speaks SMPP everywhere. Otherwise a REST SMS API (no fixed per-account rate limit at BroadNet) is simpler to run and delivers over the identical routes.

阅读完整回答

我应该在新的集成中使用SMPP 5.0吗?

几乎从不。除非特定的交易对手要求使用5.0,否则请通过TLS绑定SMPP 3.4。目前的装机量、工具链和运营商支持都基于3.4,且5.0在商业A2P通道上并无送达率优势。

阅读完整回答

SMPP 5.0的短信送达率是否优于3.4版本?

不。送达率取决于运营商通道,而非SMPP版本。5.0所改进的内容(Unicode标头、计费TLV)通常是在3.4之上的应用层处理的。

阅读完整回答

如何在SMPP 3.4上发送阿拉伯语或emoji?

将data_coding设置为UCS-2 (0x08),或在message_payload TLV中携带正文。3.4可以很好地处理Unicode内容;您不需要为此使用5.0。

阅读完整回答

我应该使用哪种绑定类型和端口?

通过TLS进行的收发器绑定是A2P的标准——它在同一个套接字上发送submit_sm并接收状态报告(DLR)。BroadNet提供SMPP 3.4绑定;主机、端口和凭据将在您申请测试权限时一并提供。

阅读完整回答