由于Radius协议不一致导致MA5200限制用户在线时间设置不生效

发布时间:  2012-07-26 浏览次数:  185 下载次数:  0
问题描述
MA5200由radius下发session-timeout 来控制用户的上线时长,但是在到时间后用户不下线,某一在线用户的时间达到1400小时。
告警信息

处理过程
1、检查MA5200的配置,没有问题。
2、配置中MA5200用的raius 协议是portal协议,radius是iTELLIN的设备。用debugging radius packet查看,radius上已经下发了session-timeout的属性,但是按照协议的实现要求,在时间到了以后radius的响应MA5200的实时计费报文里携带session-timeout值不为0,所以用户未被切断。
3、检查iTELLIN的配置,发现iTELLIN配置的radius协议是标准的,由此可以判断是两侧使用的radius协议不一致导致。
4、更改MA5200侧的radius协议为标准以后,业务正常。
根因
如果MA5200用标准的radius协议,则在下发的session-timeout到了以后,MA5200直接把用户切下线;如果用的是Radius+1.0/1.1(对应MA5200上的portal/huawei类型)协议,则收到session-timeout有值的认证回应报文,会在时间到的时候触发实时计费报文,此时radius 服务器应该回应session-timeout = 0的报文,表示用户的确是需要下线,此时BAS才将用户下线,否则MA5200将以最后一次计费响应中的session-timeout的值重新计时。本案例中,MA5200侧配置为portal类型(即Radius+1.1),而iTellin配置为标准协议,在session-timeout时间到之后,在计费响应报文中仍然带有一个非0的值,所以用户一直不会被切断。
建议与总结

无论什么业务,都建议BAS侧和Radius侧配置的协议类型一致。

END