■ 概述
基于标准Internet协议,SIP协议(Session Initiation Protocol)在希望提供新服务的应用程序,通信和网络服务提供商(ASPs, CSPs, and NSPs)中很快得以流行。提供下一代网络强大功能的另一个关键产品就是IPLink,它是一个基于标准的软硬件开发平台,用来开发基于Internet协议电话服务器的应用。
IPLink不仅提供与其它Intel Dialogic板卡的接口,而且提供与其它电话技术集成在一起的编程接口。不论是企业还是电信运营商,计算机和网站开发人员可以像访问其它Internet资源一样访问电话资源,从而SIP大大扩展了他们访问电话资源的能力。
SIP的长处包括简单性和与其它标准IP协议的轻松集包括HTTP,DNS和SDP。SIP的设计决定,它又比其他协议更加高效接通和挂断通道的能力。由于SIP使用了标准的IP的架构,熟悉网站编程的人员很容易接受和掌握它。
IPLink和SIP一样,提供简单的接口。一块PCI或者cPCI的IPLink板卡在支持标准IP呼叫控制,媒体网关协议和语音编码算法上可以提供最大的灵活性,并遵守所有相关的IP协议规范。
SIP和IPLink一起为开发下一代网络服务提供了坚实的基础,对于每个成功的ASP,CSP和NSP都是必需的。SIP和IPLink的结合是下一代网络里面"杀手级"应用的关键模块。
如果希望更多了解SIP,IPLink和开放的下一代网络,请访问http://www.dialogic.com。
■ SIP综述
SIP协议被用来在通信设备,媒体网关,媒体服务器之间建立不同种类的对话。在建立对话的时候,使用一组纯文本的消息来传递IP地址,端口,媒体能力,编码格式等信息。在1999年末,它作为一个标准 (RFC 2543) 被IETF标准化组织(Internet Engineering Task Force)提出。SIP协议的建立主要借鉴了两个网页浏览和电子邮件的协议,HTTP协议和SMTP协议。最开始SIP产生于IETF的MMUSIC工作组,它主要研究的是多媒体对话控制。指的是发布,管理和协调多个对话,并且是多个用户之间的多种媒体(例如语音,影像和合作的应用)的交互。MMUSIC组织的宗旨是设计并细化实现这些功能的三个协议,并且要保证在不同的电话会议的实现中的对话级的兼容性。这三个协议是:
- SIP
- Session Description Protocol (SDP), 今天主要被SIP和MGCP协议使用
- Session Announcement Protocol (SAP) 在Remote Function Call (RFC 2974) 里被定义但是没有广泛的适用
SIP协议在RFC2543里还在继续被更新,它们是(基本)向前兼容的。Updates to SIP are continuing in the RFC 2543bis, which is a (nearly) backward-compatible version of SIP. 而且,IETF的SIP工作组也定义了一种把ISDN User Part(ISUP)封装在SIP小溪里的方法。这种方法也被称作面向其他技术SIP(SIP for Telephony ,简称SIP-T)
本篇文章只是关于SIP的一个概述,不会覆盖所有SIP的细节实现。如果你希望了解更过关于SIP的只是,请访问下面网站:Henning Schulzrinne's SIP site (http://www.cs.columbia.edu/~hgs/sip), SIP forum Web site (http://www.sipforum.org)。 ■ SIP和H.323的比较
SIP和H.323都有明显的优缺点。
H.323的优点
尽管H.323最开始只被设计用来在IP上传输语音和视频,但是它得到了更广泛的应用。H.323是一个整套的协议栈用来在IP和包交换网络中传输标准的电话语音服务。除了在设计时独立于其它标准,H.323的基本功能里也包括很多电话的辅助功能,例如会议和呼叫转移。这种实现的优点是,它给希望开发高级特性和服务的开发者留下了很明确的接口,这样就保证了高度的兼容性。整个行业都在为H.323增加功能和增进互通性方面作了很多的工作。H.323会成为下一代网络中的一个重要的信令协议。
SIP的优点
相比较来说,SIP不支持类似会议和静音等高级的功能。SIP最大的优点就是它很简单。不像H.323那样有一整套自己的协议栈,SIP主要依赖于类似于RTSP和HTTP等协议。SIP在建立和挂断呼叫方面比H.323更高效,需要的消息更少。而且,SIP不提供按键的支持。DTMF或者在媒体流里被发送(当使用G.711编码的时候)或者通过特殊的RTP包(当使用G.726或G.729编码的时候)。SIP的一个独特的功能是一个INVITE消息可以在同时发给多个目的地。然后与第一个回复OK消息的远端建立RTP流。
微软*的NetMeeting客户端使用H.323是一个举足轻重的事件。这就使大多数Windows*的用户都可以使用H.323。同样地,微软最近宣布要在Windows XP里面支持SIP。SIP的客户端也会越来越多。
表1 比较SIP和H.323.
| | SIP | H.323 | 消息编码格式 | 纯文本 | ASN.1 | 呼叫建立最少需要消息数 | 2 | 21 | 呼叫建立最大需要消息数 | 4 | 81 | 处理DTMF | 用RTP协议处理,可以是带内或者用特殊的包 | 可以配置成带外(Out-of-band)或者带内(In-Band) (推荐使用带外RTP RTP ) | 电话转移(call transfer) | Reinvite消息 | H.450 | 别名(Aliasing) | 代理服务器或者重定向服务器 | 网关或者命名服务器 |
1 包比SIP的消息要大,总体交互的字节数根据H.323终端的能力决定
■ SIP网络中的模块 媒体网关(MEDIA GATEWAY)
PSTN网络和IP网络之间桥接一个呼叫就需要媒体网关的支持。媒体网关可以用多种协议多种方法来实现。图三里面的例子是一个PSTN-SIP媒体网关。这个王关包括PSTN和IP的接口,也包括处理呼叫的DSP。DSP资源主要作两个工作。第一,有些PSTN的协议,例如E-1和T-1的随路信令(CAS),需要按键音的检测/产生功能。第二,在IP方面,也需要把高带宽的编码G.711转换成低带宽的编码,例如G.729a。
媒体服务器(MEDIA SERVER)
许多语音服务都是由媒体服务器提供的。例如,一个客户给某个电子商务网站打电话会被接到一个自动语音应答(IVR)上或者自动总机上。这些应用使用了语音,语音识别和音频等功能,都是运行在媒体服务器上的。在下一代网络的实现中,媒体服务器就象是另一个电话(或者说,一个SIP的终端)。因此,他们可以享受和用户一样的SIP的优点。
媒体服务器提供与呼叫方交互所需的所有语音计算资源。现在网络完全是面向计算的,嵌入的DSP资源允许对语音流进行编程访问,开发者就可以为他们特定的服务提供所需的语音,音频和语音识别的混合。 媒体服务器可以让技术开发者与提供或与最新的资源连接,例如文语转换引擎(TTS),语音识别,回声消除,降噪等。
代理,重定向和位置服务器
SIP的一个主要特性就是它把一个用户的逻辑地址和他的实际(物理)地址分开。这使用户可以定义一个不变的逻辑地址,然后把它用映射或别名到一个或多个多个变化的实际地址。代理,重定向和位置服务器就提供了这种功能。在图4里面,在SIP网络里,代理服务器和注册/位置服务器结合让用户用一个地址来标识自己,实际上电话是发送到一个或者多个不同的地点。
使用代理服务器的SIP呼叫的典型流程
例如,Joe Smith的地址是 jsmith@sip.org。希望联系Joe的人就可以对那个地址发起一个SIP呼叫。代理服务器就会根据jsmith用户的注册信息决定把呼叫发送到什么地方。SIP的INVITE消息就被发送到"jsmith"已设定的地址。当被叫方回应到代理服务器的时候,代理服务器也把这个回应转发给主叫方。随后在主叫方和被叫方之间直接建立了一个RTP对话。根据需要,代理服务器还会继续参与呼叫控制消息的处理,或者退出消息处理。在某些情况下,不使用代理服务器转发信令,可以把系统做得更大。
点击看大图 使用重定向服务器的SIP呼叫的典型流程
图5里的重定向服务器,只处理发给被叫方的第一个INVITE消息,并反馈一个特殊的回应给主叫方。主叫方从回应中取出一个新的地址,并给这个地址发送INVITE消息。这个地址可能是真实的被叫方,代理服务器或者另一个重定向服务器。从这以后,所有消息都直接在主叫方和新的地址之间传递。
不管代理服务器还是重定向服务器都需要了解客户的真实位置来转发呼叫。这就需要一个位置服务器,它可以和代理服务器在一台机器上使用小型的数据库,或者使用远程的协议例如LDAP或whois。
通常来说,SIP的终端都会使用SIP REGISTER消息把它的联系方式向位置服务器注册。例如,一个用户在位置服务器里用他的EMAIL如 Joe.Smith@sip.org 来标识,当他在家的时候,他可以把他家里的SIP电话的IP地址向位置服务器注册,而当他在公司的时候,他就可以把他公司的SIP电话的IP地址向位置服务器注册。
点击看大图 使用位置服务器的SIP呼叫的典型流程
当某个人希望联系Joe Smith,就使用Joe.Smith发起一个呼叫给sip.org代理或者重定向服务器。代理服务器就会与位置服务器联系,位置服务器从数据空中查到往哪个地址发送呼叫。代理服务器随后把INVITE消息发送到被叫方的地址并等待回复。如果服务器扮演的是一个重定向服务器的话,它会使用位置服务器查寻被叫方地址并在重定向消息中把这个地址发给主叫方。主叫方这时就会直接把消息发送到被叫方。上面两种情况,RTP媒体流都是直接在主叫被叫方之间直接建立的。
许多代理服务器产品在接收或者发送呼叫的时候,也提供额外的呼叫处理的功能。当一个呼叫发送到代理服务器,用户可以设置根据一天中不同的时间,或者不同的回应,把这个呼叫转发到不同的地址。例如,用户可以注册三个地址,代理服务器可以相继呼叫每一个地址直到电话被应答。或者服务器可以同时呼叫三个地址,接通一个或多个呼叫并返回。这些服务可以被用来做统一号?quot;One-number follow-me"的方案。
■ IPLink
IPLink是一个开放的,标准的IP电话的平台,用来作网关或者其他增值服务。一块板卡上有以太网接口和PSTN接口。OEM,应用开发商和集成商在为企业和公网创建下一代网络IP网关和IP媒体服务器时,IPLink是一个理想产品。它具有高度的灵活性,健壮,是经受过多次考验的平台。
先进的编码支持
IPLink支持所有标准的IP编码,包括G.723.1, G.729a, G.711, 还有增强的编码GSM-EFR。它利用的分离呼叫控制与媒体处理的功能,支持各种IP呼叫控制或媒体网关控制协议,例如H.323, SIP, MGCP和H.248。IPLink也与其它VoIP方案的提供商互通,包括Cisco, Clarent, VocalTec和DIGI。
协议架构
IPLink的协议设计让开发者可以选择基于主机的信令协议或者嵌入的信令协议。其中基于主机的信令协议模式也称作"split call control",指的是把呼叫控制与媒体处理分卡来做,它的优点是无与伦比的灵活性。在这种模式下,IPLink板卡控制RTP流,主机的应用程序控制呼叫控制协议。这种模式的优点还有两个:第一,所有在系统里面的IPLink板卡共用一个IP地址作呼叫控制(媒体流用不同IP地址)。第二,开发者可以选择标准的SIP或MEGACO协议,也可以选择非标准或者私有协议。
支持与开发工具
除了提供开放的模块供开发者使用,Intel也提供培训,协调不同厂商的集成,提供大量有源代码的例子程序,也提供国家的和国际的兼容性测试。你可以在 http://www.dialogic.com 上找到为开发者提供的一系列支持,以及在价值链中的各个厂商,还包括通讯服务的用户。
Intel为下一代网络的语音通信服务提供参考系统。扎根于传统的电路交换网络,语音服务需要花最大力气转移到下一代网络中。传统的开发流程开始于选择一个正确的产品。开发者需要一个一个测试不同的方案。当找到了正确产品,他们就要开始把它集成到整个方案中去。通常来说,这种集成没有增加价值,只是一个花费时间经历的过程。Intel提供参考系统,开发者就可以避免几个月的测试,可能的错误和集成到方案中的时间。这些可以帮助开发者专心于提供他们特殊的增值业务上。参考系统也包含了Intel多年寻找最好开发方案的经验。整个行业在许多小的开发者和开发队伍的精彩的思想推动下发展。Intel通过提供开发者通常会遇到的问题的解答来培养一个创新的环境。
■ 结论
SIP在希望通过提供创新性新服务的ASP和CSP中得到越来越多的流行。IP的开放式架构使创建新服务有了高度的灵活性。不断地推出新的用户终端设备,例如类似SIP这样的协议,让开发者的创新能力不受限制。他们让Internet达到或超过所有用户的预期,这些用户可能是了解技术的或者只是希望简单通信的。
IPLink是一个全面的标准的软硬件开发平台,面向下一代网络中的IP电话服务器。SIP和IPLink一起可以提供下一代网络中的革新性的服务,对于今天的ASP, CSP, 和NSP的成功是举足轻重的。 ■ 更进一步的信息
希望了解Intel参考设计的语音通信服务架构可以参见白皮书 "Reference Systems for Next Generation Network Voice Services." 这篇文章分析了下一代网络提供商的商业目标和下一代语音架构,都是基于一个标准的计算平台。你可以在这里下载这个白皮书 http://www.dialogic.com/company/whitepap/7299web.htm. 希望了解更多的关于SIP和IPLink以及开放的下一代网络,请访问 http://www.dialogic.com
|