java长短信拆分,SMPP长短信拆分原理与实现 | 学步园

本文介绍了短信收发的相关规范,重点讲解了PDU方式下短信编码及长度限制。对于超长短信,有两种发送策略:分多条发送或利用UDHI机制。SMPP协议中,设置TP_udhi标志并添加协议头来实现长短信发送。文章提供了基于Logica Open SMPP API的Java代码示例,展示如何拆分和构建长短信。
摘要由CSDN通过智能技术生成

短信息收发有关的规范主要包括GSM 03.38、GSM03.40和GSM 07.05。前二者着重描述SMS的技术实现(含编码方式),后者则规定了SMS的DTE-DCE接口标准(AT命令集)。短信息的收发共有三钟方式:Block方式, Text方式和PDU方式。Block方式目前很少用;Text方式是纯文本方式,可使用不同的字符集,从技术上说也可用于发送中文短信息,但国内手机基本上不支持,主要用于欧美地区;PDU方式被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。

PDU串表面上是一串ASCII码,由‘0’-‘9’、‘A’-‘F’这些数字和字母组成。它们是8位字节的十六进制数。PDU串不仅包含可显示的消息本身,还包含很多其它信息,如SMS服务中心号码、目标号码、编码方式等。PDU方式下可以采用三种编码发送短信息:7bit编码、8bit编码和16bit(UCS2)编码。

在《GSM_03.40》规范中明确了一条短信长度为:

140字符:采用8bit编码

160字符:采用7bit编码

70字符:采用16bit编码

一般情况下,超长的短信内容一般采用两种解决方案:一是分多条单独的短信发送,这样手机上会收到多条短信,二是通过UDHI机制分多条短信发送,这样手机上会显示为一条按照顺序组合在一起的长短信。从实现原理上第一种简单一些,但是短信到达手机上顺序可能会乱序;第二种方案相对较好一些,下面讲解下在SMPP协议上如何进行长短信发送。

发送超长短信,需要做两件事情:设置TP_udhi的值设置为1,在消息正文中增加协议头。协议后可以两种格式,分别是长度为6和长度为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值