此程序为中国移动CMPP协议程序接口,适合在中国移动申请了短信发送端口的公司使用。
短信群发已经成为现在软件系统、网络营销等必不可少的应用工具。可应用在短信验证、信息群发、游戏虚拟商品购买、事件提醒、送祝福等方面。
本程序功能包括:
1、支持Cmpp2.0、3.0协议;(只能选其中一种)
2、支持一般的短信发送、上行短信接收、状态报告;
3、支持长短信,包括下发长短信、上行接收长短信;
4、支持Ms Sql数据库、MySql数据库;
5、支持普通手机号和物联网卡;
6、集成了邮件群发功能;
7、全套源码Win服务、全套数据库源码;
开发CMPP协议需要注意的地方或一些经验:程序适用于Cmpp3.0、Cmpp2.0协议,可用.Net任何版本编译。
1.长短信实现方法:
短消息长度超过协议规定的最大长度的时候,可以进行拆分发送。CMPP协议规定短消息最大长度为140,(DCS非0时)拆分的消息UDHI字段要置为1表示该消息的内容有头结构。针对长消息拆分的头结构表示如下05 00 03 00 04 01 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。1 2 3 4 5 6 1,表示后面的头的长度,不包括自身3,表示头结构为拆分的连续短消息。5,表示拆分的总条数6,表示该条为第几条。具体的参见规范。后面是编码后的短消息内容。短消息长度为包括头结构的长度。例如一条短消息编码后如下要拆分成3条AAAAAABBBBBBCCCCCCDCS为8三条分别为:05 00 03 00 03 01 00 41 00 41 00 41 00 41 00 41 00 41 05 00 03 00 03 02 00 42 00 42 00 42 00 42 00 42 00 4205 00 03 00 03 03 00 43 00 43 00 43 00 43 00 43 00 43三条消息的UDHI都为12.协议间的差异:
CMPP2.0写的程序,在CMPP2.1协议下也是可以用的,而且推荐企业向移动申请CMPP2.1协议的短信端口。
因为CMPP2.1比CMPP2.0有一项重大的改进:取消了CMPP_submit消息中群发短信必须设置为不接收状态报告的限制。
1、取消源ISMG”和“目的ISMG”的说法,把用户归属的ISMG简称为“归属ISMG”,把SP接入的ISMG简称为“接入ISMG”,如果“归属ISMG”和“接入ISMG”为同一个ISMG,则用“归属/接入ISMG”或者“接入/归属ISMG”来代称;但在泛称时仍可能使用“源ISMG”和“目的ISMG”;
2、明确SP与ISMG之间、ISMG与ISMG之间的连接建议为采用长连接方式;
3、明确SP与ISMG之间的连接方式:SP为客户端、ISMG为服务器端;
4、取消CMPP_SUBMIT中对短信群发必须在SP不要求状态报告时的限制;
5、状态报告中增加了MA:xxxx、MB:xxxx、CA:xxxx、CB:xxxx的状态值;
6、明确CMPP_FWD消息中的Src_Id和Dest_Id字段的填写情况,原则上不再允许状态报告中填写空值;
7、更新了GNS协议的所有消息,增加了GNS协议相关的系统定义(CommandId、错误码、Route_Id的编号规则);
8、添加了对错误码使用范围的说明;
9、删除了原“附录1 MO状态报告的产生”,因为MO状态报告在《移动梦网短信业务信令流程规范》中已经进行详细的说明;
10、因为要求ISMG对CMPP_SUBMIT中的各字段进行更详细的判断,添加了CMPP_SUBMIT_RESP中的返回码的取值范围;
11、删除了原CMPP_FWD中对状态报告的产生流程的描述,因为这些流程在《移动梦网短信业务信令流程规范》中已经进行了详细的说明;
3.CMPP3.0支持物联网卡通讯
CMPP3.0协议对接收号码长度扩展至32位,并增加了号码类型字段。可以支持物联网卡。
用CMPP3.0协议做物联网卡通讯时需要注意的问题:请参考我的另一篇博文
物联网通讯与普通短信通讯的区别和要注意的地方
测试小程序界面:
界面2:
下载
Win服务版:短信Win服务程序+MsSql/MySql数据库源码,直接配置好win服务并启动,自己只需往数据库里面写入数据就可以发送短信,接收的短信保存在另一张表中,读取即可收到上行短信。
模拟网关界面:
CMPP2.0协议文档 CMPP3.0协议文档
同时有提供网关模拟器,抓包工具,长短信实现方法,以及参数如何填写的实例文档,使用该代码的测试小程序源码。
有偿提供与移动联调服务,承诺帮忙调试通过,并免费赠送源码。如有需要请联系 小y QQ:271963990 请注明来意。
转载于:https://www.cnblogs.com/tuyile006/archive/2009/04/16/1437503.html
相关资源:Microsoft_Pen_Protocol_V2.0_officialEEAP.pdf