Advertisement

IMS异常场景介绍

阅读量:

本文讲述几种IMS异常场景及处理方式。

VoLTE过程中终端不能接收到网络的RTP/RTCP包

临时网络或者其它原因,终端会遇到通话过程中接收不到网络端的RTP/RTCP包,导致监听RTP/RTCP的timer超时,通话中断。

针对这种场景,终端可以自行做配置,去掉监听RTP/RTCP包的定时器,直到用户手动挂断电话,这样避免了通话过程中短暂的异常情况导致通话自动挂断。

可以通过wait_user_end_call_no_rtppkt来设置,配置为1时,终端收到RTC/RTCP超时后,不会请求SIP BYE,除非用户手动挂断电话;配置为0时,终端收到RTP/RTCP超时,发送SIP BYE挂断电话。

终端不能建立VoLTE承载

Activate default EPS bearer context request,这个消息是网络给终端分配特定的QCI值并通知到终端。

建立VoLTE通话时,需要建立QCI-1的专用承载。

但实际会存在网络原因导致建立VoLTE call的专用承载失败,终端VoLTE失败,会进行重试,最终在CS域进行呼叫。

针对这种场景,终端可以设置在LTE 默认承载上收发RTP/RTCP包,建立VoLTE call,避免VoLTE call呼叫失败。

可以通过default_fallback_support来设置,为1时支持VoLTE call专用承载建立失败情况下,使用默认承载。

QoS异常情况下的VoLTE call

VoLTE call建立过程中,网络不能分配足够的带宽,导致QoS检查失败,通话建立失败。

这种情况下,终端可以尝试忽略QoS检查,可以通过ignore_media_qos_check来设置,为TRUE时终端不需要检查网络分配的Video Stream带宽。

VoLTE IMCB-0: media_add_req param qci: 1, ignore_media_qos_check: 0 imcb_bearer_context_mngr_stream_calculate_bitrate()

发送SIP消息失败

终端通过TCP发送SIP消息有时会失败,可以尝试使用UDP发送SIP消息,可以通过use_udp_on_tcp_fail来设置。

IMS注册过程中,终端通过TCP发送SIP信息到P-CSCF,如果发送失败,use_udp_on_tcp_fail为TRUE情况下,可以在UDP上重新发送注册消息到同一个P-CSCF。如果在UDP上也失败,再重新通过TCP发送注册消息到下一个P-CSCF。

VoLTE DISP: keep_alive = 0, keep_alive_mode = 0, tcp_on_demand = 1, udp_first = 0, sip_msg_size = 1080, use_udp_on_tcp_fail= 1, invite_tcp_connect_max_time: 10, backup_init_sa: 0, network_id: 983050, support_sip_block: 0, reuse_transport_methods: 0x50, tcp_connect_max_time_all: 0, reject_rcs_request = 0, stop_sip_bye_retransmission = 0, close_tcp_socket_after_30sec_inactivity = 0, non_ipsec_reuse_tcp: 0, ignore_tcp_disconnect_by_peer :0

关注微信公众号

全部评论 (0)

还没有任何评论哟~