---
title: "如何通过 SMPP 连接短信服务商？"
description: "如何通过 SMPP v3.4 对接短信服务商：需要申请什么、如何基于 TLS 绑定、关键的 submit_sm 字段、送达回执与常见绑定错误。"
canonical: "https://omnichannels.ai/zh/answers/connect-sms-provider-smpp/"
language: "zh"
updated: "2026-10-10"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
---

# 如何通过 SMPP 连接短信服务商？

Canonical: https://omnichannels.ai/zh/answers/connect-sms-provider-smpp/
Language: zh
Publisher: OmniChannels.ai by BroadNet Technologies

**简短回答:** 通过 SMPP 连接短信服务商，需先申请绑定并登记源 IP，再用 TLS 连接。以 system_id 和密码发送 bind_transceiver，用 submit_sm 提交短信，应答每条 deliver_sm 回执，并定期发送 enquire_link。

## 服务商会提供什么

SMPP 接入通常由服务商开通，无法自助开通。请告知服务商您的目的地国家、Sender ID、预计峰值发送量，以及将用于连接的公网 IP 地址。

| 项目 | 说明 |
|---|---|
| 主机和 TLS 端口 | 您的客户端连接的地址 |
| system_id 和密码 | 绑定凭据，请作为机密信息保存 |
| system_type | 除非服务商指定，通常留空 |
| 绑定数和吞吐量 | 可开启的会话数，以及每个绑定约定的速率 |
| IP 白名单 | 只有已登记的源 IP 才能绑定 |

## 建立并维持会话

transceiver 绑定可在一个会话中同时收发。只有客户端需要时，才分别使用 transmitter 和 receiver 绑定。

1. 对服务商提供的主机和端口建立 TLS 连接。
2. 用 system_id 和密码发送 bind_transceiver,等待返回 command_status 为 0 的 bind_transceiver_resp。
3. 用 submit_sm 提交每条短信，并保存 submit_sm_resp 中的 message_id。
4. 以 deliver_sm 接收送达回执，并对每一条都回复 deliver_sm_resp。
5. 空闲时发送 enquire_link；若响应中断，则以退避策略重连。
6. 用 unbind 关闭会话，并等待 unbind_resp。

## 哪些 submit_sm 字段最容易导致被拒？

- source_addr_ton 和 source_addr_npi:字母数字 Sender ID 用 5 和 0,国际号码用 1 和 1。
- destination_addr:国家区号加号码，不带加号，也不带前导零。
- data_coding:默认 GSM-7 字符集用 0,UCS-2（阿拉伯语、emoji 及其他文字）用 8。
- registered_delivery:设为 1 表示请求送达回执。
- short_message 最多容纳 254 字节；内容更长时，请使用 sm_length 为 0 的 message_payload TLV,二者不可同时使用。

## 常见的绑定与提交错误

OmniChannels.ai 按账户开通基于 TLS 的 SMPP 3.4 绑定，并对源 IP 设置白名单；代理商和批发合作伙伴还可获得专用绑定。

| command_status | 可能原因 | 解决办法 |
|---|---|---|
| ESME_RBINDFAIL | system_id 错误，或 IP 不在白名单内 | 检查凭据和源 IP |
| ESME_RINVPASWD | 密码错误 | 检查凭据 |
| ESME_RINVSRCADR | Sender ID 或其 TON/NPI 无效 | 修正发送方及 TON/NPI |
| ESME_RTHROTTLED | 发送速率超过约定 | 降低速率，并以退避策略重试 |

## 官方来源

- [SMPP Protocol Specification v3.4 (Issue 1.2) — SMPP.org](https://smpp.org/SMPP_v3_4_Issue1_2.pdf)

## 相关问题

- https://omnichannels.ai/zh/answers/smpp-vs-http-api/
- https://omnichannels.ai/zh/answers/delivery-report-webhook/
- https://omnichannels.ai/zh/answers/sms-delivery-report-statuses/
- https://omnichannels.ai/zh/answers/integrate-sms-api/

更新于: 2026-10-10