关闭

关闭

关闭

封号提示

内容

首页 中国移动短信网关接口协议(CMPP)V2.1.doc

中国移动短信网关接口协议(CMPP)V2.1.doc

中国移动短信网关接口协议(CMPP)V2.1.doc

上传者: hmengji 2013-09-04 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《中国移动短信网关接口协议(CMPP)V2.1doc》,可适用于IT/计算机领域,主题内容包含中国移动通信互联短信网关接口协议中国移动通信互联网短信网关接口协议(ChinaMobilePeertoPeer,CMPP)(V)中国移动通信集团公司符等。

中国移动通信互联短信网关接口协议中国移动通信互联网短信网关接口协议(ChinaMobilePeertoPeer,CMPP)(V)中国移动通信集团公司年月目录前言范围缩略语网络结构CMPP功能概述协议栈通信方式长连接短连接本协议中涉及的端口号交互过程中的应答方式消息定义基本数据类型消息结构消息头格式(MessageHeader)信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义SP请求连接到ISMG(CMPPCONNECT)操作SP或ISMG请求拆除连接(CMPPTERMINATE)操作SP向ISMG提交短信(CMPPSUBMIT)操作SP向ISMG查询发送短信状态(CMPPQUERY)操作ISMG向SP送交短信(CMPPDELIVER)操作SP向ISMG发起删除短信(CMPPCANCEL)操作链路检测(CMPPACTIVETEST)操作互联网短信网关(ISMG)之间的消息定义源ISMG请求连接到目的ISMG(CMPPCONNECT)操作源ISMG请求拆除到目的ISMG的连接(CMPPTERMINATE)操作链路检测(CMPPACTIVETEST)操作源ISMG向目的ISMG转发短信(CMPPFWD)操作互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义ISMG请求连接到GNS或GNS请求连接到ISMG(CMPPCONNECT)操作ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接(CMPPTERMINATE)操作ISMG向汇接网关查询MT路由(CMPPMTROUTE)操作ISMG向汇接网关查询MO路由(CMPPMOROUTE)操作ISMG向汇接网关获取MT路由(CMPPGETMTROUTE)操作ISMG向汇接网关获取MO路由(CMPPGETMOROUTE)操作ISMG向汇接网关更新MT路由(CMPPMTROUTEUPDATE)操作ISMG向汇接网关更新MO路由(CMPPMOROUTEUPDATE)操作汇接网关向ISMG更新MT路由(CMPPPUSHMTROUTEUPDATE)操作汇接网关向ISMG更新MO路由(CMPPPUSHMOROUTEUPDATE)操作系统定义CommandId定义附录MO状态报告的产生修订历史前言本规范为中国移动通信集团公司企业规范简称CMPP现阶段版本是对版修订后形成的为版。本规范描述了中国移动短信业务中各网元(包括ISMG、GNS和SP)之间的相关消息的类型和定义。根据业务的发展规范中的信令操作和参数将会做进一步的调整和增加。本规范解释权属于中国移动通信集团公司。本规范起草单位:中国移动通信集团公司研发中心。本标准主要起草人:党京、孙若雯、于蓉蓉、袁向阳。范围本规范规定了以下三方面的内容:()信息资源站实体与互联网短信网关之间的接口协议()互联网短信网关之间的接口协议()互联网短信网关与汇接网关之间的接口协议。本规范适用于各SP和ISMG的开发厂商。缩略语英文缩写英文全称说明ISMGInternetShortMessageGateway互联网短信网关SMPPShortMessagePeertoPeer短消息点对点协议CMPPChinaMobilePeertoPeer中国移动点对点协议SMCShortMessageCenter短消息中心GNSGatewayNameServer网关名称服务器(汇接网关)SPServiceProvider业务提供者即信息资源站实体SMCShortMessageControlSP为收取包月业务费用而向网关发送的消息网关收到后不送给用户仅产生相应的话单ISMGIdSPIdSP的企业代码:网络中SP地址和身份的标识、地址翻译、计费、结算等均以企业代码为依据。企业代码以数字表示共位从“XY”至“XY”其中“XY”为各移动公司代码。SPCodeSP的服务代码:服务代码是在使用短信方式的点播类业务中提供给用户点播的内容应用服务提供商代码。服务代码以数字表示全国业务服务代码长度统一为位即“”-“”本地业务服务代码长度统一为位即“”-“”。ServiceIdSP的业务类型数字、字母和符号的组合由SP自定如图片传情可定为TPCQ股票查询可定义为。网络结构如图所示互联网短信网关(ISMG)是外部信息资源站实体(SP)与移动网内短信中心之间的中介实体互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信中心。另一方面移动用户点播SP业务的信息将由短信中心通过互联网短信网关发给SP。另外为了减轻短信中心的信令负荷互联网短信网关还应根据路由原则将SP提交的信息转发到相应的互联网短信网关。互联网短信网关通过向汇接网关(GNS)查询的方式获得网关间的转发路由信息。CMPP功能概述CMPP协议主要提供以下两类业务操作:()短信发送(ShortMessageMobileOriginateSMMO)典型的业务操作举例如图所示:)手机发出数据请求(可能是订阅信息或图片点播等)被归属ISMG接收)归属ISMG对接收到的信息返回响应)归属ISMG在本地查询不到要连接的SP向GNS(汇接网关)发路由请求信息)GNS将路由信息返回)归属ISMG根据路由信息将请求前转给接入ISMG)接入ISMG对接收到的信息返回响应)接入ISMG将请求信息送SP)SP返回响应在以上操作中步骤到步骤均使用CMPP协议在随后的操作中接入ISMG在接收到SP的响应后将产生MO状态报告发给归属ISMG。()短信接收(ShortMessageMobileTerminatedSMMT)典型的业务操作举例如图所示:)SP发出数据请求(可能是短信通知或手机铃声等)被接入ISMG接收)接入ISMG对接收到的信息返回响应)接入ISMG在本地数据库中找不到要目的手机号段所对应网关代码向GNS(汇接网关)发路由请求信息)汇接网关将路由信息返回)接入ISMG根据路由信息将请求前转给归属ISMG)归属ISMG对接收到的信息返回响应)归属ISMG将请求信息发送至SMC)SMC向归属ISMG返回响应在上述操作中步骤到步骤均使用CMPP协议在随后的操作中SMC将通过NO信令网向移动用户发送信息移动用户收到后将返回状态报告(DeliveryReceipt)给短信中心短信中心将按照MO操作的流程将状态报告返回给SP(如果SP要求返回状态报告)。协议栈CMPP协议以TCPIP作为底层通信承载具体结构由图所示:图CMPP协议栈通信方式SP与ISMG之间、ISMG之间进行信息交互时可以采用长连接方式也可以采用短连接方式现阶段建议均采用长连接的方式。所谓长连接指在一个TCP连接上可以连续发送多个数据包在TCP连接保持期间如果没有数据包发送需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时就建立一个TCP连接数据发送完成后则断开此TCP连接即每次TCP连接只完成一对CMPP消息的发送。长连接通信双方以客户服务器方式建立TCP连接用于双方信息的相互提交。当信道上没有数据传输时通信双方应每隔时间C发送链路检测包以维持此连接当链路检测包发出超过时间T后未收到响应应立即再发送链路检测包再连续发送N次后仍未得到响应则断开此连接。参数C、T、N原则上应可配置现阶段建议取值为:C=分钟T=秒N=。网关与SP之间、网关之间的消息发送后等待T秒后未收到响应应立即重发再连续发送N次后仍未得到响应则停发。现阶段建议取值为:T=秒N=。消息采用并发方式发送加以滑动窗口流量控制窗口大小参数W可配置现阶段建议为即接收方在应答前一次收到的消息最多不超过条。长连接的操作流程举例如图所示:图长连接操作流程短连接通信双方以客户服务器方式建立TCP连接应答与请求在同一个连接中完成。系统采用客户服务器模式操作以客户端驱动方式发起连接请求完成一次操作后关闭此连接。网关与SP之间、网关之间的消息发送后等待T秒后未收到响应应立即重发再连续发送N次后仍未得到响应则停发。现阶段建议取值为:T=秒N=。短连接的操作流程举例如图所示:图短连接的操作流程本协议中涉及的端口号端口号应用长连接(SP与网关间)短连接(SP与网关间或网关之间)长连接(网关之间)短连接(短信网关与汇接网关之间)交互过程中的应答方式在SP与ISMG之间、SMC与ISMG之间及ISMG之间的交互过程中均采用异步方式即任一个网元在收到请求消息后应立即回送响应消息。举例如图所示:图异步交互方式示意图消息定义基本数据类型UnsignedInteger无符号整数Integer整数可为正整数、负整数或零OctetString定长字符串位数不足时如果左补则补ASCII表示的零以填充如果右补则补二进制的零以表示字符串的结束符消息结构项目说明MessageHeaderMessageBody消息体消息头格式(MessageHeader)字段名字节数类型描述TotalLengthUnsignedInteger消息总长度(含消息头及消息体)CommandIdUnsignedInteger命令或响应类型SequenceIdUnsignedInteger消息流水号,顺序累加,步长为,循环使用(一对请求和应答消息的流水号必须相同)信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义SP为客户端向作为服务器端的ISMG发起连接请求在通过身份验证之后SP与ISMG之间方可进行数据传输。SP请求连接到ISMG(CMPP​CONNECT)操作CMPPCONNECT操作的目的是SP向ISMG注册作为一个合法SP身份若注册成功后即建立了应用层的连接此后SP可以通过此ISMG接收和发送短信。ISMG以CMPPCONNECTRESP消息响应SP的请求。CMPPCONNECT消息定义(SP(ISMG)字段名字节数属性描述SourceAddrOctetString源地址此处为SPId即SP的企业代码。AuthenticatorSourceOctetString用于鉴别源地址。其值通过单向MDhash计算得出表示如下:AuthenticatorSource=MD(SourceAddr字节的sharedsecrettimestamp)Sharedsecret由中国移动与源地址实体事先商定timestamp格式为:MMDDHHMMSS即月日时分秒位。VersionUnsignedInteger双方协商的版本号(高位bit表示主版本号,低位bit表示次版本号)TimestampUnsignedInteger时间戳的明文,由客户端产生,格式为MMDDHHMMSS即月日时分秒位数字的整型右对齐。CMPPCONNECTRESP消息定义(ISMG(SP)字段名字节数属性描述StatusUnsignedInteger状态:正确:消息结构错:非法源地址:认证错:版本太高~:其他错误AuthenticatorISMGOctetStringISMG认证码用于鉴别ISMG。其值通过单向MDhash计算得出表示如下:AuthenticatorISMG=MD(StatusAuthenticatorSourcesharedsecret)Sharedsecret由中国移动与源地址实体事先商定AuthenticatorSource为源地址实体发送给ISMG的对应消息CMPPConnect中的值。认证出错时此项为空。VersionUnsignedInteger服务器支持的最高版本号SP或ISMG请求拆除连接(CMPP​TERMINATE)操作CMPPTERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而发起的操作。此操作完成后SP与ISMG之间的应用层连接被释放此后SP若再要与ISMG通信时应发起CMPPCONNECT操作。ISMG或SP以CMPPTERMINATERESP消息响应请求。CMPP​TERMINATE消息定义(SP(ISMG或ISMG(SP)无消息体。CMPP​TERMINATERESP消息定义(SP(ISMG或ISMG(SP)无消息体。SP向ISMG提交短信(CMPP​SUBMIT)操作CMPPSUBMIT操作的目的是SP在与ISMG建立应用层连接后向ISMG提交短信。ISMG以CMPPSUBMITRESP消息响应。CMPP​SUBMIT消息定义(SP(ISMG)字段名字节数属性描述MsgIdUnsignedInteger信息标识由SP接入的短信网关本身产生本处填空。PktotalUnsignedInteger相同MsgId的信息总条数从开始PknumberUnsignedInteger相同MsgId的信息序号从开始RegisteredDeliveryUnsignedInteger是否要求返回状态确认报告::不需要:需要:产生SMC话单(该类型短信仅供网关计费使用不发送给目的终端)MsglevelUnsignedInteger信息级别ServiceIdOctetString业务类型是数字、字母和符号的组合。FeeUserTypeUnsignedInteger计费用户类型字段:对目的终端MSISDN计费:对源终端MSISDN计费:对SP计费:表示本字段无效对谁计费参见FeeterminalId字段。FeeterminalIdUnsignedInteger被计费用户的号码(如本字节填空则表示本字段无效对谁计费参见FeeUserType字段本字段与FeeUserType字段互斥)TPpIdUnsignedIntegerGSM协议类型。详细是解释请参考GSM中的TPudhiUnsignedIntegerGSM协议类型。详细是解释请参考GSM中的,仅使用位右对齐MsgFmtUnsignedInteger信息格式:ASCII串:短信写卡操作:二进制信息:UCS编码:含GB汉字。。。。。。MsgsrcOctetString信息内容来源(SPId)FeeTypeOctetString资费类别:对“计费用户号码”免费:对“计费用户号码”按条计信息费:对“计费用户号码”按包月收取信息费:对“计费用户号码”的信息费封顶:对“计费用户号码”的收费是由SP实现FeeCodeOctetString资费代码(以分为单位)ValIdTimeOctetString存活有效期格式遵循SMPP协议AtTimeOctetString定时发送时间格式遵循SMPP协议SrcIdOctetString源号码SP的服务代码或前缀为服务代码的长号码,网关将该号码完整的填到SMPP协议SubmitSM消息相应的sourceaddr字段该号码最终在用户手机上显示为短消息的主叫号码DestUsrtlUnsignedInteger接收信息的用户数量(小于个用户)DestterminalId*DestUsrtlOctetString接收短信的MSISDN号码MsgLengthUnsignedInteger信息长度(MsgFmt值为时:<个字节其它<=个字节)MsgContentMsglengthOctetString信息内容ReserveOctetString保留系统应该支持短信的群发功能关于短信群发功能的实现请参阅“附录短信群发功能的实现”。CMPP​SUBMITRESP消息定义(ISMG(SP)字段名字节数属性描述MsgIdUnsignedInteger信息标识生成算法如下:采用位(字节)的整数:()时间(格式为MMDDHHMMSS即月日时分秒):bit~bit其中bit~bit:月份的二进制表示bit~bit:日的二进制表示bit~bit:小时的二进制表示bit~bit:分的二进制表示bit~bit:秒的二进制表示()短信网关代码:bit~bit把短信网关的代码转换为整数填写到该字段中。()序列号:bit~bit顺序增加步长为循环使用。各部分如不能填满左补零右对齐。(SP根据请求和应答消息的SequenceId一致性就可得到CMPPSubmit消息的MsgId)ResultUnsignedInteger结果:正确:消息结构错:命令字错:消息序号重复:消息长度错:资费代码错:超过最大信息长:业务代码错:流量控制错:本网关不负责服务此计费号码:SrcId错误:Msgsrc错误:FeeterminalId错误:DestterminalId错误……SP向ISMG查询发送短信状态(CMPP​QUERY)操作CMPPQUERY操作的目的是SP向ISMG查询某时间的业务统计情况可以按总数或按业务代码查询。ISMG以CMPPQUERYRESP应答。CMPPQUERY消息的定义(SP(ISMG)字段名字节数属性描述TimeOctetString时间YYYYMMDD(精确至日)QueryTypeUnsignedInteger查询类别:总数查询:按业务类型查询QueryCodeOctetString查询码当QueryType为时此项无效当QueryType为时此项填写业务类型ServiceIdReserveOctetString保留CMPPQUERYRESP消息的定义(ISMG(SP)字段名字节数属性描述TimeOctetString时间(精确至日)QueryTypeUnsignedInteger查询类别:总数查询:按业务类型查询QueryCodeOctetString查询码MTTLMsgUnsignedInteger从SP接收信息总数MTTlusrUnsignedInteger从SP接收用户总数MTScsUnsignedInteger成功转发数量MTWTUnsignedInteger待转发数量MTFLUnsignedInteger转发失败数量MOScsUnsignedInteger向SP成功送达数量MOWTUnsignedInteger向SP待送达数量MOFLUnsignedInteger向SP送达失败数量ISMG向SP送交短信(CMPP​DELIVER)操作CMPPDELIVER操作的目的是ISMG把从短信中心或其它ISMG转发来的短信送交SPSP以CMPPDELIVERRESP消息回应。CMPPDELIVER消息定义(ISMG(SP)字段名字节数属性描述MsgIdUnsignedInteger信息标识生成算法如下:采用位(字节)的整数:()时间(格式为MMDDHHMMSS即月日时分秒):bit~bit其中bit~bit:月份的二进制表示bit~bit:日的二进制表示bit~bit:小时的二进制表示bit~bit:分的二进制表示bit~bit:秒的二进制表示()短信网关代码:bit~bit把短信网关的代码转换为整数填写到该字段中。()序列号:bit~bit顺序增加步长为循环使用。各部分如不能填满左补零右对齐。DestIdOctetString目的号码SP的服务代码一般位或者是前缀为服务代码的长号码该号码是手机用户短消息的被叫号码。ServiceIdOctetString业务类型是数字、字母和符号的组合。TPpidUnsignedIntegerGSM协议类型。详细解释请参考GSM中的TPudhiUnsignedIntegerGSM协议类型。详细解释请参考GSM中的仅使用位右对齐MsgFmtUnsignedInteger信息格式:ASCII串:短信写卡操作:二进制信息:UCS编码:含GB汉字SrcterminalIdOctetString源终端MSISDN号码(状态报告时填为CMPPSUBMIT消息的目的终端号码)RegisteredDeliveryUnsignedInteger是否为状态报告:非状态报告:状态报告MsgLengthUnsignedInteger消息长度MsgContentMsglengthOctetString消息内容ReservedOctetString保留项当ISMG向SP送交状态报告时信息内容字段(MsgContent)格式定义如下:字段名字节数属性描述MsgIdUnsignedInteger信息标识SP提交短信(CMPPSUBMIT)操作时与SP相连的ISMG产生的MsgId。StatOctetString发送短信的应答结果含义与SMPP协议要求中stat字段定义相同详见表一。SP根据该字段确定CMPPSUBMIT消息的处理状态。SubmittimeOctetStringYYMMDDHHMM(YY为年的后两位MM:DD:HH:MM:)DonetimeOctetStringYYMMDDHHMMDestterminalIdOctetString目的终端MSISDN号码(SP发送CMPPSUBMIT消息的目标终端)SMSCsequenceUnsignedInteger取自SMSC发送状态报告的消息体中的消息标识。表一Stat字段定义MessageStateFinalMessageStatesDescriptionDELIVEREDDELIVRDMessageisdeliveredtodestinationEXPIREDEXPIREDMessagevalidityperiodhasexpiredDELETEDDELETEDMessagehasbeendeletedUNDELIVERABLEUNDELIVMessageisundeliverableACCEPTEDACCEPTDMessageisinacceptedstate(iehasbeenmanuallyreadonbehalfofthesubscriberbycustomerservice)UNKNOWNUNKNOWNMessageisininvalidstateREJECTEDREJECTDMessageisinarejectedstateMA:xxxxMA:xxxxSMSC不返回响应消息时的状态报告MB:xxxxMB:xxxxSMSC返回错误响应消息时的状态报告CA:xxxxCA:xxxxSCP不返回响应消息时的状态报告CB:xxxxCB:xxxxSCP返回错误响应消息时的状态报告注意:.其中ACCEPTED为中间状态网关若从短信中心收到后应丢弃不做任何操作。.Stat字段长度为个字节填写时应填表一中FinalMessageStates中的缩写形式如状态为DELIVERED时填写DELIVRD依此类推。.SP等待状态报告缺省时间为小时。CMPPDELIVERRESP消息定义(SP(ISMG)字段名字节数属性描述MsgIdUnsignedInteger信息标识(CMPPDELIVER中的MsgId字段)ResultUnsignedInteger结果:正确:消息结构错:命令字错:消息序号重复:消息长度错:资费代码错:超过最大信息长:业务代码错:流量控制错~:其他错误SP向ISMG发起删除短信(CMPP​CANCEL)操作CMPPCANCEL操作的目的是SP通过此操作可以将已经提交给ISMG的短信删除ISMG将以CMPPCANCELRESP回应删除操作的结果。CMPPCANCEL消息定义(SP(ISMG)字段名字节数属性描述MsgIdUnsignedInteger信息标识(SP想要删除的信息标识)CMPPCANCELRESP消息定义(ISMG(SP)字段名字节数属性描述SuccessIdUnsignedInteger成功标识:成功:失败链路检测(CMPP​ACTIVETEST)操作本操作仅适用于通信双方采用长连接通信方式时用于保持连接。CMPPACTIVETEST定义(SP(ISMG或ISMG(SP)无消息体。CMPPACTIVETESTRESP定义(SP(ISMG或ISMG(SP)字段名字节数属性描述Reserved互联网短信网关(ISMG)之间的消息定义网关之间互为客户服务器任一方都可在需要时建立连接进行数据传输。源ISMG请求连接到目的ISMG(CMPP​CONNECT)操作消息定义同和所述。其中SourceAddr填源网关代码。源ISMG请求拆除到目的ISMG的连接(CMPP​TERMINATE)操作消息定义同和所述。链路检测(CMPP​ACTIVETEST)操作本操作仅用于通信双方采用长连接通信方式时保持连接。消息定义同和所述。源ISMG向目的ISMG转发短信(CMPP​FWD)操作CMPPFWD操作的目的是源ISMG可以根据一定的路由策略将SP提交的短信、MO状态报告、短信中心产生的状态报告、用户提交的短信转发到目的ISMG目的ISMG以CMPPFWDRESP回应。CMPPFWD定义(ISMG(ISMG)字段名字节数属性描述SourceIdOctetString源网关的代码(右对齐左补)DestinationIdOctetString目的网关代码(右对齐左补)NodesCountUnsignedInteger经过的网关数量MsgFwdTypeUnsignedInteger前转的消息类型:MT前转:MO前转:MT时的状态报告:MO时的状态报告MsgIdUnsignedInteger信息标识PktotalUnsignedInteger相同MsgId的消息总条数从开始PknumberUnsignedInteger相同MsgId的消息序号从开始RegisteredDeliveryUnsignedInteger是否要求返回状态确认报告:不需要:需要:产生SMC话单MsglevelUnsignedInteger信息级别ServiceIdOctetString业务类型FeeUserTypeUnsignedInteger计费用户类型字段:对目的终端MSISDN计费:对源终端MSISDN计费:对SP计费:表示本字段无效对谁计费参见FeeterminalId字段。FeeterminalIdUnsignedInteger被计费用户的号码(如本字节填空则表示本字段无效对谁计费参见FeeUserType字段。本字段与FeeUserType字段互斥)TPpidUnsignedIntegerGSM协议类型。详细解释请参考GSM中的TPudhiUnsignedIntegerGSM协议类型。详细解释请参考GSM中的,仅使用位右对齐MsgFmtUnsignedInteger信息格式:ASCII串:短信写卡操作:二进制信息:UCS编码:含GB汉字MsgsrcOctetString信息内容来源(SPIdSP的企业代码)FeeTypeOctetString资费类别:“短消息类型”为“发送”对“计费用户号码”不计信息费此类话单仅用于核减SP对称的信道费:对“计费用户号码”免费:对“计费用户号码”按条计信息费:对“计费用户号码”按包月收取信息费:对“计费用户号码”的信息费封顶:对“计费用户号码”的收费是由SP实现FeeCodeOctetString资费代码(以分为单位)ValidTimeOctetString有效期AtTimeOctetString定时发送的时间SrcIdOctetString源号码.MT时为SP的服务代码即CMPPSUBMIT消息中的SrcId。.MO时为发送此消息的源终端MSISDN号码。.MT状态报告时填接收到短信的终端MSISDN号码即对应CMPPSUBMIT消息中的DestTerminalId。.MO状态报告时填SP的服务代码即CMPPDELIVER中的DestId。DestUsrtlUnsignedInteger接收消息的用户数量DestId*DestUsrtlOctetString目的号码.MT转发时为目的终端MSISDN号码即对应CMPPSUBMIT消息中的DestTerminalId。.MO转发时为SP的服务代码一般位或者是前缀为服务代码的长号码该号码是手机用户短消息的被叫号码。.MT状态报告时填目的SP的服务代码即CMPPSUBMIT消息中的SrcId。.MO状态报告时填发送短信的移动用户MSISDN号码。MsgLengthUnsigned Integer消息长度MsgContentMsglengthOctetString消息内容Reserve保留注意:.当转发消息为MO状态报告时信息内容字段(MsgContent)格式定义如下:字段名字节数属性描述MsgIdUnsignedInteger信息标识给SP的CMPPDeliver消息中的MsgId与源网关转发MO消息时产生的MsgId相同。StatOctetStringSP的应答结果CMPPDELIVERRESP中Result为时填字符DELIVRD,其余值填REJECTD。CMPPDELIVERtimeOctetStringYYMMDDHHMM(YY为年的后两位MM:DD:HH:MM:)注:短信网关发出CMPPDELIVER的时间。CMPPDELIVERRESPtimeOctetStringYYMMDDHHMM注:短信网关收到CMPPDELIVERRESP的时间。DestIdReserved目的SP的服务代码左对齐。Reserved.当转发消息为MT状态报告时信息内容字段(MsgContent)格式同定义。CMPPFWDRESP定义(ISMG(ISMG)字段名字节数属性描述MsgIdUnsignedInteger信息标识(CMPPFWD中字段值)PktotalUnsignedInteger相同MsgId的消息总条数PknumberUnsignedInteger相同MsgId的消息序号ResultUnsignedInteger结果:正确:消息结构错:命令字错:消息序号重复:消息长度错:资费代码错:超过最大信息长:业务代码错:流量控制错:前转判断错(此SP不应发往本ISMG)~:其他错误互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义要求ISMG与GNS在信息交互时使用短连接的通信方式。ISMG与GNS可互为客户服务器。ISMG请求连接到GNS或GNS请求连接到ISMG(CMPPCONNECT)操作消息定义同和所述其中SourceAddr填源网关代码可能是ISMG代码或GNS代码。ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接(CMPP​TERMINATE)操作消息定义同和所述。ISMG向汇接网关查询MT路由(CMPPMTROUTE)操作CMPPMTROUTE操作用于ISMG不知道需要转发MT消息的路由时查询GNS。GNS以CMPPMTROUTERESP应答。CMPPMTROUTE消息定义(ISMG(GNS)字段名字节数属性描述SourceIdOctetString源网关代码TerminalIdOctetString目的终端MSISDN号码CMPPMTROUTERESP消息定义(GNS(ISMG)字段名字节数属性描述RouteIdUnsignedInteger路由编号(MOMT分别从开始,由GNS统一分配)DestinationIdOctetString目标网关代码GatewayIPOctetString目标网关IP地址(地址格式举例:左对齐)GatewayportUnsignedInteger目标网关IP端口StartIdOctetStringMT路由起始号码段EndIdOctetStringMT路由截止号码段AreacodeOctetString手机所属省代号ResultUnsignedInteger结果:正常:没有匹配路由:源网关代码错:系统繁忙UsertypeUnsignedInteger用户类型:全球通:神州行:MZone…TimestampOctetString本路由信息的最后修改时间格式是:yyyymmddhhmmss例如ISMG向汇接网关查询MO路由(CMPPMOROUTE)操作CMPPMOROUTE操作的目的是使ISMG当不知道需要转发MO消息的路由时可向GNS查询得到。GNS以CMPPMOROUTERESP应答。CMPPMOROUTE消息定义(ISMG(GNS)字段名字节数属性描述SourceIdOctetString源网关代码SPCodeOctetStringSP的服务代码ServiceIdOctetString请求的业务类型(此项适合全网服务内容如梦网卡图片传情)ServiceCodeUnsignedInteger请求的业务代码(如果未置ServiceId字段此字段为空如梦网卡图片传情TPCQ对应某个网站的某些相应图片)CMPPMOROUTERESP消息定义(GNS(ISMG)字段名字节数属性描述RouteIdUnsignedInteger路由编号(MOMT分别从开始,由GNS统一分配)DestinationIdOctetString目标网关代码GatewayIPOctetString目标网关IP地址GatewayportUnsignedInteger目标网关IP端口SPIdOctetStringSP的企业代码SPCodeOctetStringSP的服务代码SPAcessTypeUnsignedIntegerSP接入类型:全网业务SP全网接入即接入网关为SP的主力接入点:全网业务SP镜像接入即接入网关为SP的镜像接入点StartcodeUnsignedIntegerMO路由起始业务代码(如果未置请求的ServiceId字段此字段为空)EndcodeUnsignedIntegerMO路由截止业务代码(如果未置请求的ServiceId字段此字段为空)ResultUnsignedInteger结果:正常:没有匹配路由:源网关服务代码错:系统繁忙TimestampOctetString本路由信息的最后修改时间格式是:yyyymmddhhmmss例如ISMG向汇接网关获取MT路由(CMPPGETMTROUTE)操作CMPPGETMTROUTE操作的目的是使ISMG可向GNS查询MT的路由信息。GNS以CMPPGETMTROUTERESP消息回应。CMPPGETMTROUTE消息定义(ISMG(GNS)字段名字节数属性描述SourceIdOctetString源网关代码RoutetypeOctetString路由类型MT:MT路由(考虑今后的扩展性故保留此字段)LastrouteIdInteger已经接收的上一条路由编号(第次发送此请求时LastrouteId=)CMPPGETROUTERESP消息定义(GNS(ISMG)字段名字节数属性描述RouteIdUnsignedInteger路由编号(MOMT分别从开始,由GNS统一分配)DestinationIdOctetString目标网关代码GatewayIPOctetString目标网关IP地址GatewayportUnsignedInteger目标网关IP端口StartIdOctetString手机号码段的起始号码EndIdOctetString手机号码段的截止号码AreacodeOctetString

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/41
1下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部