tr069协议编程基础知识.doc

上传人:F****n 文档编号:98043285 上传时间:2019-09-07 格式:DOCX 页数:18 大小:309.59KB
返回 下载 相关 举报
tr069协议编程基础知识.doc_第1页
第1页 / 共18页
tr069协议编程基础知识.doc_第2页
第2页 / 共18页
tr069协议编程基础知识.doc_第3页
第3页 / 共18页
tr069协议编程基础知识.doc_第4页
第4页 / 共18页
tr069协议编程基础知识.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《tr069协议编程基础知识.doc》由会员分享,可在线阅读,更多相关《tr069协议编程基础知识.doc(18页珍藏版)》请在金锄头文库上搜索。

1、TR069协议编程需掌握知识TR0691、 TR069协议是由DSL所开发的技术规范,它提供了对网络设备进行管理配置的通用框架和协议,用于从网络侧对网关、FEMTO、路由器等设备进行远程管理。当前在统一网管的实现过程中需要处理TR069协议包数据,为了能够正确的处理设备的请求响应,就必须对TR069协议包数据内容有所了解。协议组成2、 协议组成如下图层描述:3、 我们所关心的层主要是RPC Methods层、SOAP层以及HTTP层。下面具体介绍RPC Methods层的内容,首先我们需要知道ACS和CPE建立连接的方式。这里列出封装RPC方法的SOAP信息的格式。理解它们有助于组包解包。AC

2、S与CPE的连接建立4、 ACS和CPE的连接建立:ACS与CPE建立连接的方式,按连接发起方划分可以分为两种方式:CPE发起连接、ACS主动建立连接CPE发起连接有以下几种情况:(1) CPE第一次建立网络连接,对应RPC命令INFORM +0 BOOTSTRAP;(2) 加电或者重置,对应的RPC命令INFORM +1 BOOT(3) 每个周期上报时间,对应的RPC命令INFORM +2 PERIODIC(4) 可选的Schedule Inform方法被要求,对应RPC命令是的是INFORM+3 SCHEDULED(5) CPE接收到来自ACS的有效连接请求,对应的RPC命令INFORM

3、+6 CONNECTION REQUEST(6) ACS的URL发生变化,对应的RPC命令是对应RPC命令INFORM +0 BOOTSTRAP(7) CPE的参数发生更改,如CPE的IP地址;(8) CPE的参数值发生变化,并且这个变化不是由ACS引起的,对应对应的RPC命令是INFORM +4 VALUE CHANGECPE与ACS连接示意图如下:ACS发起连接:ACS向CPE发起连接通过HTTP GET请求; (1)需要注意的是连接使用的必须是HTTP请求而不是HTTPS(2)并且GET通告中不需要包含其它数据,即使有数据也会被CPE忽略。(3)CPE接到GET请求后与ACS建立连接,并

4、在成功建立连接后发送一条INFORM报文。连接建立示意图ACS与CPE之间结束会话:ACS与CPE之间的会话如果要正常结束需要以下条件:(1)CPE不再有请求发给ACS(2)ACS也没有请求发给CPE(3)CPE已经发送完毕ACS的请求响应(4)ACS已经发送完毕CPE的请求响应RPC方法方法列表方法介绍1、Inform信息:由CPE传送到网管,CPE事件通过绑定Inform信息进行上报;事件的EVENT_CODE有(1)0 BOOTSTRAP,表示会话发起的原因是CPE首次安装或者是ACS的URL发生变化。网管接收到后要执行注册流程(2)1 BOOT,表示会话发起的原因是CPE通电启动或者是

5、重置,包括系统首次启动,以及任何原因引起的重启,或者是事件M Reboot引起的;(3)2 PERIODIC,表示会话发起的原因是因为定时Inform策略引起的。(4)3 SCHEDULED, 表示会话发起的原因是因为CPE定时调用了ScheduleInform方法引起的。该EVENT_CODE必须位于M ScheduleInform中。(5)4 VALUE CHANGE,表示会话发起的原因是CPE的一个或者多个参数值发生变化。(6)5 KICKED,表示会话发起的原因是为了Web标识管理( ?)(7)6 CONNECTION REQUEST,表示会话发起的原因是源自ACS的Connectio

6、n Request Notification (8)7 TRANSFER COMPLETE,表示会话发起的原因是上传或者下载成功(不管是否真的成功) (9)8 DIAGNOSTICS COMPLETE,当完成由ACS要求的诊断测试后,重新与ACS建立连接时用(10)9 REQUEST DOWNLOAD,表示会话发起的原因是CPE要求调用RequestDownload方法(11) 10 AUTONOMOUS TRANSFER COMPLETE,表示会话发起的原因是由CPE主动的上传或者下载成功,而不是ACS的请求 (11)M Reboot, M ScheduleInform, M Downloa

7、d,M Upload, 带有“M“字符说明这个是执行ACS请求方法的结果,里面一般含有其它的EVENT_CODE;如:M Reboot含有1 BOOT,M ScheduleInform含有3 SCHEDULED(12)X_CU_ALARM,X_DISCOVER厂商自定以规范前者表示告警信息,后者表示发现信息2、GetParameterNames:由ACS发起,用于发现CPE上的可访问参数。涉及到的数据表有命令请求操作处理:CO_RTU,CO_PROTOCOL,CO_CHANEL;回应信息处理:CO_PARAM_LIST,CO_NE_PARAM,CO_CWMP_PARAM_LIST3、GetPa

8、rameterValues : 由ACS发起,用于查找CPE上一个或者多个参数的值。4、SetParameterAttributes:由ACS发起,用于修改CPE上一个或者多个参数的属性。5、SetParameterValues:由ACS发起,用于修改CPE上一个或者多个参数的值。6、AddObject:由ACS发起,用于对一个特定的多实例对象创建一个新的实例。7、DeleteObject:由ACS发起,用于删除一个对象的特定实例8、Reboot:由ACS发起,用于重启指定的CPE终端9、DownLoad: 由ACS发起,用于要求CPE终端在指定的位置下载指定的文件10、Upload:由ACS

9、发起,用于要求CPE终端向指定位置上传某一特定文件11、FactoryReset:由ACS发起,用于要求特定的CPE终端恢复出厂设置。12、GetRpcMethods由CPE或者是ACS发起,用于发现另一方所支持的方法集。方法参数详解1 INFORM参数内容见下表:参数类型描述DeviceIDDeviceIdStructManufactucer,OUI,ProductClass(用于标识产品或者产品类型),SerialNumberEventEventStruct说明引发会话建立的一个或者多个事件MaxEnvelopeUnsignedintCPE能够从ACS接受的一个HTTP回复中的最大SOAP

10、信包数目。若为0则说明没有限制CurrentTimedateTimeCPE当前日期时间RetryCountUnsignedint在完成对inform方法的调用前,进行进行了多少次调用尝试,在每次非成功的尝试后增加1。非成功的尝试包括发送Inform报文以及与ACS建立连接,或每次对Inform的报文的不成功调用,如:接收到错误应答或没有接收应答。在已经发送了Inform报文并成功得到应答后该值被重置为0ParameterListParameterValueStructCPE在Inform请求中包含的参数信息表,每次上报必须包含一些参数:硬件版本、软件版本、ManagementServer.Co

11、nnectionRequestURL、CommandKey等2 GetRpcMethods参数内容见下表参数类型描述该方法没有调用参数3 GetRpcMethodsResponse参数参数类型描述MethodListString()字符串数组,包含支持的每一个RPC名称。例如:CPE返回方法列表给ACS:“GetRPCMethods”“SetParameterValues”“GetParameterValues”“SetParameterNames”“GetParameterNames”“AddObject”“DeleteObject”“Reboot”4 SetParameterValues参

12、数参数类型描述ParameterListParamterValueStruct一个Name-Value的键值对数组。对每个Name-Value CPE会将对应参数到的值设为指定值ParameterKeyString(32)设置ParameterKey的参数值。该值可以用于acs,来识别参数更新,或者让其为空5 SetParameterValuesResponse参数参数类型描述Statusint0:1 对该方法的成功应答返回一个整数型的枚举值定义如下:0 = 参数的改动已经验证并应用。1 = 参数的改动已经验证并提交,只是尚未应用(比如,在新的参数值应用前需要进行重新启动)。6 Paramet

13、erValueStruct定义 参数类型描述Namestring(256) 参数的名称。Value 任意类型需要设置的值7 GetParameterNames 参数参数类型描述ParameterPath string(256) 包括一个完整参数名或部分路径名的字符串,代表名称层次的一个子集。空字符串代表名称空间的顶层。部分路径名必须在层次中的最后一个节点名称后面以“.”(点)结尾。下面是完整参数名的例子:InternetGatewayDevice.DeviceInfo.SerialNumber 下面是部分路径名的一个例子:InternetGatewayDevice.DeviceInfo. Ne

14、xtLevel boolean 如果值为false,则CPE响应将列出所有以ParameterPath参数指定字符串开始的参数的完整路径名。如果值为true,则CPE响应只列出指定的ParameterPath下一层的部分路径名。例如,如果ParameterPath是“InternetGatewayDevice.LANDevice.”,响应可能列出“InternetGatewayDevice.LANDevice.1. ”和“InternetGatewayDevice.LANDevice.2. ”,而不会列出在该层次下面的所有参数。8 GetParameterNamesResponse参数参数类型

15、描述ParameterList ParameterInfoStruct 结构数组,每个包含一个参数的名称和其它信息,见下表的定义。当NextLevel是false时,这一方法返回所有名称以ParameterPath参数指定的字符串开头的所有可访问的参数及其信息。如果ParameterPath参数是一个空字符串,则将返回该CPE上所有可访问的参数名称。当NextLevel是true时,这一列表包括以ParameterPath指明路径的下一层的所有部分路径名。9 ParameterInfoStruct参数参数类型描述Name string(256) 这是参数的名称或部分路径名。Writable boolean 是否该参数值能够用SetParameterValues方法来覆盖

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号