TR069协议简要介绍_第1页
TR069协议简要介绍_第2页
TR069协议简要介绍_第3页
TR069协议简要介绍_第4页
TR069协议简要介绍_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

------------------------------------------------------------------------TR069协议简要介绍TR069协议向导为什么需要TR069随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运为成本。什么是TR069协议TR069是数字用户线(DSL)论坛(已改名为BroadbandForum)制定的一个面向终端设备的网管协议,称为“用户终端设备广域网管理协议(CWMP)”,DSL论坛的文档编号为TR069。TR069协议发展现状自2004年5月DSL论坛推出该协议以来,各大运营商纷纷部署基于TR069的终端设备。但从协议的发展情况看,TR069仍然处于不断完善的过程中。TR069协议网络架构ACS为自动配置服务器,负责对终端设备CPE进行管理。ACS与CPE间的接口为南向接口,ACS与管理系统间的接口为北向接口。TR069协议主要定义了南向接口。TR069的实现(协议栈)TR069协议基于TCP/IP;标准的Internet传输安全协议,SSL3.0ORTLS1.0,使用SSL/TLS并不强制要求,确保CPE和ACS之间基于证书的鉴权ACS与CPE间的消息传输使用HTTP1.1消息的具体内容使用SOAP包进行封装,SOAP包是一个包含SOAPHead(SOAP头)和SOAPBody(SOAP体)组成的XML文档ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。ACS远程调用CPE上的RPC函数,用来对CPE进行管理如:设置CPE参数、获取CPE参数、硬件升级、重启设备等;因此需要向CPE传输要调用的函数名及参数,这些内容包含在SOAP体中。ACS并不直接对设备本身的接口进行调用,ACS所调用的函数为TR069的标准函数(称作TR-069RPCMethods),CPE需要通过一个设备上的中间层解析出RPC方法,再由这个中间层调用设备自身的接口,这个中间层就是TR069Agent。CPE调用ACS的方法,用来向ACS上报状态信息,请求硬件镜像文件下载(用来升级硬件)等等。TR069协议的RPC函数(或称RPC方法),如下表:CPE函数参数(TR069协议的数据模型)网络架构上包含两种设备类型,因此包含两套数据模型:TR-106:DataModelTemplateforTR-069-EnabledDevices,[13]TR-098:InternetGatewayDeviceDataModelforTR-069,[24]TR-104:ProvisioningParametersforVoIPCPE,[25]EachParameterconsistsofaname-valuepair.ThenameidentifiestheparticularParameter,andhasahierarchicalstructuresimilartofilesinadirectory,witheachlevelseparatedbya“.”(dot).ThevalueofaParametermaybeoneofseveraldefineddatatypes(see[13]).参数名:使用由类似树型的点分层关系组织起来。树干为需要配置的对象,树叶为具体的配置参数,所有配置参数都具有是否可读写属性。如:InternetGatewayDevice.IPPingDiagnostics.Interface参数类型:基于SOAP的数据类型参数有只读、只写两种状态。且可扩展TR069协议就是一个基于TCP/IP,通过HTTP或者HTTPS发送SOAP消息来远程调用CPE或者ACSRPC方法,从而可以达到获取配置和业务信息,监控状态,故障诊断等目的的一种协议。详解TR069规则:CPE和ACS都可以发起会话,ACS发起的会话是异步的。建立连接CPE发起的连接:CPE必需满足如下任何一个条件的情况下向ACS地址发起连接,并调用ACS的Inform方法。•TheCPE首次入网firsttimetheCPEestablishesaconnectiontotheaccessnetworkoninitialinstallationCPE首次入网•OnCPE加电或重启power-uporresetCPE加电或重启•Once定时任务everyPeriodicInformInterval(forexample,every24-hours)定时任务•WhentheoptionalScheduleInformmethod的指示soinstructedbytheoptionalScheduleInformmethodtheoptionalScheduleInformmethod的指示•WheneverCPE收到ACS的连接请求theCPEreceivesavalidConnectionRequestfromanACS(seesection3.2.2)CPE收到ACS的连接请求•WheneverACS的URL发生改变theURLoftheACSchangesACS的URL发生改变•Whenever某些参数发生了变更aparameterismodifiedthatisrequiredtoinitiateanInformonchange.某些参数发生了变更WheneverVALUECHANGE事件,所以CPE必需发起连接thevalueofaparameterthattheACShasmarkedfor“activenotification”viatheVALUECHANGE事件,所以CPE必需发起连接SetParameterAttributesmethodismodifiedbyanexternalcause(acauseotherthantheACSitself).Whenever不正常的会话终结,导致会话重新发起时。anunsuccessfullyterminatedsessionisretriedaccordingtothesessionretrypolicy不正常的会话终结,导致会话重新发起时。specifiedinsection.重建会话为了递交上次提交失败的事件。重试的次数必需通知ACS【Inform时已经提交】。重建会话为了递交上次提交失败的事件。重试的次数必需通知ACS【Inform时已经提交】。 …….ACS发起的连接:满足如下条件•The必须使用HTTP1.1GET。获取只读的CPE状态ConnectionRequestMUSTuseanHTTP1.1GETtoaspecificURLdesignatedbytheCPE.TheURLvalueisavailableasread-onlyParameterontheCPE.ThepathofthisURLvalueSHOULDberandomlygeneratedbytheCPEsothatitisuniqueperCPE.必须使用HTTP1.1GET。获取只读的CPE状态•The不能使用HTTPSConnectionRequestMUSTmakeuseofHTTP,notHTTPS.TheassociatedURLMUSTbean不能使用HTTPSHTTPURL.•No不能带参数,CPE应该忽略参数dataisconveyedintheConnectionRequestHTTPGET.Anydatathatmightbecontained不能带参数,CPE应该忽略参数SHOULDbeignoredbytheCPE.•The摘要认证CPEMUSTusedigest-authenticationtoauthenticatetheACSbeforeproceeding—theCPE摘要认证MUSTNOTinitiateaconnectiontotheACSduetoanunsuccessfullyauthenticatedrequest.•TheCPE接受任何正确鉴权的请求CPEMUSTacceptConnectionRequestsfromanysourcethathasthecorrectauthenticationCPE接受任何正确鉴权的请求parametersforthetargetCPE.•The鉴权成功后必选返回200或者204,且长度必须为0CPE’sresponsetoasuccessfullyauthenticatedConnectionRequestMUSTuseeithera“200鉴权成功后必选返回200或者204,且长度必须为0(OK)”ora“204(NoContent)”HTTPstatuscode.TheCPEMUSTsendthisresponseimmediatelyuponsuccessfulauthentication,priortoitinitiatingtheresultingsession.ThelengthofthemessagebodyintheHTTPresponseMUSTbezero.•TheCPE需限制周期内ACS请求的次数,如果超出这个次数返回503状态码,且忽略Header中带的Retry-AfterCPESHOULDrestrictthenumberofConnectionRequestsitacceptsduringagivenperiodofCPE需限制周期内ACS请求的次数,如果超出这个次数返回503状态码,且忽略Header中带的Retry-Aftertimeinordertofurtherreducethepossibilityofadenialofserviceattack.IftheCPEchoosestorejectaConnectionRequestforthisreason,theCPEMUSTrespondtothatConnectionRequestwithanHTTP503statuscode(ServiceUnavailable).Inthiscase,theCPESHOULDNOTincludetheHTTPRetry-Afterheaderintheresponse.•If正确鉴权,并已经做出响应,但是会话超时,30s内发起响应,即CallACSinform,EventCode=6CONNECTIONREQUESTtheCPEsuccessfullyauthenticatesandrespondstoaConnectionRequestasdescribedabove,andifitisnotalreadyinasession,thenitMUST,within30secondsofsendingtheresponse,attemptto正确鉴权,并已经做出响应,但是会话超时,30s内发起响应,即CallACSinform,EventCode=6CONNECTIONREQUESTestablishasessionwiththepre-determinedACSaddress(seesection3.1)inwhichitincludesthe“6CONNECTIONREQUEST”EventCodeintheInform.Note–inpracticetheremightbeexceptionalcircumstancesthatwouldcauseaCPEtofailtomeetthisrequirementonrareoccasions.•If上面会话建立仍然不成立,换ACS重试theACSreceivesasuccessfulresponsetoaConnectionRequestbutafteratleast30secondsthe上面会话建立仍然不成立,换ACS重试CPEhasnotsuccessfullyestablishedasessionthatincludesthe“6CONNECTIONREQUEST”EventCodeintheInform,theACSMAYretrytheConnectionRequesttothatCPE.•IfCPE和ACS在建立会话之前,收到了多个连接请求,CPE必需正常响应这些请求,但是不能建立会话。也就是说对于CPE来说会话只能有一个。,oncetheCPEsuccessfullyauthenticatesandrespondstoaConnectionRequest,butbeforeitCPE和ACS在建立会话之前,收到了多个连接请求,CPE必需正常响应这些请求,但是不能建立会话。也就是说对于CPE来说会话只能有一个。establishesasessiontotheACS,itreceivesoneormoresuccessfullyauthenticatedConnectionRequests,theCPEMUSTreturnasuccessfulresponseforeachofthoseConnectionRequests,butMUSTNOTinitiateanyadditionalsessionsasaresultoftheseadditionalConnectionRequests,regardlessofhowmanyitreceivesduringthistime.•IfCPE和ACS会话期间收到多个请求,CPE不能立即能释放会话,处理的方式1、503的响应,responseheader中不能包含Retry-After2、会话完成,CallACSinform,EventCode=6CONNECTIONREQUEST,因此需要CPE记录在此期间的请求。theCPEisalreadyinasessionwiththeACSwhenitreceivesoneormoreConnectionRequests,itCPE和ACS会话期间收到多个请求,CPE不能立即能释放会话,处理的方式1、503的响应,responseheader中不能包含Retry-After2、会话完成,CallACSinform,EventCode=6CONNECTIONREQUEST,因此需要CPE记录在此期间的请求。MUSTNOTterminatethatsessionprematurelyasaresult.TheCPEMUSTinsteadtakeoneofthefollowingalternativeactions:•RejecteachConnectionRequestbyrespondingwithanHTTP503statuscode(ServiceUnavailable).Inthiscase,theCPESHOULDNOTincludetheHTTPRetry-Afterheaderintheresponse.•Followingthecompletionofthesession,initiateexactlyonenewsession(regardlessofhowmanyConnectionRequestshadbeenreceivedduringtheprevioussession)inwhichitincludestheCPEWANManagementProtocolv1.1TR-069Issue1Amendment2“6CONNECTIONREQUEST”EventCodeintheInform.Inthiscase,theCPEMUSTinitiatethesessionimmediatelyaftertheexistingsessioniscompleteandallchangesfromthatsessionhavebeenapplied.ThisrequirementholdsforConnectionRequestsreceivedanytimeduringtheintervalthattheCPEconsidersitselfinasession,includingtheperiodinwhichtheCPEisintheprocessofestablishingthesession.•TheCPE不能拒绝一个经过鉴权的请求。CPEMUSTNOTrejectaproperlyauthenticatedConnectionRequestforanyreasonotherthanCPE不能拒绝一个经过鉴权的请求。thosedescribedabove.IftheCPErejectsaConnectionRequestforanyofthereasonsdescribedabove,itMUSTNOTinitiateasessionwiththeACSasaresultofthatConnectionRequest.ACS发起的连接还必需依赖CPE之前已经和ACS建立过会话,因为只有这样ACS才能知道CPE的连接URL。EncodingSOAPOverHTTP•A当ACS向CPE发出一个SOAP请求,则CPE必需向ACS发出SOAP响应SOAPrequestfromanACStoaCPEissentoveranHTTPresponse,whiletheCPE’sSOAP当ACS向CPE发出一个SOAP请求,则CPE必需向ACS发出SOAP响应responsetoanACSrequestissentoverasubsequentHTTPPOST.•When无论一个正确的SOAP响应还是错误的SOAP响应,其SOPAAction必需没有值,即不泄露SOAP消息的意图thereisaSOAPresponseinanHTTPRequest,orwhenthereisaSOAPFaultresponsein无论一个正确的SOAP响应还是错误的SOAP响应,其SOPAAction必需没有值,即不泄露SOAP消息的意图anHTTPRequest,theSOAPActionheaderintheHTTPRequestMUSThavenovalue(withnoquotes),indicatingthatthisheaderprovidesnoinformationastotheintentofthemessage.Thatis,itMUSTappearasfollows:SOAPAction:•When包含SOAP的请求或响应,其Content-Type必需为”包含SOAP的请求或响应,其Content-Type必需为”text/xml”MUSThaveatype/subtypeof“text/xml”.•An一个空的HTTP请求不能包含SOAPActionemptyHTTPPOSTMUSTNOTcontainaSOAPActionheader.一个空的HTTP请求不能包含SOAPAction•An一个空的HTTP请求不能包含Content-TypeemptyHTTPPOSTMUSTNOTcontainaContent-Typeheader.一个空的HTTP请求不能包含Content-Type•An一个承载CWMP的响应,其响应状态码必需为200HTTPresponsethatcontainsanyCPEWANManagementProtocolpayload(aSOAPrequest一个承载CWMP的响应,其响应状态码必需为200totheCPE,asuccessfulSOAPresponsetotheCPE,oraSOAPfaultresponsecontainingaFaultelementdefinedinsection3.5)MUSTusetheHTTPstatuscode200(OK).BelowisanexampleHTTPResponsefromanACScontainingaSOAPRequest:HTTP/1.1200OKContent-Type:text/xml;charset="utf-8"Content-Length:xyz<soap:Envelopexmlns:soap="/soap/envelope/"xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><soap:Body><cwmp:Request><argument>value</argument></cwmp:Request></soap:Body></soap:Envelope>Note–intheaboveexample,theXMLnamespaceprefixesusedareonlyexamples.Theactualnamespaceprefixvaluesarearbitrary,andareusedonlytorefertoanamespacedeclaration.Note–intheaboveexample,theCWMPnamespaceidentifier“urn:dslforum-org:cwmp-1-0”isonlyanexampleandisnotnecessarilytheversionthatisdefinedbythisspecification.TransactionSessionsForTCP连接的断开,并不代表session结束asequenceoftransactionsformingasinglesession,aCPESHOULDmaintainaTCPconnectionthatpersiststhroughoutthedurationofthesession.However,iftheTCPconnectioniscleanlyclosedafteranHTTPrequest/responseroundtrip,andifthesessionhasnototherwiseterminated(eithersuccessfullyorunsuccessfully)atthetimeofthelastHTTPresponse,theCPEMUSTcontinuethesessionbysendingthenextHTTPrequestinanewTCPconnection.TCP连接的断开,并不代表session结束After鉴权通过,CPE的请求必需带上"Authorization"HTTPheaderreceivinganauthenticationchallenge,theCPEMUSTsendthenextHTTPrequest(includingthe鉴权通过,CPE的请求必需带上"Authorization"HTTPheader"Authorization"HTTPheader)inthesameTCPconnectionunlesstheACSspecificallyrequested,viaa"Connection:close"HTTPheader,thattheTCPconnectionbeclosed.3Inthelattercase,theCPEMUSThonortheACSrequest,closetheTCPconnection,andsendthenextHTTPrequest(includingtheIfCPE必需在未接到HttpResponse或者sendHTTPmessage失败30s后才能宣告TCP连接失败theCPEforanyreasonfailstoestablishaTCPconnection,failstosendanHTTPmessage,orfailstoreceiveanHTTPresponse,theCPEMUSTconsiderthesessionunsuccessfullyterminated.TheCPECPE必需在未接到HttpResponse或者sendHTTPmessage失败30s后才能宣告TCP连接失败MUSTwaitaminimumof30secondsbeforedeclaringafailuretoestablishaTCPconnection,orfailuretoreceiveanHTTPresponse.TheACS可以使用cookie来维护会话ACSSHOULDmakeuseofasessioncookietomaintainsessionstateasdescribedin[7].TheACSMAYmakeuseofold-style“Netscape”cookiesaswellas,orinsteadof,thenew-stylecookiesof[7].TheACSSHOULDuseonlycookiesmarkedforDiscard,andSHOULDNOTassumethataCPEwillmaintainacookiebeyondthedurationofthesession.ACS可以使用cookie来维护会话To确信ACS使用会话cookie,那么CPE必需按照TR-2965标准支持,HTTPPOST方式,CPE没有必要存储超过会话期限的cookie.CPEcookie兼容性需支持,多cookie,最少能512KBensurethatanACScanmakeuseofasessioncookie,aCPEMUSTsupporttheuseofcookiesas确信ACS使用会话cookie,那么CPE必需按照TR-2965标准支持,HTTPPOST方式,CPE没有必要存储超过会话期限的cookie.CPEcookie兼容性需支持,多cookie,最少能512KBdefinedin[7]includingthereturnofthecookievalueineachsubsequentHTTPPOST,withtheexceptionthataCPEneednotsupportstorageofcookiesbeyondthedurationofasession.Inparticular,becausetheACSmightsendold-style,new-style,oramixtureofold-styleandnew-stylecookies,theCPEMUSTsupportthecompatibilityrequirementsofsection9.1of[7].TheCPEMUSTsupporttheuseofmultiplecookiesbytheACS,andMUSTmakeavailableatleast512bytesforstorageofcookies.When当一个会话事务正常或非正常的完成,CPE必需关闭TCP连接,并且将所有的cookie标记为Discardatransactionsessioniscompletedsuccessfullyorterminatedunsuccessfully,aCPEMUSTclosetheassociatedTCPconnectiontotheACSanddiscardallcookiesmarkedforDiscard.当一个会话事务正常或非正常的完成,CPE必需关闭TCP连接,并且将所有的cookie标记为DiscardACPE必须支持重定向。具体略CPEMUSTsupporttheuseofHTTPredirectionbytheACS.TheCPEandACSrequirementsassociatedwiththeuseofHTTPredirectionareasfollows:CPE必须支持重定向。具体略All所有会话开始都是起源于CPEPOSTACS的Infrom方法。一个会话中不能出现两次及以上调用Infrom方法transactionsessionsMUSTbeginwithanInformmessagefromtheCPEcontainedintheinitialHTTPPOST.ThisservestoinitiatethesetoftransactionsandcommunicatethelimitationsoftheCPEwithregardtomessageencoding.AnInformmessageMUSTNOToccurmorethanonceduringasession所有会话开始都是起源于CPEPOSTACS的Infrom方法。一个会话中不能出现两次及以上调用Infrom方法The在即没有请求和响应存在时,应停止会话。在同一时间ACS和CPE之间只能有一个会话。sessionceaseswhenboththeACSandCPEhavenomorerequeststosendandnoresponsesremainduefromeithertheACSortheCPE.Atsuchtime,theCPEMUSTclosetheconnection.在即没有请求和响应存在时,应停止会话。在同一时间ACS和CPE之间只能有一个会话。NomorethanonetransactionsessionbetweenaCPEanditsassociatedACScanexistatatime.Authentication1.、如果CPE没有经过SSL/TLS认证,那么ACS必须使用HTTP对CPE进行认证,并且必须是摘要认证,如果经过SSL/TLS认证,则基本认证和摘要认证都可以。2、CPE必须支持基本认证和摘要认证3、CPE收到质询后,必须带认证头,而且以后的请求都必须带。4、HTTP认证的userid必须是如下两种格式中的一种:<OUI>"-"<ProductClass>"-"<SerialNumber><OUI>"-"<SerialNumber>5、userid是数字和字母的组合,如果不是需要使用RFC3986之URIpercentencoding进行转码.即如下形式符合:012345-0123456789012345-STB-0123456789012345-Set%2DTop%2DBox-01234567896、每个CPE的密码应该是唯一,此密码为共享密码,ACS和CPE应该都知道。7、This如果CWMP使用摘要认证,那么CPE和ACS需支持RFC2617sectionoutlinesrequirementsforuseofdigestauthenticationwithintheCPEWANManagementProtocol.如果CWMP使用摘要认证,那么CPE和ACS需支持RFC2617TheCPEandtheACSMUSTsupporttheRFC2617“qop”optioncontainingthevalue“auth”.AccordingtoRFC2617,thismeansthattheHTTPclientMUSTuseanewstyledigestmechanismwhenthisoptionisprovidedtoitbytheHTTPserver.Whenusingdigestauthentication,foreachnewTCPconnectionopened,theACSSHOULDuseanewnoncevalueandtheCPESHOULDuseanewcnoncevalue.TheACS和CPE必需支持MD5算法,CPE还必需支持MD5-sess算法CPEandtheACSMUSTsupporttheMD5digestalgorithm.TheCPEMUSTadditionallysupporttheMD5-sessdigestalgorithm.ACS和CPE必需支持MD5算法,CPE还必需支持MD5-sess算法UseofSOAPThefollowingdescribesthemappingofRPCmethodstoSOAPencoding:•TheSOAP命名空间envelope,encodingencodingMUSTusethestandardSOAP1.1envelopeandserializationnamespaces:SOAP命名空间envelope,encoding•Envelopenamespaceidentifier"/soap/envelope/"•Serializationnamespaceidentifier"/soap/encoding/"•AllCWMP元素和属性的命名空间:“urn:dslforum-org:cwmp-1-1”后面的1-1即版本号1.1elementsandattributesdefinedaspartofthisversionoftheCPEWANManagementProtocolareCWMP元素和属性的命名空间:“urn:dslforum-org:cwmp-1-1”后面的1-1即版本号1.1•“urn:dslforum-org:cwmp-1-1”•ThenamespaceidentifierforCPEWANManagementProtocolversion1.nisalways“urn:dslforumorg:cwmp:1-n”,e.g.forv1.0itwas“urn:dslforum-org:cwmp:1-0”andforv1.42itwillbe“urn:dslforum-org:cwmp:1-42”.•The下表的数据类型在有明确的定义datatypesusedinAnnexAcorresponddirectlytothedatatypesdefinedintheSOAP1.1下表的数据类型在有明确的定义serializationnamespace.(Ingeneral,thetypesusedinAnnexAarerestrictedsubsetsofthecorrespondingSOAPtypes.)【/uddi3/ncad5bd9d/index.html】•For数组的数组名必需是数组元素的名字anarrayargument,theargumentnamespecifiedinthetableinwhichthearrayisdefinedMUST数组的数组名必需是数组元素的名字beusedasthenameoftheoverallarrayelement.ThenameofthememberelementsofanarrayMUSTbethedatatypeofthearrayasspecifiedinthetableinwhichthearrayisdefined(excludingthebracketsandanylengthlimitationgiveninparentheses),andMUSTNOTbenamespacequalified.Forexample,anargumentnamedParameterList,whichisanarrayofParameterValueStructstructures,wouldbeencodedas:Asasecondexample,theMethodListarrayintheGetRPCMethodsResponsewouldbeencodedas:•TheRPC方法根据SOAP的命名规则,响应的名字是在请求的基础上加Response后缀RPCmethodsdefinedusethestandardSOAPnamingconventionwherebytheresponsemessagecorrespondingtoagivenmethodisnamedbyaddingthe“Response”suffixtothenameofthemethod.RPC方法根据SOAP的命名规则,响应的名字是在请求的基础上加Response后缀•ASOAP必需有BodySOAPEnvelopeMUSTcontainexactlyoneBodyelement.SOAP必需有Body•ASOAP请求的最大长度为32KB,而SOAP响应没有长度的限制.CPEMUSTbeabletoacceptaSOAPrequestwithatotalenvelopesizeofatleast32kilobytesSOAP请求的最大长度为32KB,而SOAP响应没有长度的限制.(32768bytes)withoutresultingina“ResourcesExceeded”response.•ACPEMUSTbeabletogenerateaSOAPresponseofanyrequiredlengthwithoutresultingina“ResourcesExceeded”response,i.e.thereisnomaximumCPESOAPresponselength.•AnACSMUSTbeabletoacceptaSOAPrequestwithatotalenvelopesizeofatleast32kilobytes(32768bytes)withoutresultingina“ResourcesExceeded”response.•AnACSMUSTbeabletogenerateaSOAPresponseofanyrequiredlengthwithoutresultingina“ResourcesExceeded”response,i.e.thereisnomaximumACSSOAPresponselength.•ASOAP错误的响应,格式如下Faultcode元素:Client和Server二选一FSOAP错误的响应,格式如下Faultcode元素:Client和Server二选一Faultstring元素:必需包含“CWMPfault”Detail:必需包含一个cwmp命名空间的fault结构Belowisanexampleenvelopecontainingafaultresponse:BelowisanexampleenvelopecontainingafaultresponseforaSetParameterValuesmethodcall:A一个SOAP错误响应比针对一个SOAP请求,而不是SOAP响应。如果一个错误响应不符合上面格式,即无效,应该忽略faultresponseMUSTonlybesentinresponsetoaSOAPrequest.AfaultresponseMUSTNOTbe一个SOAP错误响应比针对一个SOAP请求,而不是SOAP响应。如果一个错误响应不符合上面格式,即无效,应该忽略sentinresponsetoaSOAPresponseoranotherfaultresponse.Ifafaultresponsedoesnotfollowalloftheaboverequirements,theSOAPmessageMUSTbedeemedinvalidbytherecipient.TheconsequencesofinvalidSOAPontheCPEWANManagementProtocolsessionaredescribedinsection3.7.•When在如下情况下,ACS和CPE可以忽略接收的SOAP包:不能识别的XML元素不能识别的XML属性和值任何嵌入的注释在如下情况下,ACS和CPE可以忽略接收的SOAP包:不能识别的XML元素不能识别的XML属性和值任何嵌入的注释所有XML处理指令?elements4andtheirsubelementsorcontent,(b)anyunknownXMLattributesandtheirvalues,(c)anyembeddedXMLcomments,and(d)anyXMLprocessinginstructions.AlternativelytheACSandCPEMAYexplicitlyvalidatethereceivedXMLandrejectanenvelopethatincludesunknownelements.Notethatthisprecludesextendingexistingmessagesbyincludingadditionalargumentswithoutchangingthenameofthemessage.•IfXML命名空间版本必需是2001versionanRPCmethodrequiresreferencestoXMLSchemanamespaces(forexampleforthe“type”XML命名空间版本必需是2001versionattribute,orforreferencestoXMLSchemadatatypes),thesereferencesMUSTbetothe2001versionsofthesenamespacedefinitions,specifically,/2001/XMLSchema-instanceand/2001/XMLSchema.TherecipientTheID:一个唯一标识符,如果一个请求Header中包含这个元素,那么响应必需传递给它HoldRequest:一个boolean值,用于控制请求,如果这个值为true,说明当前还有请求未处理,忙状态,即不能给其传送下一个请求。CPEWANManagementProtocoldefinesaseriesofSOAPHeaderelementsasspecifiedinTable4.ID:一个唯一标识符,如果一个请求Header中包含这个元素,那么响应必需传递给它HoldRequest:一个boolean值,用于控制请求,如果这个值为true,说明当前还有请求未处理,忙状态,即不能给其传送下一个请求。CPEOperationSessionInitiation:CPE通过上面所说的发起连接,鉴权通过后,CPE向ACS发出Inform请求,当ACS响应一个InfromResponse后,CPE才认为会话建立。IncomingRequests:在一个正常的会话当中,如果CPE接收了ACS的一个请求,则CPE必需在下一个发送给ACS的HTTPPOST中响应这个请求。OutgoingRequests:如果CPE还有一个或者多个请求需要发送给ACS,那么CPE只有满足下面所有条件才可以发送下一个请求:•The收到了ACS一个不带SOAP请求的响应。mostrecentlyreceivedHTTPresponsefromtheACSdidnotcontainaSOAPrequest.收到了ACS一个不带SOAP请求的响应。•TheCPE收到ACS的HTTP响应中HoldRequests设置为fasle,或者不存在,或者是一个空的HTTP响应。ACShasindicatedthatHoldRequestsisfalse(seesection3.5).ThisconditionismetifandonlyifthemostrecentlyreceivedHTTPresponsefromtheACScontainedoneofthefollowing:CPE收到ACS的HTTP响应中HoldRequests设置为fasle,或者不存在,或者是一个空的HTTP响应。oASOAPenvelopewiththeHoldRequestsheadersettoavalueoffalse.oASOAPenvelopewithnoHoldRequestsheader.oNoSOAPenvelope(anemptyHTTPresponse).•AtCPE收到ACS的HTTP响应中HoldRequests设置为fasle,且没有向ACS发出空的HTTPPOSTanypriortimeduringthecurrentsession,theCPEhasnotsentanemptyHTTPPOSTatatimethattheACShadindicatedthatHoldRequestsisfalse(asdescribedabove).CPE收到ACS的HTTP响应中HoldRequests设置为fasle,且没有向ACS发出空的HTTPPOSTWhile当CPE没有可发送的请求,而且收到了ACS不带SOAP的请求,那么CPE必需发送一个空HTTPPOSTinasession,ifanyoftheaboveconditionsarenotmetoriftheCPEhasnorequeststosendtotheACS,andifthemostrecentHTTPresponsefromtheACSdidnotcontainaSOAPrequest,theCPEMUSTsendanemptyHTTPPOST.当CPE没有可发送的请求,而且收到了ACS不带SOAP的请求,那么CPE必需发送一个空HTTPPOSTOnce一旦CPE发出了空的HTTPPOST,那么在这个会话当中,不能发送其他非空请求,只能等到下一个会话发送theCPEhassentanemptyHTTPPOSTwhenthemostrecentHoldRequestswasfalse(seesection3.5),theCPEMUSTNOTsendanyfurtherrequestsfortheremainderofthesession.Inthiscase,iftheCPEhasadditionalrequeststosendtotheACS,theCPEMUSTwaituntilasubsequentsessiontosendtheserequests.一旦CPE发出了空的HTTPPOST,那么在这个会话当中,不能发送其他非空请求,只能等到下一个会话发送CPE如果存在没有处理的ACS请求,那么CPE必需响应这些请求。如果没有了为处理的ACS请求,当存在CPE请求,而HoldReqeusts此时为false,那么CPE可以发送请求。其他则发送EmptyHTTPPOST注意概念:ACSrequest其实是服务端ACS的一个HTTP响应,因为其SOAP消息中承载了CWMP的RPC方法,所以将远程调用视其为请求。CPE如果存在没有处理的ACS请求,那么CPE必需响应这些请求。如果没有了为处理的ACS请求,当存在CPE请求,而HoldReqeusts此时为false,那么CPE可以发送请求。其他则发送EmptyHTTPPOST注意概念:ACSrequest其实是服务端ACS的一个HTTP响应,因为其SOAP消息中承载了CWMP的RPC方法,所以将远程调用视其为请求。SessionTermination:满足下面所有条件才能终止会话:1)The接收到了ACS的emptyHTTP响应。ACShasnofurtherrequeststosendtheCPE.TheCPEconcludesthisifandonlyifthemost接收到了ACS的emptyHTTP响应。recentHTTPresponsefromtheACSwasempty.2)The在HoldRequests=false或者不存在的条件下,CPE向ACS发送了emptyHTTPPOST在HoldRequests=false或者不存在的条件下,CPE向ACS发送了emptyHTTPPOSTPOSTtotheACSwhileHoldRequestsisfalse(whichindicatestotheACSthattheCPEhasnofurtherrequestsfortheremainderofthesession).AsdefinedinTable6,ifthisconditionhasnotbeenmetbuttheCPEhasnofurtherrequestsorresponses,itMUSTsendanemptyHTTPPOST,whichwillthenfulfillthiscondition.3)TheCPE接收到了所有ACS的响应CPEhasreceivedalloutstandingresponsemessagesfromtheACS.CPE接收到了所有ACS的响应4)TheCPE也响应了所有ACS的请求CPEhassentalloutstandingresponsemessagestotheACSresultingfrompriorrequests.CPE也响应了所有ACS的请求还有一些非正常的情况下,需关闭会话,比如超时,收到了无效的SOAP格式,CPEHTTPPOSTInform时出现了非错误码8005错误码:8005是重试请求,不会结束当前会话,在当前会话当中重试该请求,除了这个错误码外,其他错误码出现在informResponse时。会结束会话。,在这些以外情况下终止了会话,那么CPE必需在重试规则下重建会话错误码:8005是重试请求,不会结束当前会话,在当前会话当中重试该请求,除了这个错误码外,其他错误码出现在informResponse时。会结束会话。EventsTheCPE必需尝试提交每个事件至少一次CPEMUSTattempttodelivereveryeventatleastonce.CPE必需尝试提交每个事件至少一次If如果CPE和ACS处于一个会话中,那么CPE必需立即提交事件,否则在接下来的会话中提交theCPEisnotcurrentlyinasessionwiththeACS,itMUSTattempttodelivereventsimmediately;如果CPE和ACS处于一个会话中,那么CPE必需立即提交事件,否则在接下来的会话中提交otherwise,itMUSTattempttodeliverthemafterthecurrentsessionterminates.TheCPE提交事件后必需要得到一个ACS的确认消息。CPEMUSTreceiveconfirmationfromtheACSforittoconsideraneventsuccessfullydelivered.CPE提交事件后必需要得到一个ACS的确认消息。For大部分的事件成功确认,是在InfromResponse后。而四类事件是在调用其方法成功后确认:KickedResponseAutonomousTransfer-CompleteResponse,TransferCompleteResponseRequestDownloadResponsemostevents,deliveryisconfirmedwhentheCPEreceivesasuccessfulInformResponse.Fourstandardeventtypes(KICKED,TRANSFERCOMPLETE,AUTONOMOUSTRANSFERCOMPLETE,REQUESTDOWNLOAD)indicatethatoneormoremethods(Kicked[sectionA.4.2.1],TransferComplete[sectionA.3.3.2],AutonomousTransferComplete[sectionA.3.3.3],RequestDownload[sectionA.4.2.2大部分的事件成功确认,是在InfromResponse后。而四类事件是在调用其方法成功后确认:KickedResponseAutonomousTransfer-CompleteResponse,TransferCompleteResponseRequestDownloadResponse一旦CPE成功的发送了某事件,那么他将不能再重复的发送该事件,同时ACS也要准备多次接收同一事件,因为有可能CPE由于收不到响应结果而重试。事件一次可以提交一个或多个。具体事件可以见因为版本TR069ACSOperationSessionInitiation:Upon当收到一个CPE的Inform请求,如果ACS允许,那么必需响应一个InfromResponse,注意版本receivingtheinitialInformrequestfromtheCPE,iftheACSwishestoallowtheinitiationofthesession,itMUSTrespondwithanInformresponse.当收到一个CPE的Inform请求,如果ACS允许,那么必需响应一个InfromResponse,注意版本IftheACSreceivesaninitialInformrequestfromtheCPEinwhichthenamespaceidentifierindicatesthattheCPEsupportsonlyv1.0oftheCPEWANManagementProtocol,theACSMUSTreverttov1.0fortheentiresession.IncomingRequestsWhile有求必应inasession(afterthesessionwassuccessfullyinitiated,butbeforethesessionterminationcriteriadescribedinhavebeenmet),onreceptionofaSOAPrequestfromtheCPE,theACSMUSTrespondtothatrequestinthenextHTTPresponsesenttotheCPE.有求必应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论