51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2165|回复: 0
打印 上一主题 下一主题

VoLTE案例:三星终端主叫VOLTE拨打GSM问题,错误码400 Bad Request

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2017-9-16 19:43:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


    【问题现象】
    主叫三星终端以VoLTE方式拨打CS被叫(现网GSM用户),呼叫未能成功建立,被叫侧未看到呼入请求。
    【原因定位】
    故障诊断:
    初步判断是呼叫未能成功breakout至CS域。经测试抓包发现,终端在常规Precondition流程后PRACK消息发送到MGCF后,MGCF返回400BadRequest给主叫终端,导致通话建立失败,呼叫请求并未路由至CS域。
    原因排查:
    对相应问题进行IMS各网元抓包,基于Precondition的呼叫流程(INVITE/183offer/answer)初期一切正常。
    但此后,信令跟踪发现三星终端又发起PRACK消息来重新刷新SDP。分析PRACK消息,发现PRACK消息中携带的SDP参数与其他终端成功建立呼叫的情况有所不同,最后导致了MGCF回复400 Bad Request。
    原因分析:
    对比三星终端和其他成功情况下发出的PRACK消息,可以看到:
    此问题场景中,SDP参数携带a=des:qos none local none。
    正常成功的场景中,SDP参数携带a=des:qos none local sendrecv。
    根据RFC规范描述,“sendrecv”指示了本地终端预留的资源已保存在sending和receiving
    两个方向,“none”指示未预留资源。
    由于移动网络中是采用Precondition方式建立呼叫的,在INVITE/183offer/answer后主叫终端应完成资源预留,此时终端再发出PRACK指示资源未在本地预留就不符合流程预期了。因此,MGCF认为PRACK SDP中指示的Diretion-Tag=none是错误的,返回400BadRequest终结了呼叫建立流程。导致通话建立失败。
    【解决方案】
    爱立信反馈了该问题给三星终端厂家,后续三星终端根据反馈修改了手机配置,该场景中终端发出的PRACK SDP指示被修改为Sendrev,符合流程预期,从而MGCF顺利把呼叫请求路由至CS域,问题得到解决。



    声明:本文转载自网络。版权归原作者所有,如有侵权请联系删除。
    扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 15:59 , Processed in 0.067663 second(s), 33 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表