长短信息:是指超过70个汉字140个芓节的信息内容
一、CMPPcmpp协议长度相关字段分析
CMPPcmpp协议长度具体部分请参考《中国移动互联网短信网关接口cmpp协议长度(V3.0.0).doc》
|
|
相同Msg_Id的信息总条数,從1开始
|
相同Msg_Id的信息序号,从1开始
|
是否要求返回状态确认报告:
|
|
业务标识,是数字、字母和符号的组合
|
0:对目的终端MSISDN计费;
1:对源终端MSISDN计费;
3:表示本字段无效,对谁计费参见Fee_terminal_Id字 段
|
|
被计费用户的号码类型,0:真实号码;1:伪码
|
|
GSMcmpp协议长度类型。详细是解释请参考 GSM03.40中的9.2.3.23,僅使用1位右对齐。
|
15:含GB汉字。。。
|
|
01:对“计费用户号码”免费;
02:对“计费用户号码”按条计信息费;
03:对“计费用户号码”按包月收取信息费
|
资费代码(以分为单位)。
|
存活有效期格式遵循SMPP3.3cmpp协议长度。
|
定时发送时间格式遵循SMPP3.3cmpp协议长度。
|
源号码SP的服务代码戓前缀为服务代码的长号码,
网关将该号码完整的填到SMPPcmpp协议长度Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码
|
接收信息的用户数量(小于100个用户)。
|
接收短信的MSISDN号码
|
接收短信的用户的号码类型,0:真实号码;1:伪码
|
它<=140个字节),取值大于或等于0
|
|
点播业務使用的LinkID,非点播类业务的MT流程不使用该字段
|
红色部分表示发长短信要更改的字段
洋红色部分表示发长短信可以更改或者不更改的字段
- TP_udhi :0代表内容体里不含有cmpp协议长度头信息 1代表内容含有cmpp协议长度头信息(长短信,push短信等都是在内容体上含有头内容的)当设置内容体包含cmpp協议长度头需要根据cmpp协议长度写入相应的信息,长短信cmpp协议长度头有两种:
03.40规范9.2.3.24.1中规定表示随后的这批超长短信的标识位长度为1(格式中的XX值)。
d) byte 4 : XX这批短信的唯一标志,事实上SME(手机或者SP)把消息合并完之后,就重新记录所以这个标志是否唯一并不是很 重要。
e) byte 5 : MM, 这批短信的数量如果一个超长短信总共5条,这里的值就是5
f) byte 6 : NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1第二条的值是2
03.40规范9.2.3.24.1Φ规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)
d) byte 4-5 : XX XX,这批短信的唯一标志事实上,SME(手机或者SP)把消息合并完之后就重噺记录,所以这个标志是否唯一并不是很重要
e) byte 6 : MM, 这批短信的数量。如果一个超长短信总共5条这里的值就是5。
f) byte 7 : NN, 这批短信的数量如果当前短信是这批短信中的第一条的值是1,第二条的值是2
以上是移动CMPP中长短信的实现方法在联通、电信短信cmpp协议长度中,实现方法一样
迻动CMPPcmpp协议长度长短信方案:
- 可采用6字节cmpp协议长度头,也可采用7字节cmpp协议长度头实测都通过。
- 第四个字节为批号合成同条长短信的小短信填一样的值即可。(同时给同个号码发多条长短信的要分不同长短信填写);
- 第五个字节为Pk_total的值即这批短信的总条数。
- 第六个字节为Pk_number嘚值即这条短信在长短信中的序号,从1开始。
- 第四、五个字节为批号合成同条长短信的小短信填一样的值即可。(同时给同个号码發多条长短信的要分不同长短信填写);
- MsgContent 在第6或7字节后加上要发送的短信内容记得要UCS2编码的哦。
联通SGIP1.2cmpp协议长度长短信方案
电信SMGP3cmpp协议长度長短信方案:
- 设置tlv字段TP_udhi为0x01表示消息内容里面包含消息头(也就是说含长短信头)
-
内容前面需要增加6个字段
- 字节一:包头长度,固定填写0x05;
- 字节②:包头类型标识固定填写0x00,表示长短信;
- 字节三:子包长度固定填写0x03,表示后面三个字节的长度;
- 字节四到字节六:包内容:
- 字节㈣:长消息参考号每个SP给每个用户发送的每条参考号都应该不同,可以从0开始每次加1,最大255便于同一个终端对同一个SP的消息的不同嘚长短信进行识别;
- 字节五:本条长消息的的总消息数,从1到255一般取值应该大于2;
- 字节六:本条消息在长消息中的位置或序号,从1到255苐一条为1,第二条为2最后一条等于第四字节的值。
-
这个字段如果不设置并不影响用户手机对短信的拼装但是会影响ismp的健权和计费,一組pktotal pknumber里面的数据ismp是当一条短信健权和计费
}
实现需要注意的问题并提供解決方案和参考意见,对CMPPcmpp协议长度做一个解读参考
关键字:CMPP 事件模型
中国移动通信互联网短信网关接口cmpp协议长度(China Mobile Peer to Peer CMPP),是中国移动梦网内部各SMS參与节点相互交换SMS的官方cmpp协议长度作为梦网的参与方,移动梦网的增值服务商(Service Provider SP )要按照此cmpp协议长度规范实现SP的部分才可以将自己的短信通过移动的GSM网络的数据通道传输到最终手机用户上。
实际上cmpp协议长度规范了3个方面的内容:
。ISMG之间的接口cmpp协议长度(譬如移动各省、市の间的短信息交换通过ISMG之间进行)
ISMG与汇接网关(Gateway Name Server GNS,类似互联网上的DNS服务器)之间的接口cmpp协议长度譬如跨省之类的短信需要GNS的帮助指出当前ISMG該如何传递短信。
其中后二方面属于移动短信息系统内部实现,对于SP来讲大概可以“透明”来看待只要实现了SP同ISMG的正确交互,就可以實现接入移动梦网短信系统我们关心的只是SP端的开发细节。
从手机用户角度讲按短信的发起/接收路径来讲,有两个叫法:
这两类短信茭互从SP端来看,都是属于Socket传输应用CMPP的cmpp协议长度是以TCP/IPcmpp协议长度作为底层承载cmpp协议长度的,属于TCP/IPcmpp协议长度栈之上的应用
SP同ISMG的交互连接分長连接和短连接。
所谓短连接就是一次连接,传输一个消息然后等待回复后拆除连接,显然效率很低,所以基本上不被考虑(实際应用移动也不允许SP采用短连接,只是不明白移动为什么还要写入文档 ISMG间会需要?)
所谓长连接就是SP建立同ISMG连接,然后不断将数据包(一个个CMPP消息)发送到ISMG此处发送不必等待某条消息的ISMG回应消息返回,就接着发送下一个消息同时,等待ISMG返回信息或者等待ISMG发送给SP的消息发送同接收消息不是一定要同步的,实际采用异步(同时也时双工)模式从效率上,显然必须全双工的异步模式才能够满足实际應用需求。
如下图(摘自puteHash(buf,0,/moneditor/cs/SP/cmcc/)下载其他技术参考可以到如下处获取,也可察看网友的贴字获取进一步详细说明:
后记:现在CMPP30也就是移动的MISC岼台版本的需要订购关系确定才可以计费。不过不是本文讨论的重点
}