SIP协议之通话转接

news2024/9/20 10:58:52

一、介绍

  在SIP协议应用中,有一个常用的功能叫通话转接,用于将接通后的通话转给第三方接听处理。

二、原理及流程

  转接是通过SIP协议的一个扩展请求方法REFER实现的。呼叫转接由RFC5589(Session Initiation Protocol (SIP) Call Control - Transfer)定义,而REFER方法则由RFC3515(The Session Initiation Protocol (SIP) Refer Method)定义。转接分为出席转接、半出席转接和盲转接三种,简称出席转、半出席转和盲转。
基本的成功转接(出席转接)流程如下:
在这里插入图片描述
上图来源为RFC5589

2.1 出席转接(attended transfer)

出席转接也称为咨询转,流程如下:

  1. 用户A呼叫用户B
  2. 用户B接听,与A进行通话
  3. 用户B通过按钮触发转接流程,将用户A保持住,此时用户A听到呼叫保持提示音(可能是一段音乐), 用户B听到拨号音,开始呼叫用户C
  4. 用户C振铃并接听,用户B和C开始通话
  5. 用户B点击转接(refer),用户A和用户C开始通话,而用户B被服务器挂断

2.2 半出席转接(Semi-Attended Transfer)

  1. 用户A呼叫用户B
  2. 用户B接听,与A进行通话
  3. 用户B通过按钮触发转接流程,将用户A保持住,此时用户A听到呼叫保持提示音(可能是一段音乐), 用户B听到拨号音,开始呼叫用户C
  4. 用户C振铃,用户B听见回铃音
  5. 用户B点击转接(refer)
  6. 用户A听见回铃音
  7. 用户C应答后,用户A和用户C开始通话

2.3 盲转接(blind transfer)

  1. 用户A呼叫用户B
  2. 用户B接听,与A进行通话
  3. 用户B通过按钮触发转接流程,将用户A保持住,此时用户A听到呼叫保持提示音(可能是一段音乐), 用户B输入用户C后转接(REFER),用户B挂机
  4. 用户C振铃
  5. 用户C应答后,用户A和用户C开始通话

三、实例解析

3.1 出席转接

在这里插入图片描述
说明:在第三方接通后,开始REFER转接

3.2 半出席转接

在这里插入图片描述
说明:在第三方振铃时,开始REFER转接

3.3 盲转

在这里插入图片描述
在呼叫第三方前,开始REFER转接

四、关键说明

  • 转接是在双方通话接通后的行为,由REFER方法实现,主被叫双方都可以发起转接;而转移一般依靠302信令实现,只有被叫在收到来电后未接通前才能完成
  • 在转接前,一般会将对方保持住,在保持过程中,一般由服务器给对方播放转接提示音
  • 出席转的重要意义在于在转接第三方前,可以打通电话询问一下对方是否方便接听要转接的电话,因此也称为咨询转。常见于老板和秘书之间,这样秘书可以帮老板过滤掉不重要的电话
  • 半出席转的意义在于,听见对方回铃音可以确认第三方号码正常,避免第三方号码占线而导致转接失败
  • 盲转直接转给第三方,不关心成功与否
  • REFER转接过程中伴有NOTIFY转接状态通知,转接发起方可以通过该消息确认是否转接成功或者恢复转接前通话
  • 转接过程中,会给被转接方播放一段友好提示音,如”正在转接中,请稍后“,还会涉及到保持(hold)和解保持操作
  • 转接可能会失败,是否恢复之前的通话取决于转接类型以及软件的具体实现

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

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

相关文章

(数字图像处理MATLAB+Python)第六章图像平滑-第一节:图像平滑概述和空间域平滑滤波

文章目录 一:图像中的噪声(1)图像噪声分类(2)图像噪声的数学模型(3)程序 二:空间域平滑滤波(1)均值滤波A:均值滤波原理B:示例C&#x…

203、【栈与队列】leetcode ——剑指 Offer II 040. 矩阵中最大的矩形 / 85. 最大矩形:暴力+单调栈(C++/Pyhont版本)

题目描述 Problem: 剑指 Offer II 040. 矩阵中最大的矩形 文章目录 题目描述解法一:暴力解法思路解题方法复杂度Code 解法二:单调栈解法 解法一:暴力解法 思路 首先, 按行获取到达某一元素位置时,之前与当前连续1的个…

【JUC高并发编程】—— 初见JUC

一、JUC 概述 什么是JUC JUC 是 Java并发编程的缩写,指的是 Java.util.concurrent 即Java工具集下的并发编程库 【说白了就是处理线程的工具包】 JUC提供了一套并发编程工具,这些工具是Java 5以后引入的,使得Java开发者可以更加方便地编写…

86页2023年新型智慧城市顶层设计规划解决方案(ppt可编辑)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 整体架构 智慧城市建设从顶层设计入手,结合软硬件资源整合能力,为公众提供全生命周期一站式服务管理。智慧城市的整体框架分为发展战略层、技术实施层…

HuggingFace入门教程--环境搭建

HuggingFace中文直译为”拥抱脸“,是最近非常火爆的一个人工智能社区,官网地址是:https://huggingface.co/ .关于HuggingFace的相关介绍大家可以自行百度。本文主要为刚入人工智能坑的小白指下路,同时也是逼着自己记录下学习过程中…

Cuckoo Filter

其他判重数据结构 Bloom Filter 无法支持删除和计数的功能,需要更多的存储空间来存储数据 因为在CS中,删除和计数是常见的操作,但是这会对布隆过滤器的存储空间产生影响,同样为了实现这一操作,需要更多的存储空间 数…

vue---父子、兄弟、跨层级关系组件通信

目录 1、props / $emit (父子通信) 2、$root、 $parent / $children(vue3废弃) 3、ref/$refs 4、EventBus ($emit / $on) 5、provideinject(依赖注入) 6、$attrs $listeners(透传&#x…

电子政务网络智慧运维方案

随着电子政务建设的深入,我国政府的信息化建设已经具备了一定的规模,形成了部、省、市、县四级体系;大型政务服务事项、公文流转、行政审批、费税征缴、信息公开、网格化社会管理、三网融合、智慧城市建设等大量政府核心业务越来越依赖信息化…

Linux 静态库的制作与使用

目录 静态库1、 什么是库2、 静态库的制作2.1 命名规则与制作规则 3、 静态库的使用 静态库 1、 什么是库 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供使用者可以直接拿来用的变量、函数或类。库是一种特殊的程序&#xff…

atbetaflight——指定commit号编译固件

一、说明 在开发过程中,比如成员A上传了一次code,而成员B需要测试本次提交的code,但是由于没有搭建ci,成员B就需要自己拉code编译,本文将详细说明编译步骤; 二、步骤 1、使用vscode打开code 在使用git clone下载到code后的文件…

HDCTF2023复盘

文章目录 前言 CryptoNormal_rsaNormal_rsa(Revenge)(低指数e攻击)Math_RSA(二次剩余)爬过小山的看云(hill,云影) MischardMisc(base64)MasterMisc(crc,wav)ExtremeMisc(zip爆破,明文攻击) Reverseeasy_re(Upx,base64)easyasm(xor) WebWelcome To HDCTF 2023(JSFuck)SearchMast…

『C++』异常详解

「前言」文章是关于C异常方面,下面开始讲解 「归属专栏」C嘎嘎 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先生有点文青病」 「每篇一句」 少年的肩膀,就该这样才对嘛, 什么都不要急, 先挑起清风明月、杨柳依依和草长…

华为OD机试真题(Java),吃到最多的刚好合适的菜(100%通过+复盘思路)

一、题目描述 入职后,导师会请你吃饭,你选择了火锅。 火锅里会在不同时间下很多菜。 不同食材要煮不同的时间,才能变得刚好合适。你希望吃到最多的刚好合适的菜,但你的手速不够快,用m代表手速,每次下手捞…

作业3综合练习

综合练习: 要求:请给openlab搭建web网站 网站需求: 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student #更改配置文件 (虚拟主机标签…

嵌入式51单片机04-矩阵按键系列

文章目录 矩阵按键一、矩阵按键基础知识二、矩阵按键系列代码1. 矩阵按键操作(显示数字)(1)仿真电路图(2)源代码(3)实验结果 2. 矩阵按键操作(控制数码管)&am…

STM32的GPIO重映射配置(解除下载端口的重映射)

在设计一个项目的时候,因为用的是STMF103C8T6,引脚较少,所以把可以用的GPIO都需要用上,但是由于下载的引脚在出生时,被厂家已经配置好了,所以我们得利用软件配置一下,使引脚变成正常的GPIO。 手…

安卓12源码编译错误-java.lang.OutOfMemoryError: Java heap space

报错如下: FAILED: out/soong/.intermediates/frameworks/base/module-lib-api-stubs-docs-non-updatable/android_common/metalava/api_lint.timestamp out/soong/.intermediates/frameworks/base/module-lib-api-stubs-docs-non-updatable/android_common/metala…

Flutter开发日常练习-小猫咪杂货店(新增动画和跳转抖音)

之前的练习加了个详情页面,然后跳转第三方页面抖音用户详情页面 跳转详情页添加了Hero的动画,共享元素过度 一个 标准 hero 动画 使 hero 从一页飞至新页面,通常以不同大小到达不同的目的地。 设定好每个图片的id,通过id作为 Hero 组件的标识,id不能重,否则会报错&…

DHCP笔记

目录 DHCP动态主机配置协议——UDP67/68端口 DHCP获取IP地址 客户端首次获取IP地址 客户端再次获取IP地址 租期/续租 DHCP的工作报文 DHCP的配置 案例 DHCP动态主机配置协议——UDP67/68端口 DHCP是应用层协议,采用C/S服务模式,只能在一个广播域…

TortoiseSVN使用-授权访问

文章目录 3.4.6 授权访问 3.4.6 授权访问 总结: 如果是匿名访问(就是不用输入用户名密码的访问方式),请只开启anon-access write如果授权访问,请先设置anon-access none,然后打开3个:auth-a…