在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物理分开.

最新文章

  1. 运行第一个abp项目VS2015+localDB
  2. 在xcode运行编译时,编译成功,但项目中显示缺少该文件,这是只要关闭重启xcode即可。
  3. Serv-U FTP之PASV和PORT模式
  4. vim 学习日志(3):跳到行尾、行首、文件尾、文件首、加密
  5. Mac OS 踩坑指南
  6. windows 下rabbitmq 安装---转载
  7. [Android]ADT Run时候报错:The connection to adb is down, and a severe error has occured
  8. IntelliJ IDEA Groovy(转)
  9. 通过扩展改善ASP.NET MVC的验证机制[实现篇]
  10. 在Netbeans上配置Android开发环境
  11. jQuery获取当前对象标签名称
  12. 运用Merge Into实现增加或更新数据
  13. KMP之我见
  14. Hadoop 错误归档库
  15. 浅析uWSGI、uwsgi、wsgi
  16. autium designer 软件使用:
  17. zabbix yum安装
  18. navicat远程连接阿里云ECS上的MYSQL报Lost connection to MySQL server at 'reading initial communication packet'
  19. javascript 高度相关
  20. 计蒜客 38229.Distance on the tree-1.树链剖分(边权)+可持久化线段树(区间小于等于k的数的个数)+离散化+离线处理 or 2.树上第k大(主席树)+二分+离散化+在线查询 (The Preliminary Contest for ICPC China Nanchang National Invitational 南昌邀请赛网络赛)

热门文章

  1. 【美食技术】家庭自制DIY鸡蛋饼和疙瘩汤早餐视频教程
  2. Core Graphics Layer Drawing
  3. android,gridview
  4. Java中的一些代理技术
  5. Lamda表达式,map和集合操作
  6. 在spark中启动standalone集群模式cluster问题
  7. Linq编译带来的诡异错误
  8. Android-系统绘图真相
  9. Buffer Pool--内存总结1
  10. Maven Compilation error [package org.testng.annotations does not exist]