中国移动通信企业标准QB-╳╳-╳╳╳-╳╳╳╳中国移动智能家庭网关软探针北向接口技术规范T e c h n i c a l S p e c i f i c a t i o n s f o r I n t e l l i g e n tH o m e G a t e w a y S o f t P r o b e a n dN o r t h-I n t e r f a c e版本号:1.0.0╳╳╳╳-╳╳-╳╳发布╳╳╳╳-╳╳-╳╳实施中国移动通信集团公司发布目录1. 前言 (3)2. 范围 (3)3. 规范性引用文件 (3)4. 术语、定义和缩略语 (3)5. 智能家庭网关软探针与监测平台接口定义 (4)5.1. 接口功能描述 (4)5.2. 接口结构描述 (5)5.3. 接口协议说明 (5)5.3.1. HTTP请求发起 (5)5.3.2. HTTP请求返回 (6)5.3.3. FTP文件上传 (7)5.3.4. 接口JSON数据协议定义 (7)6. 开机上报接口 (7)6.1. 开机上报请求 (7)6.2. 开机上报响应 (10)7. 周期上报接口 (12)7.1. 周期上报数据 (12)7.1.1. 网关信息 (12)7.1.2. 业务信息 (15)7.2. 周期上报请求 (19)7.3. 周期上报响应 (21)7.4. 周期文件上报接口 (21)7.4.1. FTP文件格式和参数 (21)8. 实时上报接口 (22)8.1. 实时上报数据 (22)8.1.1. 网络诊断数据 (22)8.1.2. 网络质量测试功能数据 (24)8.2. 实时上报请求 (25)8.3. 实时上报响应 (26)9. 告警上报接口 (27)9.1. 告警上报数据 (27)9.1.1. DNS告警 (27)9.1.2. TCP连接告警 (27)9.1.3. HTTP连接告警 (28)9.1.4. HTTP下载告警 (28)9.1.5. 视频卡顿告警 (29)9.1.6. 即时通信/游戏告警 (29)9.2. 告警上报请求 (29)9.3. 告警上报响应 (30)10. 网络探测接口 (31)10.1. 主动测试请求 (31)10.2. 主动测试响应 (31)11. 配置接口 (31)11.1. 周期上报配置 (31)11.2. 告警配置 (33)11.3. 网络探测配置 (34)11.3.1. 网络诊断配置 (34)11.3.2. 网络质量测试配置 (34)12. 编制历史 (35)附录A常量表 (35)1.前言本规范旨在描述智能家庭网关软探针与软探针监测平台(省级数字家庭管理平台软探针前置机)之间的接口协议,用以规范智能家庭网关软探针应用和软探针监测平台的对接与实现,保证整个智能家庭网关软探针中间件及软探针监测平台顺畅运行。
本标准由中国移动通信集团公司网络部提出并归口。
本标准起草单位:中国移动通信集团公司网络部、中国移动通信研究院。
本标准主要起草人:孔庆慧、陈海宁、李颖、陶虹、郭毅峰、王天竹、吴文雯。
本标准解释单位:中国移动通信集团公司网络部。
本标准由中国移动通信集团公司XXX号文发布。
2.范围本协议规定了中国移动智能家庭网关软探针与软探针监测平台之间的接口协议,是中国移动家庭宽带质量监测平台相关产品开发的依据,适合于智能家庭网关软探针和软探针监测平台的对接。
3.规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。
凡是标注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
4.术语、定义和缩略语下列术语、定义和缩略语适用于本标准:表4-1 中英文对照5.智能家庭网关软探针与监测平台接口定义5.1.接口功能描述智能家庭网关软探针通过OSGI API 采集网关信息以及分析通过网关的数据包信息,进行预处理生成上报数据。
根据按触发上报的不同的条件,软探针与软探针监测平台的接口可分为:表5-1 上报接口类型5.2.接口结构描述智能家庭网关软探针与软探针监测平台的接口分布如下图:图5-1智能家庭网关软探针与软探针监测平台的接口示意图5.3.接口协议说明智能家庭网关软探针通过HTTP等应用层协议实现智能家庭网关软探针与软探针监测平台之间的远程访问;本协议采用TCP,智能家庭网关软探针作为client向软探针监测平台发起TCP连接,监测平台响应后,即可关闭连接。
5.3.1.HTTP请求发起数据传输消息由智能家庭网关软探针向软探针监测平台发起访问请求,消息格式如下:Request URI:默认为“/”Host:软探针监测平台的域名及端口Content-Type:application/JSONContent-Length:表明了消息体长度;User-Agent:表明了客户端的信息;Date:发起请求的日期、时间Accept:终端可以接收的响应消息的媒体类型<payload>:消息体中包含一个JSON文档,详细数据格式请参考具体接口。
5.3.2.HTTP请求返回数据接收消息由软探针监测平台向智能家庭网关软探针返回数据请求结果,消息格式如下:Server:服务器软件信息Content-Type:application/JSONContent-Length:消息体长度<payload>:消息体中包含一个JSON文档,详细数据格式请参考具体接口。
5.3.3.FTP文件上传智能家庭网关软探针接收到开机上报请求的返回结果后,软探针定期采集数据,保存到文件里面,并以FTP方式向监测平台发送数据。
软探针可根据数据量大小和实时策略选择通过FTP协议传输数据。
5.3.4.接口JSON数据协议定义该定义为应用层协议,和具体采用的编码方式无关。
为了提高服务器和机顶盒之间的交互速度,决定采用相对简单的一次交互流程进行交互。
目前选择的编码方式是JSON,Bean的数据组织格式为:“beanName”:{ “para1”:”value1”,”para2”,”value2”}List of String的数据格式为:“listName”: [“value1”,”value2”]List of Bean 的数据格式为:“listName”:[{“para1”:”value1”,”para2”:”value2”},{“para1”:”value1”, ”para2”:”value2”}]目前,后台端采用标准的JSON解析库来解析数据;机顶盒端通过字符串匹配的方式来解析数据。
6.开机上报接口智能家庭网关软探针启动后,需要向软探针监测平台发送数据,完成注册过程,和监测平台建立连接;同时触发监测平台下发周期上报数据的配置信息和告警监测的配置信息。
请求URL: https://xxx:port/rest/cmcc_softprobe/home_gateway/bootmessage6.1.开机上报请求开机上报HTTP请求的<payload>消息体中包含一个JSON文档,具体信息如下:表6-1 开机上报请求调用参数实例:{"eventType":{"eventCode":"1","subEvent":"0"},"timeOffset":"0","deviceInfo":{" deviceId ":"0025E4C2D1FE5F9C"," manufacturer ":"ABCD","Model":"HS3025", "MAC":"E4C2D1FE5F9C","WANIP":"202.8.8.8","CPU":"HILSI0038","wifiinfo":[{"SSID":"1","SSIDname":"home01","SSIDMAC":"E4C2D1FE5F9C","SSIDEnable":"TRUE" ," SSIDStandard":"11a/11b/11g"},{"SSID":"5","SSIDname":"home02","SSIDMAC":"E4C2D1FE5F9C","SSIDEnable":"TRUE" ," SSIDStandard":"11n/11ac"}]......},"deviceStatus":{"bootTime":"01:23:36","CPU":"10%",......}, "dpiVersionInfo":{"version":"1.0.3",......}}6.2.开机上报响应收到智能家庭网关软探针开机上报报文后,软探针监测平台需要返回响应报文,把需要智能家庭网关软探针的周期上报数据和告警配置下来,配置方式请参考章节11.1和11.2。
开机上报响应的<payload>消息体中包含一个JSON文档,样例如下:返回消息数据样例{"result":"0","timeStamp":"2016-03-09 11-27-16", "periodConfigParameter":{"file_ftpserver":"172.16.34.200",//服务器IP地址"file_uploadpath":"cmccprobe/hgu",//服务器文件保存地址"ftpusername":"cmccprobe", //ftp用户名称"ftpuserpwd":"Changeme_123", //ftp用户密码"userlabel":"CMCCHGU1256", //用户标签,可以传递用户账号信息" hguInfoConfig ":{" deviceInfoEnable ":"TRUE", //上报网关消息。