SBC应用
在VoIP呼叫中主要使用会话发起协议(SIP),H.323和MGCP呼叫信令协议,Sbc 在主叫和被叫的信令/媒体路径之间引入。
通常,SBC隐藏网络拓扑,接管呼入并生成到新的请求分支到被叫。技术上叫做背靠背B2BUA;这样做的好处是信令流和媒体流都能得到SBC控制。方便处理录音、生成保持背景音乐等媒体相关的处理;假如SBC不具备媒体服务的处理能力,也能够转发媒体流到其它处理单元.反之。反之,假如缺少SBC,主叫和被叫之间路径只能直达,缺少内网中的媒体流路径管理。
另外,SBC只是修改呼叫双方的电话控制(信令)流,这种修改可能限制了能进行的呼叫种类,改变了可选择的编码等。最终,SBC根据网络情况进行呼叫的能力,修复或者改变协议来完成交互,克服其它类如防火墙和NAT等问题.
为了体现SBC的能力,可以对比一下引入SBC前后的呼叫流程。在最简单场景中,只有SIP服务代理时,SIP服务代理查找被叫电话地址并将来电请求转发过去。代理也把自己的地址放在头部,告诉终端请求的路径。代理不改变任何会话标识信息,也不改变SIP消息内容。注意在会话初始阶段是通过SIP消息体来确定媒体流的端口的。在会话初始成功后,通话双方不再经过代理,直接使用媒体端口
SBC应用广泛,能实现各种不同的目的。即使同一个SBC也可能根据配置的不同而表现不同的使用行为。因此不好刻画一个准确的SBC行为来代表所有的SBC实现。通常可以列出SBC的基本特征,例如:大多SBC是基于背靠背用户代理。背靠背是一种类似代理的服务把SIP事务分为2个分支,在面向客户端的一侧它充当服务器,在面向服务器的时候它充当客户端。代理只保存与活动事务相关的状态信息,但背靠背还保存对话信息。也就是说代理会保存状态信息:当收到下一个状态后,上一个状态会删除;但背靠背会为活动保存状态直到会话结束。
一旦呼叫中引入了SBC,它就充当了背靠背代理角色。对呼叫方表现出服务器行为,对被叫方表现出客户端行为。SBC实际上结束一通呼入并生成一个新的请求给被叫。INVITE不再准确地包含呼叫者,SBC发出的INVITE包含路由信息和联系头部,它指的是SBC而不再是真实的呼叫者。SBC还可能修改会话标识信息,Call-ID和From tag ,修改SDP包体中的媒体流地址c 和m字段,因此,不仅所有的SIP消息,还包括音视频等包都会遍历SBC。在SBC建立的INVITE请求中,SBC还修改了计数和最大重传,注意头部中列出的操作可能是引入SBC后被修改的SIP消息子集。 此外,一些SBC并不实现所有的列出操作。如果SBC无意于控制媒体流,可能不会去修改SDP头部,一些SBC并不会修改对话中的身份信息等,甚至不修改地址信息。
SBC还常用于企业防火墙和IPS,使VOIP呼入呼出都出自有保持的企业网络。Voip服务提供商使用SBC实现从带NAT的私网中使用VOIP协议,还实施强有力的安全措施以保持高质量的服务。SBC取代了应用级网关的功能。在大型企业中,SBC还可以与SIP中继一起使用提供呼叫控制。内部IP网络流量路由较传统电话交互路由可以节约大量成本 。
另外,部分SBC允许2个使用不同VOIP信令协议,不同编解码的终端进行通话,大部分SBC针对VOIP流提供防火墙功能(拒绝服务,呼叫过滤和波段控制).协议标准化和报头处理也是SBC内容之一,用于不同厂商和网络间的通信。
从IP多播子系统(IMS)到3GPP架构,SBC是信令面的P-CSCF和IMS-ALG集成以及接入侧的媒体面IMS网关集成。在互联侧,SBC映射到IBCF,信令面的IWF和媒体面的TrGW(事务网关).
从IMG/TISPAN架构来看,SBC是接入侧的P-CSCF和C-BFG集成,以及对等侧的IBCF IWF THIG 和I-BGF功能. 一些SBC是可以分解的,意思是信令功能可以分开部署。P-CSCF可以与C-BGF分开,或者IBCF/IWF可以与I-BGF物理分开.
SBC应用的更多相关文章
- 蓝牙协议中的SBC编码
一.从信息的传输说起  上图是一个典型的蓝牙耳机应用场景.手机上的音频信息经过编码以后通过蓝牙协议被蓝牙耳机接收,经过解码以后,蓝牙耳机成功获取手机上的音频信息,然后再转化为振动被人耳识别.这是一个 ...
- 基于webrtc技术session border controler (SBC)
由于原来的文章 http://blog.csdn.net/voipmaker 转载注明出处. 我建了一个通信学习 交流群. 45211986, 欢迎增加. WebRTC技术致力于在浏览器端实现实时音 ...
- 蓝牙协议中的SBC编解码原理和仿真
一.SBC的原理 SBC是subband codec的缩写,中文叫做次频带编码,也叫子带编码.其基本原理是把信号的频率分为若干子带,然后对每个子带进行编码,并根据每个子带的重要性及特点分配不同的位数( ...
- SBC数据格式转换软件
北京博信施科技有限公司是一家专业从事数据格式转换.数据处理领域研发软件产品和解决方案实施的技术型公司.在当今信息时代,PDF文档格式是在Internet上进行电子文档发行和数字化信息传播的理想文档格式 ...
- SIP穿越NAT SIP穿越防火墙-SBC
FireWall&NAT FireWall是一种被动网络安全防卫技术,位于网络的边界.在两个网络之间运行訪问控制策略.防止外部网络对内部信息资源的非法訪问,也能够阻止特定信息从内部网络被非法输 ...
- nagios插件之登陆SBC监控电话数
运行:sbc_calls_status_new auto_ssh_sbc_10_17.sh | auto_ssh_sbc_11_17.sh vi sbc_calls_status_new.c #inc ...
- Turtlebot3入门教程-系统-SBC软件设置(ubuntu20.04)
本文针对如何在树莓派3上安装ubuntu20.04系统和软件进行讲解 树莓派3接上显示屏和鼠标后,开机后继续安装软件包 详细步骤如下: (1)系统安装 (2)ROS安装 (3)TurboBot3依赖的 ...
- DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...
- 我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
随机推荐
- 不要怂,就是GAN (生成式对抗网络) (三):判别器和生成器 TensorFlow Model
在 /home/your_name/TensorFlow/DCGAN/ 下新建文件 utils.py,输入如下代码: import scipy.misc import numpy as np # 保存 ...
- Ubuntu的TOOL工具收集
Ubuntu工具 1. Ubuntu下嵌入式开发环境的搭建 http://www.linuxidc.com/Linux/2011-03/33824.htm
- Spring全局异常处理
最近学习Spring时,认识到Spring异常处理的强大.之前处理工程异常,代码中最常见的就是try-catch-finally,有时一个try,多个catch,覆盖了核心业务逻辑: 1 try{ 2 ...
- java经典开发模式
Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket等等)并不了解,这里就不 ...
- linux 搭建php网站许愿墙
网站素材在:https://i.cnblogs.com/Files.aspx 首先需要搭建本地yum源,详情参考: http://www.cnblogs.com/jw35/p/5967677.html ...
- Tips and Examples Using FNDLOAD (DOC ID 735338.1)
In this Document Goal Solution Some Tips About FNDLOAD Some sample examples Diagnostics & Utilit ...
- [CentOS]Centos设置网卡
IP设定查看Command # ifconfig -a # netstat -nr 给eth0设定值 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DE ...
- mysql 主从日志文件mysql-bin文件清除方法
默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,这时候是否可以删除这些文件呢,是否可以安全删除,是个问题,不建议使用rm命令删除,这样有可能会不安全,正确的方法 ...
- SQL字符串分割转列,Sql列转字符串
declare @strVar varchar(2000)declare @ResultVar varchar(2000)set @ResultVar='[薄饼],[点心],[海鲜],[酒吧],[楼面 ...
- .net core webapi 定义多版本与 Swagger 的文档输出
前提: 需要nuget 以下两个程序集 Swashbuckle.AspNetCore 我暂时用的是 4.01: Microsoft.AspNetCore.Mvc.Versioning.ApiExp ...