联通SGIP序列号

序列号的定义:

短消息网关系统之中传输的每一条命令都有一个序列号,序列号由命令源节点产生并唯一标记一条命令;也就是说,网关系统中任何两个命令的序列号都不相同。需要注意的是,一条命令在发送过程中转发的不同副本视为一条命令,使用相同的序列号。比如,SP1XSMSC2A发送一条命令,该命令需经过多次转发才能到达SMSC2A,而转发该命令的每一次通信过程中使用的命令的序号均相同,为SP1XSMG1通信所使用的序列号。对于MO短消息,例如SMSC1BSP3X发送一条命令,短消息首先采用SMPP协议发送到SMG1,经过SMG1转发时序列号必须由SMG1重新生成(此时命令源节点为SMG1)。

序列号分成三部分,每部分为一个32位整数,第一部分表示命令源节点的编号,第二部分表示命令产生的日期和时间(网关系统中的任何命令的保存时间都不应该超过一年),格式为十进制的mmddhhmmss,比如1120203225秒产生的命令,其第二部分为十进制1120203225;第三部分由0开始,循环进位,直到进位满了之后再清零,重新开始计数。接收方在返回应答时,应答的序列号必须和相对应的命令的序列号相同。

解析:

第一部分:

32位整数(4个字节)

源节点=3+4位区号+5位企业代码

转换成二进制,如果位数不足需要在前面补0

例如区号为1234,企业代码为56789,则源节点编号为:3123456789

第二部分:

十进制的日期时间

比如1120203225秒产生的命令,其第二部分为十进制1120203225

日期格式不需要补0

第三部分:

进位数(从0开始,发送一条信息后自增1),一般来说这个是在一秒内发送多条数据的时候有用

猜你喜欢

转载自unddone8373229.iteye.com/blog/1121536