SUBMAIl SMPP 协议接入文档



SUBMAIL SMPP 协议基于 SMPP 3.4 通讯协议。
参考开发文档:《Short Message Peer to Peer Protocol Specification v3.4》 《CDMA 数字蜂窝移动通信网扩展短消息实体到短消息中心 的接口协议规范 SMPP v3.4


基于 SMPP 通讯协议,接入 SUBMAIL SMPP 可实现短消息发送、状态接收等功能;要接入SUBMAIL SMPP 网关,请前往 国际短信-》创建/管理 AppID 页面创建一个 SMPP 应用;


参数示例


SMPP参数示例描述
IP/URLsmpp.mysubmail.com接口URL,如果您的系统仅支持 IP 对接或无法使用域名,请联系商务或售后支持
Port9000SMPP 端口号
User/System IDappid用户名 / System ID;前往 国际短信-》创建/管理 AppID 页面获取
Passwordsmpp key密码;前往 国际短信-》创建/管理 AppID 页面获取



请注意:

  1. 每个独立的 SMPP 应用默认为 2 个TCP链路,支持 BIND_TRANSMITTER(TX)、BIND_RECEIVER (RX),和 BIND_TRANSCEIVER(TRX)类型的连接,初始流速默认为 100/秒;
  2. SMPP 要求必须指定一个 授权的 IP 进行绑定;您可以绑定多个 IP;
  3. 当链路已成功登录并已占用超过最大链路限制后,其他链路将无法继续使用该 APPID 进行登录;
  4. SMPP 短消息正文编码支持 GSM 7 和 UCS 2编码;


SUBMAIL SMPP 网关支持常用 SMPP 指令


SMPP 指令支持列表

指令指令描述
BIND_TRANSMITTER发送器 TX 连接/登录
BIND_RECEIVER接收器 RX 连接/登录
BIND_TRANSCEIVER收发器 TRX 连接/登录
UNBIND链路拆除
GENERIC_NACKgeneric_nack 无效指令应答
SUBMIT_SM短消息发送
DELIVER_SM短消息发送状态获取
ENQUIRE_LINK链路检测(心跳包)



除上述列表中的指令外,其他 SMPP 指令均不被支持;如遇特殊需求,请联系商务或售后支持;



关于长短信



SUBMAIl SMPP 网关支持长短信发送,支持 UDHI 模式和 message_payload 模式,最大字符限制为1000 字,包含签名,正文、标点符号和空格;SMPP 短信长度与短信正文编码相关 gsm7 编码通常普通短信支持 160字,长短信为 154 字;UCS 2编码普通的短信长度为 70 字,长短信为 67 字;全球许多国家或地区的短信长度规范不统一,详情请联系 SUBMAIL 商务和售后部门;

UDHI 模式

要使用 UDHI 模式发送长短信,请正确的设置 esm_class 参数 和 正文的 UDHI 头;
正文头采用 6 字节 UDHI,格式:05 00 03 XX MM NN

  • byte 1 : 05, 表示剩余协议头的长度
  • byte 2 : 00, 这个值在 GSM 03.40 规范 9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为 1(格式中的 XX 值)
  • byte 3 : 03, 这个值表示剩下短信标识的长度
  • byte 4 : XX,这批短信的唯一标志(被拆分的多条短信,此值必需一致),事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯 一并不是很 重要。
  • byte 5 : MM, 这批短信的数量。如果一个超长短信总共 5 条,这里的值就是 5。
  • byte 6 : NN, 当前短信的序号。如果当前短信是这批短信中的第一条的值是 1,第二条的值是 2。

示例:05 00 03 39 02 01

请注意:GSM7 编码中有部分字符占用 2 个字节,如括号 “[” 和 “]”,如果您的短信正文中包含 2 字节的字符时,应限制每条短信的最大长度-1;例:普通短信 160 字,减去 6 字节 UDHI 头 减1 ,既153字符 (160-6-1=153)


message_payload 模式

要使用 message_payload(TLV) 模式, sms_lenth 必须设置为 0,将全部的短消息正文设置在 message_payload 参数中发送
message_payload 最大支持 1000 字



错误/状态码



SUBMAIL SMPP 网关除透传短消息实际状态外会有一些特殊的状态码,如模板审核拒绝、频率超限、余额不足等

状态码交互方式描述
SUBERRLDELIVER_SM提交失败(长短信并包超时)
NONECHNDELIVER_SM不支持的国家或地区
OVERRUNDELIVER_SM短信正文超过最大长度限制(1000字)
RGBLOCKDELIVER_SM用户屏蔽区
BEYONDDDELIVER_SMSMPP应用请求超限(请前往 国际短信-》创建/管理 AppID 页面设置发送限制参数)
FRQEBYDDELIVER_SM发送超限(相同内容同一天内对同一手机号发送超过15条)
UBLOCKDDELIVER_SM自定义黑名单 (请前往国际短信-》创建/管理 AppID 页面设置或管理黑名单)
REJECTDDELIVER_SM审核拒绝
此状态与网关REJECTD状态码一致,如遇相同内容全部返回该错误码,则模板审核被拒,请前往 短信-》创建 /管理模板页面查看具体驳回原因,修改后重新提交该模板进行审核即可正常发送
BALANCEDELIVER_SM余额不足
BLOCKEDDELIVER_SM系统屏蔽
BEYONDTDELIVER_SM模板发送超限;请前往 国际短信-》创建 /管理模板页面 更改此模板发送限制