session 终止 (翻译TR069 3.7.1.4 & 3.7.2.4)

本文详细解析了TR069协议中关于CPE和ACS会话终止的条件,包括双方如何判断会话结束,错误处理及重试机制,确保通信的正确性和可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    3.7.1.4 会话终止

  当遇到以下所有情况时,CPE必须终止会话。

  1、ACS不再有请求发给CPE,只有当最近的HTTP应答是空的CPE才能做出此结论;

  2、CPE不再有请求发给ACS且已经发给ACS空的HTTP应答同时HoldRequests为0(HoldRequests为0 指的是CPE不再有请求发给ACS),如果这种情况没有遇到,CPE不再有请求或应答,它必须发出一个空的HTTP POST,这样就会满足该条件;

   注意:HoldRequests SOAP包头元素是过时的,所以ACS不期望发送它。但是,ACS可能会发它,所以CPE仍然需要支持它。

  3、CPE接收来源于ACS的所有outstanding 回应;

  4、作为先前的请求的应答,CPE已经向ACS发送了所有outstanding回应

   如果在等待至少30s后仍然没有收到ACS的回应,CPE认为该session不成功终止。如果CPE没有收到HTTP回应,CPE不能在同一个会话中重传相关HTTP请求。

   如果CPE接收到带有错误代码的SOAP包(错误代码不包括8005,即retry request),CPE必须认为该session不成功结束;

   如果CPE接收到的HTTP 应答的soap包不符合XML格式,或者SOAP的结果是无效的,或者是包括一个错误,或者CPE认为是违反协议的,CPE必须认为该session是不成功结束。

   如果CPE接收到的HTTP应答中包含错误状态码(4**或者是5**),CPE必须认为该session是不成功结束。注意CPE允许含有401的错误码(401 Unauthorized)的HTTP 相应作为正常认证过程的一部分,当CPE随后尝试去认证时,如果结果的HTTP相应中包括401,CPE必须认为该session是不成功结束。

   如果以上情况都没有遇到,CPE必须继续该session。

   如果CPE接收到作为任何方法而不是Inform回应的带有错误代码8005的SOAP包应答,CPE必须继续改session,这种类型的错误回应不能引起session不成功中断。

   注意:在错误的条件下,SOAP层的错误会导致ACS的重定向(不太理解,稍后查证),HTTP层的错误会引起session不成功中断。

   如果在一个会话中信息的传输会引起CPE重启而来完成请求操作,CPE必须等到session完全结束后才能重启。

   如果session毫无预期的中断,CPE必须重试发起连接,CPE需要在本地定义在这种情况下重试的次数。

   3.7.2.4  会话终止

   由于CPE促使HTTP连接到ACS,只有CPE负责连接的中断与建立。

   当遇到以下所有情况后,ACS必须认为session结束

  1、CPE不再有请求发给ACS,只有当ACS收到CPE的空的HTTP POST且HoldRequests为0才能做出此结论;

  2、ACS不再有请求发给CPE,求ACS发给CPE最新的HTTP相应为空(为空来指示CPE,ACS不再有请求);

  3、ACS已经给CPE发送了所有outstanding回应

  4、ACS已经接收到了所有outstanding回应;

   如果在ACS发送最后一个HTTP相应前遇到以上所有标准,那么ACS的最一个HTTP相应应该为空。

  如果以上标准没有全部遇到,ACS在等待至少30后仍然没有接收到HTTP POST, 它会认为session结束。在这种情况下,ACS会用Connection Request尝试重连。

  如果ACS接收到的HTTP POST的SOAP格式或者其中包含有错误,ACS必须用400错误状态码应答,同时必须把该session当做是不成功的终止,错误回应包中必须不能包括SOAP内容,但是可以包含一些具有可读性的对错误的解释。

   如果ACS收到的请求过期,或者是ACS确定的与一些协议相悖的,或者是由ACS自由裁量的其他原因,ACS会发给CPE带有400状态码的HTTP来使会话不成功中断,这个HTTP不能包含SOAP内容,但是可以包含具有可读性的对错误的解释。

  如果ACS接收到CPE的SOAP错误应答,ACS必须中断任何类似于9001(请求否认)未确认的错误码,可能会选择下面的行为:

   1)ACS会强制终止使session中断失败,为此,ACS必须用HTTP 400 应答。这个HTTP不能包含SOAP内容,但是可以包含具有可读性的对错误的解释。这样结果会导致CPE重试会话。

   2)ACS会尝试中断session使它成功终止,在这种情况下CPE会retry 会话。为此,ACS会给CPE发送更多的请求,并且会遵守以上终止会话的规则。

   3) ACS会继续这个会话,给CPE发送额外的请求

 


   






   

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值