. .
表4-5 Deliver命令的应答格式
4.1.3Report操作
Report命令用于向SP发送一条先前的Submit命令的当前状态。
4.1.3.1Report命令的请求容
参数名称 CommandId SequenceNumber SubmitSequenceNumber ReportType 说明 命令ID,十六进制数字 序列号,十六进制数字 该命令所涉及的Submit或deliver命令的序列号,十六进制数字 Report命令类型 0:对先前一条Submit命令的状态报告 1:对先前一条前转Deliver命令的状态报告,十六进制数字 接收该短消息的手机号,字符,手机前加“86”国别标志 该命令所涉及的短消息的当前执行状态 0:发送成功 1:等待发送 2:发送失败 十六进制数字 当State=2时为错误码值,否则为0,十六进制数字 保留,扩展用 表4-6 Report命令的请求格式
*注:当report反馈的是短消息中心的状态报告时,state的三种状态与短消息状态报告中的状态的对应关系见5.4 report状态与短消息状态的映射。
UserNumber State* ErrorCode Reserve 4.1.3.2Report命令的应答容
字段 CommandId SequenceNumber Result 说明 命令ID,十六进制数字 序列号,十六进制数字 Report命令是否成功接收。十六进制数字 0:接收成功 其它:错误码 保留,扩展用 表4-7 Report命令的应答格式
Reserve 4.1.4UserRpt操作
UserRpt命令用于在完成对用户鉴权后,由SMG向手机用户所注册的SP发送命令,对手机用户进行状态配置。
.. ..
. .
4.1.4.1UserRpt命令的请求容
参数名称 CommandId SequenceNumber SPNumber UserNumber UserCondition Reserve 说明 命令ID,十六进制数字 序列号,十六进制数字 SP的接入,字符 待配置的手机,字符,手机前加“86”国别标志 十六进制数,0:注销;1:欠费停机;2:恢复正常 保留,扩展用 表4-8 UserRpt命令的请求格式
4.1.4.2UserRpt命令的应答容
参数名称 CommandId SequenceNumber Result 命令ID,十六进制数字 序列号,十六进制数字 UserRpt命令执行结果 0:成功 其它:错误码 保留,扩展用 表4-9 UserRpt命令的应答格式
说明 Reserve 4.1.5Trace操作
Trace命令用于向SMG请求跟踪某一条MT短消息的状态。
4.1.5.1Trace命令的请求容
参数名称 CommandId SequenceNumber SubmitSequenceNumber UserNumber Reserve 说明 命令ID,十六进制数字 序列号,十六进制数字 被跟踪MT短消息的命令序列号,十六进制数字 被跟踪MT短消息的目的手机号,字符,手机前加“86”国别标志 保留,扩展用 表4-10 Trace命令的请求格式
4.1.5.2Trace命令的应答容
字段 CommandId SequenceNumber Count 说明 命令ID,十六进制数字 序列号,十六进制数字 被跟踪MT短消息经过的节点个数,当被跟踪短消息经过多个节点时,以下各个字段可重复 .. ..
. .
Result Trace命令在该节点是否成功接收。十六进制数字 0:接收成功 1:等待处理 其它:错误码 节点编号,字符 被跟踪的短消息到达该节点时刻,格式为“yymmddhhmmss” 该节点发出被跟踪的短消息时刻,格式为“yymmddhhmmss” 保留,扩展用,当被跟踪短消息经过多个节点时,以上各个字段可重复 表4-11 Trace命令的应答格式
NodeId ReceiveTime SendTime Reserve 4.2基于专用SGIP的消息定义
专用SGIP协议中定义的消息由消息头和消息体组成。
项目 消息头 消息体 消息头部分 消息体部分 表4-12消息的组成
说明 4.2.1数据类型
消息中利用到如下数据类型
类型 Integer Text 说明 无符号整数 定长字符串,左对齐存储,空余位置补’\\0’ 表4-13消息的数据类型
消息中的所有Integer类型的字段均采用网络字节顺序。所有消息中的序列号字段均占12个字节,分为3个4字节整数;通信传输时每个整数都使用网络字节顺序,但整数的次序并不改变。也就是说,通信传输的时候,序列号字段应该按照三个连续的4字节整数来处理。
4.2.2消息头的格式
字段 长度(字节) Message Length 4 Command ID 4 Sequence 12 Number 类型 说明 Integer 消息的总长度(字节) Integer 命令ID Integer 序列号 表4-14消息头的格式
.. ..
. .
4.2.3消息体的格式
4.2.3.1Bind操作
Bind操作由Bind命令和Bind_Resp应答组成。客户端首先发送Bind命令,服务器端收到Bind命令后,对命令发送方进行验证,然后返回Bind_Resp应答。
4.2.3.1.1Bind命令的语法
字段 Login Type 长度(字节) 1 类型 说明 Integer 登录类型。 1:SP向SMG建立的连接,用于发送命令 2:SMG向SP建立的连接,用于发送命令 3:SMG之间建立的连接,用于转发命令 4:SMG向GNS建立的连接,用于路由表的检索和维护 5:GNS向SMG建立的连接,用于路由表的更新 6:主备GNS之间建立的连接,用于主备路由表的一致性 11:SP与SMG以及SMG之间建立的测试连接,用于跟踪测试 其它:保留 Text 服务器端给客户端分配的登录名 Text 服务器端和Login Name对应的密码 Text 保留,扩展用 表4-15 Bind消息格式
Login Name 16 Login Passowrd 16 Reserve 8 4.2.3.1.2Bind_Resp应答的语法
字段 Result 长度(字节) 1 类型 说明 Integer Bind执行命令是否成功。 0:执行成功 其它:错误码 Text 保留,扩展用 表4-16 Bind_Resp消息格式
Reserve 8 .. ..
. .
4.2.3.2Unbind操作
Unbind操作由Unbind命令和Unbind_Resp应答组成。通信连接建立以后,客户端如果要停止通信,需要发送Unbind命令;服务器端收到Unbind命令后,向客户端发送Unbind_Resp相应,然后双方断开连接。
4.2.3.2.1Unbind命令的语法
Unbind命令没有消息体。
4.2.3.2.2Unbind_Resp应答的语法
Unbind_Resp应答没有消息体。
4.2.3.3Submit操作
在SP和SMG的通信中,SP用Submit命令向SMG提交MT短消息,发送到用户的手机中。SMG接收到Submit命令,会返回Submit_Resp应答。SMG根据Submit命令中的付费,判断出该命令是否应从本地SMSC发送,如果属于本地发送,则直接发送到相应的SMSC,否则路由至相应的SMG。
在SMG和SMG的通信中,Submit命令用于SMG客户端向服务器端路由从SP收到的MT短消息。服务器端接收到Submit命令后,再发送到与之相连的目的SMSC。
4.2.3.3.1Submit命令的语法
字段 SPNumber ChargeNumber 长度(字节) 21 21 类型 Text Text 说明 UserCount UserNumber … CorpId ServiceType 1 21 … 5 10 SP的接入 付费,手机前加“86”国别标志;当且仅当群发且对用户收费时为空;如果为空,则该条短消息产生的费用由UserNumber代表的用户支付;如果为全零字符串“0000”,表示该条短消息产生的费用由SP支付。 Integer 接收短消息的手机数量,取值围1至100 Text 接收该短消息的手机号,该字段重复UserCount指定的次数,手机前加“86”国别标志 … … Text 企业代码,取值围0-99999 Text 业务代码,由SP定义 .. ..
SGIP协议1.3



