基于 SIP(会话发起协议)标准的通信系统在过去几年中取得了长足的进步。SIP 现在已基本完善,甚至涵盖了高级电话和多媒体功能以及功能交互。不同供应商解决方案之间的互操作性在 SIP 论坛组织的 SIPit(互操作性测试)会议等活动中得到了反复证明,并且一些制造商已经证明,对该标准的专有扩展不再受技术需求驱动,而是受商业因素驱动。
即使有这么多好消息,大多数实现仍然在一个关键领域存在不足:多供应商互操作性所需的原生 SIP 呼叫控制和基于 SIP 的功能交互。如果 SIP 不仅仅用于互连其他专有 IP PBX 实现的传输“通道”,它才能充分发挥其潜力。SIP “进入”和“输出” PBX 系统的事实并不意味着该系统与 SIP 有多少关系。原生 SIP 呼叫控制和 SIP 传输“通道”是构建 SIP 通信系统的两种截然不同且经常混淆的架构方法。
由于越来越多的企业用户坚持基于标准、开放且因此可互操作的系统,该行业正在拥抱一种新模式。实时通信,包括电话,开始看起来像另一种 IT 应用程序——一种在标准硬件上运行,使用标准操作系统和中间件,并遵循类似 PC 经济学的应用程序。它是一个被设计为开放系统的应用程序,可以容纳来自许多不同供应商的各种端点,并集成到现有的 IT 基础设施中,包括 Web 服务、企业目录和 IT 最佳实践。
易用性、可管理性、弹性和可扩展性始于正确的架构。实现原生 SIP 呼叫控制的通信系统是分布式系统,提供具有端到端 SIP 消息路由的统一通信核心。功能被实现为自主服务,这些服务使用 SIP 与电话、网关和其他功能进行交互。
让我们看一个具体的例子:MoH(音乐保持)功能在 SIP 标准中定义为一个位于网络上的音乐服务器;它实际上是一个播放音乐的 SIP 用户代理。将呼叫置于保持状态会将该呼叫从用户的电话转移到音乐服务器。检索呼叫会向音乐服务器发出信号,将呼叫转移回来。多个这样的音乐服务器可以成为系统的一部分,提供冗余、适应不同的用户组或位置、提供可扩展性,或者仅仅提供不同的音乐选择。
这个统一通信核心不局限于实现通常被称为 B2BUA(背靠背用户代理)的单个 IP PBX 盒子,而是作为网络服务提供实时通信能力。毕竟,SIP PBX 并非旨在成为终止点对点 SIP“通道”的 UA 集合,而是一个能够将 SIP 信令流路由到其正确目的地的 SIP 代理。
功能服务器连接到这个统一通信核心并提供服务,例如呼叫驻留、会议桥、呼叫中心、IM、MoH 以及许多其他服务。每个服务都以服务器硬件和网络连接的形式分配必要的资源,并且冗余是在每个服务的基础上提供的,而核心统一通信基础设施是完全冗余且容错的。
这种架构不仅仅是一个仅对构建 SIP 系统的工程师重要的技术问题;它也对最终用户很重要。本文的其余部分概述了 SIP 系统的技术架构与它可能对语音质量、灵活性、可扩展性、可靠性以及对资本支出和运营成本的直接影响之间的联系。在可能的情况下,开源 SIPxchange 项目(网址为 http://www.sipfoundry.org)被用作如何实现这种统一通信核心的示例。
影响对话质量的两个主要因素是:使用的语音编解码器;以及两个电话之间网络连接的质量,以总延迟、抖动和可用带宽来衡量。
由于基于 SIP 的通信系统旨在提供比同类 TDM(时分复用)系统更好的语音质量,因此 SIP 标准暗示了媒体和信令在穿越统一通信核心时的严格分离。信令由 SIP 代理处理,而媒体流沿着端点之间最直接的路由进行点对点传输。这非常关键,因为语音质量直接受到总延迟、抖动和可用带宽的影响。
在基于代理的 SIP 架构中,端点在呼叫建立时协商它们之间最佳的可用编解码器。通常不需要转码,不必要的系统不会被穿越,并且语音沿着最直接的可能路由传输。这对于 LAN 上的通信很重要,并且在多站点部署中绝对至关重要,在多站点部署中,一个 SIP 服务器允许来自不同位置的用户获得服务。
考虑以下情况:您和您的同事出差到另一个城市,并使用您的软电话呼叫她在酒店房间。您是否希望此呼叫的媒体流返回到您公司的办公室,通过 PBX,然后再输出到您的同事,还是您更希望音频在两个酒店房间之间直接流动?
除了媒体的 P2P(点对点)路由之外,系统还应轻松容纳和支持各种编解码器。有许多不同的语音编解码器,从宽带音频(高清语音)到正常的 PSTN(公共交换电话网络)质量编解码器,再到节省带宽的高度压缩语音。由于设备之间进行点对点通信并协商编解码器,因此随着终端设备引入新编解码器,这些编解码器将可供系统使用。无需更改或升级 IP PBX 系统,并且对系统可以同时容纳的任何给定编解码器的呼叫数量没有限制,因为媒体流不必进出 IP PBX 服务器(这将使服务器的以太网接口过载)。SIP 还确保不会引入单点故障,因为即使 IP PBX 控制器出现故障,已经建立的呼叫也会继续不中断。
因为您依赖于您的通信系统来满足许多需求,所以您永远不必担心系统发生故障。在过去 PBX 系统基于专有硬件的时代,它们被设计为具有弹性。冗余内置于硬件中。虽然这些单盒解决方案易于购买和部署,但它们往往也很昂贵。
IT 现在知道服务器可能会宕机,因此有一种理念,确保开放系统被构建为能够容忍此类故障。如果网络中的路由器宕机,网络会绕过它路由;如果电子邮件服务器宕机,消息会被排队以供稍后发送;如果 Web 服务器宕机,另一个服务器会接替它的位置。基于 SIP 的通信系统以完全相同的方式工作。SIP 中的冗余是通过允许多个 SIP 代理服务器在网络上路由呼叫来提供的。如果一个服务器宕机,DNS 会自动且无缝地将请求路由到另一个服务器,就像处理发往 Web 服务器的请求一样。
不需要昂贵且难以管理的集群技术,也不需要高可用性硬件。事实上,有弹性的 SIP 系统可以用最便宜的硬件构建,甚至可以使用地理分布式的设置。开源 SIPxchange 系统说明了这一点。可以使用设置向导轻松设置两台服务器之间的主从配置。电话将根据 DNS 服务器中定义的负载共享策略向任一服务器注册。呼叫处理在两台服务器之间使用相同的负载共享策略进行共享。注册服务器中的状态在两台机器之间实时共享,因此如果一台机器发生故障,另一台机器会接管而不会丢失任何呼叫。两台服务器都集中管理,并作为一个具有通用拨号计划的大型系统向用户和管理员显示。
对于许多公司来说,最终目标是拥有一个统一的基础设施,其中包括总部和可能许多分支机构之间的统一拨号计划。即使与总部的 IP 连接不可用,本地紧急呼叫仍然必须是可能的。将分支机构位置的 PSTN 中继线数量限制在紧急呼叫所需的最低限度可以节省额外的成本,通过资源池化,甚至允许企业使用 SIP 中继提供商(互联网电话服务提供商)而不是传统的 T1 PSTN 连接。
虽然完全冗余系统的概念可以从两个冗余服务器扩展到提供呼叫控制作为真正网络服务的互连 SIP 代理服务器网格,但在连接许多分支机构时,这通常不是一种经济高效的解决方案。原因在于需要在系统之间实时同步注册状态信息。集中式且完全冗余的 SIP 服务器更具成本效益。它为所有办公室提供呼叫路由,类似于使用 4 类交换机的旧概念。办公室之间号码可携性的拨号计划灵活性可以通过中央目录来实现,该目录提供号码到 SIP 地址的映射。这样的目录只不过是已经就位的 DNS 服务器,并添加了有关如何将内部电话号码映射到 SIP 地址的信息。这种电话号码映射功能称为私有 ENUM,是 SIP 标准的一部分。
在第一台 IBM PC 推出后不久,IT 行业从整体式和垂直集成的解决方案过渡到一种模型,这种模型带来了快得多的创新和显着降低的价格。很久以后,这被称为“行业去中介化”,这导致了专业化和许多创新且可互操作的产品的出现。
PBX 行业直到最近才在旧模式下运作。PBX 供应商通过专有的呼叫控制捆绑在一起,能够控制他们的客户和渠道,迫使他们从一家供应商处购买整个解决方案。这就像从一家供应商处购买所有服务器、笔记本电脑、PC、应用程序、中间件和操作系统一样。如果过去 20 年 IT 行业的创新仅限于少数几家大型公司在封闭且因此不兼容的解决方案上进行的研发实验室,那么我们今天将使用什么样的网络、计算机和应用程序?
随着 SIP 的引入,现在可以一次选择语音通信系统的组件。越来越多的电话制造商,如 Polycom、Snom、Grandstream、Aastra、Hitachi 和 ClearOne,已经将符合 SIP 标准的电话推向市场。(作为 SIP 论坛 SIPit 互操作性活动的一部分,Pingtel 在 http://interop.pingtel.com 提供了一个免费的电话互操作性测试门户,可以在该门户上针对 SIP 标准测试电话的许多关键功能。)
总解决方案的可管理性通常是包含最佳组件集合的解决方案的主要关注点,但仍然是一个挑战。开源 SIPxchange 项目已率先为越来越多的电话提供即插即用管理。即插即用管理意味着用户可以获得与单供应商解决方案相同的易用性,在可以容纳来自不同制造商的许多不同电话的系统中。电话被自动配置,所有配置数据都由 SIPxchange 生成、分发和备份。
为您的公司选择新的电话系统不应由 CEO 和其他关键员工是否更喜欢某个品牌的问题主导。选择电话应该是一个不同于选择 IP PBX 的决定,就像选择笔记本电脑和 PC 来与您的服务器和应用程序一起工作一样。
功能之战仍在继续进行,势头不减:“我们支持 500 项电话功能。你们有多少?”或者,“由于我们对 SIP 标准的增强,我们为您提供更多功能。”
这场辩论具有误导性。根本不存在 500 项基本电话功能列表。在普遍接受的行业“基本电话功能”定义缺失的情况下,计数可能会变得非常棘手。随着多媒体通信的引入,并辅以联邦状态和计算机电话集成,基本系统功能集已成为一个不断变化的目标,并且正在不断发展。数百项遗留功能不再相关,但为了支持基于状态的多媒体体验,添加了许多新功能。
当 PBX 系统作为单盒解决方案出现时,其所有功能最终都出现在一个长列表中,并计入系统的“基本功能”。然而,随着 SIP 的出现,IP PBX 成为分布式且可互操作的组件的集合,每个服务器都提供不同的功能或特性。这些功能服务器,如呼叫中心解决方案或会议解决方案,应为单独的系统,原因如前所述。计数必须考虑到这一点。
随着 SIP 的引入,大量智能转移到了电话中;因此,功能的计数取决于电话的品牌和类型。真正的挑战不是如何在假设同一供应商同时销售 IP PBX 和电话的情况下实现最多的功能,而是给定 IP PBX 可以与多少种不同的电话互操作,同时仍然以一致的方式提供您正在寻找的功能。与基于标准的功能相比,专有功能的价值要低得多,因为专有系统的总拥有成本要高得多。
想象一下您的电子邮件系统依赖于一组仅在从特定供应商处采购的系统上才能工作的专有功能。每次您想要发送电子邮件时,您都必须首先考虑收件人的系统是否能够接收您即将发送的内容。尽管这听起来可能很荒谬,但这正是我们电话系统所处的境地。尝试与连接到不同系统的人设置共享线路,或尝试订阅您的贸易伙伴线路的状态,以便您可以看到他或她是否可以接听您的电话。假设您拥有所需的授权和凭据,这应该很容易实现——但事实并非如此。
考虑以下基于网络的服务示例:呼叫驻留和检索是关键的基本电话功能之一。根据相关的 IETF 标准,它的实现要求电话在按下驻留按钮时将呼叫转移到驻留服务器。该驻留服务器不一定是 IP PBX 服务器,但可以位于网络中的任何位置。再次按下驻留按钮会将呼叫转移回来。这提供了极大的灵活性和可扩展性,同时不会给电话带来为可能许多活动线路提供驻留音乐的负担。由于可以在同一网络上使用多个驻留服务器,因此甚至可以为呼叫驻留和检索功能提供弹性。如果您习惯于基于 B2BUA 的 IP PBX,这看起来很奇怪,因为在这种情况下,将呼叫置于驻留状态意味着 IP PBX 播放音乐,而无需转移呼叫或发生任何其他 SIP 信令。专有逻辑和一点“仙尘”而不是基于标准的信令很快就会妨碍互操作性。
电话系统过去是独立的自治系统。进行更改、将员工转移到新办公室或添加新员工需要向负责管理 PBX 的特殊小组提出请求。较小的公司通常必须致电其当地经销商的技术人员来帮助进行此类添加、移动和更改。
基于 SIP 的通信系统是 IT 系统,作为公司 IT 基础设施的一部分进行管理。用户及其凭据和权限在 Microsoft Active Directory 或 LDAP(轻型目录访问协议)中创建,并且诸如电子邮件系统和通信系统之类的应用程序应与此目录同步并进行相应的更改。
人力资源经理希望有一个 Web 应用程序作为公司内部网的一部分,该应用程序可以轻松地为新员工创建所有必要的帐户或删除离职员工的帐户。此类应用程序通常构建为 Web 服务,使用诸如 SOAP 之类的协议与通信系统进行交互。诸如来自呼叫中心应用程序的 CDR(呼叫详细记录)或呼叫统计信息之类的报告也应作为 Web 服务访问。这样,它们可以轻松地集成到现有的报告应用程序中,或者通过 Web 门户提供。
系统管理的另一个巨大挑战是管理电话和网关。每个电话和网关都有一个独特的配置,需要创建、更新和备份。固件更新必须进行管理。IP 电话有数百个参数,其中许多参数对于 PBX 系统的所有功能与特定电话正常工作至关重要。因此,一旦系统发现电话或网关,IP PBX 系统就需要能够基于默认参数自动生成电话配置配置文件。管理员学习如何手动配置电话需要大量的培训,因此不是一个经济实惠的选择。
本文使用了开源 SIPxchange 解决方案来说明基于 SIP 的通信系统的一些关键功能和挑战。作为第二代开源 IP PBX 系统,SIPxchange 项目严格遵守 SIP 标准,试图为企业构建完全分布式、开放且可互操作的 SIP 基础设施。开源将继续存在,并且已经发展成为专有且通常昂贵的系统的可靠替代方案。使用 SIP 构建统一通信核心是您可以开始利用它来发挥优势的领域之一。
MARTIN STEINMANN 是 Pingtel 的营销高级副总裁。他还是 SIPfoundry 的创始人兼董事会成员,SIPfoundry 是一个致力于 VoIP 技术的开源社区。他获得了瑞士联邦理工学院的电气工程学士和硕士学位,以及丹麦技术大学的物理学博士学位。
跨越网络边界路由 SIP 消息和媒体长期以来一直是采用 SIP(会话发起协议)的主要挑战。此处讨论的企业部署与允许互联网上随机端点之间进行通信的最通用情况不同,因为企业环境必须始终安全。
IETF(互联网工程任务组)为 NAT(网络地址转换器)穿越目的而标准化的协议,例如 STUN(通过 NAT 的 UDP 简单穿越)和 ICE(交互式连接建立),并未涵盖企业边界安全穿越的特定要求(有关更多信息,请参见第 22 页的 Sparks)。鉴于提供安全性和全功能透明度的要求,穿越企业 NAT 和防火墙仍然是一个难以解决的问题。
STUN 和 ICE 都要求为 SIP 流量打开防火墙端口,然后该协议采用算法来映射内部网络和外部网络之间 SIP 消息的特定字段。为了协助此过程,他们使用在外部网络上运行的服务,例如 STUN 服务器。漏洞和其他恶意软件可以像常规且兼容的 SIP 数据包一样穿透这些漏洞,并且所有数据包检查都是 STUN 和 ICE 提供的补充。甚至可能从外部发起针对内部 SIP 通信服务器的拒绝服务攻击,利用为 NAT 穿越目的而在企业外围安全中打开的漏洞。
因此,在企业环境中,通过不安全网络发送的 SIP 流量通常被封装到企业 VPN 隧道中,如果配置正确,VPN 隧道可以使 NAT 穿越变得不必要并提供强大的安全性。使用 SBC(会话边界控制器)是另一种选择。此类设备提供 NAT 和防火墙穿越,并结合必要的安全机制,例如深度数据包检测、限制速率以防止拒绝服务攻击以及 SIP 信令和媒体的加密。然后使用 STUN 和 ICE 协议以及 SBC 提供的 STUN 服务器等其他元素来解决远端 NAT 穿越问题。
最初发表于 Queue vol. 5, no. 2—
在 数字图书馆 中评论本文
- 从负债到优势:与 John Graham-Cumming 和 John Ousterhout 的对话
软件生产(软件开发的后端,包括构建、测试、打包和部署等任务)已成为许多开发组织中的瓶颈。在本次访谈中,Electric Cloud 创始人 John Ousterhout 解释了如何将软件生产从负债转变为竞争优势。
- 武装您的应用程序以实现万无一失的部署:与 Tom Spalthoff 的对话
应用程序、更新和补丁的部署是任何 IT 部门最常见 - 也是风险最高的 - 功能之一。部署任何未正确配置为分发的应用程序都可能中断或崩溃关键应用程序,并使公司在生产力损失和帮助台费用方面付出巨大代价 - 而公司每天都在这样做。事实上,Gartner 报告称,即使经过 10 年的经验,大多数公司也无法自动部署软件,成功率达到 90% 或更高。
Jason Fischl, Hannes Tschofenig - 让 SIP 物有所值
会话发起协议 (SIP) 用于在基于 IP 的网络中建立实时会话。这些会话可能是用于音频、视频或 IM 通信,也可能用于中继状态信息。SIP 服务提供商主要致力于提供一种服务,该服务复制 PSTN(公共交换电话网络)或 PLMN(公共陆地移动网络)提供的服务到基于互联网的环境。
David A. Bryan, Bruce B. Lowekamp - 分散式 SIP
SIP(会话发起协议)是当今最流行的 VoIP 协议。1 它被企业、消费者甚至运营商广泛用于其网络核心。由于 SIP 被设计用于建立任何类型的媒体会话,因此它也被用于 VoIP 之外的各种多媒体应用程序,包括 IPTV、视频会议,甚至协作视频游戏。