`
金笛子
  • 浏览: 36092 次
社区版块
存档分类
最新评论

发送超长短信的协议格式

 
阅读更多
CMPP协议中,CMPP_SUBMIT_MESSAGE中有两个字段pk_total和pk_numer,恰看起来,这就是发送超长短信的设置参数,其实不然,这两个参数的设置,应该是没有用处。



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

6位协议头格式:05 00 03 XX MM NN

byte 1: 05, 表示剩余协议头的长度

byte 2: 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。

byte 3: 03, 这个值表示剩下短信标识的长度

byte 4: XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。

byte 5: MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。

byte 6: NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。

例如:05 00 0339 02 01



7位的协议头格式:06 08 04 XX XX MM NN

byte 1: 06, 表示剩余协议头的长度

byte 2: 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。

byte 3: 04, 这个值表示剩下短信标识的长度

byte4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。

byte 6: MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。

byte 7: NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。

例如:06 08 0400 39 02 01



7位协议头和6位协议头的区别是,6位协议头短信的标识字段是1个byte,而7位协议头短信的标志字段为2个byte。大多手机采用6位的协议头,也就是05 00 03 XX MM NN。



发送的短信这么处理,接受短信反过来就可以了。上述内容,在CMPP协议以及多款手机上经过测试验证。

转自bbs.sendsms.cn
分享到:
评论

相关推荐

    利用CMPP\SGIP协议发送长短信发送格式说明

    超长短信编码需要首先把 TP_udhi 的值设置设置为 1,在消息正文中增加协议头,然后在每条超长短信分割而成的短信中增加协议头,协议头分两种,分别是长度为 6 和长度为 7 的协议头。具体配置如下:CMPP 协议 SUBMIT ...

    SMGP短信开发协议

    SMGP(Short Message Gateway Protocol)是中国电信上海研发中心制定的短消息网关协议,用于电信短信的发送和接收。SMGP 协议包括对短消息的编码、封装和传输等过程的定义。SMGP 协议的主要特点是使用 TLV(Type-...

    AT指令长短信接收PDU格式分析

    本文将重点探讨AT指令在接收超长短信时的PDU(Protocol Data Unit)格式分析,这对于实现长短信的有效接收与合并至关重要。 #### 二、基础知识回顾 在深入了解AT指令接收超长短信的具体细节之前,我们首先简要回顾...

    联通sgip协议流程规范12

    SGIP协议基于TCP/IP协议栈,它提供了服务提供商与运营商网络之间的接口,用于发送、接收、查询和控制短信业务。协议支持多种业务类型,包括普通短信、彩信、WAP Push等。 2. **协议结构**: SGIP协议由一系列的...

    GSM.rar_gsm 协议_long sms_pdu_短信PDU_长短信

    在GSM协议中,短信的传输采用PDU(Protocol Data Unit,协议数据单元)编码方式,对于超长短信,还需要进行特殊的处理以确保其能够正确发送和接收。 首先,让我们深入了解PDU编码。PDU编码是GSM短信服务中的一个...

    使用AT指令发送手机短信c#源码(支持GSM Model)

    "MobileSMS"可能是主程序,负责处理短信发送逻辑,包括与GSM模块的交互,解析和构建PDU格式的短信。"MobileSMS_Svr"可能包含服务的实现,它会在系统后台运行,接收并处理短信发送请求。"MobileSMS_SvrMangr"可能是一...

    手机接收的PDU串的分析(包含7-bit和UCS2解码,超长短信解释)

    本文将深入探讨手机接收的PDU串的分析,包括7-bit编码和UCS2解码以及超长短信的处理。 首先,我们来看7-bit编码。在短信中,由于早期GSM系统对每个字符的限制,短信通常使用7-bit的GSM 7-bit Default Alphabet编码...

    pb发短信的源程序

    此外,可能还需要处理特殊字符、超长短信的分段等问题。 5. **错误处理**:任何网络通信都可能存在失败的可能性,因此源码中应该包含了错误处理机制,如重试策略、异常捕获和通知机制,以确保短信发送的可靠性。 6...

    短信接口文档说明 详细介绍

    如果发送的是超长短信,则会被拆分成多条短信,返回格式为`success:$1:$2`,其中`$2`是第二条短信的MSGID。 - 错误情况:返回`error:$1`,其中`$1`是错误编号。 #### 四、上行接收接口详解 1. **参数名称与...

    基于命令行的飞信短信发送程序

    最近在网上看了一下,有很多利用飞信协议发送短信的程序,有基于Web的、有脚本写的、有C#写的、还有Delphi写的;一些是以Web API提供的,还有一些是以客户端用户界面形式提供的。感觉好像还缺点什么!于是写了一个...

    三网通短信王防屏蔽软件6.5

    该软件特别强调了对超长短信的支持,意味着用户可以发送超过传统短信长度的信息,无需担心信息被截断或者分多次发送。 在当前的通信环境中,由于垃圾短信的泛滥,许多运营商和手机会自动屏蔽一些疑似垃圾信息的发送...

    VC写的短信收发程序(包括PDU编解码)

    在这个过程中,AT命令集是一种标准的通信协议,允许应用程序通过串口控制调制解调器或者SIM卡接口来发送和接收短信。AT命令编程对于初学者来说可能较为复杂,但一旦掌握,可以实现与各种移动通信设备的高效交互。 ...

    短信猫测试工具

    在传统的短信通信中,短信通常有160个英文字符或70个汉字的限制,但超长短信技术可以将一条长信息分割成多条短消息进行发送,接收方的手机会自动合并这些分段的短信,呈现出完整的内容。这对于需要发送大量信息或者...

    短信平台建设方案

    1. **丰富的基本功能:**支持批量短信群发、超长短信发送等功能。 2. **强大的稳定性与可靠性:**作为电信级标准产品,确保系统的稳定运行。 3. **业务生成器:**提供零编程的业务生成工具,用户可根据需要快速生成...

    sumweb 短信网关开发系统源码

    在这个短信网关系统中,C#用于编写服务器端的业务逻辑和控制层代码,处理HTTP请求,与数据库交互,以及实现短信协议的解析和构建。 3. **短信网关协议**:短信网关是连接移动运营商网络与企业内部系统的桥梁,通常...

    Java利用smslib发送短信.源码.

    值得注意的是,实际使用中还需要考虑错误处理和异常捕获,因为短信发送可能会遇到各种问题,如网络中断、网关繁忙或短信内容超长等。此外,考虑到不同短信服务提供商的API和费用结构,可能还需要对代码进行调整以...

    华阳佳讯优势通短信中间件

    华阳佳讯-优势通 短信中间件(支持超长短信/多协议接口/全网设备) 北京华阳佳讯科技有限公司 http://www.ctc365.com 联系电话: 010-51292597 QQ:81905152 Email:douht@126.com ... 软件截图:D:\ctc365\images\...

    java短信接口的使用

    在发送短信过程中可能会遇到网络问题、认证失败、短信内容超长等错误,需要进行适当的异常处理,并返回错误信息。 11. **sjp.jar** 这个文件可能是一个已经封装好的Java短信SDK,包含了对短信接口的调用。使用时...

Global site tag (gtag.js) - Google Analytics