Print

某局点WX5560H Portal结合IMC第一次认证失败问题处理经验案例

2019-07-31 发表

组网及说明


问题描述

某局点采用WX5560结合IMC做portal认证,用户反馈最近出现终端在第一次认证的时候,会认证失败,web界面上提示“该用户在认证过程中”,再次认证之后就能认证成功,为了分析该问题,在设备侧和IMC侧同步debug和抓包,通过抓包和debug分析,发现下面问题:

终端第一次上来,IMC侧无感知失败之后,IMC先向设备侧发送了REQ_logout,然后设备给IMC回应ACK_logout并且errcode 是2,持续两次之后,后续就能正常认证成功,找IMC产品线查看IMC侧的调试信息分析,发现这个终端的IP地址在之前有过上线记录,IMC侧的portal内存中还存在该IP的记录,导致IMC需要先给设备侧发送下线报文,但是设备侧回应的ACK的errcode 为2,导致下线失败,多次下线失败之后,IMC就忽略这个结果了,然后就开始直接认证,终端就正常上线了。


过程分析


经过与IMC产品线和研发的讨论,IMC由于内存还残留用户信息因此需要在正式认证之前通过logoutAC清除表项,显然AC的认证表项早已由idle cut给删除,此时再让AC下线用户,AC自然操作失败。


这里就涉及到何时AC会下发errcode 2errcode 3


询问过AC研发专家,当ACportal server配置为IMC时,查询用户不存在会回复errcode 3


ACportal server配置为CMCC时 查询用户不存在会回复errcode2



现场的AC配置刚好选择了portal server typeCMMC模式,因此AC对于这个req logout的回应是ack logout errcode =2


 


但是IMC侧虽然配置类型为CMCC 但是依旧无法处理errcode=2 ack logout,因此IMC会进行三次尝试,三次之后如果依旧没有得到预想的errcode 3就强制进行req auth开启正真的认证处理。


在这个过程中涉及三次尝试,历时稍久因此对于普通终端而言会提示认证用户已在线等错误提示。


解决方法

最终指导客户在设备侧和IMC侧同时修改server type为IMC方式,后续AC回应的errcode为3,IMC侧正常处理,认证恢复正常,问题解决。