指令状态变更通知队列
默认队列名称 : cmd-state-chg
消息发送者 : 企业应用
当终端指令状态发生以下状态变更时,企业应用应答构造CmdStateChange
消息对象,推送到此消息队列:
- 收到终端的应答
应答码为0时。此时
如果是特定的应答指令(如查询音视频资源指令的应答指令为终端上传音视频资源列表),则构造CmdStateChange.status
应设置为TermCmd.CMD_STATUS__ACK
。JT1078AckParams_1205_QryAvResAck
对象,填入CmdStateChanged.ackParams
。- 应答码不为0时。此时
CmdStateChange.status
应设置为TermCmd.CMD_STATUS__EXECUTE_FAILED
。应答码填入CmdStateChanged.ackCode
。
- 终端网关由于各种原因(如指令参数有误)不能完成对指令的编码时。此时
CmdStateChange.status
应设置为TermCmd.CMD_STATUS__BAD_CMD
- 终端发送应答,应答码不为0时。此时
CmdStateChange.status
应设置为TermCmd.CMD_STATUS__EXECUTE_FAILED
- 确认终端不在线时。此时
CmdStateChange.status
应设置为TermCmd.CMD_STATUS__NO_CONNECTION
。(企业应用可能不能准确确定终端是否不在线,这种情况下,可以不产生这种通知)。
如果企业应用不支持某个指令,忽略即可。
消息结构 (JSON)
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
id | string | Y | 终端指令记录ID。 |
reqTm | string | Y | 指令的请求时间,格式:yyyy-MM-dd HH:mm:ss 。(对应 TermCmd 中的reqTm 属性) |
status | int | Y | 指令的新的状态:
status 属性) |
tm | string | Y | 指令状态的变更时间,格式:yyyy-MM-dd HH:mm:ss 。 |
initMsgId | string | Y | 下发指令时指令的消息号(对应 TermCmd 中的msgId 属性) |
subCmdTyp | string | 下发指令时指令的子命令类型(对应 TermCmd 中的subCmdTyp 属性) | |
msgSn | int | 下发指令时的消息流水号(对应 TermCmd 中的msgSn 属性) | |
simNo | string | Y | 下发指令时指令的终端识别号(对应 TermCmd 中的simNo 属性) |
ackMsgId | string | 终端应答自身的指令消息号,JT/T 808,JT/T 1078 指令消息号。仅当status == 2 时有效 | |
ackSeqNo | int | 终端应答自身的指令消息流水号。仅当status == 2 时有效 | |
ackCode | int | 终端应答的应答码。仅当status == 2 且应答消息有应答码时有效。具体参见各指令说明 | |
ackParams | object | 终端应答的数据内容。仅当status == 2 且应答消息有应答内容时有效。具体参见各指令说明 |