M2M平台与终端接口规范

更新时间:2024-04-17 10:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

QB-D-109-2007

Interface Specification for M2M Service Platform and Terminal

版本号:2.0.0

╳╳╳ ╳-╳╳-╳╳发布 ╳╳╳╳-╳╳-╳╳实施

中国移动通信企业标准

M2M平台与终端接口规范

中国移动通信有限公司 发布

QB-D-109-2007

目 录

1. 2. 3. 4.

范围........................................................................................................................................... 1 规范性引用文件 ....................................................................................................................... 1 术语、定义和缩略语 ............................................................................................................... 1 网络结构 ................................................................................................................................... 2 4.1. 网络结构图 ................................................................................................................... 2 4.2. 网元功能描述 ............................................................................................................... 2

4.2.1. 行业终端 ........................................................................................................... 2 4.2.2. M2M平台 ......................................................................................................... 2 4.2.3. 企业代理服务器 ............................................................................................... 2 4.2.4. 行业应用网关 ................................................................................................... 2 4.2.5. GGSN ................................................................................................................ 3 4.2.6. BOSS ................................................................................................................. 3 4.2.7. 行业终端监控平台 ........................................................................................... 3 4.2.8. 网管系统 ........................................................................................................... 3 WMMP协议概述..................................................................................................................... 3 WMMP协议通信方式 ............................................................................................................. 4 6.1. 长连接 ........................................................................................................................... 4 6.2. 短连接 ........................................................................................................................... 5 6.3. 协议端口 ....................................................................................................................... 6 6.4. 交互过程中的应答方式 ............................................................................................... 6 6.5. 通信过程中的异常与重发 ........................................................................................... 6 6.6. 数据包流水号 ............................................................................................................... 7 WMMP功能及流程 ................................................................................................................. 7 7.1. 终端序列号注册/分配流程 .......................................................................................... 7 7.2. 行业终端提交登录信息 ............................................................................................... 8 7.3. 行业终端退出系统消息 ............................................................................................... 9 7.4. 行业终端连接检查消息 ............................................................................................... 9 7.5. 终端上线失败错误状态上报 ....................................................................................... 9 7.6. M2M平台向行业终端实时提取信息 ....................................................................... 13 7.7. M2M平台向行业终端设置终端参数 ....................................................................... 13 7.8. 行业终端上报采集数据 ............................................................................................. 13 7.9. 行业终端上报告警数据 ............................................................................................. 14 7.10. 终端软件远程升级 ................................................................................................. 14 7.11. 终端上报统计数据 ..................................................................................................... 14 7.12. 终端向平台请求配置数据 ..................................................................................... 14 接口定义 ................................................................................................................................. 14 8.1. TLV说明 .................................................................................................................... 14 8.2. 消息结构 ..................................................................................................................... 15 8.3. 消息头格式 ................................................................................................................. 15 8.4. 消息体定义 ................................................................................................................. 15

8.4.1. LOGIN包体定义 ........................................................................................... 15 8.4.2. LOGIN_ACK包体定义 ................................................................................. 16

I

5. 6.

7.

8.

QB-D-109-2007

8.4.3. LOGOUT包体定义 ....................................................................................... 17 8.4.4. LOGOUT_ACK包体定义 ............................................................................. 17 8.4.5. HEART_BEAT包体定义 ............................................................................... 17 8.4.6. HEART_BEAT_ACK包体定义 .................................................................... 18 8.4.7. CONFIG_TRAP包体定义 ............................................................................. 18 8.4.8. CONFIG_TRAP_ACK包体定义 .................................................................. 18 8.4.9. CONFIG_GET包体定义 ............................................................................... 19 8.4.10. CONFIG_GET_ACK包体定义 ..................................................................... 19 8.4.11. CONFIG_REQ终端请求配置信息 ............................................................... 19 8.4.12. CONFIG_REQ_ACK包定义......................................................................... 19 8.4.13. REMOTE_CTRL远程控制 ........................................................................... 20 8.4.14. REMOTE_CTRL_ACK包定义 ..................................................................... 20 8.4.15. CONFIG_SET包定义 .................................................................................... 20 8.4.16. COFIG_SET_ACK包定义 ............................................................................ 20 8.4.17. TRANSPARENT_DATA包定义 ................................................................... 21 8.4.18. TRANSPARENT_DATA_ACK包定义 ......................................................... 21 8.4.19. PL_DOWNLOAD平台发起下载更新通知 .................................................. 22 8.4.20. PL_DOWNLOAD_ACK包体定义 ............................................................... 22 8.4.21. Command_id定义 .......................................................................................... 22

9. 编制历史 ................................................................................................................................. 23 附录A 终端序列号的定义 ........................................................................................................... 23 附录B TLV说明 ............................................................................................................................ 24 附录C 行业终端侧通信协议状态迁移图 ................................................................................... 32 附录D M2M平台侧通信协议状态迁移图 .................................................................................. 34 附录E M2M终端登录状态迁移图 .............................................................................................. 36 附录F CCITT CRC16算法伪代码 ............................................................................................... 37 附录G CCITT CRC32算法伪代码 .............................................................................................. 37 附录H PDU短信格式说明 ........................................................................................................... 40

II

QB-D-109-2007

前 言

本标准规定了M2M业务过程中涉及的终端和M2M平台间的通信接口,是M2M业务所涉及终端及平台设备需要遵从的技术文件。

本标准主要包括以下几方面内容:网络结构、接口定义等。 本标准的附录A-H为标准性附录。 本标准由中移 号文件印发。

本标准由中国移动通信有限公司集团客户部归口。

本标准由标准归口部门负责解释,具体技术细节由中国移动研究院负责解释。

本标准起草单位:中国移动通信有限公司研究院。

本标准主要起草人:肖青、朱暐、童小平、李石、苗丹、王哲伟、赵立君、杨楠、王颖。

III

QB-D-109-2007

1. 范围

本规范对M2M业务系统中M2M平台与行业终端之间的接口提出规定,中国移动通信集团内部和厂商共同使用,用于在业务开展、设备开发方面为集团公司和省公司提供技术依据;适用于GSM/GPRS网络环境。 2. 规范性引用文件

下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。

表2-1

[1] 《全网行业应用接口规范》 中国移动通信有限公司 [2] 《M2M业务规范1.0.0》 中国移动通信有限公司 [3] 《无线DDN终端规范》 中国移动通信有限公司 [4] 《M2M总体技术要求V1.1.0》 中国移动通信有限公司 [5] 《M2M平台与终端接口规范中国移动通信有限公司

V1.0.0》 3. 术语、定义和缩略语

下列术语、定义和缩略语适用于本标准:

表3-1

词语 解释 API Application Programming Interface APN Access Point Name GGSN Gateway GPRS Support Node GPRS General Packet Radio Service GSM Global System for Mobile Communication M2M Machine-to-Machine WMMP Wireless Machine Management Protocol SOAP Simple Object Access Protocol SMSC Short Message Service Center USSD Unstructured Supplementary Service Data SI System Integrater MO Mobile Originated MT Mobile Terminated

1

QB-D-109-2007

4. 网络结构 4.1. 网络结构图

行业终端行业终端监控平台FTPTEMT运营商网络EC数据库模块终端管理模块BOSS签约管理模块终端接入模块专用行业终端MTWEB模块PORTAL终端管理模块PORTAL中小企业无线调制解调器接入省行业网关通信接入模块业务处理模块EC接入模块GGSN企业代理服务器业务管理模块网管接口手持设备大型企业网管系统M2M平台全网M2M业务系统结构图

图4.1 M2M业务系统结构图

4.2. 网元功能描述

4.2.1. 行业终端

行业终端具有的管理功能主要包括接收远程M2M平台激活指令、本地故障报警、数据通信、远程升级。

主要包括行业专用终端、无线调制解调器、手持设备三种类型。

4.2.2. M2M平台

M2M平台为集团客户提供统一的M2M终端管理、终端设备鉴权,并对目前行业网关尚未实现的接入方式进行鉴权。支持多种网络接入方式,提供标准化的接口使得数据传输简单直接。提供数据路由、监控,用户鉴权、内容计费等管理功能。

M2M平台按照功能划分为通信接入模块、终端接入模块、业务处理模块、M2M标准应用模块、管理模块、EC接入模块、数据库模块、WEB模块。

4.2.3. 企业代理服务器

企业代理服务器完成通信接口、协议处理、安全管理、数据管理、运行管理等功能。

4.2.4. 行业应用网关

行业应用网关与短信中心等业务中心或业务网关连接,提供通信能力。

2

QB-D-109-2007

行业网关负责短信等通信接续过程中的业务鉴权、设置黑白名单、EC/SI签约关系/黑白名单导入。

行业网关产生短信等通信原始使用话单,送给BOSS计费。

4.2.5. GGSN

负责建立行业终端与M2M平台的GPRS通信。提供数据路由、地址分配及必要的网间安全机制。

4.2.6. BOSS

与行业应用网关、M2M平台相连,完成客户管理、业务受理、计费结算和收费功能。对EC/SI提供的业务进行数据配置和管理,支持签约关系受理功能,支持通过HTTP/FTP接口与行业网关、M2M平台、EC/SI进行签约关系以及黑白名单等同步的功能。

4.2.7. 行业终端监控平台

M2M终端提供FTP目录,将每月统计文件存放在FTP目录,供行业终端监控平台下载,以同步M2M平台的终端管理数据。

4.2.8. 网管系统

网管系统与平台网络管理模块通信,完成配置管理,性能管理,故障管理,安全管理及系统自身管理等功能。 5. WMMP协议概述

本协议为实现行业终端与M2M平台数据通信过程而设计。协议建立在UDP协议之上。如图5-1所示。

行业终端WMMPUDPIP底层承载M2M平台WMMPUDPIP底层承载

图5-1 协议栈

由于GPRS网络带宽较窄,延迟较大,不适于采用TCP协议进行通信。而采用UDP协议无连接方式传输,其优点是效率高,流量小,节省网络带宽资源。缺点是没有确认机制,有可能引起丢包,根据实际经验发现,采用UDP方式传输,丢包率能控制在1%以下,通过在UDP的上层应用层协议实现类似TCP的包确认和重传机制,从而提高通信效率及可靠性。

3

QB-D-109-2007

6. WMMP协议通信方式

行业终端与M2M平台共有两种连接方式:长连接和短连接。所谓长连接,指在一个过程中可以连续发送多个数据包,如果没有数据包发送,需要行业终端发送心跳包以维持此连接。短连接是指通信双方有数据交互时,就建立一个WMMP过程,数据发送完成后,则断开此WMMP过程。

长连接过程中采用了心跳作为维持、监测链路的手段。而短连接由于数据的交互在较短的时间内完成,可以不需要心跳包来维持链路,但仍然需要通过心跳包告知M2M平台它的运行状态,以便进行监控和故障报警。 6.1. 长连接

通信双方以客户-服务器方式建立WMMP过程,用于双方信息的相互提交。当信道上没有数据传输时,行业终端应每隔时间C发送心跳包以维持此连接,当心跳包发出超过时间T后未收到响应,应立即再发送心跳包,再连续发送N-1次后仍未得到响应则结束此过程。参数C、T、N原则上应可配置,现阶段建议取值为:C=1分钟,T=15秒,N=3(此参数目前为推荐值,可通过M2M平台在实际应用中修改。在M2M平台加入优先级,推荐值将不同)。消息采用同步方式发送,长连接的操作流程举例如图6-1所示:

4

QB-D-109-2007

行行业终端业终端LOGINLOGIN_ACK管M2M理服务器平台HEART_BEATHEART_BEAT_ACKCONFIG_SETCONFIG_SET_ACKHEART_BEATHEART_BEAT_ACK??HEART_BEATHEART_BEAT_ACKLOGOUTLOGOUT_ACK 图6-1长连接

长连接适用于需要长时间一直在线的企业应用。 6.2. 短连接

行业终端平时处于下线,当本地由于数据需要传输或达到定时上线时间等类似策略时,行业终端作为客户端以客户-服务器方式建立WMMP过程,传送数据完成后,结束该过程。

通信消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1 次后仍未得到响应则停发。现阶段建议取值为:T=15 秒,N=3(此参数目前为推荐值,可通过M2M平台在实际应用中修改)。

尽管是短连接,为了M2M平台对终端的监控和管理,终端仍然需要通过短信向平台发

5

QB-D-109-2007

送心跳包。短连接的操作流程与长连接一致,唯一的区别在于平台并非通过心跳包来判断终端链路的存在,而是判断终端是否处于工作状态。

短连接适用于数据量少,不要一直在线的企业应用。 6.3. 协议端口

本协议使用的端口暂定为 9991,协议为UDP。 6.4. 交互过程中的应答方式

本协议采用UDP方式通信,数据包以同步方式交互,如不作特殊说明,每一个数据包必须有一个响应。

6.5. 通信过程中的异常与重发

行业终端LOGINLOGIN_ACKM2M平台? ?数据包n请求(丢失)数据包n请求(重发)数据包n应答? ?数据包m请求(丢失)数据包m请求(重发)数据包m应答? ?

图6-3 偶然的丢包和重发

当数据包连续丢失时,通信双方则认为该过程无效,先检测出的一方向已知的对端IP发送logout包,并通过logout包的状态字报告故障重启。然后行业终端可以重新发起WMMP过程。

当一个通信过程出现连续丢包或丢包比率较大时,先检测的一方向已知的对端发送logout包,通过logout包的状态字报告故障重启。Logout有可能丢失,但这个过程必须完成。

6

QB-D-109-2007

Logout由请求方发送后,请求方收到logout_ack或接收超时后,释放该连接。如果logout包或logout_ack包在传送的过程中丢失时,请求方在接收超时后,释放连接,而应答方也可在无数据包传输一段时间后检测出该连接无效。

如果通信过程中,发生丢包,情况大致有以下两种:

1.请求方的数据请求包在通信过程中未到达应答方就已经丢失,此时请求方应在应答超时后决定是否重发;(由预先设置的参数决定)

2.当请求方的数据请求包达到应答方后,应答方动作后的应答包在传送过程中未到达请求方即丢失,则请求方应在应答超时后决定是否重发。(由预先设置的参数决定)

应答方无需关心请求方的序号,只需拷贝该序号到应答包中。对于收到两个流水号相同的数据包,此时应答方由于不关心序号是多少,处理的机制完全按照两个不同的数据包处理,即都作回复处理。这样做可简化处理。如图6-4所示:

行业终端(或M2M平台)数据包n请求M2M平台(或行业终端)数据包n应答(丢失)数据包n请求(重发)数据包n应答(与前次相同)

图6-4 对于数据包重复接收的处理

Logout包是一个可选数据包,在应用条件许可的情况下,可以进行logout交互,从而有助于M2M平台对终端通信状态的管理。如果应用不具备该条件,可不支持logout过程。 6.6. 数据包流水号

作为主动发出的数据包,通信双方各自维持自身的数据包流水号;作为对方数据请求包的应答,采用与该请求包相同的流水号。例如,在WMMP过程的开始,行业终端发出的login报文流水号为0,M2M平台应答的LOGIN_ACK流水号也为0,在此后的交互中,流水号依次递增(报文的重发除外),当流水号达到0xffff ffff时,下一个报文的流水号重新回到0。 7. WMMP功能及流程

WMMP协议支持PDU短信(PDU短信格式定义参见附录G)、USSD、GPRS等承载方式,对于终端注册、终端激活、故障告警等数据量传输较少的数据包建议主要采用短信方式,对于业务数据传输、软件升级等数据量传输较大的数据包建议主要采用GPRS方式。 7.1. 终端序列号注册/分配流程

终端在未注册状态下,需要向M2M平台注册。

7

QB-D-109-2007

平平平平平平M2M平平平平平平平平平平平平ALT[平平平平平平平]平平平平平平平平平平平平平平平平ALT[平平平平平平平平平]平平平平平平平平平平平平平平平平平

1) 用户启动行业终端。

2) 行业终端自检是否为非注册状态,如果为注册状态,结束该流程。

3) 如果为非注册状态,行业终端发送注册请求到M2M平台。上报参数包括终端分类码、

终端提供商、终端型号的终端序列号前8位信息、IMEI、IMSI、Cell ID(可选)、终端型号、终端外设标识(可选)。 4) 终端注册。

对终端序列号进行有效性校验,如果序列号无效,则拒绝注册,返回注册失败信息;否则,

a) 如果终端上报的序列号信息中仅包含序列号的前8位信息,后8位为全0。 i. 并且该MSISDN未注册,则根据上报的终端信息由一定算法生成唯一序列号。 ii. 并且该MSISDN已注册,则根据上报的终端信息由一定算法生成唯一序列号,

如果检测到MSISDN和终端序列号的映射关系发生改变,输出序列号冲突记录。

b) 如果终端上报的序列号信息中包含完整序列号,则平台对序列号进行验证,验证通

过后保存该序列号和MSISDN的对应关系,不生成新的序列号,如果检测到MSISDN和终端序列号的映射关系发生改变,输出序列号冲突记录。

5) 返回注册结果。注册结果包括注册成功、数据无效、序列号非法、通信协议版本不兼容

等状态。如果注册结果为成功,则在返回结果中包含分配给终端的序列号。 6) 行业终端更改注册标识位为已注册。 M2M平台生成注册日志。 7.2. 行业终端提交登录信息

行业终端在开机时或复位时发送的第一个信息(LOGIN包),M2M平台对行业终端进行审核鉴权后,向行业终端回送鉴权结果响应(LOGIN_ACK包);行业终端根据鉴权结果信息,如果允许接入到M2M平台,行业终端处于工作激活状态,根据设定的工作方式工作;

8

QB-D-109-2007

如果禁止接入到M2M平台,行业终端处于去活状态,通过指示灯报警。M2M平台在拒绝了某个行业终端的接入请求后,向系统管理员报告。

行业终端在LOGIN后如果需要参数的初始化配置,在LOGIN包体设置启动参数初始化标识。

7.3. 行业终端退出系统消息

行业终端在退出服务时向M2M平台发送的信息(LOGOUT包),表示行业终端暂时不提供服务,M2M平台收到后给予响应(LOGOUT_ACK包)。 7.4. 行业终端连接检查消息

长连接模式连接时,行业终端在激活状态定期向M2M平台发送连接检查消息(HEART_BEAT包),表示处于工作状态,M2M平台收到后给予响应(HEART_BEAT_ACK包)。行业终端如果连续3次接收不到M2M平台的响应信息,可能处于通信故障状态,通过指示灯报警。M2M平台在规定时间内未接收到行业终端的连接检查消息,表示行业终端故障。

对于短连接模式,虽然不需要通过心跳包来维持链路,但终端也必须通过心跳包来告知平台终端处于工作状态,便于平台对终端进行监控和管理。 7.5. 终端上线失败错误状态上报

M2M终端与M2M平台以及企业应用平台连接均采用长连接时,分为4种上线失败状态。针对不同的状态,M2M终端有4种不同的处理方式。分别是: 1) 终端与M2M平台和企业应用平台的连接均为正常状态

平平平平平平M2M平平平平M2M平平平平平平平平平平平平平平平平平平平平平平M2M平平……平平平平平平平平……平平平平………… 2) 与企业应用平台连接正常,但是与M2M平台连接出现故障

9

QB-D-109-2007

平平平平平平M2M平平平平M2M平平平平平平平平平平平平平平平平平平平平平平M2M平平……平平平平平平平平……平平平平 平平平平平平平平M2M平平…………平平平平平平平平M2M平平平平M2M平平平平平平平平平平平平平平 其中,一直尝试M2M平台的时间间隔由厂商自行根据经验决定。建议采用平台心跳间隔,具体定义见0x0011的TLV定义。

3) 与M2M平台连接正常,但是企业应用平台连接出现故障时

10

QB-D-109-2007

平平平平平平M2M平平平平M2M平平平平平平平平平平平平平平平平平平平平平平M2M平平……平平平平 ……平平config_trap平平平平平平平平平平平平平平平平…………平平config_trap平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平 其中,一直定时尝试连接企业应用平台的时间间隔也是由厂商自行根据经验确定。同样,建议采用企业应用平台心跳间隔。同时,终端会给M2M平台发送CONFIG_TRAP配合0x300b,0x300c,0x300d报警,由M2M平台根据用户定制策略来确定是否发送LOGOUT包将行业终端进入等待激活状态。如果终端收到这样的LOGOUT包,则终端重启进入休眠模式,等待激活。

11

QB-D-109-2007

平平平平M2MM2M平平平平平平平平M2M平平平平平平平平平平平平平平平平平平平平平平…………平平平平 平平config_trap平平平平平平平平平平平平平平平平…………平平config_trap平平平平平平平平平平平平平平平平logout平平平平平平平平平平平平平平平平平平平……4) 与M2M平台和企业应用平台连接均不正常

12

QB-D-109-2007

平平平平平平M2M平平平平M2M平平平平平平平平平平平平平平平平平平平平平平M2M平平……平平平平 ……平平平平 平平平平平平平平平平平平平平平…… 如果M2M终端判定与M2M平台和企业应用平台的连接均断开,首先发送报警短信,得到M2M平台短信确认后然后进入休眠,M2M平台可在故障排除后将其激活。 7.6. M2M平台向行业终端实时提取信息

M2M平台在需要的时候向行业终端发送命令(CONFIG_GET包),要求立即上报行业终端的工作状态或者配置参数,如位置、信号强度、通信方式、业务代码等;行业终端收到后给予响应(CONFIG_GET_ACK包)。 7.7. M2M平台向行业终端设置终端参数

M2M平台在需要的时候向行业终端发送控制命令(CONFIG_SET包),通过CONFIG_SET包设置终端的参数。 7.8. 行业终端上报采集数据

行业终端在采集数据后,可以向M2M平台或者直接向企业平台发送。本接口规范定义向M2M平台发送采集数据的内容。

当行业终端通过SMS方式传送数据时,由于每条短消息只能传送140字节,可能需要发送多条短消息。每次行业终端使用SMS方式(采用8bits编码,Data Coding Scheme为0x04)传送数据到M2M平台后,M2M平台在接收到数据后,都向行业终端回送响应,行业终端在接收到响应后再发送下一次信息。

当行业终端通过USSD方式传送数据时,首先向M2M平台发起处理USSD会话请求,M2M平台响应后,行业终端对数据进行BASE64编码,然后采取ASC编码方式(Data Coding Scheme为0x0F)传输。USSD方式每次最多传送160字节,由于存在BASE64编码转换,

13

QB-D-109-2007

实际的有效传输数据量为120字节。M2M平台收到后给予响应,然后行业终端再传送剩下的数据,直到数据传送完成关闭USSD会话。。

当行业终端通过GPRS方式传送数据时,底层采用TCP/IP或UDP/IP协议,行业终端使用设置的端口号向M2M平台发起连接,连接建立后向M2M平台传送采集数据,M2M平台收到后给予响应。

数据的传输采用TRANSPARENT_DATA及TRANSPARENT_DATA_ACK数据包,此数据包即可由行业终端发起,M2M平台确认(主动上报数据);也可能由M2M平台发起,行业终端确认(请求-应答模式)。在TRANSPARENT_DATA和TRANSPARENT_DATA_ACK中的包体数据对于行业终端以及M2M平台是透明、不可或不需理解的业务流数据。 7.9. 行业终端上报告警数据

行业终端在检测到外部状态变化、报警状态或采集信息超过设置的阀值后,向M2M平台发送告警信息(CONFIG_TRAP包),该信息用于传送如车辆超载、超速、火警、盗警等报警信息。M2M平台收到后给予响应(CONFIG_TRAP_ACK包)。 7.10. 终端软件远程升级

终端厂商将升级软件包发布到M2M平台上,由平台提供升级通知和下载服务,由平台通过PL_DOWNLOAD指令向终端下发升级服务器的地址和端口,以及升级相关的版本信息,终端到指定的服务器地址进行升级。升级后,终端登录M2M平台,在LOGIN包中报告终端现行协议版本号,M2M平台记录其登录状态及协议版本,行业用户通过管理平台可查看改终端协议版本。

7.11. 终端上报统计数据

行业终端按照平台的要求自动上报统计数据。平台通过REMOTE_CTRL包下发要求终端上报统计数据命令,终端根据命令内容实时上报或者满足触发条件使用CONFIG_TRAP包上报统计数据。终端要求能记录自身每月业务使用标志,并能向平台上报是否使用业务。 7.12. 终端向平台请求配置数据

行业终端在某些情况下(比如终端的配置信息丢失或破坏)需要主动向平台请求配置信息。终端通过CONFIG_REQ向平台发送需要的配置项,平台将配置数据通过CONFIG_REQ_ACK下发给终端。 8. 接口定义 8.1. TLV说明

项目 TLV TLV组 说明 带格式的不定长字符串 若干个首尾相连的TLV 14

QB-D-109-2007

8.2. 消息结构

项目 Message Header Message Body 其中包头固定长度,包体长度可变 8.3. 消息头格式

字段 报文总长度 消息类型代码 消息头 流水号 报文协议版本 保留字 终端序列号 2 2 4 2 2 16 长度(字节) Command ID 取值始终为0 备注 数据包体 说明 数据包头(所有消息公共包头) 报文字段说明:

? 报文总长度:整个报文的长度;

? 消息类型代码:标识该报文所要执行或响应的监控管理命令,如:远程配置、

下载更新、数据采集等,即Command ID。

? 流水号:唯一标识发送方发出的每一次监控管理请求。接收方回复请求时,将

该流水号原样返回。

发送方各自维护自己的流水号(从0x00000000到0xffffffff),每发出一次请求,该流水号自动加1。 ? 报文协议版本:标识报文发送方使用的报文协议版本,接收方可根据该编号进

行相应的处理或拒绝。

协议版本用两个字节表示,高字节作为主版本号,低字节作为次版本号。 ? 保留字:为兼容行业终端监控平台保留该字段,取值为0。 ? 终端序列号:终端设备的唯一标识,由平台统一分配。 8.4. 消息体定义

8.4.1. LOGIN包体定义

如果消息头中终端序列号的第9-16位为全0,则是注册包,平台根据一定算法计算出序列号的后八位,并将产生的序列号返回给终端。

如果消息头中终端序列号为第9-16位非全0,则是登录包。

如果终端本身已预置序列号,则平台需导入或配置终端序列号数据。终端不需要再上发注册信息。 字段名 IMEI IMSI 字节数 16 15 描述 注册包 定长字段,16字节,对于15字节的IMEI号,则后面补0。 IMSI号码(String) 15

QB-D-109-2007

登录包 Terminal Version IMSI 不定长 15 终端版本号,空字符结尾(’\\0’,最长不超过8个字节) IMSI号码(String) 终端配置信息的CRC32校验和。M2M平台通过对比平台存储的用户定制配置参数的CRC32校验和以及终端上报的本地配置参数CRC32校验和,判断终端的配置参数内容与平台存储的信息是否一致,如果不一致,则可触发参数配置流程。平台可配置当参数校验和不一致的处理机制,例如产生参数校验和告警通知管理员处理,或者系统自动下发配置参数。 TAG组部分 0x0106 0x0107 0x0108 2 1 1 心跳间隔(可选参数) 数据包响应超时,见附录(可选参数) 传输失败最大允许重发次数,value取值范围(单位 次):1~5 0:表示不重发 (可选参数) Cellular ID,终端所在小区标识(高16位表示LAC,低16位表示CI)(可选) SigIntensity,本地信号场强,0-100(可选) 终端外设,(可选字段) 外设类型采用2个字节编码,允许扩展,目前系统预留了如下外设编码: 0x0001——PRN:打印机 0x0002——SCAN:扫描枪 0x0003——POS:POS刷卡器 0x0004——IC:IC卡感应器 0x0005——KEY:密码小键盘 0x0006——PHONE:外接话机 DEV的值为外设编码的序列,无间隔,例如: TAG 0x3010 注:包体中的CRC32校验值是终端所有参数的CRC32校验值,平台应将该值与数据库中保存的CRC32校验值比对,以检验终端的参数是否与预置参数一致。

8.4.2. LOGIN_ACK包体定义

LOGIN_ACK包是M2M平台收到行业终端登录请求后,下发的确认包。其中包含运行配置策略。

数据包头status字段取值: 数据包体定义: 字段名 字节数 描述 注册响应包定长字段部分 16

终端配置参数4 的CRC32校验 0X3006 0X3007 0x3010 4 1 Len 6 Value 0x000100020003 表示三个外设编号分别为0x0001, 0x0002, 0x0003

QB-D-109-2007

Status 1 返回注册结果 0:注册成功; 1:非法终端序列号; 2:通信协议版本不兼容; 3:改为短信注册 其他:保留。 平台分配/记录的终端序列号 登录响应包定长字段部分 Status 1 返回注册结果 0:登录成功,并需要下发配置数据 1:非法IMSI 2:非法终端序列号; 3:通信协议版本不兼容; 4:登录成功,但不需要下发配置 5:终端没有REGIST(注册) 6:改为短信登录 其他:保留。 当前系统时间:从1970-1-1起到当前的秒数计算 终端序列号 16 CurTime 4 备注:以上字段除TAG组外其他为必填项,只有终端没有能力获取的参数才不填。注册/登录包为GPRS方式时,由于平台获取不到终端手机号,当不能从平台以IMSI方式绑定终端时,可以下发“改为短信注册/登录”,要求终端以短信的方式发送注册/登录信息。

8.4.3. LOGOUT包体定义

LOGOUT包可以由行业终端或M2M平台任何一方发起,表明要结束此次过程,数据包头中的status字段表明结束过程的原因。 字段名 字节数 描述 定长字段部分 LOGOUTREASON 1 0:正常退出,进入等待激活模式; 1:准备升级;(此项一般由行业终端端发起) 2:故障断开; 3:应用新配置;(此项一般由行业终端端发起); 4:心跳超时; 5:故障退出,进入等待激活模式 其他:保留。 8.4.4. LOGOUT_ACK包体定义

LOGOUT_ACK包是对LOGOUT包请求的确认。 无数据体。

8.4.5. HEART_BEAT包体定义

在长连接模式时,由于要维持过程,必须发送维持连接包维持连接,行业终端在没有实

17

QB-D-109-2007

际数据达到预先设置的间隔值时,发送HEART_BEAT包以维持当前过程。对于短连接模式,终端也需要向M2M平台发送心跳包以表明终端处于工作状态,便于平台对终端的监控和管理。

数据体定义: 字段名 0X3006 0X3007 0x3005 0x3011

8.4.6. HEART_BEAT_ACK包体定义

对HEART_BEAT的响应。 无数据体;

8.4.7. CONFIG_TRAP包体定义

行业终端向M2M平台上报信息,包括告警信息、统计信息、配置信息。 数据体定义: 字段名 字节数 描述 TAG组部分,TLV方式,可选字段 上报终端监控内容,格式参见附录B(4)终端监控相关内容。 上报故障信息,参见附录B(4)终端监控相关内容,0x300D(报警代码) 已恢复的故障编码合集,参见附录B(4),0x300E 参见附录B:(1)配置参数相关内容 上报统计信息,参见附录B:(3)终端统计相关内容 注:一个CONFIG_TRAP包体中可以同时包含告警、统计或者是配置信息。同时也可以包含0x3006、0x3007、0x3003等终端相关属性信息。

8.4.8. CONFIG_TRAP_ACK包体定义

字节数 4 1 4 4 描述 TAG组部分 CELLULAR ID,终端所在小区标识(高16位表示LAC,低16位表示CI)(可选) SIGINTENSITY,本地信号场强,0-100(可选) 上一次心跳延时(可选) 终端上报丢包数(可选) CONFIG_TRAP _ACK包是对CONFIG_TRAP包请求的确认。

数据体定义: 字段名 STATUS 字节数 描述 定长字段 0:数据正确; 1:数据无效; 其他:失败,原因待定。 可选,数据无效的TAG组,参见附录B:(1)配置参数相关内容 TAG组 2*TAG数目 18

QB-D-109-2007

8.4.9. CONFIG_GET包体定义

M2M平台通过Tag读取行业终端的相应配置信息、统计信息、监控信息。 数据体定义: 字段名 终端监控内容 故障信息 配置信息 统计信息 字节数 2*TAG数目 2*TAG数目 2*TAG数目 2*TAG数目 描述 定长字段 终端监控内容,格式参见附录B(4)终端监控相关内容。 故障信息,参见附录B(4)终端监控相关内容,0x300D(报警代码) 配置信息,参见附录B:(1)配置参数相关内容 统计信息,参见附录B:(3)终端统计相关内容 注:一个CONFIG_TRAP包体中可以同时包含监控、统计或者是配置信息。

8.4.10. CONFIG_GET_ACK包体定义

对CONFIG_GET包的响应,返回TLV形式的行业终端的配置内容。

数据体定义: 字段名 STATUS 字节数 STATUS 描述 定长字段 响应结果代码 0——接收成功 1——数据无效 其他:失败,原因待定。 TAG组部分 TAG组 8.4.11. CONFIG_REQ终端请求配置信息 数据体定义: 字段名 TAG组 8.4.12. CONFIG_REQ_ACK包定义 终端对平台设置参数的相应。 数据体定义: 字段名 字节数 描述 19

按监控模块的要求上传参数、状态或统计信息。参见CONFIG_TRAP。

描述 参见附录B(1),由配置参数标识组成,例如:0x0002000A0014 字节数 2×TAG数目 QB-D-109-2007

定长字段 STATUS 响应结果代码 0——接收成功 1——数据无效 其他:失败,原因待定。 TAG组部分 TAG组(可选) 8.4.13. REMOTE_CTRL远程控制

平台对终端发送控制指令,控制终端重启、复位等操作。 数据体定义: 字段名

8.4.14. REMOTE_CTRL_ACK包定义

对REMOTE_CTRL包的响应,返回TLV形式的行业终端的配置内容。 数据体定义: 字段名 STATUS 字节数 1 描述 定长字段 响应结果代码 0——接收成功并执行控制指令 1——数据无效 2——接收成功,有无效命令 其他:失败,原因待定。 TAG组部分 TAG组(可选) 2*TAG数 命令无效的TAG组,参见附录B(5) 注:对于数据采集类指令,终端采用CONFIG_TRAP上传采集数据,包括统计数据、监控信息、业务数据等。

8.4.15. CONFIG_SET包定义

M2M平台通过指令设置行业终端的某些参数。 数据体定义: 字段名 TAG组

8.4.16. COFIG_SET_ACK包定义 终端对平台设置参数的相应。

20

平台返回参数配置,为TLV序列,参见附录B(1)配置参数相关内容。 字节数 描述 TAG组部分,TLV中TAG定义,参见附录B:(5)下行控制相关内容 字节数 描述 TLV序列,参见附录B(1) QB-D-109-2007

数据体定义: 字段名 STATUS 字节数 描述 定长字段 响应结果代码 0——接收成功 1——数据无效 其他:失败,原因待定。 TAG组部分 2×Tag数目 返回无效TAG(终端不支持)的序列。格式为: “[PRMID1][PRMID2][PRMID3]” 例如: 0x000200050012 注:当配置参数完全正确时,终端才认为数据正确,返回“0-接收成功”。如果配置参数中有无效数据,则返回“1-数据无效”,终端不进行参数配置操作。 当采取分包发送配置参数时,终端检测到任何一个无效的参数配置,返回“1-数据无效”,终端不进行参数配置操作,之前收到的参数也不进行参数配置操作。平台修订参数后全部重发配置参数包。

8.4.17. TRANSPARENT_DATA包定义

该命令字在终端管理流与业务流并行模式使用。

接入管理服务器和行业终端之间可以进行双向的透明数据传输。一方面,企业应用服务器可以通过接入管理服务器将数据发送至行业终端(可能的话,行业终端再转发给它连接的下端设备);另一方面,行业终端可以将自身的数据发送至接入管理服务器,再由后者转发至企业应用服务器。

M2M平台如果从终端测收到该消息,则根据终端序列号来获取EC信息,把用户数据转发给相应EC;如果从EC测收到消息,则根据终端序列号来分发信息到终端。

TRANSPARENT_DATA包即用于此种数据的发送。 字段名 用户数据

8.4.18. TRANSPARENT_DATA_ACK包定义

该命令字在终端管理流与业务流并行模式使用。

对TRANSPARENT_DATA包的响应,如果数据的接收方响应数据,此时数据体将包含响应数据。

M2M平台如果从终端测收到该消息,则根据终端序列号来获取EC信息,把用户数据转发给相应EC;如果从EC测收到消息,则根据终端序列号来分发信息到终端。

数据体定义: 字段名 设备响应数据

字节数 n 属性 Unsigned Integer 描述 行业终端下端设备响应的数据 字节数 n 属性 Unsigned Integer 描述 企业实际发往行业终端下端设备的请求数据 21

QB-D-109-2007

8.4.19. PL_DOWNLOAD平台发起下载更新通知

数据体定义: 字段名 字节数 描述 下载服务器IP地址,含端口号,例如: “61.135.68.199:80\\0”,以空字符结尾。 下载服务器地 址 8.4.20. PL_DOWNLOAD_ACK包体定义

数据体定义: 字段名 RESULT 字节数 1 描述 响应结果代码 0:已是最新版本,不需更新 1:立即准备更新 2:终端正在执行业务,暂缓更新 3:数据无效 其他:失败,原因待定。 自定义部分,由终端厂家提供数据,平台提供通道透传给终端。 终端升级完成后,通过重启时向平台登录(LOGIN)来反馈升级结果和更新后的版本信息。

8.4.21. Command_id定义

消息类型 LOGIN LOGIN_ACK LOGOUT LOGOUT_ACK HEART_BEAT HEART_BEAT_ACK TRANSPARENT_DATA CONFIG_GET CONFIG_GET_ACK CONFIG_SET CONFIG_SET_ACK CONFIG_TRAP CONFIG_TRAP_ACK CONFIG_REQ CONFIG_REQ_ACK REMOTE_CTRL Command_id 说明 0x0001 0x8001 0x0002 0x8002 0x0003 0x8003 0x0004 0x0005 0x8005 0x0006 0x8006 0x0007 0x8007 0x000A 0x800A 0x000B 终端向平台发送的登录包 平台向终端发送的连接登陆响应包 终端与平台之间发送的断开连接包 终端与平台之间发送的断开连接响应包 终端向平台发送的维持过程连接包 平台向终端发送的维持过程连接回应包 可以双向传输的透明数据包 对可以双向传输的透明数据包的响应 平台向终端发送的读取行业终端的配置信息包 终端向平台发送的响应包,上报配置信息 平台向终端发送的设置命令包或者设置参数包 终端向平台发送的设置响应包 行业终端向M2M平台上报的TRAP信息,包括告警信息。 M2M平台对行业终端上报告信息的响应。 终端向平台发起请求配置参数 平台向终端发送的请求配置参数的响应包 平台向终端发送的远程控制包 22

TRANSPARENT_DATA_ACK 0x8004 QB-D-109-2007

REMOTE_CTRL_ACK PL_DOWNLOAD PL_DOWNLOAD_ACK

9. 编制历史 版本号

V1.0.0 V2.0.0

附录A 终端序列号的定义

序列号说明

更新时间

2006-8-11 2007-8-9

主要内容或重大修改

送审稿 送审稿

0x800B 0x000C 0x800C 终端向平台发送的远程控制响应包 平台发起下载更新通知 终端对平台发起下载更新通知的响应 终端号时间戳终端型号终端提供商终端分类

a) 序列号由16位数字或大写字母表示

b) 终端分类,由第1位表示。取值:A 专用终端 B 手机客户端C OTA

STK卡 D 识读卡 E PC协同工作客户端。对M2M终端,取值始终为A,其余是为了与行业终端监控平台保持兼容。 c) 终端提供商,由第2~4位表示。取值:由集团公司分配

d) 终端型号,由第5~8位表示。取值:由终端厂商提供,集团备份

当为M2M终端时,表示终端的硬件型号;第5位为“0”,表示是M2M终端;

e) 时间戳,序列号的分配年份,由第9~10位表示。如2007年表示为

07。

f) 终端号,由第11~16位表示。取值:平台通过算法分配。该算法应

保证序列号的唯一性。

23

QB-D-109-2007

附录B TLV说明 TLV格式说明 名称 TAG 长度 2byte 取值范围 0x0001~0x0FFF 0x1001~0x1FFF 0x2001~0x2FFF 0x3001~0x3FFF 0x4001~0x4FFF 0x5001~0x7FFF 0x8001~ 0xFFFF Length value 2 byte n byte 0x00 00 ~ 0xFF FF 说明 配置参数相关内容 软件升级相关内容 终端统计相关内容 终端监控相关内容 控制参数相关内容 平台预留 厂家预留 表示value长度,不包括标签、长度的内容 内容 (1)TAG配置参数相关内容 标签值 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000a 0x000b 0x000c 0x000d 0x000e 0x000f 0x0010 0x0011 0x0012 0x0025 标签说明 GPRS网络拨号号码 网络接入点名称(APN) GPRS网络拨号用户名 GPRS网络拨号密码 短信中心号码 传输密钥 平台短信特服号 平台的URL地址 平台的IP地址 平台的端口 业务应用短信中心号码 业务应用服务器的URL地址 业务应用服务器IP地址 业务应用服务器端口 保留 DNS地址 心跳间隔(PERIOD),4字节整形 业务应用USSD短信特服号码 配置包的包总数,2个字节长度。此TAG与CONFIG_SET包配合使用,当有大量配置需要下发时,为保证WMMP报文大小在合适范围内,配置包将分为若干个CONFIG_SET包下发,每个CONFIG_SET包都应包含该包总数 配置包的包序号,2个字节长度。此TAG与CONFIG_SET24

0x0026 QB-D-109-2007

包配合使用,当有大量配置需要下发时,为保证WMMP报文大小在合适范围内,配置包将分为若干个CONFIG_SET包下发,每个CONFIG_SET包都应包含该包在这些配置包的位置序号(即第几个包) 0x0027 配置包的TANS_ID,2个字节长度,为一接入服务器临时生成的随机数。此TAG与CONFIG_SET包配合使用,当有大量配置需要下发时,为保证WMMP报文大小在合适范围内,配置包将分为若干个CONFIG_SET包下发,每个CONFIG_SET包都应包含此TAG 2个字节长度 本地串口波特率设置,Value取值范围: 0:默认波特率9600 1:300 2:600 3:1200 4:2400 5:4800 6:9600 7:14400 8:28800 9:57600 10:115200 < 255, 定制波特率 其他无效 1个字节长度 本地串口工作方式数据位: Value取值范围: 0:8位 5、6、7、8分别表示5、6、7、8bit 默认为8bit 其余保留 1个字节长度 本地串口停止位,Value取值范围: 0 表示1位停止位, 1表示1.5位停止位 2表示2位停止位 其余保留,缺省为0 1个字节长度 本地串口校验: 0表示无校验 1表示奇校验 2表示偶校验 3表示mark 25

个性化参数:(旧版本协议定义,故保留) 0x0101 0x0102 0x0103 0x0104 QB-D-109-2007

4表示space 其余保留 0x0105 2字节长度 本地串口扫描间隔, Value取值范围(单位100ms): 1~100 其余无效 保留 1个字节长度 数据包响应超时,value取值范围(单位s): 5~30 其余无效 1个字节长度 传输失败最大允许重发次数,value取值范围(单位 次):1~5 0:表示不重发 其余无效 1字节。设置门限:1-速度,2-载重量,3-电流,其它-保留给集团客户定义,门限值:2字节,行业终端检测到数据超过门限后将发送报警,如车辆速度等。 0x0106 0x0107 0x0108 0x0109

(2)软件升级相关内容:

标签值 0x1000 0x1001 0x1002 0x1003 0x1004 0x1005 标签说明 1字节,升级方式:0-PULL;2-PUSH PULL方式升级服务器的URL地址 PULL方式升级服务器的IP地址 PULL方式升级服务器端口 PULL方式升级服务器登陆密码 START FIRMWARE DOWNLOADING (push升级方式)8个字节长。 包含4字节的firmware长度指示和随后4字节的firmware版本号信息。Firmware版本号定义了被更新的软件的所属厂商标识和版本。 MORE FIRMWARE DATA(push升级方式) Firmware的内容 END FIRMWARE DOWNLOADING (push升级方式) 2个字节。内容为对整个firmware的CRC16校验 0x1006 0x1007 (3)终端统计相关内容: 标签值 0x2001 标签说明 1字节。统计信息上报条件: 0-立即上报; 1-周期上报; 2-每月业务首次使用上报; 26

QB-D-109-2007

其他保留。 0x2002 0x2003 0x2004 定时上报时间 周期上报 本月使用业务标志: 0:未使用 1:使用 清除终端统计数据;1字节。 0:不清除终端统计数据; 1:清除终端统计数据; 开始统计的时间(YYYYMMDDHHMMSS)。这个参数可选。 (1) 如果有该参数,则以此时间作为统计开始的时间; (2) 如果没有该参数,则监控数据的起始时间为执行平台发出清除终端统计数据后的时间。如果第一次统计(从未清除过终端统计数据)为终端首次运行时间。 结束统计的时间。 终端发送短信成功条数 终端发送短信失败条数 终端接收短信条数 终端Gprs数据通信流量 终端USSD成功条数 终端USSD失败条数 终端接收USSD条数 0x2005 0x2006 0x2007 0x2008 0x2009 0x200A 0x200B 0x200C 0x200D 0x200E

(4)终端监控相关内容:注册信息、终端状态、终端报警等。

标签值 0x3001 0x3002 0x3003 0x3004 0x3005 0x3006 0x3007 0x3008 0x3009 0x300a 0x300b 0x300c 0x300d 标签说明 2个字节。通信协议版本,第1个字节为主版本号,第2个字节为次版本号,只要主版本匹配即可建立通信过程 终端序列号,唯一标识该行业终端 IMSI号码 软件版本号 4字节。上一次心跳延时,单位m 4字节,Cellular ID,终端所在小区标识(高16位表示LAC,低16位表示CI) 1字节,本地信号场强,0-100 请求参数初始化标识(0-关闭;1-启用),1个字节 系统时间,YYMMDDHHMMMM 保留 Alarm_Status,1个字节,告警状态: 0:正常 1:告警 Alarm_Type,1个字节报警信息类型 1 通讯告警 2 终端硬件告警 3终端软件告警 Alarm_Code,双字,表示告警原因的告警代码。 27

QB-D-109-2007

0x0001:短信方式连接入服务器失败(通讯告警) 0x0002:USSD方式连接入服务器失败(通讯告警) 0x0003:GPRS方式连接入服务器失败(通讯告警) 0x0004:GPRS无法打开(通讯告警) 0x0005:GPS模块故障(终端硬件告警) 0x0006:终端自检测故障(终端硬件告警) 0x0007:短信提交信息超时(通讯告警) 0x0008:终端电源故障(终端硬件告警) 0x0009:超门限告警(终端硬件告警) 0x000A:终端升级失败(终端软件告警) 0x000B:信号强度弱(终端硬件告警) 0x000C:拨号失败(终端硬件告警) 0x000D:误码过多(终端软件告警) 0x000E:企业业务平台连接失败(通讯告警) 0x000F:未收到平台服务器的任何数据包 0x0010:与平台协议版本不匹配 0x0011:内存出错 0x0012:应用文件损坏 0x0013:业务应用服务器平台无法访问 0x0014:监控平台无法访问 0x0015:打印机异常 0x0016:扫描枪异常 0x0017:POS刷卡器异常 0x0018:IC卡感应器异常 0x0019:密码小键盘异常 0x001A:外接话机异常 其他:系统保留 其值的形式为:0x0001000A000B 0x300E 0x300F RestoreAlarm,为已恢复的故障编码合集,如:0x0001000A000B DEVS:终端外设的状态。 外设类型采用2个字节编码,允许扩展,目前系统预留了如下外设编码: 0x0001——PRN:打印机 0x0002——SCAN:扫描枪 0x0003——POS:POS刷卡器 0x0004——IC:IC卡感应器 0x0005——KEY:密码小键盘 本TAG针对终端外设,1为启用,0为禁用,2为故障。值的格式: TLV方式: 设备ID,2字节 1字节,表示启用或禁用 0x3010 DEV:终端支持的外设: 外设类型采用2个字节编码,允许扩展,目前系统预留28

QB-D-109-2007

了如下外设编码: 0x0001——PRN:打印机 0x0002——SCAN:扫描枪 0x0003——POS:POS刷卡器 0x0004——IC:IC卡感应器 0x0005——KEY:密码小键盘 0x0006——PHONE:外接话机 DEV的值为外设编码的序列,无间隔。 举例: 0x000100020003 0x3011 4个字节,终端上报丢包数 备注:当终端检测到终端故障,则上报故障信息,当所有故障恢复后才上报终端正常信息。

(5)下行控制相关内容:

0x4001 1字节。Set_Command,设置命令,0-终端业务停用;1-终端业务恢复;2-重起(终端复位);3-远程唤醒(激活);4-上报统计数据;5-业务统计累计清零;6-上报监控信息;7-上传业务数据;8-上报通信方式;9-切换APN到M2M平台;10-恢复出厂设置;11-上报全部配置参数(当终端收到该命令后通过CONFIG_TRAP上报所有配置参数)。 1字节。终端连接方式:0-短连接;1-长连接; 1字节。数据传送方式 0:数据流+控制流模式,默认 1:数据流与控制流分离模式 2个字节长度。心跳间隔,Value取值范围(单位s): 4~3600 1字节。采集(统计、监控、业务)数据传送方式:1-SMS; 2-USSD; 3-GPRS; 4其他; 1字节。企业应用平台连接模式: 0:UDP模式; 1:TCP模式; 其他:保留(如http,ftp,xml,soap) 此TLV一般用于数据流直接与企业应用平台交互的应用 控制终端的外设。 外设类型采用2个字节编码,允许扩展,目前系统预留了如下外设编码: 0x0001——PRN:打印机 0x0002——SCAN:扫描枪 0x0003——POS:POS刷卡器 0x0004——IC:IC卡感应器 0x0005——KEY:密码小键盘 本TAG针对终端外设,1为启用,0为禁用。值的格式: 设备ID,2字节 0x4002 0x4003 0x4004 0x4005 0x4006 0x4021 1字节,表示启用或禁用

29

QB-D-109-2007

注意:

? TLV可以连续地出现在短信或者数据报文中(但必须保证不被拆分),称为TLV组,达到节省通信次数的目的。

例如,可以在一个CONFIG_SET报文中包含若干参数。

? 当需要有许多配置下发时可使用多个CONFIG_SET包下发,在TAG定义中使用了0x0025,0x0026,0x0027完成此功能。

举例1: 假设用户通过接入服务器有100个配置项需要下发,分为5个CONFIG_SET报文下发时,则这5个包中将包含系列配置,此时假设系统生成随机的trans_id为0xabcd:

第一个config_set包 TLV组 Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0001; (表示这是第1个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第1部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0002; (表示这是第2个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第2部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0003; (表示这是第3个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第3部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0004; (表示这是第4个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第4部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0005; (表示这是第5个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第5部分配置) 第二个config_set包 第三个config_set包 第四个config_set包 第五个config_set包 举例2: 行业终端登录至接入模块,此时有100个配置项需要下发,则接入模块将配置分为1个login_ack和4个CONFIG_SET报文下发,则这后4个包中将包含系列配置,此时假设系统生成随机的trans_id为0xabcd: login_ack包 第1个config_set包 TLV组 其中status字段为0,表示有后续的config_set Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有4个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0002; (表示这是第1个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第2部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有4个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0003; (表示这是第2个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第3部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有4个配置包) 30

第2个config_set包 第3个QB-D-109-2007

config_set包 Tag = 0x0026,Len = 0x0002,Value = 0x0004; (表示这是第3个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第4部分配置) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有4个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0005; (表示这是第4个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) … …(第5部分配置) 第4个config_set包

? 当需要有多个升级包下发时可使用多个CONFIG_SET包下发,在TAG定义中使用了0x0025,0x0026,0x0027,0x1006,0x1007完成此功能。

举例:假设终端升级文件分为5个CONFIG_SET报文下发;假设系统生成随机的trans_id为0xabcd。具体处理如下: 第一个config_set包 TLV组 Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0001; (表示这是第1个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) Tag = 0x1005 (包含4字节的firmware长度(整个升级文件长度)指示和随后4字节的firmware版本号信息) Tag = 0x1006(Firmware的内容,升级文件第1部分) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0002; (表示这是第2个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) Tag = 0x1006(Firmware的内容,升级文件第2部分) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0003; (表示这是第3个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) Tag = 0x1006(Firmware的内容,升级文件第3部分) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0004; (表示这是第4个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) Tag = 0x1006(Firmware的内容,升级文件第4部分) Tag = 0x0025,Len = 0x0002,Value = 0x0005; (表示总共有5个配置包) Tag = 0x0026,Len = 0x0002,Value = 0x0005; (表示这是第5个配置包) Tag = 0x0027,Len = 0x0002,Value = 0xabcd; (这5个包的统一Trans_id) Tag = 0x1006(Firmware的内容,升级文件第5部分) Tag = 0x1007 (2个字节。内容为对整个firmware的CRC16校验) 第二个config_set包 第三个config_set包 第四个config_set包 第五个config_set包

31

QB-D-109-2007

附录C 行业终端侧通信协议状态迁移图

startidleon_line requestloginT01T0wait_login_acklogin_acklogin_ackno错误处理决定是否重发yeslast packetT0reset T0idleyes等待配置结束后才能启动应用是否有后续config_set包no-T1on_line*wait_logout_acklogoutlogout_ackT01logout_ackidleidle

32

QB-D-109-2007

* (idle, wait_login_ack)login_configlogin_config_ackfirmware_downloadFirmware_download_ackconfig_setconfig_set_ackconfig_setconfig_set_ackT1-on_lineT1heart_beatT0wait_heart_beat_ackconfig_changelogout_requestlogoutT0wait_logout_ackconfig_trapreset T1T0wait_config_trap_ackwait_heart_beat_ackwait_config_trap_ackheart_beat_ackT01T01config_trap_ackreset T0T1on_lineT1on_line33

QB-D-109-2007

注:上图所示的firmware_download相关的数据包从格式上说是一种特殊的CONFIG_SET数据包,为了清楚地说明处理过程,把它们单独提取出来进行了描述。

附录D M2M平台侧通信协议状态迁移图

startidle1loginlogin_acknoon_line是否需要下发配置信息yes32on_lineT0firmware_download_requestconfig_get_requestno错误处理firmware_download决定是否重发config_getyeslast packetT0wait_firmware_download_ackT0-T0wait_config_get_ack-config_set_request3config_set* (idle)config_trapT0T1heart_beat_ackheart_beatconfig_trap_ackwait_config_set_ack--34

QB-D-109-2007

on_linelogout_requestlogoutT0wait_logout_ackT02logout_ackidlewait_firmware_download_ackwait_config_set_ackT0firmware_download_ackT0config_set_ack2nofirmware发送完毕?yes2noconfig发送完毕?yeson_linefirmware_downloadon_lineconfig_setT0-*T0-wait_config_get_ackT0config_get_ackloginlogout2on_line1logout_ackidle

35

QB-D-109-2007

附录E M2M终端登录状态迁移图

start login Login_ack 否 是 Status=5? 是

终端进行REGIST 否 Status=0? 是 Config_set Status=4 否 是 终端收到 REGIST_ACK 否 否 RetryTimes=n? 判断错误 是 Config_trap_ack 发送告警 短信 Send all? 强行登陆 终端处于无管理状态 是 否 并下线 是 Config_trap Config_Set_ACK 否 Receive all? T5 Idle

36

QB-D-109-2007

附录F CCITT CRC16算法伪代码

public static short Caculate(byte[] msg) { short crc = (short) 0xFFFF; int i = 0; while (i < msg.length) { for (int j = 0; j < 8; j++) { boolean c15 = ((crc >> 15 & 1) == 1); boolean bit = ((msg[i] >> (7 - j) & 1) == 1); crc <<= 1; if (c15 ^ bit) crc ^= 0x1021; } i++; } return crc; } 附录G CCITT CRC32算法伪代码

#define u8_t unsigned char #define u16_t unsigned short #define u32_t unsigned long #define BOOL bit typedef union{ u8_t m_ch[2]; u16_t m_data; } U16_INT;

static u32_t crc_32_tab[] = { /* CRC polynomial 0xedb88320 */

0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,

37

QB-D-109-2007

0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d };

u32_t CreateCRC32(u8_t *databuf,u32_t len) {

u32_t oldcrc32,crc32,oldcrc; u16_t charcnt;

38

QB-D-109-2007

u8_t c; u32_t t;

oldcrc32 = 0x00000000; charcnt = 0;

while(len --){ t = (oldcrc32>> 24)&0xFF;

oldcrc = crc_32_tab[t]; c = databuf[charcnt];

oldcrc32 = (oldcrc32 << 8)|c; oldcrc32 = oldcrc32 ^ oldcrc; charcnt ++; }

crc32 = oldcrc32; return crc32; }

u8_t byAddCRC32(u8_t *databuf,u32_t len) { U32_INT dwCrc32; dwCrc32.m_data=CreateCRC32(databuf,len); databuf[len]=dwCrc32.m_ch[0]; databuf[len++]=dwCrc32.m_ch[1]; databuf[len++]=dwCrc32.m_ch[2]; databuf[len++]=dwCrc32.m_ch[3]; return 0; }

u8_t byChkCRC32(u8_t *databuf,u32_t len) { u8_t retval; U32_INT dwCrc32,dwOldCrc32; dwCrc32.m_data=CreateCRC32(databuf,len-4);

39

QB-D-109-2007

}

dwOldCrc32.m_ch[0]=databuf[len-3]; dwOldCrc32.m_ch[1]=databuf[len-2]; dwOldCrc32.m_ch[2]=databuf[len-1]; dwOldCrc32.m_ch[3]=databuf[len]; if(dwCrc32.m_data==dwCrc32.m_data){ retval=0; } else{ retval=0x55; } return retval;

附录H PDU短信格式说明 SMSC Address TPDU Octet 1 bit 7 6 5 4 3 2 1 0 TPDU Octet 2 TPDU Octet 3 Value 07 91 53 48 50 02 02 00 Value (hex 51) 0 1 0 1 0 0 0 1 Value 00 Value 0C Description Address length Type of address Short message service centre address Description TP-Reply-Path TP-User-Data-Header-Indicator TP-Status-Report-Request TP-Validity-Period-Format TP-Validity-Period-Format TP-Reject-Dublicates TP-Message-Type-Indicator TP-Message-Type-Indicator Description TP-Message-Reference Description Address length in semi-octets 40

QB-D-109-2007

TPDU Octet 4 TPDU Octets 5-10 TPDU Octet 11 Value 91 Value 53 48 70 04 63 32 Value Description TP-Protocol-Identifier, consists ofone octet. For details, see the GSM03.40 specification, version 7.2.0,page 53. TPDU Octet 12 bits 00 Value (hex F5) Description TP-Destination-Address Description Type of address Description 7 6 5 4 3 2 1 0 TPDU Octet 13 1 1 1 1 0 1 0 1 Value TP-Data-Coding-Scheme used in TPUser-Data, consists of one octet. See the GSM 03.38 specification.Functionality (bits 7 and 6) related to usage ofbits 4-0. Indicates that text is compressed. Indicates that bits 1 and 0 have message classmeaning. Alphabet being used (bits 3 and 2) Alphabet being used (bits 3 and 2) Message class (bits 1 and 0) Message class (bits 1 and 0) Description TP-Validity-Period (Relative format).For details, see the GSM 03.40specification, version 7.2.0, page 55. TPDU Octet 14 TPDU Octets 15-154

A7 Value 8C Value Description TP-User-Data-Length Description TP-User-Data 41

QB-D-109-2007

WDP Head

Value 0B 5 4 0B 2E C0 02 00 03 04 01 01 UDH IE identifier: SAR UDH SAR IE length Datagram ref no. Total no. of segments in datagram Segment count 源端口号 Description User-Data-Header (UDHL) Length = 11 UDH IE identifier: Port numbers UDH port number IE length 目的端口号:17777 42

QB-D-109-2007

WDP Head

Value 0B 5 4 0B 2E C0 02 00 03 04 01 01 UDH IE identifier: SAR UDH SAR IE length Datagram ref no. Total no. of segments in datagram Segment count 源端口号 Description User-Data-Header (UDHL) Length = 11 UDH IE identifier: Port numbers UDH port number IE length 目的端口号:17777 42

本文来源:https://www.bwwdw.com/article/njjp.html

Top