资源说明:利用 CMPP/SGIP 协议发送长短信发送格式说明
本资源摘要信息旨在详细解释利用 CMPP/SGIP 协议发送长短信的格式说明。长短信是一种特殊的短信格式,它允许发送超过 70 个汉字的信息内容,但需要将其拆分成多条短信,然后在接收端组合成原始短信内容。
我们需要了解短信内容的大小限制。根据目前的通信技术条件,手机单条短信发送的文本信息的信息量限制为 160 个英文字符,或者 140 个字节的二进制信息,即 70 个汉字(包括标点符号)。英文字母采用 7 位 ASCII 编码,而汉字则采用 8 位 UCS-2 编码并占 2 个字节。因此,160 个字符按照 7 位 ASCII 编码来换算,即 160*7=1120 位,而汉字是按照 8 位的 UCS-2 编码,即 8 位一个字符,一个汉字占 2 个字符,这样 1120 位换算成汉字数就是 1120/8/2=70。
长短信的发送需要短信通道功能的配合,如果通道本身没有这个功能,那么就会被分成多条短信显示。而对于长短信来说,拆分成短短信之后,每条短短信的规定与单条短信的规定又有所不同。长短信实际也是由普通短信方式发送的,每条短信也是 70 字,只是每条短信头部有特殊标记,这也需要占一定的字符,一般情况有 6--16 个字节分别定义短信唯一标识以及该短信是第几条(特殊标记所占字符根据不同情况而定),所以长短信发送时每条实际为 62--67 个汉字。
在 CMPP 协议中,需要设置 TP_udhi 的值设置为 1,以便在消息正文中增加协议头。在 SGIP 协议中,对 TP_udhi 的解释如出一彻“GSM 协议类型。详细解释请参考 GSM03.40 中的 9.2.3.23,仅使用 1 位右对齐”。GSM 03.40 规范 TP-06 1999-12-15 7.4.0 中规定了 SME 对于超长短信的合并处理,当前绝大部分 GSM 手机都支持超长短信。
超长短信编码需要首先把 TP_udhi 的值设置设置为 1,在消息正文中增加协议头,然后在每条超长短信分割而成的短信中增加协议头,协议头分两种,分别是长度为 6 和长度为 7 的协议头。具体配置如下:CMPP 协议 SUBMIT 数据包相关字段配置:TP_pid:0(GSM 协议类型。详细解释请参考 GSM03.40 中的 9.2.3.9),PID 一般文本的时候设 0,铃声图片设 1;TP_udhi:1(GSM 协议类型。详细解释请参考 GSM03.40 中的 9.2.3.23,仅使用 1 位,右对齐),说明 UDHI 设为 0 的时候表示短消息内容中不包含头部信息:一般文本设置为 0;UDHI 设为 1 的时候表示短消息内容中包含头部信息:一般在图片、铃声、长短信,push 短信这类消息种设置为 1,长短信格式也填 1;Msg_Fmt:8(信息格式 0:ASCII 串,3:短信写卡操作,4:二进制信息,8:UCS2 编码 15:含 GB 汉字)。
在凌凯短信平台上,支持一次提交内容 1-500 字,单条短信是 70 字计费一条,而长短信是 67 字(或者 62 字、65 字,根据不同情况而定)计费一条,最后由平台智能处理短信,会根据不同网关自动处理短信,用户可以通过预览功能详细了解短信计费情况。此外,凌凯短信平台还支持多网关自动切换,移动、电信、联通等通道自动切换,最大程度的解决端口拥堵现象,保证信息及时送出;以及多通道自动补发,保证每条信息的快速、准确到达。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。