




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国网络通信集团公司企业标准PHS短消息网关技术规范第一分册短消息网关与服务提供商(SP)接口规范(CNGP)V20II目录前言11适用范围22引用标准23缩略语24CNGP概述341CNGP功能描述342协议栈343通信方式3431长连接4432短连接6433交互过程中的应答方式7434端口号744通信流程7441CNGP登录模式7442SP发送短消息8443SP接收短消息8444SMGW转发短消息945编号规则105CNGP消息定义1251基本数据类型1252消息结构1253消息头格式1254SP与SMGW之间的消息定义13541LOGIN13542LOGIN_RESP14543SUBMIT15第III页544SUBMIT_RESP16545DELIVER16546DELIVER_RESP17547ACTIVE_TEST18548ACTIVE_TEST_RESP18549EXIT185410EXIT_RESP1855SMGW与SMGW之间的消息定义18551LOGIN19552LOGIN_RESP19553ACTIVE_TEST20554ACTIVE_TEST_RESP20555FORWARD20556FORWARD_RESP22557EXIT22558EXIT_RESP236状态报告格式2461MO的状态报告2462MT的状态报告257CNGP编码说明2671短消息格式代码表2672短消息状态表2673ERR错误代码表3174STATUS错误代码表3275TLV说明表338基于CNGP的API函数35附录A基于CNGP协议的API函数说明36IV第5页前言本标准描述了PHS短消息网关(SMGW)和服务提供商(SP)之间、短消息网关(SMGW)和短消息网关(SMGW)之间的通信协议。本协议简称CNGP(CHINANETCOMSHORTMESSAGEGATEWAYPROTOCOL)。本标准是PHS短消息网关技术规范的系列规范之一,该系列规范的名称如下PHS短消息网关技术规范第一分册短消息网关与服务提供商(SP)接口规范(CNGP);PHS短消息网关技术规范第二分册短消息网关与计费中心接口规范;PHS短消息网关技术规范第三分册短消息中心外部接口协议CNPP;PHS短消息网关技术规范第四分册短消息网关设备规范;PHS短消息网关技术规范V20说明。1适用范围本规范适用于短消息网关(SMGW)开发商和短消息服务提供商(SP)。2引用标准SMPPSHORTMESSAGEPEERTOPEERPROTOCOLSPECIFICATIONV343缩略语英文缩写英文全称说明SMGWSHORTMESSAGEGATEWAY短消息网关SMPPSHORTMESSAGEPEERTOPEER短消息点对点协议SMSCSHORTMESSAGESERVICECENTER短消息中心6SPSERVICEPROVIDER服务提供商TLVTAGLENGTHVALUE由TAG/LENGTH/VALUE三参数定义变量MOMESSAGEORIGINATION用户发送短消息到SP的上行过程MTMESSAGETERMINATIONSP发送短消息到用户的下行过程PSCPREPAIDSERVICECENTER预付费中心CRCHARGEREQUESTSP为收取业务费用而向短消息网关发送的消息,短消息网关收到消息后不送给用户,仅产生相应的话单第7页4CNGP概述41CNGP功能描述CNGP标准是SP与SMGW,以及SMGW与SMGW之间的通信标准。CNGP可以实现以下功能1SP通过SMGW向用户发送短消息,例如邮件通知、天气预报等。2短消息用户向SP点播信息,例如查询股票信息、航班信息等。3SP以某个短消息用户的身份向其他短消息用户发送信息。4短消息用户发送的短消息通过SMGW转发给异地或异网的短消息用户。注异网是指其他运营商的网络,以下同。42协议栈CNGP标准以TCP/IP作为底层通信承载,具体结构由图41所示图41CNGP协议栈43通信方式SP与SMGW之间、SMGW与SMGW之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测消息以维持此连接。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一CNGPTCPIP底层承载SMGWCNGPTCPIP底层承载CNGP/CNPPTCPIP底层承载CNPPTCPIP底层承载SMGWSPSMSC8对CNGP消息的发送。431长连接通信双方以客户服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C发送链路检测消息以维持此连接,当链路检测消息发出超过时间T后未收到应答,应立即再发送链路检测消息,再连续发送N1次后仍未得到应答则断开此连接。参数C、T、N原则上应可配置,现阶段建议取值为C3分钟,T60秒,N3。SMGW与SP之间、SMGW与SMGW之间的消息发送后等待T秒后未收到应答,应立即重发,再连续发送N1次后仍未得到应答则停发。现阶段建议取值为T60秒,N3。消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建议为16,即接收方在应答前一次收到的消息最多不超过16条。长连接的操作流程举例如图42所示第9页图42长连接一次操作流程建立TCP连接滑动窗口不大于WWCNGP消息1客户端服务器端CNGP消息2对CNGP消息1的应答对CNGP消息2的应答链路检测消息链路检测消息应答建立TCP连接链路检测消息链路检测消息应答拆除TCP连接建立TCP连接10432短连接通信双方以客户服务器方式建立TCP连接,应答与请求在同一个连接中完成。系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。SMGW与SP之间、SMGW与SMGW之间的消息发送后等待T秒后未收到应答,应根据重发机制进行重发,再连续发送N1次后仍未得到应答则停发。现阶段建议取值为T60秒,N3。短连接的操作流程举例如图43所示图43短连接的操作流程对CNGP消息1的应答CNGP消息1建立TCP连接拆除TCP连接CNGP消息2对CNGP消息2的应答建立TCP连接拆除TCP连接建立TCP连接客户端/服务器端服务器/客户端第11页433交互过程中的应答方式在SP与SMGW及SMGW与SMGW之间的交互过程中均采用异步方式,即任一个网元在收到请求消息后应立即回送应答消息。每个网元单独产生并匹配MSGID。举例如图44所示图44异步交互方式示意图434端口号端口号应用9890长连接(SP与SMGW之间)9900短连接(SP与SMGW或SMGW与SMGW之间)9930长连接(SMGW与SMGW之间)9001长连接(SMGW与预付费平台之间)44通信流程441CNGP登录模式在CNGP标准的一个会话中客户端可以采用三种登录方式与服务器端相连发送模式(TRANSMITMODE)、接收模式(RECEIVEMODE)和收发模式SMSCSMGW1SMGW2SPCNPP请求消息CNPP应答消息CNGP请求消息CNGP应答消息CNGP请求消息CNGP应答消息12(TRANSCEIVERMODE)。在发送模式中客户端只能发送短消息、在接收模式中客户端只能接收短消息、在收发模式中客户端既可以发送也可以接收短消息。三种模式均可以采用长连接与短连接两种连接方式的一种,根据实际情况选择。442SP发送短消息SP以发送者或者是收发者身份登录后,就可以发送短消息。SP可以不等待上一个短消息的应答消息,就发送下一个短消息。LOGINLOGIN_RESPSUBMIT1SUBMIT2SUBMIT_RESP1SUBMIT_RESP2EXITEXIT_RESPSPSMGW图45SP发送短消息443SP接收短消息SP以接收者或者是收发者身份登录后,SMGW向SP发送短消息,SMGW可以不等待上一个短消息的应答消息,就发送下一个短消息。第13页LOGINLOGIN_RESPDELIVER1DELIVER2DELIVER_RESP1DELIVER_RESP2EXITEXIT_RESPSPSMGW图46SP接收短消息444SMGW转发短消息SMGW需要把异地或异网短消息转发到相应的SMGW,在转发短消息之前SMGW需要通过对方SMGW认证。14LOGINLOGIN_RESPFORWARD1FORWARD2FORWARD_RESP1FORWARD_RESP2EXITEXIT_RESPSMGWSMGW图47SMGW转发短消息45编号规则在整个SMGW系统中所有的通信节点(SMGW、SP和SMSC)都有一个唯一的数字编号,不同的SP、SMSC或SMGW编号不能相同,编号由系统管理人员负责分配,由集团统一管理,编号规则如下SMGW的编号规则1AAAXYSMSC的编号规则2AAAXYSP企业的编号规则3AAAQQQQQQ其中,AAA表示三位长途区号不足三位的长途区号右对齐左补零,XY表示从00到99的序号,QQQQQQ表示6位企业代码。SP服务的编号规则服务代码是在使用短消息方式的点播类业务中,提供给用户点播的短消息服务代码。服务代码以前缀4位数字表示,全国业务服务代码长度统一为8位,即前缀“1000”“9999”,其中前缀为“1061”“1069”,由集团统一分配;本地业务服务代码长度统一为9位,即前缀“01000”“09999”,其中前缀为“1061”“1069”,后五位数字由各省自行分配。第15页SP业务的编号规则SP的业务类型,数字、字母和符号的组合,由SP自定,如图片传情可定为TPCQ,股票查询可定义为11。最大长度为10字节。165CNGP消息定义51基本数据类型类型说明INTEGER整数,长度根据具体协议确定,多字节情况下高字节在前UNSIGNEDINTEGER无符号整数OCTETSTRING定长字符串,位数不足时左对齐,右补二进制的零52消息结构项目说明格式MESSAGEHEADER消息头(所有消息公共包头)定长MESSAGEBODY消息体(必选部分)变长MESSAGEBODY消息体(可选部分)TLV53消息头格式字段名字节数类型描述TOTAL_LENGTH4UNSIGNEDINTEGER消息总长度含消息头及消息体COMMAND_ID4UNSIGNEDINTEGER命令标识COMMAND_STATUS4UNSIGNEDINTEGER命令状态(参见74STATUS错误代码表)SEQUENCE_ID4UNSIGNEDINTEGER消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同)第17页54SP与SMGW之间的消息定义请求名称请求标识消息方向说明LOGIN0X00000001SPSMGW登录请求LOGIN_RESP0X80000001SPSMGW登录请求的应答SUBMIT0X00000002SPSMGWSP发送短消息请求SUBMIT_RESP0X80000002SPSMGWSP发送短消息请求的应答DELIVER0X00000003SMGWSPSMGW发送短消息请求DELIVER_RESP0X80000003SMGWSPSMGW发送短消息的应答ACTIVE_TEST0X00000004SPSMGW测试通信链路是否正常请求(由客户端发起,SP和SMGW可以通过定时发送此请求来维持连接)ACTIVE_TEST_RESP0X80000004SPSMGW测试通信链路是否正常的应答EXIT0X00000006SPSMGW退出请求EXIT_RESP0X80000006SPSMGW退出请求的应答541LOGIN字段长度(字节)数据类型说明CLIENTID10OCTETSTRINGSMGW设置的SP接入标识AUTHENTICATORCLIENT16OCTETSTRING客户端密码用于鉴别客户端的接入请求。其值通过单向MD5HASH计算得出,表示如下AUTHENTICATORCLIENTMD5(CLIENTID7字节的二进制018SHAREDSECRETTIMESTAMP)SHAREDSECRET由服务器端与客户端事先商定的,最长15字节,TIMESTAMP格式为MMDDHHMMSS,即月日时分秒,10位LOGINMODE1INTEGER登录类型(0发送短消息,1接收短消息,2收发短消息,其他保留)TIMESTAMP4INTEGER时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐VERSION1INTEGER客户端支持的版本号高位4BIT表示主版本号,低位4BIT表示次版本号542LOGIN_RESP字段长度(字节)数据类型说明AUTHENTICATORSERVER16OCTETSTRING服务器端认证码,当客户端认证出错时,此项为空其值通过单向MD5HASH计算得出,表示如下AUTHENTICATORSERVERMD5STATUSAUTHENTICATORCLIENTSHAREDSECRETSHAREDSECRET由服务器端与客户端事先商定,最长15字节AUTHENTICATORCLIENT为客户端发送给服务器端的上一条消息LOGIN中的值VERSION1INTEGER服务器支持的最高版本号第19页543SUBMIT字段长度(字节)数据类型说明SPID10INTEGERSP的企业代码SUBTYPE1INTEGER短消息子类型(0取消订阅,1订阅或点播请求,2点播下发,3订阅下发,其他保留)NEEDREPORT1INTEGER是否要求返回状态报告(0不要求,1要求)PRIORITY1INTEGER发送优先级(从0到3)3为最高级SERVICEID10OCTETSTRING业务类型FEETYPE2OCTETSTRING资费类型00免费01按条收费02包月03封顶04包月扣费请求05CR话单其他保留FEEUSERTYPE1OCTETSTRING计费用户类型字段0对目的终端计费1对源终端计费2对SP计费3按照计费用户号码计费其他保留20FEECODE6OCTETSTRING每条短消息的信息费,单位分MSGFORMAT1OCTETSTRING短消息格式(参见短消息格式代码表71)VALIDTIME17OCTETSTRING有效时间,(格式参照SMPP34协议)ATTIME17OCTETSTRING定时发送时间,(格式参照SMPP34协议)SRCTERMID21OCTETSTRING短消息发送用户号码CHARGETERMID21OCTETSTRING计费用户号码DESTTERMIDCOUNT1INTEGER短消息接收号码总数(100)DESTTERMID21DESTTERMCOUNTOCTETSTRING短消息接收号码(连续存储DESTTERMIDCOUNT个号码)MSGLENGTH1UNSIGNEDINTEGER短消息长度MSGCONTENT254OCTETSTRING短消息内容PROTOCOLIDTLV协议标识(参见TLV说明表75)544SUBMIT_RESP字段长度(字节)数据类型说明MSGID10OCTETSTRINGSMGW产生的短消息流水号,由三部分组成SMGW代码3字节(BCD码)时间4字节(BCD码)序列号3字节(BCD码)第21页CONGESTIONSTATETLV流量控制(参见TLV说明表75)545DELIVER字段长度(字节)数据类型说明MSGID10OCTETSTRINGSMGW产生的短消息流水号,由三部分组成SMGW代码3字节(BCD码)时间4字节(BCD码)序列号3字节(BCD码)ISREPORT1INTEGER是否状态报告0不是1是MSGFORMAT1INTEGER短消息格式(参见短消息格式代码表71)RECVTIME14OCTETSTRING短消息接收时间(格式YYYYMMDDHHMMSS,例如20010301200000)SRCTERMID21OCTETSTRING短消息发送用户号码DESTTERMID21OCTETSTRING短消息接收用户号码MSGLENGTH1UNSIGNEDINTEGER短消息长度MSGCONTENT254OCTETSTRING短消息内容PROTOCOLIDTLV协议标识(参见TLV说明表2275)546DELIVER_RESP字段长度(字节)数据类型说明MSGID10OCTETSTRINGSMGW产生的短消息流水号,由三部分组成SMGW代码3字节(BCD码)时间4字节(BCD码)序列号3字节(BCD码)CONGESTIONSTATETLV流量控制(参见TLV说明表75)547ACTIVE_TEST无消息体。548ACTIVE_TEST_RESP无消息体。549EXIT无消息体。5410EXIT_RESP无消息体。第23页55SMGW与SMGW之间的消息定义请求名称请求标识说明LOGIN0X00000001SMGW登录请求LOGIN_RESP0X80000001SMGW登录请求的应答ACTIVE_TEST0X00000004测试通信链路是否正常请求(由客户端发起,SMGW和SMGW可以通过定时发送此请求来维持连接)ACTIVE_TEST_RESP0X80000004测试通信链路是否正常的应答FORWARD0X00000005SMGW转发短消息请求FORWARD_RESP0X80000005SMGW转发短消息的应答EXIT0X00000006退出请求EXIT_RESP0X80000006退出请求的应答551LOGIN字段长度(字节)数据类型说明CLIENTID10OCTETSTRING此处为源SMGW代码AUTHENTICATORCLIENT16OCTETSTRING客户端密码用于鉴别客户端的接入请求。其值通过单向MD5HASH计算得出,表示如下AUTHENTICATORCLIENTMD5(CLIENTID7字节的二进制0SHAREDSECRETTIMESTAMP)SHAREDSECRET由服务器端与客户端事先商定的,最长15字节,TIMESTAMP格式为24MMDDHHMMSS,即月日时分秒,10位LOGINMODE1INTEGER登录类型(0发送短消息,1接收短消息,2收发短消息,其他保留)TIMESTAMP4INTEGER时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐VERSION1INTEGER客户端支持的版本号高位4BIT表示主版本号,低位4BIT表示次版本号552LOGIN_RESP字段长度(字节)数据类型说明AUTHENTICATORSERVER16OCTETSTRING服务器端认证码,当客户端认证出错时,此项为空其值通过单向MD5HASH计算得出,表示如下AUTHENTICATORSERVERMD5STATUSAUTHENTICATORCLIENTSHAREDSECRETSHAREDSECRET由服务器端与客户端事先商定,最长15字节AUTHENTICATORCLIENT为客户端发送给服务器端的上一条消息LOGIN中的值VERSION1INTEGER服务器支持的最高版本号553ACTIVE_TEST无消息体。第25页554ACTIVE_TEST_RESP无消息体。555FORWARD字段长度(字节)数据类型说明MSGID10OCTETSTRINGSMGW产生的短消息流水号,由三部分组成SMGW代码3字节(BCD码)时间4字节(BCD码)序列号3字节(BCD码)DESTSMGWNO6OCTETSTRING目标SMGW代码SRCSMGWNO6OCTETSTRING源SMGW代码SMSCNO6OCTETSTRING源SMSC代码SMTYPE1INTEGER短消息类型(0PHS用户发到SP的MO,1PHS用户发到异网用户,2SP发到PHS用户的MT,3异网用户发到PHS用户,4同一二级SMGW下的不同SMSC之间的点对点,5异省点到点,其他保留)SUBTYPE1INTEGER短消息子类型(0取消订阅,1订阅或点播请求,2点播下发,3订阅下发,其他保留)26REPORTFLAG1INTEGER状态报告标志(0是状态报告,1要求状态报告,2不要求状态报告,其他保留)PRIORITY1INTEGER发送优先级(从0到3)3为最高级SERVICEID10OCTETSTRING业务类型FEETYPE2OCTETSTRING资费类型00免费01按条收费02包月03封顶04包月扣费请求05CR话单其他保留FEECODE6OCTETSTRING每条短消息的信息费,单位分MSGFORMAT1INTEGER短消息格式(参见短消息格式代码表71)VALIDTIME17OCTETSTRING有效时间,(格式参照SMPP34协议)ATTIME17OCTETSTRING定时发送时间,(格式参照SMPP34协议)SRCTERMID21OCTETSTRING短消息发送用户号码DESTTERMID21OCTETSTRING短消息接收号码CHARGETERMID21OCTETSTRING表示“计费用户号码”;一级网关与二级网关把此字段作为第27页计费号码标识并触发计费。MSGLENGTH1UNSIGNEDINTEGER短消息长度MSGCONTENT254OCTETSTRING短消息内容NODESCOUNT1INTEGER经过SMGW的数量PROTOCOLIDTLV协议标识(参见TLV说明表75)556FORWARD_RESP字段长度(字节)数据类型说明MSGID10OCTETSTRINGSMGW产生的短消息流水号,由三部分组成SMGW代码3字节(BCD码)时间4字节(BCD码)序列号3字节(BCD码)CONGESTIONSTATETLV流量控制(参见TLV说明表75)557EXIT无消息体。558EXIT_RESP无消息体。286状态报告格式61MO的状态报告目的SMGW向源SMGW通知SP接收情况的状态报告,即MO的状态报告,信息内容字段(MSGCONTENT)格式定义“IDIIIIIIIIIISUBSSSDLVRDDDDDELIVERTIMEYYMMDDHHMMDONE_TIMEYYMMDDHHMMSTATDDDDDDDERRETXT”。其中各字段的定义如下表所示字段长度(字节)数据类型说明ID10OCTETSTRING状态报告对应原短消息的MSGIDSUB3OCTETSTRING取缺省值001DLVRD3OCTETSTRING取缺省值001DELIVERTIME10OCTETSTRINGYYMMDDHHMM(YY为年的后两位0099,MM0112,DD0131,HH0023,MM0059)注短消息网关发出DELIVER的时间DONE_TIME10OCTETSTRINGYYMMDDHHMM注短消息网关收到DELIVER_RESP的时间STAT7OCTETSTRING短消息状态(参见第72节短消息状态表)ERR3OCTETSTRING参见第73节ERR错误代码表TXT20OCTETSTRING前3个字节,表示短消息长度(用ASCII码表示),后17个字节表示短消息的内容(保第29页证内容不出现乱码)后补零62MT的状态报告当SMGW向SP送交状态报告时,即MT的状态报告,信息内容字段(MSGCONTENT)格式定义“IDIIIIIIIIIISUBSSSDLVRDDDDSUBMIT_DATEYYMMDDHHMMDONE_DATEYYMMDDHHMMSTATDDDDDDDERRETXT”。其中各字段的定义如下表所示字段长度(字节)数据类型说明ID10OCTETSTRING上次提交到SMSC的短消息编号SUB3OCTETSTRING取缺省值001DLVRD3OCTETSTRING取缺省值001SUBMIT_DATE10OCTETSTRINGSMGW提交短消息到SMSC的时间,时间格式为YYMMDDHHMMDONE_DATE10OCTETSTRING短消息产生状态报告时间时间格式为YYMMDDHHMMSTAT7OCTETSTRING短消息状态(参见第72节短消息状态表)ERR3OCTETSTRING错误码,参见第73节ERR错误代码表TXT20OCTETSTRING前3个字节,表示短消息长度(用ASCII码表示),后17个字节表示短消息的内容(保证内容不出现乱码)注状态报告在SMSC产生,SMGW接收状态报告时,修改状态报告中的MSGID并转发。异网用户发到PHS用户、同一二级SMGW下的不同SMSC之间的点对点、异省点到点的短消息状态报告均遵照MT的状态报告格式。状态报告的SMTYPE按照普通短消息来填写,即按照消息传送方向填写,如30MO的状态报告消息的SMTYPE填写2,MT的状态报告消息的SMTYPE填为0,PHS用户发到异网用户消息的状态报告SMTYPE填写3,异网用户发到PHS用户消息的状态报告SMTYPE填写1,同一二级SMGW下的不同SMSC之间的点对点消息状态报告填写4,异省省点到点消息状态报告填写5。状态报告消息中除了MSGCONTENT和SMTYPE按照定义来填写,其余字段可以看作没有明确定义取值的字段,整型字段取0,OCTETSTRING取NULL。7CNGP编码说明71短消息格式代码表代码含义0ASCII编码3保留4二进制短消息8UCS2编码15GB2312编码72短消息状态表状态名状态值字符串说明DELIVEREDDELIVRD短消息转发成功EXPIREDEXPIRED短消息超过有效期DELETEDDELETED短消息已经被删除UNDELIVERABLEUNDELIV短消息是不可转发的ACCEPTEDACCEPTD短消息已经被最终用户接收(为保持与SMPP兼容,保留)UNKNOWNUNKNOWN未知短消息状态REJECTEDREJECTD短消息被拒绝为保持与SMPP兼容,保留第31页CAXXXXCAXXXXSMGW向PSC发送计费请求时,因为发送失败、网络原因、PSC超时等原因造成的SMGW未接收到PSC应答消息,SMGW生成的状态报告中STATUS字段的取值,其中XXXX为SMGW认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值见对XXXX的说明CBYYYYCBYYYYSMGW向PSC发送计费请求时,接收到PSC的应答消息表明计费失败,SMGW生成的状态报告中的STATUS字段的取值,其中YYYY为PSC返回给SMGW的错误码,其长度为4位,不足4位在前面补0,具体值参见对YYYY的说明MAXXXXMAXXXXSMGW向SMSC发送短消息时,因为发送失败、网络原因、SMSC超时等原因造成的SMGW未接收到SMSC应答消息,SMGW生成的状态报告中的STATUS字段的取值,其中XXXX为SMGW认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见对XXXX的说明MBZZZZMBZZZZSMGW向SMSC发送短消息时,接收到SMSC的应答消息表明SMSC处理消息失败,SMGW生32成的状态报告中的STATUS字段的取值,其中ZZZZ为SMSC返回给SMGW的错误码,其长度为4位,不足4位在前面补0,具体值参见对ZZZZ的说明1、XXXX的定义XXXX的值(4位,不足4位前面补0)含义0051尚未建立连接0052尚未成功登录0053发送消息失败0054超时未接收到应答消息01000499厂家自定义的错误码其它保留未用2、YYYY的定义YYYY的值(4位,不足4位前面补0)含义0001非预付费用户0002数据库操作失败0003鉴权失败0004超过最大错误次数0005PHS用户帐户数据异常0006服务没有激活0007用户余额不足0008超过包月费用上限0009超过最高欠费额0010用户已注册该项服务0011用户没有注册该项服务0014未登记的SMGW第33页0015SMGW登录摘要错误0016参数错误0017服务器端数据未传完0018重复发送消息序列号MSGID相同的计费请求消息0020未知错误0021数据库错误0022SP互联失败0023数值越界0024字段超长0025无相关数据0026数据重复0040未登记的SP0041SP帐户状态异常0042SP无权限0043SP帐户已存在0044未登记的SP业务类型0045SP业务类型数据异常0046SP业务类型已存在0052保留0053保留0054保留0055签约信息已存在0056签约信息不存在0057签约数据异常0061月消费超额0062单笔消费超额0063用户拒绝0064短消息编号已存在340065对应扣费请求不存在0066扣费请求已被确认0067未定义的计费类型0068未定义的编码方式01000499厂家自定义的错误码其它保留未用3、ZZZZ的定义ZZZZ的值(4位,不足4位前面补0)含义0X000000010X0000000F保留给SMSC厂商定义错误0X00000010消息长度错误0X00000011命令长度错误0X00000012消息ID无效0X00000013没有执行此命令的权限0X000000140X0000001F保留0X00000020无效的SYSTEMID0X00000021无效的密码0X00000022无效的SYSTEMTYPE0X000000230X0000003F保留0X00000040地址错误0X00000041超过最大提交数0X00000042超过最大下发数0X00000043无效的用户0X00000044无效的数据格式0X00000045创建消息失败0X00000046无效的MSGID0X00000047数据库失败0X00000048取消消息失败第35页0X00000049短消息状态错误0X0000004A替换消息失败0X0000004B替换消息源地址错误0X0000004C0X0000005F保留0X00000060保留0X00000061保留0X00000062源地址错误0X00000063保留0X00000064保留0X00000065目的地址错误0X00000066无效的定时时间0X00000067无效的超时时间0X00000068无效的ISREPORT0X00000069保留0X0000006A无效的PRI0X0000006B无效的NEEDREPORT0X0000006C保留0X0000006D0X0000007F保留0X00000080指定用户已经存在0X00000081创建用户失败0X00000082用户ID错误0X00000083指定用户不存在0X000000840X0000008F保留0X000000900X00000FFF保留给SMSC厂商定义错误其他保留3、PSC常见的错误情况1状态报告STAT为CB0005表示PHS后付费用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务;2状态报告STAT为CB0007表示PHS预付费用户因为余额不足而导致用36户无法享受服务;3状态报告STAT为EXPIRED表示因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上;4状态报告STAT为UNDELIVERABLE表示PHS后付费用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务。73ERR错误代码表状态值字符串说明对应状态000成功DELIVRD001用户不能通信EXPIRED002用户忙EXPIRED003终端无此部件号UNDELIV004非法用户UNDELIV005用户在黑名单内UNDELIV006系统错误UNDELIV007用户内存满EXPIRED008非信息终端UNDELIV009数据错误UNDELIV010数据丢失UNDELIV注没有的错误类型一律用系统错误,即006。用ERR还是STAT判断要说明。74STATUS错误代码表代码含义0成功1系统忙2超过最大连接数第37页39保留10消息结构错11命令字错12序列号重复1319保留20IP地址错21认证错22版本太高23非法FEEUSERTYPE24非法SUBTYPE25NODESCOUNT超过阈值26非法MSGID2729保留30非法消息类型(SMTYPE)31非法优先级(PRIORITY)32非法资费类型(FEETYPE)33非法资费代码(FEECODE)34非法短消息格式(MSGFORMAT)35非法时间格式36非法短消息长度(MSGLENGTH)37有效期已过38非法查询类别(QUERYTYPE)39路由错误40帐户不存在41余额不足42帐户不可用43非预付费用户44127保留128255厂家自定义3875TLV说明表1TAG值定义如下标签标签值描述PROTOCOLID0X0100协议标识CONGESTIONSTATE0X0428拥塞状态2具体定义A协议标识,缺省0字段长度字节类型描述PARAMETERTAG2INTEGER0X0100LENGTH2INTEGERVALUE实际长度VALUE1INTEGER协议标识B拥塞状态,缺省0字段长度(字节)类型描述PARAMETERTAG2INTEGER0X0428LENGTH2INTEGERVALUE实际长度VALUE1INTEGER0空闲129低负荷3049中负荷5079高负荷8090最合适的负荷9099接近拥塞100拥塞第39页8基于CNGP的API函数详见附录A。40附录A基于CNGP协议的API函数说明提示的附录A1基本要求A11安装SMGW需要提供API软件包,解压到指定目录下后可以修改配置文件,配置参数至少包括SPID(SP编号)、SPSHAREKEY(SP密码)、CLIENTIP(客户主机的IP地址)和SERVERIP(SMGW地址)。A12例子程序SMGW至少应该提供以下例程,供SP调试使用,分别为CONNECT(参数),检查是否能够成功登录SMGW;TESTAPI(参数),检查是否能够成功连接SMGW。SETKEY(参数),修改SP密码。SENDSM(参数)尝试发送短消息。RECVSM(参数)尝试接收短消息等。RECVSMREPORT(参数),尝试接收短消息状态报告。A13操作系统平台要求SMGW提供的API软件包至少要求支持以下操作系统平台FREEBSD3X,42SOLARIS56,57,58包含X86LINUX(REDHAT和SLACK等主流产品)WINDOWSNT/2000等SMGW提供的API软件包至少要求支持以下编程语言C/CJAVA第41页A2API数据结构说明(以C语言为例)A21接收短消息的返回数据结构(DELIVERRESP)用途保存CNGPDELIVER函数返回的短消息内容。字段说明字段名数据类型说明SMSGIDCHAR11短消息标识NMSGFORMATINT短消息格式(参照短消息格式代码表71)。SMGW不做判定,透明传输。SSRCTERMIDCHAR22短消息发送用户号码NISREPORTINT是否为应答信息。代码含义非应答信息(0);应答信息(1)NMSGLENINT消息长度SMSGCONTENTCHAR201消息内容SDESTTERMIDCHAR21SP的接入代码SRECVTIMECHAR15短消息接收时间(格式YYYYMMDDHHMISS,例如20010301200000)A22获取群发短消息的返回数据结构(SENDBATCHRESP)用途使用CNGPSENDBATCH群发短消息后,每条短消息的“消息标识”和“错误代码”保存在文件里。CNGPAPI提供GETSENDBATCHRESP函数获取每一条短消息返回信息,保存在SENDBATCHRESP中。字段说明字段名数据类型说明SMSGIDCHAR11短消息标识NERRORCODEINT错误代码(参照错误代码表)42SPHONENOCHAR22发送号码A23查询SMGW的返回数据结构(QUERYRESP可选)用途保存CNGPQUERY函数返回的查询结果。字段说明字段名数据类型说明NMT_TLMSGINT接收短消息总数NMT_TLUSRINT接收用户总数NMT_SCSINT成功转发数量NMT_WTINT待转发数量NMT_FLINT转发失败数量NMO_SCSINT成功送达数量NMO_WTINT待送达数量NMO_FLINT送达失败数量A3API函数说明A31初始化API(INITCNGPAPI)作用初始化CNGPAPI,应用程序只需要调用一次此函数。参数参数名数据类型说明SINIFILECHAR100CNGPAPI配置文件名,缺省值是”/CONFIG/CNGPCINI”。如果应用程序的执行目录不在CNGPAPI/BIN下,就需要通过绝对或相对路径指定SINIFILE。例如INITCNGPAPI“/OPT/CNGPAPI/CONFIG/CNGPCINI”返回0成功1失败第43页A32发送单条短消息(CNGPSENDSINGLE)作用向SMGW发送1条短消息到1个终端用户。短消息长度最长为200,CNGPAPI在发送时自动建立CONNECTIONPOOL,采用长连接或者短连接发送短消息。当CACHE的CONNECTION中断时,API能够自动重新连接SMGW。如果应用程序采用多线程发送短消息,多个线程共享同一个CONNECTIONPOOL。在发送过程中,如果因为通信原因导致发送失败,API能够自动重新发送,重试的次数在配置文件设置。参数参数名数据类型说明NNEEDREPORTINT是否要求返回状态报告(0不要求,1要求)NMSGLEVELINT信息级别(03,0最低优先级)SSERVICEIDCHAR11业务类型NMSGFORMATINT短消息格式参照短消息格式表71。SMGW不做判定,透明传输。SFEETYPECHAR3资费类型SFEECODECHAR7资费代码(以分为单位)SVALIDTIMECHAR18存活有效期,格式遵循SMPP33协议SATTIMECHAR18定时发送时间,格式遵循SMPP33协议SCHARGETERMIDCHAR22计费号码SDESTTERMIDCHAR22短消息接收号码NMSGLENINT短消息长度SMSGCONTENTCHAR短消息内容(NMSGLEN0时表示存放短消息的文件名)44SMSGIDCHAR11返回的短消息标识NERRORCODEINT错误代码(参照错误代码表)。返回0成功1失败A33群发短消息(CNGPSENDBATCH)作用向SMGW发送1条短消息到多个手机用户。短消息长度最长为200,此函数使用文件传递短消息内容。CNGPAPI在发送时自动建立CONNECTIONPOOL,采用长连接或者短连接发送短消息。当CACHE的CONNECTION中断时,API能够自动重新连接SMGW。如果应用程序采用多线程发送短消息,多个线程共享同一个CONNECTIONPOOL。在发送过程中,如果因为通信原因导致发送失败,API能够自动重新发送,重试的次数在配置文件设置。参数参数名数据类型说明NNEEDREPORTINT是否要求返回状态报告(0不要求,1要求)NMSGLEVELINT信息级别。(0最低优先级,1正常,2紧急,3十分紧急)SSERVICEIDCHAR11业务类型NMSGFORMATINT短消息格式(参照短消息格式表71)。SMGW不做判定,透明传输。SFEETYPECHAR3资费类型SFEECODECHAR7资费代码(以分为单位)SVALIDTIMECHAR18存活有效期,格式遵循SMPP33协议SATTIMECHAR18定时发送时间,格式遵循SMPP33协议SSRCTERMIDCHAR22短消息发送用户号码第45页SCHARGETERMIDCHAR22计费号码(若为空,则对被叫计费)SDESTTERMIDFILECHAR100保存所有目的号码的文件名NMSGLENINT消息长度SMSGCONTENTCHAR短消息内容(NMSGLEN0时表示存放短消息的文件名)SMSGIDFILECHAR100保存所有短消息的返回MSGID和ERRORCODE的文件名SSUBTYPECHAR2短消息子类型返回0成功1失败A34获取群发短消息的结果(GETSENDBATCHRESP)作用从文件里读取群发的某一个短消息的标识、发送结果和发送号码。参数参数名数据类型说明SMSGIDFILECHAR100保存所有短消息的返回MSGID和ERR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共同投资租地合同范本
- 计算机硬件工程师(基础知识、应用技术)合卷软件资格考试(中级)试题及解答参考(2025年)
- 2025消毒管理规范试题及答案
- 2025年银行高管测试题库及答案
- 中小学教师教学基本能力竞赛试题和答案
- 公益性岗位试题及答案解析
- 2025年企业安全员职务聘任与安全教育培训服务合同
- 2025医疗美容机构股权交易与高端医疗设备引进合同
- 2025年全球电商平台跨境电商品牌代理销售合作协议
- 2025年医药物流行业专用航空冷链运输配送服务协议
- 光伏电站项目监理旁站方案
- 2022年家用空调安装合同范本
- 二手车鉴定评估的报告书
- 教学课件 金属学与热处理-崔忠圻
- 多智能体系统教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案课件合集
- 铁道概论全套课件
- 艺术欣赏完整版课件全套ppt教程(最新)
- 北师大版五年级数学上册全册教案含反思
- 阅兵英语课件
- 有限空间作业考试题库600题含答案
- 餐饮服务招标评分标准
评论
0/150
提交评论