IMS中如何区分initial INVITE和re-INVITE?

news2025/1/11 20:57:49

这里就要先看下Dialog的定义。

dialog是两个UA之间持续一段时间的点对点 SIP关系。dialog通过SIP消息建立,例如对 INVITE request的 2xx response。dialog由Call-ID、local tag和remote tag来区分,也就是Call-ID 、from-tag和to-tag就可以确定一个dialog ID,用于区分不同的dialog。在intial INVITE收到non-failure response(例如 200 ok) 时,dialog就被创建,但是只有带有to-tag的 2xx 和 101-199 response(请求为 INVITE)才会建立dialog。 而对于之前的non-final response,这个期间的dialog 叫做early dialog,而什么是final response,在介绍transaction时会提到。

举例来说,dialog ID 由Call-ID 、from-tag、和to-tag确定,UAC在生成INVITE时,会生成Call-ID及From tag,在收到183 SESSION PROGRESS时就收到了UAS 的To tag,此时就可以确定dialog ID,根据这段描述,此时对应的是early dialog,而在收到final response即200 ok时,才算是final dialog。

而re-INVITE的定义如下

INVITE 过程成功后会在两个UA之间建立dialog期间也会通过协商建立session。 在session进行过程中,MO和MT可能需要修改session中的地址或端口、添加媒体流、删除媒体流等,这时可以在当前建立的dialog中重新发送一个INVITE实现,这就是所说的re-INVITE(即re-INVITE消息必须与intial INVITE消息处于同一dialog中)。也就是说re-INVITE是在当前dialog 中发送的,此时已经有Call-ID 、from-tag和to-tag。

到这里结合dialog的定义就可以看出INVITE和re-INVITE的区别就是re-INVITE会带to-tag,而initial INVITE因为还没有建立dialog,所以是不带to-tag,这也是区分两中INVITE的一个方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1376705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年阿里云服务器怎么买便宜?

2024年阿里云服务器租用费用,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、轻量应用服务器2核2G3M带宽轻量服务器一年61元,2核4G4M带宽轻量服务器一年165元12个月,ECS云服务器e系列2核2G配置99元一年、2核4G服务器30元3个月、2核4G配置…

FineBI实战项目一(17):热门商品Top10分析开发

点击新建组件,创建热门商品Top10组件。 选择柱状图,拖拽cnt(总数)到横轴,拖拽goodName到纵轴。 选择排序规则。 修改横轴和纵轴的标签名称 切换到仪表板,拖拽组件到仪表板 效果如下:

记录汇川:H5U与Fctory IO测试9

主程序: 子程序: IO映射 子程序: 出料程序 子程序: 自动程序 Fctory IO配置: 实际动作如下: Fctory IO测试9

为什么选择CRM系统时,在线演示很重要?

想要知道一款CRM管理系统是否满足企业的需求,操作是否简单,运行是否流畅,最直观的方式就是远程演示。否则,光凭厂商的销售人员介绍一下产品,企业就盲目下单,最后发现功能不匹配,还要赔钱赔时间重…

Sublime Text 3配置 Python 开发环境

Sublime Text 3配置 Python 开发环境 一、引言二、主要内容1. 初识 Sublime Text 32. 初识 Python2. 接入 Python2.1 下载2.2 安装和使用 python2.2 环境变量配置 3. 配置 Python 开发环境4. 编写 Python 代码5. 运行 Python 代码 三、总结 一、引言 Python 是一种简洁但功能强…

2024年主题教育专题民主生活会党员干部个人对照检查六个方面发言材料

每当我们写民主生活会个人发言材料2023六个方面的时候,大部分人脑袋里都是一团乱麻,2023民主生活会个人版的不知道应该写哪些方面的内容,生活会个人发言材料不知道该从哪里开始写,其实遇到这样的情况是很正常的,大家不…

提升测试效率,轻松并行运行测试——探秘Pytest插件pytest-xdist

在软件开发中,测试是确保代码质量的重要一环。然而,随着项目规模的增大,测试用例的数量也随之增多,测试的执行时间可能成为一个瓶颈。为了解决这个问题,Pytest提供了丰富的插件生态系统,其中 pytest-xdist …

用Gradio做一个ai-chat应用

背景 上半年国内的大模型还没遍地开花的时候,笔者花巨资购了两台云服务器及给OpenAI充了20$,给身边的亲友给做了一个可使用的ai-chat。 代码实现 起先笔者 基于openai的api接口文档 API Reference - OpenAI API ,自己编写web后台&#xff0…

低维度向量的 Householder 反射变换 matlab 图示

1, 算法原理 设th 是一个弧度值, 令 Q | cos(th) sin(th) | | sin(th) -cos(th) | S span{ | cos(th/2.0) | } | sin(th/2.0) | x (x1, x2) 是一个平面上的二维向量 计算 y Qx Qx 则,y 是 x 通过有 S 定…

发起人自选-钉钉审批

场景描述 配置一个审批流程,在某些审批节点,不能确定谁具体来审批,所以需要手工选择一个人或者多个人保证流程能得以顺利通过。有些审批流程的做法是,上一个节点来选择指定的人,而钉钉的做法是发起人来指定。 钉钉设…

Find My资讯|AirTag 2或推迟上市,Find My功能十分强大

苹果于 2021 年4月推出了初代 AirTag。苹果已将第二代 AirTag 的推出推迟到 2025 年,目前苹果官方并不急于推出AirTag 2的原因还有AirTag所搭载的搜寻定位功能非常的强大,在市场上几乎没有任何竞争对手可言。 AirTag使用蓝牙和苹果设备的“查找我的”网…

汽车中的ECU、VCU、MCU、HCU

一、ECU是汽车电脑,刷汽车电脑可以提高动力,也可以减低动力,看需求。 简单原理如下。 1.汽车发动机运转由汽车电脑(即ECU)控制。 2.ECU控制发动机的进气量,喷油量,点火时间等,从而…

SQL-DCL-如何用户管理,如何给用户权限?

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

Leetcode2981. 找出出现至少三次的最长特殊子字符串 I

Every day a Leetcode 题目来源:2981. 找出出现至少三次的最长特殊子字符串 I 解法1:滑动窗口 暴力枚举 滑动窗口枚举窗口内字符相同的字符串,再暴力枚举长度相等的字符串。 代码: /** lc appleetcode.cn id2981 langcpp**…

Redis的实现三:c语言实现平衡二叉树,通过平衡二叉树实现排序集

概况:Redis中的排序集数据结构是相当复杂的独特而有用的东西。它不仅提供了顺序排序数据的能力,而且具有按排名查询有序数据的独特特性。 Redis中的排序集 (Sorted Set)是一种特殊的数据结构,它结合了集合&#xff0…

065:vue中将一维对象数组转换为二维对象数组

第065个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

红队专题-反序列化攻击-Tools-Ysoserial

Ysoserial 招募六边形战士队员ysoserial-0.0.6-SNAPSHOT-all.jarysoserial的原生CB1的链CC6链在ysoserial编写自己的payload ysoserial.net前言 参考文章 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 ysoserial-0.0.6-SNAPSHOT-all.ja…

探索WPF控件内容模型的四大支柱

WPF 内容模型 WPF控件内容模型主要指派生于System.Windows.Controls.Control类的各种控件,有四个可包含任意内容的类。 下表列出了继承自 Control 的类。 ContentControl:用于包含一段任意类型的内容。但是只能包含一个子元素作为其“内容”。它可以包…

2023.12.10查找,线性探测法

二叉树的重构 集合实现对图的dfs,bfs复写 插入排序 霍夫曼树,霍夫曼编码 查找成功,查找失败的期望值计算 9.给定散列表大小为11,散列函数为H(Key)Key%11。按照线性探测冲突解决策略连续插入散列值相同的4个元素。问:此时该散…

机器学习_8、支持向量机

支持向量机解决鸢尾花数据集分类问题 # 导入鸢尾花数据集 from sklearn.datasets import load_iris import pandas as pd import numpy as npiris_data load_iris() Xiris_data.data yiris_data.target# 划分训练集与测试集 from sklearn.model_selection import train_test_…