添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

短消息SMPP开发接口概要
SMPP是一种通用的短信接口协议,本文摘录了能实现短信基本功能的内容。

短消息中心(SMSC)可以与各种扩展短消息实体(ESME)配合工作,从而为移动用户提供丰富多采的功能。

符号和缩略语

ESME Agent
External Short Message Entity Agent 扩展短消息实体代理

ESME
External Short Message Entity 扩展短消息实体

PLMN
Public Land Mobile Network 公共陆地移动网

SMSC
Short Message Service Center 短消息中心

SMPP
Short Message Peer to Peer 短消息点对点协议

SS
Secretary System 秘书台

AS
Auto System 自动台

SMSC指短消息中心。

ESME在本规范中指的是通过本规范规定的协议与SMSC通信,请求特定的短消息服务的功能实体。

SS指人工话务接入并受理短消息服务请求的系统。

AS指利用交互式语音技术受理短消息服务请求的系统。

SS(秘书台)和AS(自动台)是典型的ESME。

SMSC和ESME之间的传输网络可以是基于X.25, 或TCP/IP。

ESME到SMSC的消息

ESME到SMSC的消息,如:提交、查询、删除短消息等请求,ESME必须以TRANSMITTER类型连接到SMSC。

图4描述了一个典型的TRANSMITTER类型的请求应答的示例。TRANSMITTER类型的ESME是以BIND_TRANCESMITTER连接到SMSC的ESME,此类型的ESME向SMSC发起提交短消息,查询短消息状态,删除短消息等请求,SMSC返回请求的应答。

ESME和SMSC之间的请求应答消息可以是阻塞方式也可以是异步方式的。所以ESME可能在SMSC没有应答的情况下,发起多个请求到SMSC。


SMSC应该按照收到的请求顺序,给EMSE回响应。但是ESME必须能够处理没有按顺序的响应。

SMSC到ESME的消息

SMSC到ESME的消息,如:SMSC转发短消息到ESME,ESME必须以RECEIVER类型连接到SMSC。

图5描述了一个典型的RECEIVER类型的ESME和SMSC之间的消息序列的示例。RECEIVER类型的ESME是以BIND_RECEIVER连接到SMSC的ESME,SMSC向此类ESME转发短消息,ESME向SMSC回应答。

ESME和SMSC之间的请求应答消息可以是阻塞方式也可以是异步方式的。所以SMSC可能在ESME没有回应答的情况下,发送发起多个deliver_sm请求到ESME。


ESME应该按照收到的请求顺序,给SMSC返回响应。但是SMSC必须能够处理没有按顺序回的响应。

本规范中规定的所有协议,不管是从ESME到SMSC,还是从SMSC到ESME的消息,接收到请求的一方,都必须给请求方回一个应答消息(acknowledge)。

在以下语法说明中,遵从以下规则:

A.未使用的字段,依据类型必须设置为0或NULL。

B.消息由消息头和消息体组成。

C.状态(Command_status)的定义如表3所示。

错误代码
描述

E_SUCCESS(0X00000000)
成功

E_OTHERERR(0X00000001)
其他错误

0X00000002 – 0X0000000F
保留给SMSC厂商定义错误

E_MSGLENERR(0X00000010)
消息长度错误

E_CMDLENERR(0X00000011)
命令长度错误

E_INVLDCMDID(0X00000012)
消息ID无效

E_NORIGHT(0X00000013)
没有执行此命令的权限

0X00000014 – 0X0000001F
保留

E_INVLDSYSTEMID(0X00000020)
无效的SYSTEMID

E_INVLDPASSWORD(0X00000021)
无效的密码

E_INVLDSYSTEMTYPE(0X00000022)
无效的SYSTEMTYPE

0X00000023 – 0X0000003F
保留

E_ADDRERR(0X00000040)
地址错误

E_MOEXCEED(0X00000041)
超过最大提交数

E_MTEXCEED(0X00000042)
超过最大下发数

E_INVLDUSER(0X00000043)
无效的用户

E_INVLDDATAFMT(0X00000044)
无效的数据格式

E_CREATEMSGFAILURE(0X00000045)
创建消息失败

E_INVLDMSGID(0X00000046)
无效的短消息ID

E_DATABASEFAILURE(0X00000047)
数据库失败

E_CANCELMSGFAILURE(0X00000048)
取消消息失败

E_MSGSTATEERR(0X00000049)
短消息状态错误

E_REPLACEMSGFAILURE(0X0000004A)
替换消息失败

E_INVLDRPLADDR(0X0000004B)
替换消息源地址错误

0X0000004C – 0X0000005F
保留

E_INVLDORGTON(0X00000060)
无效的源地址TON

E_INVLDORGNPI(0X00000061)
无效的源地址NPI

E_ORGADDRERR(0X00000062)
源地址错误

E_INVLDDESTTON(0X00000063)
无效的目的地址TON

E_INVLDDESTNPI(0X000000)
无效的目的地址NPI

E_DESTADDRERR(0X00000065)
目的地址错误

E_INVLDSCHEDULE(0X00000066)
无效的定时时间

E_INVLDEXPIRE(0X00000067)
无效的超时时间

E_INVLDESM(0X00000068)
无效的ESM_CALSS

E_INVLDUDLEN(0X00000069)
无效的UDLEN

E_INVLDPRI(0X0000006A)
无效的PRI

E_INVLDRDF(0X0000006B)
无效的Registered_delivery_flag

E_INVLDRPF(0X0000006C)
无效的Replace_if_present_flag

0X0000006D – 0X0000007F
保留

用户管理部分(可选)


E_USERALREADYEXIST(0X00000080)
指定用户已经存在

E_CREATEUSERERR(0X00000081)
创建用户失败

E_USERIDERR(0X00000082)
用户ID错误

E_USERNOTEXIST(0X00000083)
指定用户不存在

0X00000084 – 0X0000008F
保留

0X00000090 – 0X00000FFF
保留给SMSC厂商定义错误

其他
保留

(1)integer:一定字节数所组成的整数,高位在前,低位在后。例 如:1字节(BYTE),2字节(WORD ) , 4字节 (DWORD) ,6字节等等。

(2)C_String:以NULL结束的ASCII字符串。

(3)C_DecString:以NULL结束的ASCII字符串,它由一系列的10进制字符 组成(‘0’---‘9’)。

(4)C_OctetString:由任意8位字节组成数据流串。

(5)C_HexString:以NULL结束的ASCII字符串,它由一系列的16进制字符组 成(‘0’---‘9’,‘A’(‘a’)---‘F’(‘f’))。

(6)C_UnicodeString:以NULL结束的Unicode编码的字符串。

(7)C_StringTime:表示时间的字符串,它为以下格式。“YYMMDDhhmmsstnnp , 长度定为17个字节或1个字节,最后一个字节值必须为NULL,1个字节表示 使用缺省的时间定义(由短消息中心实现时具体设置),17个字节的具体格式 如下:

YY
年份的最后2位 (00-99)

MM
月份(01-12)

DD
日 (01-31)

Hh
小时 (00-23)

Mm
分 (00-59)

Ss
秒 (00-59)

T
十分之一秒 (0-9)

Nn
与UTC (Universal Time Constant) 时间超前或落后 的差距(00-48).

‘+’(p)
时间超前于UTC time.

短消息SMPP开发接口概要- -                                        短消息SMPP开发接口概要- -                                        短消息SMPP开发接口概要  SMPP是一种通用的短信接口协议,本文摘录了能实现短信基本功能的内容。前言短消息中心(SMSC)可以与各种扩展短消 3:长链接 4:数据库**** 为什么会用到数据库:用户通过WEB平台提交短信后, SMPP 服务程序获取到用户提交的短信数据和关联的 SMPP 通道参数。 SMPP 服务程序进行连接然后通过长链接发出。 SMPP 的回执由通道那边直接返回无需在次接入一个回执 接口 。 根据需要系统升级了可接入 SMPP 通道,接入 SMPP 通道很简单不会像接入HTTP api 接口 那么麻烦。 SMPP 是一个标准 接口 。只需要填写相
推荐使用 python- smpplib - 功能强大的Python SMPP 库 项目地址:https://gitcode.com/python- smpplib /python- smpplib 1、项目介绍 python- smpplib 是一个专门针对Python 开发 的高效且易用的 SMPP 库。源于Google Code,这个库允许 开发 者发送和接收短信,支持多种编码和消息类型,包括Unicode(如UC...
SMPP 协议是Short Message Peer to Peer的简称,规范上将它是一个开放式的工业标准协议。它为消息中心和 短消息 系统 应用端在短信数据传输时提供灵活的数据通信 接口 规范。不知道大家看到这些介绍是什么感觉,我看到的感觉就是云山雾罩不知所云。 下面根据我的实际 开发 经验,上硬货。
SMPP 协议是一个开放式的工业标准协议为信息中心和 短消息 系统应用端在短信数据传输时提供灵活的数据通信 接口 规范信息中心有 短消息 中心SMSC GSM 非结构化补充服务数据服务器USSD 等类型 短消息 系统应用端包括WAP 代理服务器EMAIL 网关和其它一些信息网关等。 SMPP 支持以下双向信息传送功能:                      1. 通过SMSC,从ESM