CMPP协议.doc_第1页
CMPP协议.doc_第2页
CMPP协议.doc_第3页
CMPP协议.doc_第4页
CMPP协议.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

中国移动通信信息资源站实体与互联网短消息网关(ISMG)接口协议(CMPP)V1.1中国移动通信集团公司2000/11/29-编制说明 本规范为中国移动通信集团公司企业规范,规定信息资源站实体与互联网短消息网关的应用层接口协议。本协议版本为1.1版。略缩语ISMG Internet Short Message Gateway 互联网短消息网关 SMPP Short Message Peer to Peer 短消息点对点协议 CMPP China Mobile Peer to Peer 中国移动点对点协议 TLS Transport Layer Security 传输层安全 SMC Short Message Center 短消息中心 网络结构 因特网SC业务中心即ISMG记录了全网的SMC的位置,要求ICP的功能实体向ISMG发CMPP_SUBMIT消息,由ISMG将消息转发到某SMC上。同时,SMC也可向ISMG发送短消息,由ISMG发送给相应的ICP。 维护管理中心对ISMG进行管理。CMPP功能 CMPP用以建立短消息中心和ICP之间的通路,业务和信息的提供由ICP完成。可以为实现移动数据增值业务提供服务,例如以下业务:Email通知、语音信箱通知、Internet发短消息、移动台发Email、催费通知、自动综合业务信息台(信息点播业务,主要有:天气预报、股票信息、航班信息等)。 以下以Email通知业务为例,讲述信息的流程:某因特网的用户向ICP的Email Server发送一封Email。ICP的POP3 SERVER激活过滤进程,如果该用户申请了Email通知业务,则过滤进程将用户登记的手机号码取出,将Email的标题取出,绑定在CMPP_SUBMIT消息中,发送给ISMG。ISMG将检查CMPP_SUBMIT消息中“接收业务的手机号码”字段,则在ISMG中查询该手机用户归属的SMC的地址,然后发送给SMC。ISMG得到确认消息后,将消息转换成CMPP_SUBMIT_REP,发回给ICP。SMC收到该消息后,对该消息进行处理,并向ISMG发送确认消息, 由上述流程可见,对于ICP来讲,要做的工作主要集中在第二步,即在EMAIL SERVER中做一个过滤程序,实现上述功能即可。 从协议上说,ICP只要具备CMPP中实现的接口,就可以实现对应于控制层的功能,至于对于具体的ICP功能实体,比如Email Server、Web Server等,尚需做一些应用层的工作。接口CMPP协议以TCP/IP作为底层通信承载。在有较高的安全性需要时,可选用TLS层进行安全传输。消息流程 ICP与ISMG之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。所谓长连接,指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。长消息 ICP与ISMG以ClientServer方式建立TCP连接,用于双方信息的相互提交。TCP/IP连接建立后,由Client发起建立应用层的连接,这时如果ICP或ISMG认为需要建立TLS连接,则在传输的数据包中置TLS字段,从而在双方建立TLS连接。 在应用层连接建立后的数据传输过程中,如果ICP或ISMG需要向对端发送加密信息,也可建立TLS连接,这时只需要置相应的消息体中Tls_available(是否使用TLS层)属性字段,且应的本条消息的消息体中的其他属性不发送。 消息采用并发方式发送,加以流量控制,窗口大小可调,暂定为10条消息,即接收方在应答前一次收到的消息多于10条将予以拒绝。ICP向ISMG发送的消息类型包括:1) CMPP_Connect 请求应用层连接 2) CMPP_Terminate 终止应用层连接 3) CMPP_Terminate_REP 终止应用层连接应答 4) CMPP_Deliver_REP 下发短信应答 5) CMPP_Submit 提交短信 6) CMPP_Query 发送短信状态查询 7) CMPP_Cancel 删除短信 8) CMPP_Active_Test 激活测试 9) CMPP_Active_Test_REP 激活测试应答 ISMG向ICP发送的消息类型包括:1) CMPP_Connect_REP 请求连接应答 2) CMPP_Deliver 短信下发 3) CMPP_Submit_REP 提交短信应答 4) CMPP_Query_REP 短信状态查询结果 5) CMPP_Cancel_REP 删除短信应答 6) CMPP_Active_Test_REP 激活测试应答 7) CMPP_Active_Test 激活测试 8) CMPP_Terminate 终止应用层连接 9) CMPP_Terminate_Rep 终止应用层连接应答 ISMG之间发送的消息类型包括:1) CMPP_Fwd 消息前转 2) CMPP_Fwd_REP 消息前转应答 3) CMPP_Route 路由请求 4) CMPP_Route_REP 路由请求应答 一次操作流程短消息 ISMG与ICP之间的通讯采用TCP/IP协议,双方互为client和server端。发送与接收单独进行,每项业务建立一个连接,通讯采用应答方式,应答与请求在同一个连接中完成。由于系统采用互为客户端/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。传输过程中,如果ICP或ISMG认为需要建立TLS连接,则在传输的数据包中置TLS字段,并建立双方的TLS连接。 连接中对ICP的认证采用阶段性认证方式,当ICP首次与IMSG交换信息时,ICP首先发送身份认证包,IMSG对ICP进行身份认证后,记录ICP的IP地址等相关信息,在以后的数据交互时,IMSG把ICP的IP地址作为认证条件,即对没有注册的ICP的相关信息不予处理。当ICP想断开此逻辑上的应用层连接时,发送断开连接请求包,ISMG接受断开连接请求后,清除掉与此ICP相关的信息,即对MO到此ICP或ICP的MT信息均不予处理,但保存MO的信息,直到ICP再次与ISMG建立逻辑上的应用层连接,即身份认证。也允许ISMG发起断开ICP的连接请求。 消息采用并发方式发送,并加以流量控制,窗口大小可调,暂定为10条消息,即接收方在应答前一次收到的消息多于10条将予以拒绝。ICP向ISMG发送的消息类型包括:1) CMPP_Connect 请求应用层连接 2) CMPP_Terminate 终止应用层连接 3) CMPP_Terminate_REP 终止应用层连接应答 4) CMPP_Deliver_REP 下发短信应答 5) CMPP_Submit 提交短信 6) CMPP_Query 发送短信状态查询 7) CMPP_Cancel 删除短信 ISMG向ICP发送的消息类型包括:1) CMPP_Connect_REP 请求连接应答 2) CMPP_Deliver 短信下发 3) CMPP_Submit_REP 提交短信应答 4) CMPP_Query_REP 短信状态查询结果 5) CMPP_Cancel_REP 删除短信应答 6) CMPP_Terminate 终止应用层连接 7) CMPP_Terminate_Rep 终止应用层连接应答 ISMG之间发送的消息类型包括:1) CMPP_Fwd 消息前转 2) CMPP_Fwd_REP 消息前转应答 3) CMPP_Route 路由请求 4) CMPP_Route_REP 路由请求应答 一次操作流程(MO和MT) 消息定义 CMPP连接端口号定义为7890。字节采用在网络中通用的网络序,超时时长间隔采用斐波那契数列,重发次数动态可调,最好不少于3次。基本数据类型:Integer 无符号整数 C-Octet String 变长字符串,以空字符表示字符串结束 Octet String 定长字符串,位数不足时,右补空 7.1消息结构项目 说明 Message Header 消息头(所有消息公共包头) Message Body 消息体 7.2 消息头格式(Message Header)字段名 字节数 类型 描述 Total_Length 4 Integer 消息总长度(含消息头及消息体) Command_ID 4 Integer 命令或响应类型 Sequence_ID 4 Integer 消息流水号,顺序累加,步长为1,循环使用 7.3 消息体格式(Message Body)1. CMPP_Connect 请求连接字段名 字节数 属性 描述 Source_Addr 6 Octet String ICP_ID AuthenticatorICP 16 Octet String ICP认证码1 Reverse 8 Octet String 保留项(暂不用) 2. CMPP_Connect_REP 请求连接应答字段名 字节数 属性 描述 Status 1 Integer 状态0:正确1:消息结构错 2:非法ICP_ID 3:ICP认证错4 :其他错误 AuthenticatorISMG 16 Octet String ISMG认证码2 Tls_available 1 Integer 是否使用TLS协议层 3. CMPP_Terminate 终止连接消息体为空。4. CMPP_Terminate_Rep 终止连接响应消息体为空。5.CMPP_Submit 发送短信字段名 字节数 属性 描述 Msg_id 4 Integer 信息标识 1FFFFFFFFH顺序累加,步长为1,循环使用. Pk_total 1 Integer 相同Msg_id的消息总条数 Pk_number 1 Integer 相同Msg_id的消息序号 Msg_level 1 Integer 信息级别 Service_id 10 Octet String 业务类型 Tls_available 1 Integer 是否使用TLS协议层 Msg_Fmt 1 Integer 信息格式 0:ASCII串 3:短信写卡操作 4:二进制信息 8:UCS2编码15:含GB汉字 Msg_src 6 Octet String 信息内容来源(ICP_ID) FeeType 1 Integer 资费类别 FeeCode 1 Integer 资费代码 Valid_Time 1或17 C-Octet String 存活有效期(字节数为1时:不指定存活期,置为NULL) At_Time 1或17 C-Octet String 定时发送的时间(字节数为1时:不指定发送时间,置为NULL) Src_terminal_id 21 Octet String 源终端标识(没有可以为空) DestUsr_tl 1 Integer 接收消息的用户数量(小于100个用户) Dest_terminal_id 21*DestUsr_tl Octet String 接收业务的手机号码 Msg_Length 1 Integer 消息长度(1-70或140) Msg_Content Msg_length C-Octet String 消息内容 Reserve 8 Octet String 保留 6.CMPP_Submit_REP 发送短信响应(出错要求ICP全部重发Msg_Id信息)字段名 字节数 属性 描述 Msg_Id 4 Integer 消息标识 Tls_available 1 Integer 是否使用TLS协议层 Result 1 Integer 结果0:正确1:消息结构错2:命令字错3:消息序号重复4:消息长度错5:资费代码错6:超过最大信息长7:业务代码错8: 流量控制错9 :其他错误 7.CMPP_Query 发送短信状态查询(查询Time属性指定的日期的统计信息)字段名 字节数 属性 描述 Tls_available 1 Integer 是否使用TLS协议层 Time 8 Octet String 时间(精确至日) Query_Type 1 Integer 查询类别0:总数查询1:按业务代码查询 Query_Code 10 Octet String 查询码3(业务类型) Reserve 8 Octet String 保留 8.CMPP_Query_REP 短信状态查询结果字段名 字节数 属性 描述 Tls_available 1 Integer 是否使用TLS协议层 Time 8 Octet String 时间(精确至日) Query_Type 1 Integer 查询类别0:总数查询1:按业务代码查询 Query_Code 10 Octet String 查询码 MT_TLMsg 4 Integer 从ICP接收信息总数 MT_TLusr 4 Integer 从ICP接收用户总数 MT_Scs 4 Integer 成功转发数量 MT_WT 4 Integer 待转发数量 MT_FL 4 Integer 转发失败数量 MO_Scs 4 Integer 向ICP成功送达数量 MO_WT 4 Integer 向ICP待送达数量 MO_FL 4 Integer 向ICP送达失败数量 9. CMPP_Deliver字段名 字节数 属性 描述 Msg_Id 4 Integer 消息标识 Msg_Level 1 Integer 信息级别 Tls_available 1 Integer 是否使用TLS协议层 Service_id 10 Octet String 业务类型 Msg_Fmt 1 Integer 信息格式0:ASCII串4:二进制信息8:UCS2编码 Srcterminal_id 21 Octet String 源终端标识 Msg_Length 1 Integer 消息长度 Msg_Content Msg_length C-Octet String 消息内容 Reserve 8 Octet String 保留项(以后为ICP提供已提交给手机用户的确认信息) 10.CMPP_Deliver_REP 下发短信响应字段名 字节数 属性 描述 Msg_Id 4 Integer 消息标识 Tls_available 1 Integer 是否使用TLS协议层 Result 1 Integer 结果0:正确1:消息结构错2:命令字错3:消息序号重复4:消息长度错5:资费代码错6:超过最大信息长7:业务代码错8: 流量控制错9 :其他错误 11.CMPP_Cancel 删除短信字段名 字节数 属性 描述 Msg_Id 4 Integer 消息标识 Tls_available 1 Integer 是否使用TLS协议层 12.CMPP_Cancel_REP 删除短信响应字段名 字节数 属性 描述 Tls_available 1 Integer 是否使用TLS协议层 Success_Id 1 Integer 成功标识(0:成功; 1:失败) 13.CMPP_Active_Test 激活测试字段名 字节数 属性 描述 Tls_available 1 Integer 是否使用TLS协议层 14.CMPP_Active_Test_REP 激活测试响应字段名 字节数 属性 描述 Tls_available 1 Integer 是否使用TLS协议层 Success_Id 1 Integer 成功标识(0-成功) 15. CMPP_Fwd 短信前转字段名 字节数 属性 描述 Source_ Id 4 Octet String 源网关的代码 Dest_Id 4 Octet String 目的网关代码 NodesCount 1 Integer 经过的网关数量 Tls_available 1 Integer 是否使用TLS协议层 Msg_id 4 Interger 信息标识 Pk_total 1 Integer 相同Msg_id的消息总条数 Pk_number 1 Integer 相同Msg_id的消息序号 Msg_level 1 Integer 信息级别 Service_id 10 Octet String 业务类型 Msg_Fmt 1 Integer 信息格式0:ASCII串4:二进制信息8:UCS2编码15:含GB汉字 Srcterminal_id 21 Octet String 源终端标识(没有可以为空) DestUsr_tl 1 Integer 接收消息的用户数量 Dest_terminal_id 21*DestUsr_tl C-Octet String 接收业务的手机号码 Msg_src 6 Octet String 信息内容来源 FeeCode 2 Octet String 资费代码 Valid_Time 1or17 C-Octet String 有效期(字节数为1时:不指定发送时间,置为NULL) At_Time 1or17 C-Octet String 定时发送的时间(字节数为1时:不指定发送时间,置为NULL) Msg_Length 1 Integet 消息长度 Msg_Content Msg_length C-Octet String 消息内容 Reserve 8 M 保留 16. CMPP_Fwd _REP 短信前转响应字段名 字节数 属性 描述 Msg_Id 4 Integer 消息标识 Pk_total 1 Integer 相同Msg_id的消息总条数 Pk_number 1 Integer 相同Msg_id的消息序号 Tls_available 1 Integer 是否使用TLS协议层 Result 1 Integer 结果0:正确1:消息结构错2:命令字错3:消息序号重复4:消息长度错5:资费代码错6:超过最大信息长7:业务代码错8: 流量控制错9: 前转判断错(此ICP不应发往本ISMG)10 :其他错误 17. CMPP_Route 路由请求字段名 字节数 属性 描述 New_Gate 1 Integer 0:普通网关;1:新增加网关 Request_Total 2 Integer 0:请求一条;1:请求多条路由表数据(如果后面字段为空,请求路由表全部) Service_Type 10 Octet String 请求的业务类型 Service_Code 4 Integer 请求的业务代码 ICP_ID 6 Octet String ICP的接入代码(如果置Service_Type字段,此字段为空) 18. CMPP_Route_REP 路由请求应答字段名 字节数 属性 描述 Request_Number 2 Integer 返回的路由表数据条数,此字段值如果大于1,下面5个字段重复出现 Service_Type 10 Octet string 业务类型 Service_Code_Start 4 Integer 业务代码起始标志 Service_Code_End 4 Integer 业务代码结束标志 ICP_ID 6 Octet String ICP的接入代码(如果置Service_Type字段,此字段为空) ISMG_ID 4 Octet String 对应上述条件的网关代码 8编号8.1 ISMG_ID地点 编号(ISMG_ID暂用区号标识) 说明 北京 (010) 斯特奇 江西 (0791) 清华深讯 广州 (020) 清华深讯 天津 (022) 其他待定 8.2 ICP编号ICP名称 编号(ISMG_ID) 说明 新浪 (待定) 搜狐 (待定) 待定) 8.3 Command_ID命令字名称 Command_ID值 说明 CMPP_Connect 0x00000001 请求连接 CMPP_Connect_REP 0x80000001 请求连接应答 CMPP_Terminate 0x00000002 终止连接 CMPP_Terminate_REP 0x80000002 终止连接应答 CMPP_Submit 0x00000004 提交短信 CMPP_Submit_REP 0x80000004 提交短信应答 CMPP_Deliver 0x00000005 短信下发 CMPP_Deliver_REP 0x80000005 下发短信应答 CMPP_Query 0x00000006 发送短信状态查询 CMPP_Query_REP 0x80000006 发送短信状态查询应答 CMPP_Cancel 0x00000007 删除短信 CMPP_Cancel_REP 0x80000007 删除短信应答 CMPP_Active_Test 0x00000008 激活测试 CMPP_Active_Test_REP 0x80000008 激活测试应答 CMPP_Fwd 0x00000009 消息前转 CMPP_Fwd_REP 0x80000009 消息前转应答 CMPP_Route 0x00000003 路由请求 CMPP_Route_REP 0x80000003 路由请求应答 8.4 FeeType & FeeCode 资费类别和资费代码(待定)一、信息级别信息级别从1-9,“9”最高,“0”最低二、资费代码具体定义为:“00”: 免费“99”: 包月“98”: 封顶“01”-“10”:0.01元-0.10元“11”-“50”:以0.05元递增“51”-“80”:以0.10元递增“81”-“97”:保留1用于鉴别ICP。其值通过单向MD5 hash计算得出,表示如下:AuthenticatorICP =MD5(Source_Addr+9 zero int+ConnectType+shared secret)Shared secret 由中国移动与ICP事先商定。2用于鉴别ISMG。其值通过单向MD5 hash计算得出,表示如下:AuthenticatorISMG =MD5(Status+AuthenticatorICP+ Tls_available+shared secret)Shared secret 由中国移动与ICP事先商定,AuthenticatorICP为ICP发送给ISMG的上一条消息CMPP_Request_Connect中的值。3当Query_Type为0时,此项无效;当Query_Type为1时,此项填写业务代码Service_id.短信 短信SM(又名短消息),最为常见的应用方式是由手机(MS)发送短信至PLMN(GSM、CDMA、PHS)中的短信中心(SMC),由SMC再继续寻找被叫MS并传递该SM。第一段发送过程成为MO(Message Origination),第二段则成为MT(Message Termination)。当然在实际过程中,可能存在从SMC到其他SMC的转发,同时也可能由于被叫寻呼不到而出现临时存储。 扩展短消息实体 短信另外一种常见方式是由扩展短消息实体(ESME)和短消息中心SMC之间进行信息传递。扩展短消息实体ESMEs可以是SP、ICP、人工台、自动台等。ESME通过SMC可以和MS或其他的ESME进行交互,包括短信的接收MT和发送MO。 短信应用层协议 ESME与SMC之间通常采用TCP/IP进行连接,具体的应用层协议包括:1 GSM 03.39 SMPP(Short Message Peer to Peer)、2 中国移动的CMPP(China Mobile Peer to Peer)、3 中国联通的SGIP(Short Message Gateway Interface Protocol)、4 中国电信的SMGP(Short Message Gateway Protocol)、4 中国网通的CNGP(China Netcom Short Message Gateway Protocol)。 短信网关 ESME通常又称为短信网关。短信网关种类也比较繁多,有全球通用户梦网网关、神州行梦网网关、与联通短消息的互联网关、与中国电信短消息的互联网关、企业短消息网关,以及其它专用SMPP网关。 短信格式信息 短信格式一般包括以下一些信息: 1 源号码信息:源号码类型、编码方案、号码 2 目号码信息:目号码类型、编码方案、号码 3 状态报告:是否需要回送状态报告 4 数据编码方案:内容的具体编码,如ASCII、二进制、UCS2、GBK等 5 时间信息:提交时间、定时时间即时间到再由SMC发出、过期时间即SM在SMC的生存周期 6 数据格式:字符串还是用户数据结构 7 用户数据:7比特编码160字符、8比特编码140字符、16比特编码70字、用户数据结构则为140字符 8 短信分段:消息ID,总段数、段序号 9 计费类型:目的MSISDN、源MSISDN、SP等 10 资费类别:免费、按条计费、保月收费、信息费封顶、由SP负责收费 11 多接收者:接收号码数量(最多100)、具体号码 12 服务类型: 短信状态 短消息发出后可能处于的状态有: 等待发送、发送成功、发送失败、等待重发、定时未到、正在发送、超时删除、无效状态。 手机铃声图片 不同型号手机提供了不同的铃声、图片应用,比如: 待机图片、大待机图片、分组图标、屏保、铃声、图片贺卡、可下载贺卡等等。 上述应用可以针对具体型号通过定义用户数据格式及编码加以实现。 距上所讲:扩展信息也就是没有通手机而是通过其他方式发送的信息,SP、ICP、人工台、自动台等。ESME通过SMC可以和MS或其他的ESME进行交互,包括短信的接收MT和发送MO。短信 短信SM(又名短消息),最为常见的应用方式是由手机(MS)发送短信至PLMN(GSM、CDMA、PHS)中的短信中心(SMC),由SMC再继续寻找被叫MS并传递该SM。第一段发送过程成为MO(Message Originatio

温馨提示

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

评论

0/150

提交评论