一、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时:<160个字节;其它<=140个字节),取值大于或等于0。 |
Msg_Content | Msg_length | Octet String | 信息内容。 |
LinkID | 20 | Octet String | 点播业务使用的LinkID,非点播类业务的MT流程不使用该字段。 |
开发值设置:红色的是相比普通短信需要修改之处
TP_pId=0x01;
TP_udhi=0x00;
Msg_Fmt=0x18 -------Msg_Fmt=24 0x10 + Msg_Fmt(8:UCS2编码)
Msg_Length=Msg_Length(byte[])+2 byte[]长度增加2
Msg_Content=00 01 + Msg_Content(byte[]) 内容前面需要加一个字符(2个byte 00 01)
代码截图:
总结:
建议配置参数(支持69字符):TP_pId=0;TP_udhi=0;Msg_Fmt=24;Msg_Length=Msg_Length+2;Msg_Content=00 01+Msg_Content
--------------------------------------------------------------------------
TP_udhi必须为0,为1会乱码
TP_pId可以为0或者1
Msg_Fmt必须为24(头+UCS2编码)
Msg_Content:可以不加00 01 可以支持70字符(会不会引起其他问题,未知)
参考资料:
https://wenku.baidu.com/view/59094ce94b73f242326c5f30.html
http://blog.sina.com.cn/s/blog_538a8c730100qzof.html
http://cczakai.iteye.com/blog/1041978
————————————————
版权声明:本文为CSDN博主「wubj_8400」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013893675/article/details/83303689