Precondition资源预留

在移动通信网络,UE之间传输媒体流基于PDP上下文,建立媒体PDP上下文的过程称为资源预留。

媒体PDP上下文建立会花费一些时间甚至失败,这意味着在资源被成功预留之前,无法保证协商的媒体会话是否可以建立起来。因此终端不应该在双方资源预留成功之前有任何通知指示产生,比如振铃提示、回铃提示等。

资源预留功能在SIP信令上体现为两个阶段,第一个阶段的所有媒体协商仅仅是为了双方进行资源预留准备(比如媒体协商如果承载在183响应中,终端不能将183做为回铃指示,因为资源预留还没有建立成功)。在资源预留建立成功之后,使用Update信令来表明资源预留建立完成,进入第二个阶段,之后的18X信令就可以像普通SIP流程一样,做为放回铃音的指示信息。

1.UE_A发起的invite请求:

  • 针对资源预留功能,SIP信令上新增precondition扩展标识,指示支持资源预留功能。《中国电信IMS网络SIP协议总体技术要求》不建议初始Invite携带Require:precondition头域,主要考虑资源预留功能不能为现有业务或网络带来增值,而且还增加了信令交互的复杂性。

  • 同时针对SDP属性也进行扩展,增加了“qos”一种前提类型。

a=curr:qoslocal none
a=curr:qosremote none
表示目前(curr),无论是主叫方(local)还是被叫方(remote)都还没有(none)任何资源预留。

a=des:qosmandatory local sendrecv
表示主叫用户(local)要求(des)在发送和接收两个方向(sendrecv)都要提供资源预留,并且不能成功预留资源,会话将不会建立(mandatory)

a=des:qosnone remote sendrecv
表示要示(des)被叫用户(remote)也需要提供双向(sendrecv)的资源预留,但还不确定被叫用户是否真的需要进行预留(none)。

2. UE_B回应183
UE_B在收到Invite请求后,得知主叫方支持资源预留功能,同时他也支持资源预留功能,则提供183响应,在SDP中包含UE_B支持的所有编码,并针对“qos”描述进行补充。

注意:
对端和本地的概念已经改变,因为从UE_B的角度来看,自己已经是本地,而UE_A是远端。

a=curr:qoslocal none
a=curr:qosremote none
表示目前(curr),无论是主叫方(local)还是被叫方(remote)都还没有(none)任何资源预留。

a=des:qosmandatory local sendrecv
表示强制要求自己在收发两个方向都进行资源预留,之后才允许进行会话。

a=des:qosnone remote sendrecv
表示从对方得知,对方也强制要求收发双向的资源预留。

a=conf:qosremote sendrecv
告知UE_A,如果它的双向资源预留完成后,必须发送确认(conf)信息。这里确认信息在SIP消息中体验为发送UPDATE信令。

3.UE_A发送PRACK请求,其中媒体仅包含他已确认的唯一编码。

在SDP的“qos”描述中,双方都已经表示需要进行资源预留,并且当前都还没有资源预留完成。这里UE_A不再包含a=conf:qosremote sendrecv,因为他知道对方在等待他资源预留完成后的确认消息。

4.UE_B给PRACK请求进行回应,其中“qos”描述没有任何变化。

5.UE_A建立媒体PDP上下文,当资源预留成功后,UE_A发送UPDATE请求给远端进行确认。

其中a=curr:qoslocal sendrecv表明UE_A当前(curr)双向的资源预留建立成功。

6.UE_B给UPDATE请求进行回应

5、6、7、8、9)在UE_B得知双方的资源预留都已经建立成功后,UE_B开始振铃,同时给UE_A发送180,UE_A在了解双方的资源预留建立成功后,收到180则给当前用户回铃提示。后续流程同普通SIP软交换流程相同,不再详细描述。

Precondition资源预留相关推荐

  1. [kubernetes] 资源管理 --- 资源预留实践

    一 概述 1.1 问题 系统资源可分为两类:可压缩资源(CPU)和不可压缩资源(memory.storage).可压缩资源比如CPU超配后,在系统满负荷时会划分时间片分时运行进程,系统整体会变慢(一般 ...

  2. 架构解读丨Volcano作业资源预留设计原理

    摘要:本文重点讲解了基于v1.1.0的目标作业资源预留特性的设计和最佳实践.讲解过程中,全面介绍了特性设计过程中的考量因素和算法设计. 资源预留(Reservation)是批处理系统的一类常见需求,也 ...

  3. 【kubernetes/k8s源码分析】 kubelet cgroup 资源预留源码分析

    kubernetes 1.13 WHY 默认情况下 pod 能够使用节点全部可用资源.用户 pod 中的应用疯狂占用内存,pod 将与 node 上的系统守护进程和 kubernetes 组件争夺资源 ...

  4. Koordinator 0.6:企业级容器调度系统解决方案,引入 CPU 精细编排、资源预留与全新的重调度框架

    阿里云原生开源的混部系统 Koordinator 基于阿里超大规模混部生产实践经验而来,旨在为用户打造云原生场景下接入成本最低.混部效率最佳的解决方案,助力用户企业实现云原生后提升计算资源利用率.降低 ...

  5. Koordinator 0.6:企业级容器调度系统解决方案,引入 CPU 精细编排、资源预留与全新的重调度框架...

    阿里云原生开源的混部系统 Koordinator 基于阿里超大规模混部生产实践经验而来,旨在为用户打造云原生场景下接入成本最低.混部效率最佳的解决方案,助力用户企业实现云原生后提升计算资源利用率.降低 ...

  6. kubelet 配置节点资源预留

    kubelet 配置节点资源预留 Kubernetes 的节点可以按照节点的资源容量进行调度,默认情况下 Pod 能够使用节点全部可用容量.这样就会造成一个问题,因为节点自己通常运行了不少驱动 OS ...

  7. kubernetes集群节点资源预留

    问题 默认kubelet没有配置资源预留,host上所有的资源(cpu, 内存, 磁盘) 都是可以给 pod 使用的.而当一个节点上的 pod 将资源吃满时,系统层面可能会干掉 k8s 核心组件进程, ...

  8. LINUX预留内存的实现

    在LINUX应用开发中,可能需要使用连续的物理地址来存储一些数据或者进行DMA操作,但是由于LINUX具备MMU功能,MMU模块会自动的将物理地址与虚拟地址之间建立页表对应关系(但并不是线性对应),用 ...

  9. LTE语音终极解决方案——VoLTE

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.VoLTE是什么? 二.LTE网络语音解决方案 1.SvLTE(Simultaneous Voice and LT ...

最新文章

  1. 含有PCA动画演示的帖子,需要多读几遍的经典
  2. php js 正则表达式,【PHP】用正则表达式过滤js代码(注意这个分析过程)
  3. [Linux]进程(十二)--task_struct结构体
  4. Emgu-WPF学习使用-阈值化
  5. Python自省函数getattr的用法
  6. 边信息(即对应的两个数组值)_Python 数据分析 NumPy 模块迭代数组nditer方法详解...
  7. 欧拉函数、欧拉定理、费马小定理(附例题)
  8. 【车辆计数】基于matlab形态学停车场车辆计数【含Matlab源码 628期】
  9. java的三大特征:封装,继承和多态
  10. SVN服务端与客户端安装(汉化包)以及简单使用
  11. 测量图上点位平面位置\高程中误差怎么计算?
  12. 合并在即:详解以太坊最新技术路线
  13. Havok Vision Engine
  14. Linux编译simplest_ffmpeg_player
  15. android vivo oppo 真机调试 apk、安装失败,系统老是报“解析包时出现问题”
  16. 腾讯企业邮箱申请步骤
  17. WG225模块(SDIO WIFI)调试记录
  18. Node-包管理工具整套下载使用讲解(nvm、npm、yarn、cnpm、pnpm、nrm)
  19. python django+vue搭建自动化测试平台
  20. 【MySQL】漫谈MySQL体系结构

热门文章

  1. Keras NLP——词袋模型
  2. ChatExcel--自动处理表格
  3. bzoj 1821 部落划分
  4. 记录历时两天为搞论文的数学公式走过的路latex、mathpix snipping tool、MathType,win11+ipad
  5. Linux设备文件简介
  6. 智慧树源码_智慧树平台系统开发
  7. keycloak 配置 mysql_keycloak集群
  8. 02 Python turtle绘制丘比特爱心
  9. 如何进行日常写作训练?
  10. 吃鸡测试硬件的软件,让我如何爱你:《绝地求生》硬件资源占用测试