VoLTE语音专用承载的建立、修改与更新
VoLTE通话中的语音承载,用于将用户的语音包在EPS网络中进行传递,将语音包送入IMS网络,是由网络侧动态实时发起建立的QCI=1的专用承载(Dedicated Bearer)来完成的,而负责传递通话建立的SIP消息的信令承载,则是由VoLTE手机在开机附着时就触发建立的QCI=5的缺省承载(Default Bearer)完成的。
那么,网络侧是何时去触发建立语音专用承载呢? 这取决于是否启用 PRECONDITION、是在SDP Offer还是SDP Answer阶段发起建立、通话是否涉及Early Media(如呼叫失败的语音通知、彩铃)等等。
下面让我们来看看影响语音承载建立触发点的最常见因素之一:是否启用PRECONDITION。
PRECONDITION,定义在RFC3312中,是在被叫振铃前(被叫收到180 RINGING前),提前建立好用于通话的语音承载。这样可以避免在被叫用户应答时,由于语音承载建立失败,而引起无法通话的虚假振铃(GHOST RINGING)现象。
1、不启用PRECONDITION
呼叫双方的编解码协商,将通过INVITE和 200 OK(for INVITE)进行。
P-CSCF在收到被叫应答时(200 OK(for INVITE)),根据其中携带的SDP Answer信息,触发建立语音承载。
2、启用 PRECONDITION
呼叫双方的编解码协商,将通过INVITE和183 Session Progress 进行,并通过UPDATE和200 OK(for UPDATE)进行资源预留确认。
P-CSCF在收到被叫回复的响应消息时(183 Session Progress),根据其中携带的SDP Answer信息,触发建立语音承载预留,并在收到 200 OK(for UPDATE)时,再次触发语音承载的更新激活。
UE-A将通过在 INVITE消息中加入Supported:precondition来标识自己支持PRECONDITION功能;同时也在该消息的SDP中加入Media Attribute (a): curr:qos和 Media Attribute (a): des:qos来标识现有资源预留状态和期望资源预留状态。
UE-B在收到 INVITE消息后,将在回复的183 Session Progress 中的Require:precondition来标识启用 PRECONDITION功能,并也在该消息的SDP中加入 Media Attribute (a): curr:qos和Media Attribute (a): des:qos来标识现有资源预留状态和 期望资源预留状态的更新;同时也通过加入Media Attribute (a): conf:qos 来标识:当 UE-A 确认资源预留成功后,需要触发UPDATE流程确认。
VoLTE语音专用承载的建立、修改与更新相关推荐
- 运营商宣传的volte语音高清有啥好处啊?
先说说Volte(Voice over LTE)咋念,读作"窝儿踢",Volte语音其实就是我们打电话时语音跑在4G的LTE基站上,比原来我们用2\3手机打电话是跑在的2\3G基站 ...
- C# 动态获取、修改、更新配置文件 实现思路
1.添加System.Configuration.dll引用:程序中添加using System.Configuration; 读取数据:(tbHost为文本控件) [csharp] view pla ...
- phpcms如何修改数据库图片地址?域名变更后图片附件路径只能手动修改数据库更新?
phpcms如何修改数据库图片地址?域名变更后图片附件路径只能手动修改数据库更新? phpcms数据库中,存放图片路径地址的那个表,是什么表? 举例说明: 以前的域名是 abc .com.文章里图片附 ...
- windows10更新服务器修改,修改win10更新服务器地址
修改win10更新服务器地址 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 修 ...
- 如何修改chrome里的html,chrome css修改不更新怎么解决?
在做web开发过程中,经常需要调试js代码,而在这个时候我们修改过的代码可能不能生效.这是因为浏览器默认是有缓存的,但是这个时候缓存就会影响我们的调试工作,在这里就介绍一下chrome浏览器解决该问题 ...
- MongoDB数组修改器更新数据
MongoDB数组修改器更新数据 这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用来修改 ...
- c语言天选之点,【WOTC】天选者之战修改XCOM能力点数方法 意志力恢复加速 更新一个战斗中不掉意志力修改 再更新一个战斗视角缩放增大并固定修改...
查看: 36591|回复: 60 [攻略] [WOTC]天选者之战修改XCOM能力点数方法 意志力恢复加速 更新一个战斗中不掉意志力修改 再更新一个战斗视角缩放增大并固定修改 游戏狂人, 积分 184 ...
- MongoDB 查询篇 及 数组修改器更新数据
查询方法 1. 查询方法 mongoose查询使用最基础的方法就是find.findOne方法,前者查询所有满足条件的值,后者取满足条件的某一个值. 2. 查询条件 mongoose查询条件其实就是在 ...
- VOLTE语音时延问题定位
现象 两个终端拨打VOLTE存在语音时延的问题.其中,一个终端为4G VOLTE,位于SMC站下,另外一个终端为2/3G,位于宏站下.在此场景下,随着呼叫时间变长,极大概率出现4G终端接收到的语音延迟 ...
最新文章
- 你还在认为 count(1) 比 count(*) 效率高?
- html 相对于父标签位置,css子元素如何相对父元素定位?
- Wi-Fi速度慢的十个原因以及解决办法
- 日本农商巨头50年布局多个领域 对话国际农民丰收节贸易会
- java反射 初始化bean_通用javabean初始化(反射机制)
- 责任链模式 和观察者模式
- 「ROI 2017 Day 2」反物质(单调队列优化dp)
- K均值聚类关于初始聚类中心选取的一种改进(python程序)
- 【BZOJ4774】修路 [斯坦纳树]
- 【iCore4 双核心板_ARM】例程二十九:SD_IAP_FPGA实验——更新升级FPGA
- SqlServer中Group By高级使用--Inner Join分组统计
- Android开发经典书籍下载——《Android 4高级编程》《疯狂Android讲义》《Android应用开发详解(郭宏志)》《Android应用案例开发大全》《Android 3D游戏开发技术》
- 20135202闫佳歆——信息安全系统设计基础第十三周学习总结
- 【Redis】2. 入门篇
- JavaScript的事件委托(事件代理)原理
- 第11章 Linux的网络管理
- print的常用写法(python)
- matlab判断系统因果性,信号与系统如何判定一离散系统的因果稳定性
- Android-Activity生命周期、广播接收者、服务
- Quantopian教程系列四