• 68.50 KB
  • 5页

长短信拆分技术规范书

  • 5页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'长短信拆分文档说明2004-11-24 1.概要本规范是为了解决客户端所发的短消息过长时而设计2.名词解释短消息长度超过协议规定的最大长度的时候,便对它进行拆分发送。3.消息定义请查阅CMPPV2.0。4.拆分规范说明CMPP协议规定短消息最大长度为140,(DCS非0时)拆分的消息UDHI字段要置为1表示该消息的内容有头结构。针对长消息拆分的头结构表示如下:050003000401。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。123456其中头结构各位表示如下:1,表示后面的头的长度,不包括自身。3,表示头结构为拆分的连续短消息。4:是0—255的循环递增正整数,标识同一超长消息的子消息(补充:liangqiangzhi)。同一批消息该值相同5,表示拆分的总条数。6,表示该条为第几条。具体的参见规范。后面是编码后的短消息内容。短消息长度为包括头结构的长度。例如一条短消息编码后如下要拆分成3条AAAAAABBBBBBCCCCCC DCS为8三条分别为:050003000301004100410041004100410041050003000302004200420042004200420042050003000303004300430043004300430043三条消息的UDHI都为15相关的消息结构体(红色代表注意事项)CMPP_SUBMIT操作的目的是SP在与ISMG建立应用层连接后向ISMG提交短信。ISMG以CMPP_SUBMIT_RESP消息响应。5.1CMPP_SUBMIT消息定义(SPàISMG)字段名字节数属性描述Msg_Id(12)8UnsignedInteger信息标识,由SP侧短信网关本身产生,本处填空。Pk_total(20)1UnsignedInteger相同Msg_Id的信息总条数,从1开始Pk_number(21)1UnsignedInteger相同Msg_Id的信息序号,从1开始Registered_Delivery(22)1UnsignedInteger是否要求返回状态确认报告:0:不需要1:需要2:产生SMC话单(该类型短信仅供网关计费使用,不发送给目的终端)Msg_level(23)1UnsignedInteger信息级别Service_Id(24)10OctetString业务类型,是数字、字母和符号的组合。Fee_UserType(34)1UnsignedInteger计费用户类型字段0:对目的终端MSISDN计费;1:对源终端MSISDN计费;2:对SP计费;3:表示本字段无效,对谁计费参见Fee_terminal_Id字段。 Fee_terminal_Id(35)21UnsignedInteger被计费用户的号码(如本字节填空,则表示本字段无效,对谁计费参见Fee_UserType字段,本字段与Fee_UserType字段互斥)TP_pId(56)1UnsignedIntegerGSM协议类型。详细是解释请参考GSM03.40中的9.2.3.9TP_udhi(57)1UnsignedIntegerGSM协议类型。详细是解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐(为长短信时TP_udhi必须置1)Msg_Fmt(58)1UnsignedInteger信息格式0:ASCII串3:短信写卡操作4:二进制信息8:UCS2编码15:含GB汉字。。。。。。Msg_src(59)6OctetString信息内容来源(SP_Id)FeeType(65)2OctetString资费类别01:对“计费用户号码”免费02:对“计费用户号码”按条计信息费03:对“计费用户号码”按包月收取信息费04:对“计费用户号码”的信息费封顶05:对“计费用户号码”的收费是由SP实现FeeCode(67)6OctetString资费代码(以分为单位)ValId_Time(73)17OctetString存活有效期,格式遵循SMPP3.3协议At_Time(90)17OctetString定时发送时间,格式遵循SMPP3.3协议Src_Id(107)21OctetString源号码SP的服务代码或前缀为服务代码的长号码,网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码DestUsr_tl(128)1UnsignedInteger接收信息的用户数量(小于100个用户)Dest_terminal_Id(129)21*DestUsr_tlOctetString接收短信的MSISDN号码Msg_Length(150)1UnsignedInteger信息长度(Msg_Fmt值为0时:<160个字节;其它<=140个字节)Msg_ContentMsg_lengthOctetString信息内容(为长短信时Msg_Conternt必须包括长短信头结构)Reserve8OctetString保留 注意:关于短信群发的问题,若SP对于群发消息不要求状态报告的回送时,才可以考虑群发,否则必须逐条发送。5.2CMPP_SUBMIT_RESP消息定义(ISMGàSP)字段名字节数属性描述Msg_Id8UnsignedInteger信息标识,生成算法如下:采用64位(8字节)的整数:(1)时间(格式为MMDDHHMMSS,即月日时分秒):bit64~bit39,其中bit64~bit61:月份的二进制表示;bit60~bit56:日的二进制表示;bit55~bit51:小时的二进制表示;bit50~bit45:分的二进制表示;bit44~bit39:秒的二进制表示;(2)短信网关代码:bit38~bit17,把短信网关的代码转换为整数填写到该字段中。(3)序列号:bit16~bit1,顺序增加,步长为1,循环使用。各部分如不能填满,左补零,右对齐。(SP根据请求和应答消息的Sequence_Id一致性就可得到CMPP_Submit消息的Msg_Id)Result1UnsignedInteger结果0:正确1:消息结构错2:命令字错3:消息序号重复4:消息长度错5:资费代码错6:超过最大信息长7:业务代码错8:流量控制错9~:其他错误'