一. CMPP协议相关字段分析(在此只讲发长短信相关的cmpp_submit消息,cmpp的其他内容的请参考《中国移动互联网短信网关接口协议(V3.0.0).doc》
1.1.1.1 CMPP_SUBMIT消息定义(SP--->SMG)
字段名 字节数 属性 描述
Msg_Id 8 Unsigned Integer 信息标识。
Pk_total 1 Unsigned Integer 相同Msg_Id的信息总条数,从1开始。
Pk_number 1 Unsigned Integer 相同Msg_Id的信息序号,从1开始。
Registered_Delivery 1 Unsigned Integer 是否要求返回状态确认报告:
0:不需要;
1:需要。
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 32 Octet String 被计费用户的号码,当Fee_UserType为3时该值有效,当Fee_UserType为0、1、2时该值无意义。
Fee_terminal_type 1 Unsigned Integer 被计费用户的号码类型,0:真实号码;1:伪码。
TP_pId 1 Unsigned Integer GSM协议类型。详细是解释请参考GSM03.40中的9.2.3.9。
TP_udhi 1 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 6 Octet String 信息内容来源(SP_Id)。
FeeType 2 Octet String 资费类别:
01:对“计费用户号码”免费;
02:对“计费用户号码”按条计信息费;
03:对“计费用户号码”按包月收取信息费。
FeeCode 6 Octet String 资费代码(以分为单位)。
ValId_Time 17 Octet String 存活有效期,格式遵循SMPP3.3协议。
At_Time 17 Octet String 定时发送时间,格式遵循SMPP3.3协议。
Src_Id 21 Octet String 源号码。SP的服务代码或前缀为服务代码的长号码, 网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码。
DestUsr_tl 1 Unsigned Integer 接收信息的用户数量(小于100个用户)。
Dest_terminal_Id 32*DestUsr_tl Octet String 接收短信的MSISDN号码。
Dest_terminal_type 1 Unsigned Integer 接收短信的用户的号码类型,0:真实号码;1:伪码。
Msg_Length 1 Unsigned Integer 信息长度(Msg_Fmt值为0时:<1
1.1.1.1 CMPP_SUBMIT消息定义(SP--->SMG)
字段名 字节数 属性 描述
Msg_Id 8 Unsigned Integer 信息标识。
Pk_total 1 Unsigned Integer 相同Msg_Id的信息总条数,从1开始。
Pk_number 1 Unsigned Integer 相同Msg_Id的信息序号,从1开始。
Registered_Delivery 1 Unsigned Integer 是否要求返回状态确认报告:
0:不需要;
1:需要。
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 32 Octet String 被计费用户的号码,当Fee_UserType为3时该值有效,当Fee_UserType为0、1、2时该值无意义。
Fee_terminal_type 1 Unsigned Integer 被计费用户的号码类型,0:真实号码;1:伪码。
TP_pId 1 Unsigned Integer GSM协议类型。详细是解释请参考GSM03.40中的9.2.3.9。
TP_udhi 1 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 6 Octet String 信息内容来源(SP_Id)。
FeeType 2 Octet String 资费类别:
01:对“计费用户号码”免费;
02:对“计费用户号码”按条计信息费;
03:对“计费用户号码”按包月收取信息费。
FeeCode 6 Octet String 资费代码(以分为单位)。
ValId_Time 17 Octet String 存活有效期,格式遵循SMPP3.3协议。
At_Time 17 Octet String 定时发送时间,格式遵循SMPP3.3协议。
Src_Id 21 Octet String 源号码。SP的服务代码或前缀为服务代码的长号码, 网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码。
DestUsr_tl 1 Unsigned Integer 接收信息的用户数量(小于100个用户)。
Dest_terminal_Id 32*DestUsr_tl Octet String 接收短信的MSISDN号码。
Dest_terminal_type 1 Unsigned Integer 接收短信的用户的号码类型,0:真实号码;1:伪码。
Msg_Length 1 Unsigned Integer 信息长度(Msg_Fmt值为0时:<1