2023年-中国移动互联网短信网关接口协议.docx
中国移动通信互联网短信网关接口协议(China Mobile Peer to Peer, CMPP)(V2.0)中国移动通信集团公司2002年4月4. CMPP功能概述CMPP协议主耍提供以下两类业务操作:(1)短信发送(Short Message Mobile Originate, SM MO ) 典型的业务操作举例如图2所示:图2需要前转的M0示意图1)手机发出数据请求(可能是订阅信息或图片点播等),被 源ISMG接收;2)源ISMG对接收到的信息返回响应;3)源ISMG在本地查询不到要连接的SP,向GNS(汇接网关) 发路由请求信息;4) GNS将路由信息返回;5)源ISMG根据路由信息将请求前转给目的ISMG;6)目的ISMG对接收到的信息返回响应;7)目的ISMG将请求信息送SP8) SP返回响应;在以上操作中,步骤3到步骤8均使用CMPP协议;在随后的操作中,目的ISMG在接收到SP的响应后将产生M0 状态报告发给源ISMG。(2)短信接收(Short Message Mobile Terminated, SM MT) 典型的业务操作举例如图3所示:图3需要前转的MT示意图1) SP发出数据请求(可能是短信通知或手机铃声等),被源 ISMG接收;2)源ISMG对接收到的信息返回响应;3)源ISMG在本地数据库中找不到要目的手机号段所对应 网关代码,向GNS (汇接网关)发路由请求信息;4)汇接网关将路由信息返回;5)源ISMG根据路由信息将请求前转给目的ISMG;6)目的ISMG对接收到的信息返回响应;7)目的ISMG将请求信息发送至SMC;8) SMC向目的ISMG返回响应;在上述操作中,步骤1到步骤6均使用CMPP协议;在随后的操作中,SMC将通过N0.7信令网向移动用户发送 信息,移动用户收到后将返回状态报告(Delivery-Receipt) 给短信中心,短信中心将按照M0操作的流程将状态报告返 回给SP (如果SP要求返回状态报告)。5 .协议栈CMPP协议以TCP/IP作为底层通信承载,具体结构由图4 所示:SPISMGISMGGNS图4 CMPP协议栈6 .通信方式SP与ISMG之间、ISMG之间进行信息交互时,可以采用长 连接方式,也可以采用短连接方式。所谓长连接,指在一个 TCP连接上可以连续发送多个数据包,在TCP连接保持期 间,如果没有数据包发送,需要双方发链路检测包以维持此 连接。短连接是指通信双方有数据交互时,就建立一个TCP 连接,数据发送完成后,则断开此TCP连接,即每次TCP 连接只完成一对CMPP消息的发送。6.1 长连接通信双方以客户-服务器方式建立TCP连接,用于双方信息 的相互提交。当信道上没有数据传输时,通信双方应每隔时 间C发送链路检测包以维持此连接,当链路检测包发出超过 时间T后未收到响应,应立即再发送链路检测包,再连续发 送N-1次后仍未得到响应则断开此连接。参数C、T、N原则上应可配置,现阶段建议取值为: 03 分钟,T=60 秒,N=3o网关与SP之间、网关之间的消息发送后等待T秒后未 收到响应,应立即重发,再连续发送N-1次后仍未得到响应 则停发。现阶段建议取值为:T=6。秒,N=3。消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建议为16,即接收方在应答前一次收到的消息最多不超过16 条。长连接的操作流程举例如图5所示:客户端.一 .一滑动窗口不大于W -<-4-小.服务器端建立TCP连接 >CMPP消息1CMPP消息2一 对CMPP消息1的响应 一一_MPP消息2的响= .一拆除TCP连接旅路检恻包鞋路检测包 链路检测包响应图5长连接一次操作流程6.2 短连接通信双方以客户-服务器方式建立TCP连接,应答与请求在 同一个连接中完成。系统采用客户/服务器模式,操作以客户 端驱动方式发起连接请求,完成一次操作后关闭此连接。网关与SP之间、网关之间的消息发送后等待T秒后未 收到响应,应立即重发,再连续发送N-1次后仍未得到响应 则停发。现阶段建议取值为:T=60秒,N=3。短连接的操作流程举例如图6所示:客户端/服务器建立TCP连接服务器/客户端.CMPP消息1对CMPP消息1的响应一<拆除TCP连接建立TCP连接CMPP消息2对CMPP消息2的响应拆除TCP连接6.3本协议中涉及的端口号端口号应用7890长连接(SP与网关间)7900短连接(SP与网关间或网关之间)7930长连接(网关之间)9168短连接(短信网关与汇接网关之间)6.4交互过程中的应答方式在SP与ISMG之间、SMC与ISMG之间及ISMG之间的交 互过程中均采用异步方式,即任一个网元在收到请求消息后 应立即回送响应消息。举例如图7所示:SMCISMG1ISMG2SPSMPP请求消息一SMPP响应消息<CMPP请求消息CMPP响应消息前 言51 .范围62 .缩略语63 .网络结构94 . CMPP功能概述105 .协议栈126 .通信方式136.1 长连接136.2 短连接176.3 本协议中涉及的端口号196.4 交互过程中的应答方式197 .消息定义207.1 基本数据类型207.2 消息结构207.3 消息头格式 (Message Header) 217.4 信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义217.4.1 SP 请求连接至lj ISMG (CMPP_CONNECT)操作227.4.1.1 CMPP_CONNECT 消息定义(SPTISMG) 227.4.1.2 CMPP_CONNECT_RESP 消息定义(ISMG 今SP) 237.4.2 SP 或 ISMG 请求拆除连接(CMPP_TERMINATE)操作247.4.2.1 CMPP_TERMINATE 消息定义(SP9ISMG 或 ISMG 玲 SP)257.4.2.2 CMPP_TERMINATE_RESP 消息定义(SP9ISMG 或 ISMG fSP) 257.4.3 SP 向 ISMG 提交短信(CMPP_SUBMIT)操作251.1.1 .1 CMPP_SUBMIT 消息定义(SP9ISMG) 251.1.2 CMPP_SUBMIT_RESP 消息定义(ISMG 1 SP) 297.4.4 SP向ISMG查询发短信状态(CMPP_QUERY)操作317.4.4.1 CMPP_QUERY 消息的定义(SP9ISMG) 327.442 CMPP_QUERY_RESP 消息的定义(ISMG 9SP) 327.4.5 ISMG 向 SP 送交短信(CMPP_DELIVER)操作347.451 CMPP_DELIVER 消息定义(ISMGTSP) 347.4.5.2CMPP_DELIVER_RESP 消息定义(SPf 1SMG) 407.4.6 SP向ISMG发起删除短信(CMPPJZANCEL)操作407.4.6.1 CMPP_CANCEL 消息定义(SP1ISMG) 417.4.6.2 CMPP_CANCEL_RESP 消息定义(ISMG 玲 SP) 417.4.7 链路检测(CMPP_ACTIVE_TEST)操作417.4.7.1 CMPP_ACTIVE_TEST 定义(SP -> ISMG 或 ISMGTSP) 417.4.7.2 CMPP_ACTIVE_TEST_RESP 定义(SP - ISMG 或1SMG->SP) 427.5 互联网短信网关(ISMG)之间的消息定义427.5.1 源ISMG请求连接到目的ISMG (CMPP_CONNECT)操作.42CMPP请求消息CMPP响应消息图7异步交互方式示意图7.消息定义7.1基本数据类型UnsignedInteger无符号整数Integer整数,可为正整数、负整数或零Octet String定长字符串,位数不足时,如果左补 0则补ASCII表示的零,如果右补0 则补二进制的零7.2消息结构项目说明Message Header消息头(所有消息公共包头)Message Body消息体7.3 消息头格式(Message Header)字段名数类型描述TotaI_Lengt h4Unsign ed Integer消息总长度(含消息头及消 息体)CommandId4Unsign edInteger命令或响应类型Sequence_I d4Unsign edInteger消息流水号,顺序累力口,步长 为1,循环使用(一对请求和 应答消息的流水号必须相 同)7.4信息资源站实体(SP)与互联网短信网关(ISMG)间的消息 定义SP与ISMG之间互为客户/服务器,但要求SP首先以客 户的身份请求连接到ISMG,之后SP与ISMG之间方可进行数据传输。7.4.1 SP 请求连接到 ISMG (CMPP_CONNECT)操作CMPP_CONNECT操作的目的是SP向ISMG注册作为一个 合法SP身份,若注册成功后即建立了应用层的连接,此后 SP可以通过此ISMG接收和发送短信。ISMG以CMPP_CONNECT_RESP消息响应SP的请求。7.4.1.1 CMPP_CONNECT 消息定义(SP9ISMG)字段名数属性描述Source_Addr6OctetString源地址,此处为SP_Id, 即SP的企业代码。AuthenticatorSo urce16OctetString用于鉴别源地址。其值通 过单向MD5 hash计算得 出,表小如下:AuthenticatorSource = MD5 (Source_Addr+9 字 节 的 0 +shared secret+timestamp) Shared secret由中国移 动与源地址实体事先商 定,timestamp格式为:MMDDHHMMSS,即月1 1时分秒,10位。Version1Unsigned Integer双方协商的版本号(高位 4bit表示主版本号,低位 4bit表小次版本节)Timestamp4Unsigned Integer时间戳的明文,由客户端 产生,格式为 MMDDHHMMSS,即月 日时分秒,10位数字的 整型,右对齐。7.4.1.2 CMPP_CONNECT_RESP 消息定义(ISMG 玲 SP)字段名数属性描述Status1Unsigned Integer状态0:正确1:消息结构错2:非法源地址3:认证错4:版本太高5 :其他错误AuthenticatorlSMG16OctetStringISMG认证码,用于鉴别ISMGo其值通过单向MD5 hash 计算得出,表示如下:AuthenticatorlSMG =MD5(Status+Authenticator Source+shared secret), Shared secret由中国移 动与源地址实体事先商 定,AuthenticatorSource 为源地址实体发送给 ISMG的对应消息 CMPP_Connect 中的 值。认证出错时,此项为 空。Version1Unsigned Integer服务器支持的最高版本号7.4.2 SP 或 ISMG 请求拆除连接(CMPP_TERMINATE)操作CMPP_TERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而发起的操作。此操作完成后SP与ISMG之间的应用层连接被释放,此后SP若再要与ISMG通信时应发起CMPP_CONNECT操作。ISMG 或 SP 以 CMPP_TERMINATE_RESP 消息响应请求。7.4.2.1 CMPP_TERMINATE 消息定义(SP9ISMG 或 ISMG 9 SP)无消息体。7.4.2.2 CMPP_TERMINATE_RESP 消息定义(SP玲ISMG 或 ISMG f SP)无消息体。7.4.3 SP 向 ISMG 提交短信(CMPP_SUBMIT)操作CMPP_SUBMIT操作的目的是SP在与ISMG建立应用层连接后向ISMG提交短信。ISMG 以 CMPP_SUBMIT_RESP 消息响应。7.4.3.1 CMPP_SUBMIT 消息定义(SP3ISMG)字段名字节数属性描述Msg_Id8Unsigned Integer信息标识,由SP侧短信网 关本身产生,本处填空。Pk_total1Unsigned Integer相同Msg_Id的信息总条数,从1开始Pk_number1Unsigned Integer相同Msg_Id的信息序号, 从1开始Registered_Delivery1Unsigned Integer是否要求返回状态确认报 告:0:不需要1:需要2:产生SMC话单(该类型短信仅供网关计 费使用,不发送给目的终 端)Msgevel1Unsigned Integer信息级别Serviced10OctetString业务类型,是数字、字母和 符号的组合。Fee_UserType1Unsigned Integer计费用户类型字段0:对目的终端MSISDN计 费;1:对源终端MSISDN计费;2:对SP计费;3:表示本字段无效,对谁 计费参见 Fee_terminal_Id 字段。Fee_Urminal_Id21Unsigned Integer被计费用户的号码(如本字 节填空,则表示本字段无 效,对谁计费参见 Fee_UserType字段,本字段 与Fee_UserType字段互斥)TP_pId1Unsigned IntegerGSM协议类型。详细是解 释请参考GSM03.40中的 TP_udhi1Unsigned IntegerGSM协议类型。详细是解 释请参考GSM03.40中的 923.23,仅使用1位,右对 齐Msg_Fmt1Unsigned Integer信息格式0: ASCII 串3:短信写卡操作4:二进制信息8: UCS2编码15:含 GB 汉字 OOOOOOMsg_src6OctetString信息内容来源(SPd)FeeType2OctetString资费类别01:对“计费用户号码”免费02:对“计费用户号码”按 条计信息费03:对“计费用户号码”按 包月收取信息费04:对“计费用户号码”的 信息费封顶05:对“计费用户号码”的 收费是由SP实现FeeCode6OctetString资费代码(以分为单位)Valld_Time17OctetString存活有效期,格式遵循SMPP3.3 协,议At_Time17OctetString定时发送时间,格式遵循SMPP3.3 协议Srcjd21OctetString源号码SP的服务代码或前缀为服 务代码的长号码,网关将 该号码完整的填到SMPP 协议Submit_SM消息相应 的source_addr字段,该号 码最终在用户手机上显示为短消息的主叫号码DestUsr_tl1Unsigned Integer接收信息的用户数量(小于 100个用户)Dest_terminal_Id21*DestUsr_tlOctetString接收短信的MSISDN号码Msg_Lengt h1Unsigned Integer信息长度(Msg_Fmt值为。 时: <160个字节;其它 <二140个字节)Msg_ContentMsg_lengthOctetString信息内容Reserve8OctetString保留注意:关于短信群发的问题,若SP对于群发消息不耍求状 态报告的回送时,才可以考虑群发,否则必须逐条发送。7.4.3.2 CMPP_SUBMIT_RESP 消息定义(ISMG 9 SP)字段名字节数属性描述Msg_Id8Unsign ed信息标识,生成算法如下:采用64位(8字节)的整数:7.5.2 源ISMG请求拆除到目的ISMG的连接(CMPP_TERMINATE)操作427.5.3 链路检测()操作427.5.4 源ISMG向目的ISMG转密短信(CMPP.FWD)操作437.5.4.1 CMPP_FWD 定义(ISMGf ISMG) 43754.2 CMPP_FWD_RESP 定义(ISMGT ISMG) 527.6互联网短信网关(ISMG)g汇接网关(GNS)之间的消息定义537.6.1 ISMG 请求连接到 GNS或 GNS请求连接到ISMG(CMPP_CONNECT)操作537.6.2 ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接(CMPP_TERMINATE)操作547.6.3 ISMG向汇接网关查询MT路由(CMPP_MT_ROUTE)操作547.6.3.1 CMPP_MT_ROUTE 消息定义(ISMG玲GNS) 547.6.3.2 CMPP_MT_ROUTE_RESP 消息定义(GNS9ISMG)547.6.4 ISMG向汇展网关查询MO路由(CMPP_MO_ROUTE)操作.557.6.4.1 CMPP_MO_ROUTE 消息定义(ISMGTGNS) 56764.2CMPP_MO_ROUTE_RESP 消息定义(GNS T ISMG) .56向汇痴可关获取路面(CMPP_GET_ROUTE)操作587.651 CMPP_GET_ ROUTE 消息定义(ISMGfGNS) 587.6.5.2 CMPP_GET_ ROUTE_RESP 消息定义(GNS f ISMG) .587.6.6 ISMG 向汇展网关更新 MT 路由(CMPP_MT_ROUTE_UPDATE)操作607.661 CMPP_MT_ROUTE_UPDATE 消息定义(ISMG9GNS) .617.6.6.2 CMPP_MT_ROUTE_UPDATE_RESP 消息定义(GNS 玲ISMG) 627.6.7 ISMG 向汇接网关更新 MO 路由(CMPP_MO_ROUTE_UPDATE)操作627.671 CMPP_MO_ROUTE_UPDATE 消息定义(ISMG1GNS) .627.6.7.2CMPP_MO_ROUTE_UPDATE_RESP 消息定义(GNS 玲ISMG) 637.6.8 汇接网关向 ISMG 更新 MT 路由(CMPP_PUSH_MT_ROUTE_UPDATE)操作647.6.8.1 CMPP_PUSH_MT_ROUTE_UPDATE 消 息 定 义(GNSTISMG) 647.6.8.2 CMPP_PUSH_MT_ROUTE_UPDATE_RESP 消息定义(ISMG GNS) 657.6.9 汇接网关向 ISMG 更新 MO 路由(CMPP_PUSH_MO_ROUTE_UPDATE)操作657.6.9.1 CMPP_PUSH_MO_ROUTE_UPDATE 消息定义(GNS9ISMG) 667.6.9.2 CMPP_PUSH_MO_ROUTE_UPDATE_RESP 消 息 定 义 (ISMG1GNS) 677.7系统定义677.7.1 Command_Id 定义67Integer(1)时间(格式为 MMDDHHMMSS,即月 日时分秒):bit64bit39, 其中bit64bit61:月份的二进 制表示;bit60-bit56:日的二进制 表示;bit55bit51:小时的二进 制表示;bit50bit45:分的二进制 表不;bit44bit39:秒的二进制 表示;(2)短信网关代码: bit38bitl7,把短信网关 的代码转换为整数填写 到该字段中。(3)序列号:bitl6bitl, 顺序增加,步长为1, 循环使用。各部分如不能填满,左补零,右对齐。(SP根据请求和应答消息 的Sequence_Id 一致性就可 得至lj CMPP_Submit消息的 Msg_Id)Result1Unsign edInteger结果0:正确1:消息结构错2:命令字错3:消息序号重复4:消息长度错5:资费代码错6:超过最大信息长7:业务代码错8:流量控制错9:其他错误7.4.4 SP向ISMG查询发送短信状态(CMPP_QUERY)操作CMPP_QUERY操作的目的是SP向ISMG查询某时间的业务 统计情况,可以按总数或按业务代码查询。ISMG 以CMPP_QUERY_RESP 应答。7.4.4.1 CMPP_QUERY 消息的定义(SP9ISMG)字段名字节数属性描述Time8OctetString时间YYYYMMDD(精确 至日)Query_Type1Unsigned Integer查询类别0:总数查询1:按业务类型查询Query _Code10OctetString查询码当Query_Type为0时,此 项无效;当Query_Type为 1时,此项填写业务类型 Service_Id.Reserve8OctetString保留7.4.4.2 CMPP_QUERY_RESP 消息的定义(ISMG TSP)字段名字节属性描述数Time8OctetString时间(精确至日)Query _Type1Unsigned Integer查询类别0:总数查询1:按业务类型查询Query_Code10OctetString查询码MT_TLMsg4Unsigned Integer从SP接收信息总数MT_Tlusr4Unsigned Integer从SP接收用户总数MT_Scs4Unsigned Integer成功转发数量MT_WT4Unsigned Integer待转发数量MT_FL4Unsigned Integer转发失败数量MO_Scs4Unsigned Integer向SP成功送达数量MO_WT4Unsigned Integer向SP待送达数量MO_FL4Unsigned Integer向SP送达失败数量7.4.5 ISMG 向 SP 送交短信(CMPP_DELIVER)操作 CMPP.DELIVER操作的目的是ISMG把从短信中心或其它 ISMG转发来的短信送交SP, SP以CMPP_DELIVER_RESP 消息回应。7.4.5.1 CMPP_DELIVER 消息定义(ISMG9SP)字段名字节数属性描述Msg Id8UnsignedInteger信息标识 生成算法如下: 采用64位(8字节)的 整数:(1)时间(格式为 MMDDHHMMSS, 即月日时分秒): bit64bit39,其中 bit64bit61:月份的 一进制表不;bit60bit56:日的二 进制表示;bit55-bit51:小时的 一进制表75;bit50bit45:分的二 进制表示;bit44bit39:秒的二 进制表小;(2)短信网关代码: bit38-bitl7,把短信 网关的代码转换为 整数填写到该字段 中。(3)序列号: bit 16bit 1,顺序增 力口,步长为1,循环 使用。各部分如不能填满,左 补零,右对齐。Dest_Id21Octet String目的号码SP的服务代码,一般 4-6位,或者是前缀为 服务代码的长号码;该 号码是手机用户短消息的被叫号码。Service_Id10Octet String业务类型,是数字、字 母和符号的组合。TP_pid1UnsignedIntegerGSM协议类型。详细解 释请参考GSM03.40中 的 TP_udhi1UnsignedIntegerGSM协议类型。详细解 释请参考GSM03.40中 的9.2323,仅使用1 位,右对齐Msg_Fmt1UnsignedInteger信息格式0: ASCII 串3:短信写卡操作4:二进制信息8: UCS2编码15:含GB汉字Src_terminal_I d21Octet String源终端MSISDN号码 (状态报告时填为CMPP_SUBMIT 消息 的目的终端号码)Registered_De livery1UnsignedInteger是否为状态报告0:非状态报告1:状态报告Msg_Length1UnsignedInteger消息长度Msg_ContentMsg_le ngthOctet String消息内容Reserved8Octet String保留项当ISMG向SP送交状态报告时,信息内容字段(Msg_Content)格式定义如下:字段名字节 数属性描述Msg_Id8Unsigned Integer信息标识SP 提交短信(CMPP_SUBMIT) 操作时,与SP相连的ISMG产 生的Msgd。Stat7OctetString发送短信的应答结果,含义与 SMPP协议要求中stat字段定 义相同,详见表一。SP根据该 字段确定CMPP_SUBMIT消息 的处理状态。Submit_tim10OctetYYMMDDHHMM (YY 为年的eString后两位 00-99, MM: 01-12,DD: 01-31, HH: 00-23, MM:00-59)Done_time10OctetStringYYMMDDHHMMDest_terminal_Id21OctetString目的终端MSISDN号码(SP发 送CMPP_SUBMIT消息的目标 终端)SMSC_seq uence4Unsigned Integer取自SMSC发送状态报告的消 息体中的消息标识。表一 Stat字段定义Message StateFinal MessageStatesDescriptionDELIVEREDDELIVRDMessage is delivered to destinationEXPIREDEXPIREDMessage validity period has expiredDELETEDDELETEDMessage has been deleted.UNDELIVERABLUNDELIVMessageisEundeliverableACCEPTEDACCEPTDMessage is in accepted state(i.e. has been manually read on behalf of the subscriber by customer service)UNKNOWNUNKNOWNMessage is in invalid stateREJECTEDREJECTDMessage is in a rejected state注意:1. 其中ACCEPTED为中间状态,网关若从短信中心收到后 应丢弃,不做任何操作。2. Stat字段长度为7个字节,填写时应填表一中Final Message States中的缩写形式,如状态为DELIVERED时填写DELIVRD,依此类推。3. SP等待状态报告缺省时间为48小时。附录1 MO状态报告的产生71修订历史757.4.5.2 CMPP_DELIVER_RESP 消息定义(SP 3 ISMG)字段名字节数属性描述Msg_Id8UnsignedInteger信息标识( CMPP_DELIVER 中的Msgd字段)Result1UnsignedInteger结果0:正确1:消息结构错2:命令字错3:消息序号重复4:消息长度错5:资费代码错6:超过最大信息长7:业务代码错8:流量控制错9:其他错误7.4.6 SP向ISMG发起删除短信(CMPPJ2ANCEL)操作 CMPP.CANCEL操作的目的是SP通过此操作可以将已经提 交给ISMG的短信删除,ISMG将以CMPP_CANCEL_RESP 回应删除操作的结果。7.4.6.1 CMPP.CANCEL 消息定义(SPf ISMG)字段名字节数属性描述Msg_Id8Unsig nedIntege r信息标识(SP想要删除的信息标识)7.4.6.2 CMPP_CANCEL_RESP 消息定义(ISMG f SP)字段名字节数属性描述Success_Id1Unsig ned Intege r成功标识0:成功1:失败7.4.7 链路检测(CMPP_ACTIVE_TEST)操作本操作仅适用于通信双方采用长连接通信方式时用于保持 连接。7.4.7.1 CMPP_ACTIVE_TEST 定义(SP 9 ISMG 或 ISMG f SP)无消息体。7.4.7.2 CMPP_ACTIVE_TEST_RESP 定义(SP f ISMG 或ISMGSP)字段名字节数属性描述Reserved17.5互联网短信网关(ISMG)之间的消息定义网关之间互为客户/服务器,任一方都可在需要时建立连 接进行数据传输。7.5.1 源 ISMG 请求连接到目的 ISMG (CMPP_CONNECT)操作消息定义同7.4.1.1和所述。其中Source.Addr填源网 关代码。7.5.2 源ISMG请求拆除到目的ISMG的连接(CMPP- .TERMINATE)操作消息定义同和所述。7.5.3 链路检测(CMPP_ACTIVE_TEST)操作本操作仅用于通信双方采用长连接通信方式时保持连接。消 息定义同和所述。7.5.4 源ISMG向目的ISMG转发短信(CMPP_FWD)操作 CMPP.FWD操作的目的是源ISMG可以根据一定的路由策 略将SP提交的短信、M0状态报告、短信中心产生的状态 报告、用户提交的短信转发到目的ISMG,目的ISMG以 CMPP_FWD_RESP 回应。7.5.4.1 CMPP_FWD 定义(ISMG- ISMG)字段名字节数属性描述Source_ Id6OctetString源网关的代码(右对齐,左补0)Destinationd6OctetString目的网关代码(右对齐,左补0)NodesCount1Unsign ed Integer经过的网关数量Msg_Fwd_Type1Unsign edInteger前转的消息类型0: MT前转1: MO前转2: MT时的状态报告3: MO时的状态报告Msgd8Unsign edInteger信息标识Pk_total1Unsign ed Integer相同Msg_Id的消息总条 数,从1开始Pk_number1Unsign ed Integer相同Msg_Id的消息序号,从1开始Registered-Delivery1Unsign ed Integer是否要求返回状态确认报告0:不需要1:需要2:产生SMC话单Msg_level1Unsign ed Integer信息级别Service_Id10OctetString业务类型Fee_UserType1Unsign ed Integer计费用户类型字段0:对目的终端MSISDN 计费;1:对源终端MSISDN计 费;2:对SP计费;3:表示本字段无效,对 谁计费参见 Fee_terminal_Id 字段。Fee_terminal_Id21Unsign ed Integer被计费用户的号码(如本 字节填空,则表示本字段 无效,对谁计费参见 Fee_UserType 字段。本字 段与Fee_UserType字段互 斥)TP.pid1Unsign ed IntegerGSM协议类型。详细是解 释请参考GSM03.40中的 TP_udhi1Unsign ed IntegerGSM协议类型。详细是解 释请参考GSM03.40中的 9.2.3.23,仅使用1位,右对 齐Msg_Fmt1Unsign ed Integer信息格式0: ASCII 串3:短信写卡操作4:二进制信息8: UCS2编码15:含GB汉字Msg_src6OctetString信息内容来源(SP_Id, SP 的企业代码)