资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
SMPP协议描述1 接口协议简介随着短消息业务在移动通信网上的广泛开展,运营商可以利用短消息平台向用户提供丰富的增值业务。短消息中心(SMSC)可以与人工台、自动台、WEB Server、E-mail Server、WAP网关等各种非PLMN网的扩展短消息实体(ESME)配合工作,从而为移动用户提供丰富多采的功能。在SMSC与ESME间采用标准的协议接口,有助于实现其他厂家的ESME的接入,为运营者集成第三方产品、发展短消息新业务提供方便。SMPP协议规范的内容主要针对扩展短消息实体与短消息中心的通信协议。协议主要描述短消息中心和扩展短消息实体之间的协议数据传输格式。此协议运行在底层通讯协议(例如TCP/IP,X.25)上。GSM03.39 v5.0.0中推荐的SMPP协议的内容中,能支持GSM的 PHASE2+的业务,另外还包括了可选的短消息用户管理的功能。规范面向现有的短消息业务,以后对于新业务(如WAP业务)的支持,可做相应修改。GSM 03.39 v5.0.0协议中错误状态和短消息状态没有定义具体的值,以Aldiscon的SMPP Application定义为准。参考资料GSM 03.39(Version 5.0.0):European digital cellular telecommunications system(Phase 2);Interface protocols for the connection of Short Message Service Centres(SMSCs)to Short Message Entities(SMEs);GSM 03.40(Version 4.8.1):European digital cellular telecommunications system(Phase 2);Technical realization of the Short Message Service Point to PointGSM 03.38(Version 5.2.0):Digital cellular telecommunications system(Phase 2+);Alphabets and language_specific informationGSM 03.47(Version 5.0.0):Digital cellular telecommunications system;Example protocol stacks for interconnecting Service Center(SC) and Mobile_services Switching Center(s)(MSC)1.1 缩略语SME短消息实体SMPP短消息点对点协议SMSC短消息服务中心ESME扩展短消息实体SMEI短消息扩展接口(协议)2 功能概述通过SMEI,ESME(例如寻呼台,语音邮箱系统)能连接(BIND)或断连(UNBIND)短消息中心,提交(SUBMIT)短消息。 此协议包含以下两部分:*(协议)ESME到SMSC的消息 *(协议)SMSC到扩展ESME的消息其中用户管理部分只适用于SMSC有用户数据库支持的情况 ESME可以与SMSC直接或者间接相连,直接相连时通过本规范确定的协议与SMSC通信,间接相连时,通过ESME Agent与SMSC相连,ESME Agent为ESME与SMSC之间的连接代理。ESME Agent与SMSC间走内部消息,ESME和ESME Agent之间则走标准的SMPP协议。采用ESME Agent间接相连方式,对接入SMSC的ESME提供了分类管理的便利(不同ESME连接到不同的Agent),有利于负荷分担和系统的稳定。见图1。图1:ESME与SMSC的直接和间接连接方式图 SMSC和ESME连接的短消息系统网络ESME到SMSC的消息ESME能提交短消息到SMSC,也可以查询以前所提交的短消息的状态等信息。SMSC到ESME的消息SMSC可以下发短消息到ESME。3 消息协议l 所有的消息,不管是从ESME到SMSC,还是从SMSC到ESME的消息,消息都是交互的,都必须产生一个响应(acknowledge)。l 从ESME到SMSC所提交的消息,可能有两种响应:*SMSC收到消息的响应(ACK)*如果这条短消息设置了需要状态报告,那么当这条短消息到达目标地之后,SMSC会产生一个状态报告的消息给ESME。4 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必须能够处理没有按顺序的响应。图4:TRANSMITTER类型的EMSE和SMSC的消息序列示例表1:ESME到SMSC的消息命令描述bind_receiverESME要求以接收者身份连接到SMSCbind_transmitterESME要求以发送者身份连接到SMSCUnbindESME要求断开连接到SMSCsubmit_smESME提交短消息到SMSC,以便SMSC下发此短消息到指定的移动台。deliver_sm_respdeliver_sm的响应。query_smESME查询以前所提交的短消息的状态cancel_smESME要求取消以前所提交的某条短消息replace_smESME要求替换以前所提交的某条短消息enquire_link询问与SMSC的连接情况generic_nak表示消息头有错误的响应5 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必须能够处理没有按顺序回的响应。图5:RECEIVER类型的EMSE和SMSC的消息序列示例表2:SMSC到ESME的消息命令描述bind_receiver_respbind_receiver的响应,status表示连接成功与否bind_transmitter_respbind_transmitter的响应,status表示连接成功与否unbind_respunbind的响应,status表示断开连接成功与否submit_sm_respsubmit_sm的响应,status表明提交短消息是否成功deliver_smSMSC下发短消息到ESMEquery_sm_respquery_sm的响应,status表明此次询问是否成功,其它内容返回查询到的短消息信息cancel_sm_respcancel_sm的响应。Status表明取消短消息是否成功replace_sm_respreplace_sm的响应,status表明此次替换是否成功enquire_link_respEnquire_link的响应enquire_link询问与ESME的连接情况generic_nak表示消息头有错误的响应6 消息语法在以下语法说明中,遵从以下规则:A.未使用的字段,依据类型必须设置为0或NULL。B.消息由消息头和消息体组成C.状态(status)如在命令语法中未加说明 0:表示成功非0:表示失败0x80000000:未定义值保留D.在类型中,可能用到以下定义l integer:一定字节数所组成的整数,高位在前,低位在后。例如:1字节(BYTE),2字节(WORD ) , 4字节(DWORD)。l C_String:以NULL结束的ASCII字符串l C_DecString:以NULL结束的ASCII字符串,它由一系列的10进制字符组成(0-9)。l C_OctetString:由任意8位字节组成数据流串。l C_HexString:以NULL结束的ASCII字符串,它由一系列的16进制字符组成(0-9,A(a)-F(f)l C_StringTime:表示时间的字符串,它为以下格式“YYMMDDhhmmsstnnp ,格式如下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.-(p)时间落后于 UTC time. l C_UnicodeString:Unicode编码的字符串。6.1 消息头语法字段长度(字节)类型Command Length4IntegerCommand ID4IntegerCommand_status4integerSequence No.4integerOptional Message Body可变混合具体字段描述说明:Command Length:整个包的长度(包括该字段本身)。 Command ID :这个字段表明该条短消息的类型,相当于标识符。例如 ESME_SUB_SM表示此消息为ESME向SMSC提交短 消息。当该标识符表示该条消息是请求消息(request) 时,标识符的保留取值范围是0h到FFh。当该标识符表 示该条消息是应答消息(response)时,标识符的保留 取值范围是080000000h到0800000FFh。一般来说, 应答消息的类型对应相应的请求消息的类型,所不同的 是,应答消息的类型在第31位比特处是
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号