陈苏闽ID:chensumin
72324次访问,排名1308好友0人,关注者0
chensumin的文章
原创 17 篇
翻译 0 篇
转载 0 篇
评论 84 篇
苏酩的公告

本人苏酩,虽号称系统分析员,但已改行多年。计算机只是业余爱好,借CSDN宝地,将以前的点点滴滴保存,同时继续记录我的“业余爱好”。

我的主页

E-mail:chensm@js172.com

最近评论
fzukaka:系统分析员考试交流群54184843
fzukaka:系统分析员考试交流群54184843
fzukaka:系统分析员考试交流群54184843
fzukaka:对我以后的工作有帮助.受启发.
J.G.L:我也准备去考了,希望能通过
文章分类
收藏
    相册
    网站
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 短消息SMPP开发接口概要收藏

    新一篇: 如何用手机模块发送彩信 | 旧一篇: 连载:如何“破解”系统分析员考试――2(苏酩)

    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

    SMSCESME之间的传输网络可以是基于X.25, TCP/IP

     

     

    ESMESMSC的消息

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

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

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


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

     

     


    SMSCESME的消息

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

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

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


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

     

     


    消息流

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

     

     

    消息语法

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

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

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

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

     

    状态定义

    错误代码

    描述

    E_SUCCESS0X00000000

    成功

    E_OTHERERR0X00000001

    其他错误

    0X00000002 – 0X0000000F

    保留给SMSC厂商定义错误

    E_MSGLENERR0X00000010

    消息长度错误

    E_CMDLENERR0X00000011

    命令长度错误

    E_INVLDCMDID0X00000012

    消息ID无效

    E_NORIGHT0X00000013

    没有执行此命令的权限

    0X00000014 – 0X0000001F

    保留

    E_INVLDSYSTEMID0X00000020

    无效的SYSTEMID

    E_INVLDPASSWORD0X00000021

    无效的密码

    E_INVLDSYSTEMTYPE0X00000022

    无效的SYSTEMTYPE

    0X00000023 – 0X0000003F

    保留

    E_ADDRERR0X00000040

    地址错误

    E_MOEXCEED0X00000041

    超过最大提交数

    E_MTEXCEED0X00000042

    超过最大下发数

    E_INVLDUSER0X00000043

    无效的用户

    E_INVLDDATAFMT0X00000044

    无效的数据格式

    E_CREATEMSGFAILURE0X00000045

    创建消息失败

    E_INVLDMSGID0X00000046

    无效的短消息ID

    E_DATABASEFAILURE0X00000047

    数据库失败

    E_CANCELMSGFAILURE0X00000048

    取消消息失败

    E_MSGSTATEERR0X00000049

    短消息状态错误

    E_REPLACEMSGFAILURE0X0000004A

    替换消息失败

    E_INVLDRPLADDR0X0000004B

    替换消息源地址错误

    0X0000004C – 0X0000005F

    保留

    E_INVLDORGTON0X00000060

    无效的源地址TON

    E_INVLDORGNPI0X00000061

    无效的源地址NPI

    E_ORGADDRERR0X00000062

    源地址错误

    E_INVLDDESTTON0X00000063

    无效的目的地址TON

    E_INVLDDESTNPI0X00000064

    无效的目的地址NPI

    E_DESTADDRERR0X00000065

    目的地址错误

    E_INVLDSCHEDULE0X00000066

    无效的定时时间

    E_INVLDEXPIRE0X00000067

    无效的超时时间

    E_INVLDESM0X00000068

    无效的ESM_CALSS

    E_INVLDUDLEN0X00000069

    无效的UDLEN

    E_INVLDPRI0X0000006A

    无效的PRI

    E_INVLDRDF0X0000006B

    无效的Registered_delivery_flag

    E_INVLDRPF0X0000006C

    无效的Replace_if_present_flag

    0X0000006D – 0X0000007F

    保留

    用户管理部分(可选)

     

    E_USERALREADYEXIST0X00000080

    指定用户已经存在

    E_CREATEUSERERR0X00000081

    创建用户失败

    E_USERIDERR0X00000082

    用户ID错误

    E_USERNOTEXIST0X00000083

    指定用户不存在

    0X00000084 – 0X0000008F

    保留

    0X00000090 – 0X00000FFF

    保留给SMSC厂商定义错误

    其他

    保留

     

     

    类型定义

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

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

    3C_DecString:以