本资源提供Java实现的CMPP2.0和CMPP3.0协议完整源代码及服务端测试工具,适用于短信服务开发与调试。更新于2017年12月。
在搜索了许多关于CMPP的资料后发现可用资源不多。因此特此开源一个无jar插件、纯源码实现的Java CMPP 2.0和3.0版本DEMO程序,并附带第三方CMPP服务器测试工具,便于调试。
以下是部分代码示例:
```java
private long Msg_Id = 0x00; //信息标识,由SP接入的短信网关本身产生。
private byte Pk_total = 0x01; //相同Msg_Id的信息总条数,从1开始
private byte Pk_number = 0x01; //相同Msg_Id的信息序号,从1开始
private byte Registered_Delivery = 0x01; //是否要求返回状态确认报告:0表示不需要;1表示需要。
private byte Msg_level = 0x01; //信息级别
private String Service_Id = ; //业务类型,是数字、字母和符号的组合。
private byte Fee_UserType = 0x00; //计费用户类型字段。例如,值为0时对目的终端MSISDN计费;值为2则代表对SP计费等。
private String Fee_terminal_Id = ; //被计费用户的号码
private byte TP_pId = 0x00; //GSM协议类型
private byte TP_udhi = 0x00; //GSM协议类型。详细解释请参考相关文档。
private byte Msg_Fmt = 0x0f; //信息格式,例如值为15表示含GB汉字的信息等。
private String Msg_src = ; //信息内容来源(SP_Id)
private String FeeType = 01; //资费类别,如02代表对“计费用户号码”按条计信息费
private String FeeCode = 000000; //资费代码(以分为单位)
private String ValId_Time = ; //存活有效期
private String At_Time = ; //定时发送时间
private String Src_Id = ; //源号码 SP的服务代码或前缀为服务代码的长号码。
private byte DestUsr_tl = 0x01; //接收信息的用户数量(小于100个用户)
private String Dest_terminal_Id = ; //接收短信的MSISDN号码
private byte Msg_Length; //信息长度,当Msg_Fmt值为0时:<160个字节;其它<=140个字节。
private byte[] Msg_Content; //信息内容
private String Reserve = ; //保留字段
```
此代码段展示了CMPP协议中的一些关键参数及其默认设置。通过这些设定,可以实现短信发送等功能的开发和调试工作。