在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应用的更多相关文章

  1. 蓝牙协议中的SBC编码

    一.从信息的传输说起  上图是一个典型的蓝牙耳机应用场景.手机上的音频信息经过编码以后通过蓝牙协议被蓝牙耳机接收,经过解码以后,蓝牙耳机成功获取手机上的音频信息,然后再转化为振动被人耳识别.这是一个 ...

  2. 基于webrtc技术session border controler (SBC)

    由于原来的文章 http://blog.csdn.net/voipmaker  转载注明出处. 我建了一个通信学习 交流群. 45211986, 欢迎增加. WebRTC技术致力于在浏览器端实现实时音 ...

  3. 蓝牙协议中的SBC编解码原理和仿真

    一.SBC的原理 SBC是subband codec的缩写,中文叫做次频带编码,也叫子带编码.其基本原理是把信号的频率分为若干子带,然后对每个子带进行编码,并根据每个子带的重要性及特点分配不同的位数( ...

  4. SBC数据格式转换软件

    北京博信施科技有限公司是一家专业从事数据格式转换.数据处理领域研发软件产品和解决方案实施的技术型公司.在当今信息时代,PDF文档格式是在Internet上进行电子文档发行和数字化信息传播的理想文档格式 ...

  5. SIP穿越NAT SIP穿越防火墙-SBC

    FireWall&NAT FireWall是一种被动网络安全防卫技术,位于网络的边界.在两个网络之间运行訪问控制策略.防止外部网络对内部信息资源的非法訪问,也能够阻止特定信息从内部网络被非法输 ...

  6. 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 ...

  7. Turtlebot3入门教程-系统-SBC软件设置(ubuntu20.04)

    本文针对如何在树莓派3上安装ubuntu20.04系统和软件进行讲解 树莓派3接上显示屏和鼠标后,开机后继续安装软件包 详细步骤如下: (1)系统安装 (2)ROS安装 (3)TurboBot3依赖的 ...

  8. DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享

    DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...

  9. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

随机推荐

  1. 网络爬虫--requests库中两个重要的对象

    当我们使用resquests.get()时,返回的时response的对象,他包含服务器返回的所有信息,也包含请求的request的信息. 首先: response对象的属性有以下几个, r.stat ...

  2. centos环境下登录mysql报 ERROR 1045 (28000)怎么解决

    centos环境下登录mysql报 ERROR 1045 (28000)怎么解决 新入手一台虚拟机,Centos7系列的操作系统,安装mysql后,执行连接出现了Mysql ERROR 1045 (2 ...

  3. Oracle学习笔记(四)

    六.约束 1.约束的作用 定义规则:什么数据可以输入,什么不可以 确保完整性:数据的精确性和可靠性 2.Oracle五个重要的约束: 非空约束.主键约束.外键约束.检查约束.唯一约束. (1)非空约束 ...

  4. Vivado&ISE&Quartus II调用Modelsim级联仿真

    博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...

  5. [翻译]Event Handler Description 事件处理描述

    Event Handler Description 事件处理描述 (自定义控件)   How should a new event handler be defined if it does not ...

  6. 使用python登录CNZZ访问量统计网站,然后获取相应的数据

    思路: 第一步:使用pypeteer.launcher打开浏览器, 第二步:向CNZZ的登录(通过使用iframe嵌入的阿里巴巴单点登录页面),向iframe页面中自动输入用户名和密码,然后点击登录按 ...

  7. Visual Studio 2017(VS2017) 企业版 Enterprise 注册码

    Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 终于等到你,最强 IDE Visual Stud ...

  8. [Elixir005] 查看指定数据的详细信息 i helper

    elixir在1.2后增加了一个新的特性i helper. 在iex shell中使用i可以查看任意数据的数据类型和详细描述 #查看变量描述 iex(1)> i {:test, "Th ...

  9. Mathout In Action(中文)

    http://download.csdn.net/detail/zxnm55/5593881

  10. C#获取枚举的描述

    public enum StatusEnum { /// <summary> /// 运行中 /// </summary> [Description("运行中&quo ...