B2BUA介绍

B2BUA介绍

        B2BUA(Back-to-Back User Agent,背靠背用户代理)是通讯网络中,使用SIP(Session Initiation Protocol,会话发起协议)实现会话的一种逻辑实体。B2BUA作为SIP呼叫两端的用户代理,负责处理呼叫两端的所有SIP信令,从呼叫确立到终止全程跟踪每个呼叫。对 SIP 用户,B2BUA 在一边担当用户代理服务器(UAS),在另一边担当用户代理客户机(UAC)。 

        B2BUA就像用户代理服务器(UAS)一样接收和处理请求。为了决定该如何应答一个请求,B2BUA就像UAC一样工作,并且发出请求。

一个SIP服务器可以是B2BUA

        在实际应用中,一些SIP服务器被设计为支持B2BUA功能。这些服务器不仅能够处理基本的SIP会话管理任务,还能够提供额外的业务功能,如呼叫转移、呼叫保持、会议桥接等。通过B2BUA功能,这些服务器能够更灵活地控制SIP会话的流程和状态,从而满足更复杂的通信需求。

SIP服务器与B2BUA的关系

  • 功能重叠:SIP服务器主要负责建立、管理和终止SIP会话,包括用户注册、呼叫路由、呼叫控制等功能。而B2BUA作为SIP呼叫两端的用户代理,也负责处理呼叫两端的所有SIP信令,从呼叫确立到终止全程跟踪每个呼叫。因此,B2BUA的功能在一定程度上与SIP服务器的功能重叠。
  • 特定角色:B2BUA在SIP网络中扮演了一个更为特殊的角色,它不仅仅是一个简单的代理或路由器,而是一个能够全面控制和管理SIP会话的逻辑实体。它像用户代理服务器(UAS)一样接收和处理请求,又像用户代理客户机(UAC)一样发出请求,从而实现了对SIP会话的全程跟踪和控制。
  • 区别:普通的代理服务器,只是负责消息的转发路由;UAC->代理服务器->UAS / UAS->代理服务器->UAC是一次sip会话,也是一次sip对话,此对话中拥有唯一的Call-ID、From-tag、To-tag

 注意:Call-ID、From-tag、To-tag是sip对话的标识,标识一次sip对话。而非sip会话。

B2BUA在sip会话中的具体表现 

        最大的特殊表现:B2BUA在一次sip会话中,在其两端各自形成独立的sip对话.

具体来说:

  • UAC(User Agent Client)与B2BUA之间的会话:当UAC向B2BUA发送一个请求(如INVITE)时,这个请求包含一个Call-ID。这个Call-ID将被用于UAC和B2BUA之间的所有后续请求和响应。此时,B2BUA充当了UAS角色。
  • B2BUA与UAS(User Agent Server)之间的会话:B2BUA在收到UAC的请求后,会向UAS发起一个新的请求(通常也是INVITE),但这里的关键点是B2BUA会使用一个新的Call-ID。这意味着B2BUA与UAS之间的会话将具有一个独立的Call-ID,与UAC与B2BUA之间的Call-ID不同。此时,B2BUA充当了UAC角色。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC-什么是Spring MVC?

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 今天你敲代码了吗 文章目录 1.MVC定义2. Spring MVC 官方对于Spring Web MVC的描述这样的: Spring Web MVC is the original web framework built on the Servlet APl and has been includedin the Spring Frame…

科技论文在线--适合练习期刊写作和快速发表科技成果论文投稿网站

中国科技论文在线这个平台可以作为练手的一个渠道,至少可以锻炼一下中文写作,或者写一些科研方向的简单综述性文章。当然,如果你的老师期末要求也是交一份科技论文在线的刊载证明的话,这篇文章可以给你提供一些经验。 中国科技论…

PyCharm软件初始化配置

安装完pycharm后,需要对其进行个性化设置,分别设置方法如下 目录 一、修改主题二、修改默认字体和大小三、设置拖动滚轮改变字体大小四、常见快捷键 一、修改主题 1、界面右上角点击红框的内容 2、选择Theme选项 3、选择对应的主题 第一二个是白色主题…

Java中的JDK、JRE、JVM

JDK(Java Development kit):Java开发工具包 JVM(Java Virtual Machine):Java虚拟机,真正运行Java程序的地方 核心类库:Java已经写好的东西,可以直接用 开发工具&#xff…

RK3568平台(环境篇)windon与ubuntu之间文件互传

一.windon与ubuntu共享文件夹 打开设置: 点击选项,共享文件夹 共享文件夹,就是在电脑的固定盘符下面,找一个文件夹为Windows和Linux都能看得见的共用的看得见的文件夹,点击添加文件夹。 点击确定后在ubuntu添加共享文…

【Linux】Linux环境设置环境变量操作步骤

Linux环境设置环境变量操作步骤 在一些开发过程中本地调试经常需要依赖环境变量的参数,但是怎么设置对小白来说有点困难,今天就介绍下具体的操作步骤,跟着实战去学习,更好的检验自己的技术水平,做技术还是那句话&…

Java 网络编程(TCP编程 和 UDP编程)

1. Java 网络编程(TCP编程 和 UDP编程) 文章目录 1. Java 网络编程(TCP编程 和 UDP编程)2. 网络编程的概念3. IP 地址3.1 IP地址相关的:域名与DNS 4. 端口号(port)5. 通信协议5.1 通信协议相关的…

memcached 高性能内存对象缓存

memcached 高性能内存对象缓存 memcache是一款开源的高性能分布式内存对象缓存系统,常用于做大型动态web服务器的中间件缓存。 mamcached做web服务的中间缓存示意图 当web服务器接收到请求需要处理动态页面元素时,通常要去数据库调用数据,但…

Adobe国际认证详解-影视后期

在当今的数字媒体时代,影视后期制作作为创意产业的核心环节,对于专业技能的要求日益提高。Adobe国际认证,作为全球创意设计领域的重要标杆,为影视后期制作人员提供了一个展示自我、提升技能的国际舞台。 何为影视后期?…

Bean的注解开发

目录 注解定义bean 在实现类使用注解Component 注意Spring提供了Component注解的三个衍生注解 纯注解开发 bean管理 bean的作用范围 bean的生命周期 bean的依赖注入 引用类型的注入 如果有两个实现类呢(即有两个相同变量类型的bean)&#xff0c…

maven内网依赖包编译报错问题的一种解决方法

背景 外网开发时可以连接互联网,所以编译没有什么问题,但是将数据库、代码、maven仓库全部拷贝到内网,搭建内网环境之后,编译失败。 此依赖包的依赖层级图 maven镜像库配置使用拷贝到内网的本地库,配置如下&#xff…

从操作系统层面认识Linux

描述进程-PCB Linux操作系统下的PCB是: task_struct https://www.cnblogs.com/tongyan2/p/5544887.htmlhttps://www.cnblogs.com/tongyan2/p/5544887.html校招必背操作系统面试题-什么是 PCB(进程控制块) ?_哔哩哔哩_bilibili校招必背操作系…

FOG Project 文件名命令注入漏洞复现(CVE-2024-39914)

0x01 产品简介 FOG是一个开源的计算机镜像解决方案,旨在帮助管理员轻松地部署、维护和克隆大量计算机。FOG Project 提供了一套功能强大的工具,使用户能够快速部署操作系统、软件和配置设置到多台计算机上,从而节省时间和精力。该项目支持基于网络的 PXE 启动、镜像创建和还…

应用层——HTTP

像我们电脑和手机使用的应用软件就是在应用层写的,当我们的数据需要传输的时候换将数据传递到传输层。 应用层专门给用户提供应用功能,比如HTTP,FTP… 我们程序员写的一个个解决我们实际的问题都在应用层,我们今天来聊一聊HTTP。 协议 协议…

配置SMTP服务器的要点是什么?有哪些限制?

配置SMTP服务器安全性如何保障?如何高效配置服务器? SMTP作为电子邮件发送的核心协议,其配置对于确保邮件的成功传递和安全至关重要。AokSend将详细介绍配置SMTP服务器的关键要点,帮助读者建立一个高效、安全的邮件发送系统。 配…

【BUG】已解决:note: This is an issue with the package mentioned above,not pip.

已解决:note: This is an issue with the package mentioned above,not pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷…

【LabVIEW作业篇 - 3】:数组相加、for循环创建二位数组、数组练习(求最大最小值、平均值、中位数、提取范围内的数据、排序)

文章目录 数组相加for循环实现直接使用加函数 for循环创建二位数组数组练习 数组相加 要求:用两种方法实现两个数组相加 for循环实现 在前面板中分别创建两个数值类型的一维数组,并设置相应的值,然后在程序框图中创建一个for循环&#xff…

Android SurfaceView 组件介绍,挖洞原理详解

文章目录 组件介绍基本概念关键特性使用场景 SurfaceHolder介绍主要功能使用示例 SurfaceView 挖洞原理工作机制 使用SurfaceView展示图片示例创建一个自定义的 SurfaceView类在 Activity 中使用 ImageSurfaceView注意事项效果展示 组件介绍 在 Android 开发中,Sur…

uniapp-vue3-vite 搭建小程序、H5 项目模板

uniapp-vue3-vite 搭建小程序、H5 项目模板 特色准备拉取默认UniApp模板安装依赖启动项目测试结果 配置自动化导入安装依赖在vite.config.js中配置 引入 prerttier eslint stylelint.editorconfig.prettierrc.cjs.eslintrc.cjs.stylelintrc.cjs 引入 husky lint-staged com…

STM32智能家居电力管理系统教程

目录 引言环境准备智能家居电力管理系统基础代码实现:实现智能家居电力管理系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:电力管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家居电…