CMPP30接口使用手册(JAVA版本).doc_第1页
CMPP30接口使用手册(JAVA版本).doc_第2页
CMPP30接口使用手册(JAVA版本).doc_第3页
CMPP30接口使用手册(JAVA版本).doc_第4页
CMPP30接口使用手册(JAVA版本).doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CMPP3 0 接口 使用手册 JAVA 版 本 1 0 Confidential 目 标 CMPP3 0 接口使用手册 JAVA 版 作 者 东软诺基亚通信技术有限公司 东软诺基亚通信技术有限公司 版权所有 更改履历 版本号更改时间 更改的 图表或章节 号 状 态更改简要描述更改人批准人 注 状态可以为 N 新建 A 增加 M 更改 D 删除 系统接口使用手册 JAVA CMPP30 版权声明版权声明 CMPP3 0 接口使用手册 JAVA 版 的版权归东软诺基亚通信技术有限公司所有 未经东软诺基亚通信技术有限公司的书面准许 不得将本规范的任何部分以任何形式 采 用任何手段 电子的或机械的 包括照相复制或录制 或为任何目的 进行复制或扩散 Copyright 东软诺基亚通信技术有限公司 版权所有 翻制必究 系统接口使用手册 JAVA CMPP30 目 录 1概述概述 1 1 1内容概述 1 1 2术语 1 1 3阅读对象 1 2接口操作接口操作 2 2 1ICP SP EC SI 连接类型 2 2 2操作类型 2 2 2 1ICP SP EC SI到MPIAG操作类型 2 2 2 2MPIAG到ICP SP EC SI操作类型 3 2 2 3双向操作类型 3 2 3不同操作类型对操作的支持 3 2 4ICP SP EC SI 操作流程 4 2 4 1发送型连接操作流程 4 2 4 2发送接收型连接操作流程 5 3通信协议通信协议 6 3 1阅读说明 6 3 2LOGIN 消息体 6 3 3LOGIN RESPONSE消息体 7 3 4LOGOUT 消息体 7 3 5LOGOUT RESPONSE消息体 7 3 6SUBMIT 消息体 7 3 7SUBMIT RESPONSE消息体 8 3 8DELIVER 消息体 9 3 9DELIVER RESPONSE消息体 11 3 10CANCEL 消息体 12 3 11CANCEL RESPONSE消息体 12 3 12ACTIVE消息体 12 3 13ACTIVE RESPONSE消息体 12 4API 接口函数说明接口函数说明 13 4 1通信的类 CMPP 13 4 1 1public int connect CMPPConnect cmppConn String ip int port 13 4 1 2public int send CMPP cmpp 13 4 1 3public CMPP receive 14 4 1 4public void activetest 14 4 1 5public static long getCmppDate 15 4 1 6public void closeConn 15 4 1 7public void close 16 5SUBMIT 消息包参数设置建议消息包参数设置建议 17 5 1SUBMIT消息包填写说明 17 6附录附录 19 6 1应答状态码表 19 6 2代码样例 26 6 2 1测试用例 一 26 6 2 2测试用例 二 28 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 1 1概述 1 1内容概述 集团短信行业应用网关系统 MPIAG Mult Province Industry Application Gateway 是架构 于企业客户应用与互联网短信网关之间的企业用户接入平台 它为企业客户提供了有效的 服务提供接口 MPIAG ICP SP EC SI 可选择使用标准中国移动 CMPP3 0 协议与 MPIAG 通 信 该手册对 MPIAG 提供给 ICP SP EC SI 的接口进行了详尽地说明 1 2术语 ISMGInternet Short Message Gateway 互联网短信网关 MPIAGMult Province Industry Application Gateway 集团短信行业应用网关系统 BOSSBusiness Operation Support System 业务运营支撑系统 DSMPData Service Manage Platform 数据业务管理平台 CMPPChina Mobile Peer to Peer 中国移动点对点协议 ICP ICP ICP SP EC SI EC SI EC SIService Provider 互联网服务 提供商 在本手册中特指集团客户 1 3阅读对象 本手册面向的主要对象是集团短信业务内容服务提供商以及相关开发维护人员 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 2 2接口操作 2 1ICP SP EC SI 连接类型 MPIAG 系统支持 ICP SP EC SI 以两种系统连接方式登录 MPIAG 短信网关 系统 1 发送型发送型 能够通过网络连接向系统提交短消息 而不能用来接收短消息 2 发送接收类型发送接收类型 发送接收类型连接可以在一个网络连接上既可以发送短信也可以接收短 信 2 2操作类型 2 2 1ICP SP EC SI 到 MPIAG 操作类型 1 Login 登录登录 ICP SP EC SI 在通过 MPIAG 短信网关系统提供服务之前 必须连入并 正确登录 MPIAG 短信网关 2 Logout 退出 退出 ICP SP EC SI 在服务完成后 通过 Logout 退出系统 此后网关会主动关 闭网络连接 ICP SP EC SI 也可以简单的通过主动关闭网络连接来退出 系统 3 Submit 提交消息 提交消息 ICP SP EC SI 通过 Submit 操作向网关提交 MT 消息 4 Deliver Response 下发应答下发应答 ICP SP EC SI 通过此操作回应网关的 Deliver 请求操作 警告警告 为了防止 ICP SP EC SI 的恶意攻击 ICP SP EC SI 在以同一主机连 入 MPIAG 短信网关系统时 必须在等到 MPIAG 网关的正确 Login 应答之 后 才可以进行第二次网络连接 否则 网关会主动关闭其后续网络连接 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 3 2 2 2MPIAG 到 ICP SP EC SI 操作类型 1 Deliver 下发消息 下发消息 当 ICP SP EC SI 以接收型或发送接收型连接正确登录 MPIAG 系统之后 MPIAG 会通过此操作向 ICP SP EC SI 主动下发 MO 消息 2 Login Response 登录应答登录应答 MPIAG 使用此操作回应 ICP SP EC SI 的 Login 请求操作 3 Logout Response 退出应答退出应答 MPIAG 使用此操作回应 ICP SP EC SI 的 Logout 请求操作 此项请求完 成后 MPIAG 会主动关闭网络连接 警告警告 MPIAG 以先进先出的原则将 MO 消息依次进行下发 ICP SP EC SI 在得到一条 MO 消息之后必须回应一个应答 2 2 3双向操作类型 1 Active Test 连接存活测试连接存活测试 ICP SP EC SI 可以通过此操作来检测与 MPIAG 系统之间的网络连接是 否正常 MPIAG 也会通过此操作来检测与 ICP SP EC SI 的网络连接是 否正常 2 Active Test Response 连接存活测试应答连接存活测试应答 MPIAG 系统或 ICP SP EC SI 使用此操作回应对方的 Active Test 请求操 作 注意注意 当 ICP SP EC SI 与 MPIAG 的某个网络连接在一段设定时间内没有 任何消息包的活动 网关会主动下发一个存活测试 如果 ICP SP EC SI 端 无应答 MPIAG 系统将会主动关闭此网络连接 2 3不同操作类型对操作的支持 支持 不支持 包括相应的应答 Response 操作 表 2 1 连接方式对操作类型的支持 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 4 操作操作发送型发送型发送接收型发送接收型 Login R Logout R Submit R Deliver R Active Test R 2 4ICP SP EC SI 操作流程 ICP SP EC SI 与 MPIAG 服务器通信采用长连接方式 以发送接收者身份登 录到 MPIAG 服务器后 即可以不断接收服务器下发的 MO 请求数据 也可 以不断向 MPIAG 服务器发起提交 Submit 及活动测试 Active Test 请 求 直到 ICP SP EC SI 主动发起退出登录请求 以发送者身份登录到 MPIAG 服务器后 即可以不断向 MPIAG 服务器发起提交 Submit 及活动 测试 Active Test 请求 直到 ICP SP EC SI 主动发起退出登录请求 2 4 1发送型连接操作流程 建立连接 connect login 以发送者身份 operation 提交 查询 删 除 活动测试 logout 退出登录 断开连接 disconnect Submit 1 IC P I CP IC P S P E C S I E C S I E C S I Submit response 1 Login response Login Submit 2 Submit 3 Submit 4 Submit response 2 Submit response 3 Submit response 4 Logout Logout response Active test Active test response Cancel response Cancel Active test response Active test GSG 图 2 1当 ICP SP EC SI 以发送型连接典型的登 录操作流程 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 5 2 4 2发送接收型连接操作流程 建立连接 connect login 以收发者身份 operation 提交 查询 删 除 活动测试 接收下发数据 logout 退出登录 断开连接 disconnect IC P I CP IC P S P E C S I E C S I E C S I Submit 1 Submit response 3 Login response Active test response Deliver response 1 Submit response 1 Login Submit 3 Submit 4 Deliver 1 Submit response 4 Logout Logout response Active test Deliver 2 Deliver response 2 Active test response Active test ISMG 图 2 2ICP SP EC SI 以发送接收型连接登录典型 操作流程 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 6 3通信协议 MPIAG ICP SP EC SI 使用标准中国移动 CMPP3 0 协议与 MPIAG 通信 相 关数据类型及格式请参考 中国移动通信互联网短信网关接口协议 V3 0 0 CMPP3 0 3 1阅读说明 Unsigned Integer 无符号整数 Integer整数 可为正整数 负整数或零 Octet String定长字符串 位数不足时 如果左补 0 则补 ASCII 表示 的零以填充 如果右补 0 则补二进制的零以表示字符串 的结束符 项目说明 Message Header消息头 所有消息公共包头 Message Body消息体 字段名字节数 类型 描述 Total Length 4Unsigned Integer 消息总长度 含消息头及消息体 Command Id 4Unsigned Integer 命令或响应类型 Sequence Id 4Unsigned Integer 消息流水号 顺序累加 步长为 1 循环使用 一对请求和应答消息的流水号必须相同 3 2Login 消息体 字段名字节数属性描述 Source Addr 6Octet String源地址 此处为 ICP SP EC SI Id 即 ICP SP EC SI 的企业代码 AuthenticatorSource16Octet String用于鉴别源地址 其值通过单向 MD5 hash 计算得出 表示如下 AuthenticatorSource MD5 Source Addr 9 字节的 0 shared secret timestamp Shared secret 由中国移动与源地址实 体事先商定 timestamp 格式为 MMDDHHMMSS 即月日时分秒 10 位 Version1Unsigned Integer 双方协商的版本号 高位 4bit 表示主 版本号 低位 4bit 表示次版本号 对 于 3 0 的版本 高 4bit 为 3 低 4 位 为 0 Timestamp4 Unsigned Integer 时间戳的明文 由客户端产生 格式为 MMDDHHMMSS 即月日时分秒 10 位数字的整型 右对齐 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 7 3 3Login Response 消息体 字段名字节数 属性 描述 Status 4Unsigned Integer 状态 0 正确 1 消息结构错 2 非法源地址 3 认证错 4 版本太高 5 其他错误 AuthenticatorISMG16Octet StringISMG 认证码 用于鉴别 ISMG 其值通过单向 MD5 hash 计算得出 表示如下 AuthenticatorISMG MD5 Status AuthenticatorSourc e shared secret Shared secret 由 中国移动与源地址实体事先商定 AuthenticatorSource 为源地址实体 发送给 ISMG 的对应消息 CMPP Connect 中的值 认证出错时 此项为空 Version1Unsigned Integer 服务器支持的最高版本号 对于 3 0 的版本 高 4bit 为 3 低 4 位为 0 3 4Logout 消息体 无消息体 3 5Logout Response 消息体 无消息体 3 6Submit 消息体 字段名字节数属性描述 Msg Id 8 Unsigned Integer 信息标识 由 ICP SP EC SI 接入的短信 网关本身产生 本处填空 Pk total 1 Unsigned Integer 相同 Msg Id 的信息总条数 从 1 开始 Pk number 1 Unsigned Integer 相同 Msg Id 的信息序号 从 1 开始 Registered Del ivery 1 Unsigned Integer 是否要求返回状态确认报告 0 不需要 1 需要 Msg level 1 Unsigned Integer 信息级别 Service Id10 Octet String业务标识 是数字 字母和符号的组合 Fee UserType1Unsigned Integer 计费用户类型字段 0 对目的终端 MSISDN 计费 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 8 1 对源终端 MSISDN 计费 2 对 ICP SP EC SI 计费 3 表示本字段无效 对谁计费参见 Fee terminal Id字段 Fee terminal I d 32Octet String被计费用户的号码 如本字节填空 则 表示本字段无效 对谁计费参见 Fee UserType 字段 本字段与 Fee UserType 字段互斥 Fee terminal t ype 1Unsigned Integer 被计费用户的号码类型 0 真实号码 1 伪码 TP pId1 Unsigned Integer GSM 协议类型 详细是解释请参考 GSM03 40 中的 9 2 3 9 TP udhi1 Unsigned Integer GSM 协议类型 详细是解释请参考 GSM03 40 中的 9 2 3 23 仅使用 1 位 右 对齐 Msg Fmt 1 Unsigned Integer 信息格式 0 ASCII 串 3 短信写卡操作 4 二进制信息 8 UCS2 编码 15 含 GB 汉字 Msg src 6Octet String信息内容来源 ICP SP EC SI Id FeeType 2Octet String资费类别 01 对 计费用户号码 免费 02 对 计费用户号码 按条计信息费 03 对 计费用户号码 按包月收取信 息费 04 对 计费用户号码 的信息费封顶 05 对 计费用户号码 的收费是由 ICP SP EC SI 实现 FeeCode 6Octet String资费代码 以分为单位 ValId Time17Octet String存活有效期 格式遵循 SMPP3 3 协议 At Time17Octet String定时发送时间 格式遵循 SMPP3 3 协议 Src Id21Octet String源号码 ICP SP EC SI 的服务代码或前缀为服务 代码的长号码 网关将该号码完整的填到 SMPP 协议 Submit SM 消息相应的 source addr 字段 该号码最终在用户手 机上显示为短消息的主叫号码 DestUsr tl 1Unsigned Integer 接收信息的用户数量 小于 100 个用户 Dest terminal Id32 DestUsr tlOctet String接收短信的 MSISDN 号码 Dest terminal ty pe 1Unsigned Integer 接收短信的用户的号码类型 0 真实号 码 1 伪码 Msg Length1Unsigned Integer 信息长度 Msg Fmt 值为 0 时 160 个字 节 其它 140 个字节 Msg ContentMsg lengthOctet String信息内容 LinkID20Octet String点播业务使用的 LinkID 非点播类业务 的 MT 流程不使用该字段 3 7Submit Response 消息体 字段名字节数属性描述 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 9 Msg Id8Unsigned Integer 信息标识 生成算法如下 采用 64 位 8 字节 的整数 1 时间 格式为 MMDDHHMMSS 即月日时分秒 bit64 bit39 其 中 bit64 bit61 月份的二进制表示 bit60 bit56 日的二进制表示 bit55 bit51 小时的二进制表示 bit50 bit45 分的二进制表示 bit44 bit39 秒的二进制表示 2 短信网关代码 bit38 bit17 把短 信网关的代码转换为整数填写到该 字段中 3 序列号 bit16 bit1 顺序增加 步 长为 1 循环使用 各部分如不能填满 左补零 右对齐 ICP SP EC SI 根据请求和应答消息的 Sequence Id 一致性就可得到 CMPP Submit 消息的 Msg Id Result4 Unsigned Integer 结果 0 正确 1 消息结构错 2 命令字错 3 消息序号重复 4 消息长度错 5 资费代码错 6 超过最大信息长 7 业务代码错 8 流量控制错 9 本网关不负责服务此计费号码 10 Src Id 错误 11 Msg src 错误 12 Fee terminal Id 错误 13 Dest terminal Id 错误 注意 ICP SP EC SI 在向东软短信网关发送群发 MT 包时 若发送成 功 东软短信网关将该群发 MT 包拆分为 n 个 n 表示目的地址的数量 包 每个包有一个唯一的 Message id 当返回应答时 应答包中的 Message id 为该群发 MT 包中的最后一个包的 Message id 3 8Deliver 消息体 字段名字节数属性描述 Msg Id8Unsigned Integer信息标识 生成算法如下 采用 64 位 8 字节 的整数 1 时间 格式为 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 10 MMDDHHMMSS 即月日时 分秒 bit64 bit39 其中 bit64 bit61 月份的二进制表 示 bit60 bit56 日的二进制表示 bit55 bit51 小时的二进制表 示 bit50 bit45 分的二进制表示 bit44 bit39 秒的二进制表示 2 短信网关代码 bit38 bit17 把短信网关的代码转换为整 数填写到该字段中 3 序列号 bit16 bit1 顺序增 加 步长为 1 循环使用 各部分如不能填满 左补零 右对 齐 Dest Id21Octet String目的号码 ICP SP EC SI 的服务代码 一般 4 6 位 或者是前缀为服务代码的长 号码 该号码是手机用户短消息的 被叫号码 Service Id10 Octet String业务标识 是数字 字母和符号的 组合 TP pid1 Unsigned IntegerGSM 协议类型 详细解释请参考 GSM03 40 中的 9 2 3 9 TP udhi1 Unsigned IntegerGSM 协议类型 详细解释请参考 GSM03 40 中的 9 2 3 23 仅使用 1 位 右对齐 Msg Fmt1Unsigned Integer 信息格式 0 ASCII 串 3 短信写卡操作 4 二进制信息 8 UCS2 编码 15 含 GB 汉字 Src terminal Id32 Octet String源终端 MSISDN 号码 状态报告 时填为 CMPP SUBMIT 消息的目 的终端号码 Src terminal type1 Unsigned Integer 源终端号码类型 0 真实号码 1 伪码 Registered Deliver y 1 Unsigned Integer 是否为状态报告 0 非状态报告 1 状态报告 Msg Length1 Unsigned Integer 消息长度 Msg ContentMsg length Octet String消息内容 LinkID 20Octet String点播业务使用的 LinkID 非点播类 业务的 MT 流程不使用该字段 当 ISMG 向 ICP SP EC SI 送交状态报告时 信息内容字段 Msg Content 格式定义 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 11 如下 字段名字节数属性描述 Msg Id8Unsigned Integer 信息标识 ICP SP EC SI 提交短信 CMPP SUBMIT 操 作时 与 ICP SP EC SI 相连的 ISMG 产生的 Msg Id Stat7Octet String发送短信的应答结果 含义与 SMPP 协议要求 中 stat 字段定义相同 详见表一 ICP SP EC SI 根据该字段确定 CMPP SUBMIT 消息的处理状态 Submit time10Octet StringYYMMDDHHMM YY 为年的后两位 00 99 MM 01 12 DD 01 31 HH 00 23 MM 00 59 Done time10Octet StringYYMMDDHHMM Dest terminal Id21Octet String目的终端 MSISDN 号码 ICP SP EC SI 发送 CMPP SUBMIT 消息的目标终端 SMSC sequence4Unsigned Integer 取自 SMSC 发送状态报告的消息体中的消息标 识 Stat 字段定义 Message StateFinal Message StatesDescription DELIVEREDDELIVRDMessage is delivered to destination EXPIREDEXPIREDMessage validity period has expired DELETEDDELETEDMessage has been deleted UNDELIVERABLEUNDELIVMessage is undeliverable ACCEPTEDACCEPTDMessage is in accepted state i e has been manually read on behalf of the subscriber by customer service UNKNOWNUNKNOWNMessage is in invalid state REJECTEDREJECTDMessage is in a rejected state MA xxxxMA xxxxSMSC 不返回响应消息时的状态报告 MB xxxxMB xxxxSMSC 返回错误响应消息时的状态报告 CA xxxxCA xxxxSCP 不返回响应消息时的状态报告 CB xxxxCB xxxxSCP 返回错误响应消息时的状态报告 3 9Deliver Response 消息体 字段名字节数属性描述 Msg Id8Unsigned Integer信息标识 CMPP DELIVER 中的 Msg Id 字段 Result4 Unsigned Integer 结果 0 正确 1 消息结构错 2 命令字错 3 消息序号重复 4 消息长度错 5 资费代码错 6 超过最大信息长 7 业务代码错 8 流量控制错 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 12 9 其他错误 3 10Cancel 消息体 字段名字节数属性描述 Msg Id8Unsigned Integer 信息标识 ICP SP EC SI 想要删除的信息 标识 3 11Cancel Response 消息体 字段名字节数属性描述 Success Id4Unsigned Integer 成功标识 0 成功 1 失败 注意 对于群发的 MT 消息 不能够进行 cancel 操作 3 12Active 消息体 没有消息体 3 13Active Response 消息体 字段名字节数属性描述 Reserved1 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 13 4API 接口函数说明 4 1通信的类 CMPP CMPP 类中定义了 CMPP 协议中使用的一些常量及方法 4 1 1public int connect CMPPConnect cmppConn String ip int port 功能描述 链接网关 建立的链接全部是收发型 返回值 状态码 0 成功 其他 不成功 参数 cmppConn Cmpp 链接对象 ip 服务器的 IP 地址 port服务器的端口号 异常 IOException NotEnoughDataInByteBufferException DeliverFailException WrongLengthOfStringException 当有异常发生时 创建连接失败 4 1 2public int send CMPP cmpp 功能描述 发送消息 可发送的消息类型包括 CMPPSubmit CMPPActiveTest CMPPTerminate CMPPDeliv erResp CMPPConnect CMPPActiveTestResp 这些类都是 CMPP 的子类 返回值 状态码 0 成功 其他 不成功 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 14 参数 cmpp待发送的消息对象 异常 IOException 4 1 3public CMPP receive 功能描述 接收消息 可发送的消息命令类型包括 CMPP CMPP ACTIVE TEST CMPP CMPP ACTIVE TEST R EICP SP EC SI CMPP CMPP CONNECT REICP SP EC SI CMPP CMPP DELIVER CMPP CMPP SUBMIT REICP SP EC SI CMPP CMPP TERMINATE REICP SP EC SI 如果接收的消息 命令类型不是如上几种的话 此函数会抛出 DeliverFailException 返回值 接收到CMPP类型的消息 参数 无 异常 IOException NotEnoughDataInByteBufferException DeliverFailException WrongLengthOfStringException 4 1 4public void activetest 功能描述 Active 测试 发送 CMPPActiveTest 类型的消息 并接收响应 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 15 返回值 无 参数 无 异常 IOException NotEnoughDataInByteBufferException DeliverFailException WrongLengthOfStringException 4 1 5public static long getCmppDate 功能描述 返回当前日期 格式 MMDDHHMMSS 转换成 long 型 符合 CMPP3 0 协议要求 返回值 Long 型的当前时间 参数 无 异常 无 4 1 6public void closeConn 功能描述 断开与 ISMG 的连接 返回值 无 参数 无 异常 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 16 IOException NotEnoughDataInByteBufferException DeliverFailException WrongLengthOfStringException 4 1 7public void close 功能描述 释放 CMPP 对象保留的资源 返回值 无 参数 无 异常 无 建议所有使用完 closeConn 函数 最后调用 close 函数 释放 所有资源 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 17 5Submit 消息包参数设置建议 本章节主要针对新接入网关系统的 ICP SP EC SI 如何使用 API 中的 SUBMIT 消息包进行一定的指导 这里会列出必须填写的几个字段 并对 这些必要字段的组合值给出建议 以便于 ICP SP EC SI 能够快速的开发出 简单的短信发送程序 但本章节给出的建议值只能满足简单的短信发送需 求 对于较复杂的业务 需要 ICP SP EC SI 更为深入的理解协议字段及其 相关意义 并根据协议字段的灵活组合完成业务发送和计费的需求 5 1Submit 消息包填写说明 字段名属性描述取值建议 Msg Id无信息标识 由 ICP SP EC SI 接入的短信 网关本身产生 本处填空 建议值 空 Pk total可选相同 Msg Id 的信息总条数 从 1 开始 建议值 1 Pk number可选相同 Msg Id 的信息序号 从 1 开始 建议值 1 Registered Del ivery 必填是否要求返回状态确认报 告 0 不需要 1 需要 建议值 1 Msg level可选信息级别 0 9 建议值 0 Service Id可选业务标识 是数字 字母 和符号的组合 建议值 DEFAULT Fee UserType必填计费用户类型字段 0 对目的终端 MSISDN 计 费 1 对源终端 MSISDN 计费 2 对 ICP SP EC SI 计费 3 表示本字段无效 对谁 计费参见 Fee terminal Id字段 建议值 2 Fee terminal I d 可选被计费用户的号码 如本 字节填空 则表示本字段 无效 对谁计费参见 Fee UserType 字段 本字 段与 Fee UserType 字段互 斥 Fee terminal t ype 必填被计费用户的号码类型 0 真实号码 1 伪码 建议值 0 TP pId必填GSM 协议类型 详细是解 释请参考 GSM03 40 中的 9 2 3 9 建议值 0 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 18 TP udhi可选GSM 协议类型 详细是解 释请参考 GSM03 40 中的 9 2 3 23 仅使用 1 位 右对 齐 建议值 0 Msg Fmt必填信息格式 0 ASCII 串 3 短信写卡操作 4 二进制信息 8 UCS2 编码 15 含 GB 汉字 根据短信内容的编码格式 选择该值 Msg src必填信息内容来源 ICP SP EC SI 的企业代码 填写中国移动给 ICP SP EC SI 分配的 6 位 企业代码 FeeType必填资费类别 01 对 计费用户号码 免费 02 对 计费用户号码 按条计信息费 03 对 计费用户号码 按包月收取信息费 04 对 计费用户号码 的信息费封顶 05 对 计费用户号码 的收费是由 ICP SP EC SI 实现 建议值 01 FeeCode必填资费代码 以分为单位 建议值 0 ValId Time可选存活有效期 格式遵循 SMPP3 3 协议 填空 At Time可选定时发送时间 格式遵循 SMPP3 3 协议 填空 Src Id必填源号码 ICP SP EC SI 的服务代码 或前缀为服务代码的长号 码 网关将该号码完整的填 到 SMPP 协议 Submit SM 消息相应的 source addr 字 段 该号码最终在用户手 机上显示为短消息的主叫 号码 填写中国移动给 ICP SP EC SI 分配的服务 代码开头一串号码 该号 码是最终显示在手机终端 上的号码 如果填写的值非服务号码 开头 则网关会拒绝该短 信 DestUsr tl必填接收信息的用户数量 小于 100 个用户 建议值 1 Dest terminal Id必填接收短信的 MSISDN 号码 Dest terminal ty pe 必填接收短信的用户的号码类 型 0 真实号码 1 伪 码 建议值 0 Msg Length必填信息长度 Msg Fmt 值为 0 时 160 个字节 其它 pk total 0 x00000094以 CMPP3 0 协议转发过来的 MT 消息的目的 ICP SP EC SI 在 网关配置以 CMPP2 0 协议接入 非法 0 x00000095号段转换失败 0 x00000096超过最大目的号码限制 0 x00000097ICP SP EC SI 已被停用 0 x00000098SI 扩展码未找到 针对 SI 而言 要么 Src Id 字段中未填写长号码 要么该长号码为无效的二级集团 客户扩展码 还未在系统注册或 者未启用 0 x000000FF系统错误 MPIAG 校验 submit 失败向 ICP SP EC SI 返回的状态码表 见附表 2 附表 2 返回状态码 状态码状态码状态状态 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 23 301尚未登陆 302信息标识 303源地址 304目的地址 305ICP SP EC SI 在本系统的 唯一标识 306控制标志 307消息有效期错误 308协议类型错误 309编码类型错误 310业务类型 311信息费 312计费类型错误 313消息优先级错误 314黑名单过滤错误 315白名单过滤错误 316订购关系处理错误 317内容过滤错误 318优先级设置错误 GSG 系统接口使用手册 ANSI CMPP30 机密 东软诺基亚通信技术有限公司 26 6 2代码样例 6 2 1测试用例 一 6 2 1 1 TestCmppReceiveDeliver 功能描述 测试接收 cmpp3 0 的 deliver 消息 流程如下 1 链接网关 2 验证响应 3 接收 deliver 消息 4 断开链接 TestCmppSendSubmit java Nokia PoC Provisioning System V1 0 Copyright 2004 Neusoft Mobile Internet Division All Rights Reserved package neu esap smcp service message cmpp30 Description 测试发送 cmpp3 0 的 submit 消息 author Zhang Feng version Revision 1 1 Date 2006 5 10 14 38 00 public class TestCmppSendSubmit private String ismgIp 192 168 30 152 private int ismgPort 8656 private String spId 633333 private String spPasswd 633333 private CMPP cmpp 测试链接 并且发送 submit 消息 public static void main String args TestCmppSendSubmit testCmppSendSubmit new TestCmppSendSubmit try CMPPConnect connReq new CMPPConnect 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 27 testCmppSendSubmit setCmppConnect connReq System out println 链接网关 int status 0 try status testCmppSendSubmit cmpp connect connReq testCmppSendSubmit ismgIp testCmppSendSubmit ismgPort catch Exception e e printStackTrace System out println 链接网关的响应码 status if status CMPP CMPP E SUCCESS System out println 验证链接是否失败 return 提交 submit 消息 CMPPSubmit submit new CMPPSubmit testCmppSendSubmit setSubmitMessage submit System out println 发送 submit 消息 int maxSendTime 1 for int i 0 i maxSendTime i try testCmppSendSubmit cmpp send submit CMPP temp testCmppSendSubmit cmpp receive if temp instanceof CMPPSubmitResp CMPPSubmitResp resp CMPPSubmitResp temp System out println resp is CMPPSubmitResp System out println 结果 resp getResult if resp getResult CMPP CMPP E SUCCESS break catch Exception e e printStackTrace System out println 断开链接 断开连接 try testCmppSendSubmit cmpp closeConn catch Exception e e printStackTrace finally testCmppSendSubmit cmpp close param connReq private void setCmppConnect CMPPConnect connReq connReq setSourceAddr spId connReq setTimeStamp CMPP getCmppDate connReq setPassword spPasswd 系统接口使用手册 JAVA CMPP30 机密 东软诺基亚通信技术有限公司 28 param submit private void setSubmitMessage CMPPSubmit submit submit setRegisteredDelivery short 1 submit setMsgLevel short 9 submit setServiceId TZ submit setFeeUserType short 0 submit setFeeTerminalIdsubmit setMsgFmt short 15 submit setMsgSrc 633333 submit setFeeType 01 submit setFeeCode 10 submit setValidTime 051116000000008 submit setAtTime 051116000000008 submit setSrcId 33333 submit setDestUsrTotal short 1 submit setDestTerminalIdsubmit setMsgLength short 中文测试 getBytes length submit setMsgContent 中文测试 submit setLinkId 6 2 2测试用例 二 6 2 2 1 TestCmppSendSubmit 功能描述 测试发送 cmpp3 0 的 su

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论