中国移动通信互联网短信网关接口协议(doc34)-合同协议(编辑修改稿)内容摘要:
响应 建立 TCP 连接 拆除 TCP 连接 . . . . . . 建立 TC P 连接 客户端 /服务器端 服务器 /客户端 12 本协议中涉及的端口号 端口号 应用 7890 长连接( SP 与网关间) 7900 短连接( SP 与网关间或网关之间) 7930 长连接(网关之间) 9168 短连接(短信网关与汇接网关之间) 交互过程中的应答方式 在 SP 与 ISMG 之间、 SMC 与 ISMG 之间及 ISMG 之间的交互过程中均采用异步方式,即任一个网元在收到请求消息后应立即回送响应消息。 举例如图 7 所示: 图 7 异步交互方式示意图 7.消息定义 基本数据类型 Unsigned Integer 无符号整数 Integer 整数,可为正整数、负整数或零 Octet String 定 长字符串,位数不足时,如果左补 0 则补 ASCII 表示的零,如果右补 0 则补二进制的零 SMC ISMG1 ISMG2 SP SMPP 请求消息 SMPP 响应消息 CMPP 请求消息 CMPP 响应 消息 CMPP 请求消息 CMPP 响应消息 13 消息结构 项目 说明 Message Header 消息头 (所有消息公共包头 ) Message Body 消息体 消息头格式 ( Message Header) 字段名 字节数 类型 描述 Total_Length 4 Unsigned Integer 消息总长度 (含消息头及消息体 ) Command_Id 4 Unsigned Integer 命令或响应类型 Sequence_Id 4 Unsigned Integer 消息流水号 ,顺序累加 ,步长为 1,循环使用(一对请求和应答消息的流水号必须相同) 信息资源站实体 (SP)与互联网短信网关 (ISMG)间的消息定义 SP 与 ISMG 之间互为客户 /服务器,但要求 SP 首先以客户的身份请求连接到 ISMG,之后 SP 与 ISMG 之间方可进行数据传输。 SP 请求连接到 ISMG( CMPP_CONNECT)操作 CMPP_CONNECT 操作的目的是 SP 向 ISMG 注册作为一个合法 SP 身份,若注册成功后即建立了应用层的连接,此后 SP 可以通过此 ISMG 接 收和发送短信。 ISMG 以 CMPP_CONNECT_RESP 消息响应 SP 的请求。 CMPP_CONNECT消息定义( SPISMG) 字段名 字节数 属性 描述 Source_Addr 6 Octet String 源地址,此处为 SP_Id,即 SP 的企业代码。 AuthenticatorSource 16 Octet String 用于鉴别源地址。 其值通过单向 MD5 hash 计算得出,表示如下: AuthenticatorSource = MD5 ( Source_Addr+9 字 节 的 0 +shared secret+timestamp) Shared secret 由中国移动与源地址实 14 体事先商定, timestamp 格式为:MMDDHHMMSS,即月日时分秒, 10位。 Version 1 Unsigned Integer 双方协商的版本号 (高位 4bit 表示主版本号 ,低位 4bit 表示次版本号 ) Timestamp 4 Unsigned Integer 时间戳的明文 ,由客户端产生 ,格式为MMDDHHMMSS,即月日时分秒, 10位数字的整型,右对齐。 CMPP_CONNECT_RESP消息定义( ISMG SP) 字段名 字节数 属性 描述 Status 1 Unsigned Integer 状态 0:正确 1:消息结构错 2:非法源地址 3:认证错 4:版本太高 5~ :其他错误 AuthenticatorISMG 16 Octet String ISMG 认证码,用于鉴别 ISMG。 其值通过单向 MD5 hash 计算得出,表示如下: AuthenticatorISMG =MD5( Status+AuthenticatorSource+shared secret) , Shared secret 由中国移动与源地址实体事先商定,AuthenticatorSource 为源地址实体发送给 ISMG 的 对 应 消 息CMPP_Connect 中的值。 认证出错时,此项为空。 Version 1 Unsigned Integer 服务器支持的最高版本号 SP或 ISMG请求拆除连接( CMPP_TERMINATE)操作 CMPP_TERMINATE 操作的目的是 SP 或 ISMG 基于某些原因决定拆除当前的应用层连接而发起的操作。 此操作完成后 SP 与 ISMG 之间的应用层连接被释放 ,此后 SP 若再要与 ISMG通信时应发起 CMPP_CONNECT 操作。 ISMG 或 SP 以 CMPP_TERMINATE_RESP 消息响应请求。 CMPP_TERMINATE消息定义( SPISMG或 ISMG SP) 无消息体。 CMPP_TERMINATE_RESP消息定义( SPISMG或 ISMG SP) 无消息体。 15 SP向 ISMG提交短信( CMPP_SUBMIT)操作 CMPP_SUBMIT 操作的目的是 SP 在与 ISMG 建立应用层连接后向 ISMG 提交短信。 ISMG 以 CMPP_SUBMIT_RESP 消息响应。 CMPP_SUBMIT消息定义( SPISMG) 字段名 字节数 属性 描述 Msg_Id 8 Unsigned Integer 信息标识,由 SP 侧短信网关本身产生,本处填空。 Pk_total 1 Unsigned Integer 相同 Msg_Id 的信息总条数,从 1 开始 Pk_number 1 Unsigned Integer 相同 Msg_Id 的信息序号,从 1 开始 Registered_Delivery 1 Unsigned Integer 是否要求返回状态确认报告: 0:不需要 1:需要 2:产生 SMC 话单 (该类型短信仅供网关计费使用,不发送给目的终端 ) Msg_level 1 Unsigned Integer 信息级别 Service_Id 10 Octet String 业务类型,是数字、字母和符号的组合。 Fee_UserType 1 Unsigned Integer 计费用户类型字段 0:对目的终端 MSISDN 计费; 1:对源终端 MSISDN 计费; 2:对 SP 计费。 3 :表示本字段无效,对谁计 费参见Fee_terminal_Id 字段。 Fee_terminal_Id 21 Unsigned Integer 被计费用户的号码(如本字节填空,则表示 本 字 段 无 效 , 对 谁 计 费 参 见Fee_UserType 字 段 , 本 字 段 与Fee_UserType 字段互斥) TP_pId 1 Unsigned Integer GSM 协议类型。 详细是解释请参考 中的 TP_udhi 1 Unsigned Integer GSM 协议类型。 详细是解释请参考 中的 ,仅使用 1 位 ,右对齐 Msg_Fmt 1 Unsigned Integer 信息格式 0: ASCII 串 3:短信写卡操作 4:二进制信息 8: UCS2 编码 15:含 GB 汉字。 Msg_src 6 Octet String 信息内容来源 (SP_Id) FeeType 2 Octet String 资费类别 01:对“计费用户号码”免费 16 02:对“计费用户号码”按条计信息费 03:对“计费用户号码”按包月收取信息费 04:对“计费用户号码”的信息费封顶 05:对“计费用户号码”的收费是 由 SP实现 FeeCode 6 Octet String 资费代码(以分为单位) ValId_Time 17 Octet String 存活有效期,格式遵循 协议 At_Time 17 Octet String 定时发送时间,格式遵循 协议 Src_Id 21 Octet String 源号码 SP 的服务代码或前缀为服务代码的长号码 , 网关将该号码完整的填到 SMPP 协议Submit_SM 消息相应的 source_addr 字段,该号码最终在用户手机上显示为短消息的主叫号码 DestUsr_tl 1 Unsigned Integer 接收信息的用户数量 (小于 100 个用户 ) Dest_terminal_Id 21*DestUsr_tl Octet String 接收短信的 MSISDN 号码 Msg_Length 1 Unsigned Integer 信息长度 (Msg_Fmt 值为 0 时: 160 个字节;其它 =140 个字节 ) Msg_Content Msg_length Octet String 信息内容 Reserve 8 Octet String 保留 注意:关于短信群发的 问题,若 SP 对于群发消息不要求状态报告的回送时,才可以考虑群发,否则必须逐条发送。 CMPP_SUBMIT_RESP消息定义( ISMG SP) 字段名 字节数 属性 描述 Msg_Id 8 Unsigned Integer 信息标识,生成算法如下: 采用 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) 17 Result 1 Unsigned Integer 结果 0:正确 1:消息结构错 2:命令字错 3:消息序号重复 4:消息长度 错 5:资费代码错 6:超过最大信息长 7:业务代码错 8:流量控制错 9~ :其他错误 SP向 ISMG查询发送短信状态( CMPP_QUERY)操作 CMPP_QUERY 操作的目的是 SP 向 ISMG 查询某时间的业务统计情况,可以按总数或按业务代码查询。 ISMG 以 CMPP_QUERY_RESP 应答。 CMPP_QUERY消息的定义( SPISMG) 字段名 字节数 属性 描述 Time 8 Octet String 时间 YYYYMMDD(精确至日 ) Query_Type 1 Unsigned Integer 查询类别 0:总数查询 1:按业务类型查询 Query_Code 10 Octet String 查询码 当 Query_Type 为 0 时,此项无效;当Query_Type 为 1 时,此项填写业务类型Service_Id. Reserve 8 Octet String 保留 CMPP_QUERY_RESP消息的定义( ISMG SP) 字段名 字节数 属性 描述 Time 8 Octet String 时间 (精确至日 ) Query_Type 1 Unsigned Integer 查询类别 0:总数查询 1:按业务类型查询 Query_Code 10 Octet String 查询码 MT_TLMsg 4 Unsigned Integer 从 SP 接收信息总数 MT_Tlusr 4 Unsigned Integer 从 SP 接收用户总数 MT_Scs 4 Unsigned Integer 成功转发数量 MT_WT 4 Unsigned Integer 待转发数量 MT_FL 4 Unsigned 转发失败数量 18。中国移动通信互联网短信网关接口协议(doc34)-合同协议(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。