【问题现象】
浙江测试卡漫游到福州,4G附着正常,IMS注册失败。
【原因定位】
测试卡在福州登记网络时进行抓包,注册流程如下:
1) 福州P-CSCF收到用户的注册请求(imsi:460025148625912)后将注册请求发送给 归属地CSCF,接着向杭州HSS发送AAR请求鉴权参数组,杭州HSS能正确回复AAA消息给用 户分配鉴权参数组:
2) 杭州S-CSCF正常向福州I-CSCF回401消息并正常携带鉴权参数:
3) 收到杭州分配的鉴权参数后,用户向杭州S-CSCF发起后续注册请求,而杭州S-CSCF回复了500 Server Internal Error:
【解决方案】
联系杭州S-CSCF,回复福州CSCF发的注册消息中所加的PATH头域长度过长,华为CSCF侧无法处理太长path头域。
但是比较第一次和第二次的REGISTER消息中的Path内容一致,为何S-CSCF会对后续注 册消息回复500错误呢?这主要是由于Path消息头域在注册时的作用引起的:
Path头域用于从S-CSCF向用户P-CSCF发出初始请求(用户终结),当用户成功注册后, S-CSCF会保存这个P-CSCF地址。任何当接收到注册UE的后续请求时,S-CSCF就添加一个 Route消息头,填入从Path消息头中得到的地址。
因此对于初始注册消息,S-CSCF并不检查与保存Path头域。
针对华为的回复,诺基亚侧查找相应的3GPP规范,规范并未限制path头域的长度,提交 研究院明确,华为侧打补丁解决。
本文整理自网络,文章版权归原作者所有,如有侵权,请联系我们进行删除。小编微信(gprshome201101)
长按下方二维码图片 > 识别图中二维码 > 关注“51学通信公众号”
51学通信接头方式如下: