无
某局点采用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由于内存还残留用户信息因此需要在正式认证之前通过logout让AC清除表项,显然AC的认证表项早已由idle cut给删除,此时再让AC下线用户,AC自然操作失败。
这里就涉及到何时AC会下发errcode 2和errcode 3
询问过AC研发专家,当AC的portal server配置为IMC时,查询用户不存在会回复errcode 3
当AC的portal server配置为CMCC时 查询用户不存在会回复errcode2
现场的AC配置刚好选择了portal server type为CMMC模式,因此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侧正常处理,认证恢复正常,问题解决。
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作