用于呼叫控制的JAIN SIP
孟 岿(广东省电信公司佛山市分公司 佛山 528000)
周 文(南京市教育局中小学生卫生保健所 南京 210000)
摘 要 综合网络的Java 应用编程接口(JAIN,Java API for Integrated Networks)是一组基于Java技术的API,这些接口将业务可移植性、网络聚合以及安全的网络接入引进电话网和数据网络,使得在Java平台上快速开发下一代电信产品和服务成为可能。本文在简要介绍了JAIN之后,重点介绍了JAIN SIP API。
关键词 综合网络 呼叫控制 JAIN 会话发起协议
1 概述
JAIN由两种API规范组成:
· 协议API规范规定有线、无线和IP信令协议的接口;
· 应用API规范涉及在跨越协议API规范包括的所有协议的Java框架内创建服务所需要的各种API。
作为Java平台的一种共有扩展,通过为公共交换电话网(PSTN)、分组网(如IP或ATM)和无线网上的业务创建提供高层次的抽象能力及相关的Java接口,JAIN技术使得IP与IN(智能网)协议的集成(这就是所谓的综合网络)成为可能。此外,通过将网络向Java应用开放,使得Java应用程序能够对网络内部的资源进行安全的访问,这就为推出成千上万种可移植的综合服务(而不是目前可获得的数十种业务)创造了机遇。可以说,JAIN技术正将电信/Internet市场从许多专有的封闭系统改造成一种单一的开放环境,在这种开放的网络体系结构中,可以快速创建和部署新的业务,从而能够提供大量各种各样的新服务。
2 JAIN目标和活动范围
JAIN的目标是创建一条从第三方服务提供商、基于软设备的服务供应商、电信供应商和网络设备供应商,到电信、消费者和计算机设备制造商的开放的价值链。
就像图1所示的那样,JAIN将有线、无线和基于分组的网络综合成一个整体。协议API规范中包含了将特定网络协议用于JAIN模型的内容。另外,JAIN倡议将协议API规范所涉及的协议抽象成为一个单一的呼叫控制、协调和事务处理模型,以供愿意遵从它的服务使用。该工作由应用API规范中的工作组进行。
JAIN的第一步目标定位是网络的三个主要层面:
网络层:
· 电信:(高级)智能网(AIN/IN)或中心集中在ISUP、INAP和TCAP方面的7号信令系统(SS7)。
· 无线:带移动应用部分(MAP)层的SS7。
· 互联网或分组:SIP、MGCP、Megaco和 H.323。
信令层:
· 电信:信令业务点(SSP)或交换机。
· 无线:移动交换中心(MSC)。
· 互联网:新兴的软交换机或呼叫代理,以及媒体网关控制器或H.323网守(gatekeepers)。
业务层:
· 电信:业务控制点(SCP)。
· 无线:基站控制器(BSC)、归属位置寄存器(HLR)、拜访位置寄存器(VLR)和MSC的任何组合。
· 互联网:应用服务器。
3 JAIN商业动力和工业目标
JAIN倡议将业务可移植性、网络聚合以及安全的网络接入引进电话网和数据网。这将肯定会在下述几个方面改变目前这些网络的企业结构。
· 业务可移植性:写一遍,可在任何地方运行。技术发展目前受到专有接口的限制。这种现象增加了开发成本,延长了推向市场的时间,并增添了维护要求。有了JAIN倡议,专有接口就被改造成统一的Java接口,从而实现真正的可移植应用。
· 网络聚合:综合任何网络。JAIN技术通过提供必要的设施,使得应用和服务能够在PSTN、分组和无线网络上运行,从而加快网络聚合进程。随着对IP上业务需求的不断增长,更高效率的管理以及与IT更大的整合将可能形成新的规模效益。
· 安全的网络接入:任何人都能进行接入。通过使得网络以外的应用能够直接访问网络资源和设备,执行特定的动作或功能,这样就可为开发者和用户创造一种新的环境。当电信网内的功能与智能可以在受控状态下访问时,新服务的市场机遇是巨大的。
JAIN的工业目标是,将电信/Internet市场从许多专有的封闭系统改造成一种单一的开放环境,在这种开放的网络体系结构中,可以快速创建和部署新的业务,从而能够提供大量各种各样的新服务。通过将网络向Java应用开放,使得Java应用程序能够对网络内部的资源进行安全的访问,这就为推出成千上万种可移植的综合服务(而不是目前可获得的数十种业务)创造了机遇。通过使用Java和JAIN技术,使得通信公司能够扩展服务,从而使得这些服务更加富有特色;同时,使得下一代电信应用的开发更快、更简单且更经济。
专有权障碍的消除将为开放的市场打好基础,网络设备提供商(NEP)、独立软件供应商(ISV)、协议栈供应商、服务提供商和通信公司都能够在该市场上交易各种各样的基于Java技术的构件。然后,参与共享者将能够依据功能和价值来选择他们的构件和供应商。该“开放的价值链”市场模型将刺激现有构件的重用和附加的或缺少的功能的开发——使得效率和创新都达到最大值。它也为有改革精神的新参与者打开了市场。
JAIN技术所提供的下一代体系结构创建了一个部署新服务的水平的运动场。当所有网络层面(硬件公司、协议栈提供商、网络设备提供商、服务提供商和通信公司)都参与时,该模型会获得最佳服务。
在竞争强烈的电信市场里,接受这些下一代能力的通信公司通过调整它们创建新服务的能力将会成功。
4 JAIN SIP API
基于SIP的网络不仅重新定义了PSTN以包含所需的所有PSTN功能,而且为语音以外的媒体通信提供了成长和扩展的空间。采用SIP作为因特网上的语音和分组网络上的通信业务事实上的标准,重新定义网络元素,并将计算平台分解到业务创建工具、应用服务器、SIP电话、综合接入设备、网关及网关控制器、SIP服务器、基于SIP的业务、SIP计费解决方案、开发者工具箱、SIP测试工具、SIP用户代理以及SIP网络管理中。SIP还是未来的4G全IP移动网的指定基础协议。
由于基于SIP的网络,配以位置和服务器代理,可使得多家供应商和多个网络能够进行互操作,所以,基于SIP的通信增长仅受它必须管理的媒体连接的限制。目前,已经有一大批开发者在编写基于SIP通信的应用、代理服务器、用户代理、工具、控制器等。
SIP的优势在于,它在IP上实施基本呼叫控制。SIP是一种请求/响应协议,客户发送请求给服务器,服务器发送回对这些请求的响应。典型的应用一般由客户和服务器功能实体构成。用户代理(UA)是一个智能端点,它通过创建并发送INVITE请求来发起会话。请求可以直接发送给另一个UA或者发送给要经过的一个或多个代理。这(些)个代理基于本地策略和该SIP请求中所包含的信息对这些请求进行转发。
图2示出了通过一个SIP代理服务器在两个UA(UAC主叫和UAS被叫)之间建立和拆除典型的SIP呼叫/会话的过程,其中1~8步代表呼叫建立,而9、10两步则代表呼叫拆除,下面简要解释一下在UAC和UAS之间传递的消息。正如图2所示的那样,一个端点希望建立一个语音连接,因此一个充当用户代理客户(UAC)的UA发起一个INVITE(邀请)请求,并且通过一个代理服务器(代理服务器回答一个100/TRYING(尝试))将该请求发送给充当用户代理服务器(UAS)的第二个UA。在解析地址后,服务器回答一个180/RING -
ING(振铃),然后在接收方接受该呼叫后即返回200/OK响应。当客户收到OK响应时,发送一个ACK(确认)请求来确认收到最终响应,并且在两个用户代理之间建立起通信,于是媒体数据流就建立起来了,从现在起会话就可以开始进行了。该ACK可以不经过代理,因为两个UA之间的网络路径已经建立好。挂机时,由其中的一方发出一个BYE,另一方则用200/OK进行响应。BYE请求表示一方想要终止该会话。
在JAIN SIP API体系结构中,为所有SIP报头和报文定义了类,并借助提供者/监听者接口,将用于处理报文的JavaBeans体系结构的接口定义为事件。
由于JAIN SIP API是对SIP标准的完整定义,所以,任何基于SIP的程序都可将JAIN SIP API作为Java标准接口,用到任何JAIN SIP认证的栈中。这意味着应用服务器、SIP电话、网关及网关控制器、SIP服务器、基于SIP的业务、SIP计费解决方案、开发者工具包、SIP测试工具、SIP用户代理以及SIP网络管理,均可利用JAIN SIP API来达到跨越SIP栈实现的可移植性。
图3示出了典型的SIP网络情境中SIP相对于其他基于分组的协议(如MGCP等)的体系结构,其中JAIN SIP接口用于代理服务器、媒体网关和客户端。该图中没有示出所有可能类型的SIP端点,只示出了控制协议,至于边缘设备之间的媒体流都因为了简洁而省略了。
由于JAIN SIP API涵盖的内容远比用户代理或基于客户的软件所需要的内容丰富,所以就又开发出了JAIN SIPLite API,作为JAIN SIP API和基本呼叫控制处理的一个功能子集。JAIN SIPLite API面向无需全套JAIN SIP API类定义的用户代理或复盖区较小的客户。
SIP Servlets API使用与HTTP Servlet处理HTTP报文相同的方式,扩展了HTTP Servlet定义,以包含对SIP报文的处理。与HTTP Servlet相同,用于SIP Servlet的目标平台为代理服务器或应用服务器。SIP Servlet可以利用JAIN SIP API的结构。该API的结构与HTTP Servlet的结构相似。
5 SIP和ISUP的对照与比较
会话发起协议(SIP)是一种应用层控制(信令)协议,用于创建、修改和终止一个或多个与会者参与的会话,如包括Internet电话呼叫、多媒体分发和多媒体会议。
用来创建会话的SIP邀请可以携带会话描述,使得参与者能够协商同意使用一组兼容的媒体类型。SIP使用称为代理(proxy)服务器的部件来帮助将请求路由到用户的当前位置,认证和授权请求服务的用户,实现提供商呼叫路由选择策略,以及向用户提供功能特性。SIP还提供注册功能,使得用户能够上载他们的当前位置供代理服务器使用。SIP可以运行在几种不同传输协议的上面。
ISUP为建立、测试、维护和拆除电路的SS7协议。JAIN ISUP如图4所示。
对比ISUP与SIP,初始地址报文(IAM)如同INVITE, 地址完整报文(ACM)如同100/TRYING,而应答报文(ANM)则如同180/RINGING。SIP中的ACK在ISUP中没有等同的结构成分,只是为了提供与SIP网络的某种程度的协调。释放消息(REL)如同BYE,而释放完成消息(RLC)如同200/OK。
两种协议都提供同样的功能,即建立连接。有人可能会说SIP超越了语音,但是,只要对ISUP进行简单的扩充和改良,只要所有运营商和国家都有改良的ISUP,即可将ISUP扩展至支持任何媒体。两种媒体均可扩展,即可在标准之外添加参数。
ISUP经受了岁月的考验,如今在世界各地的很多网络上运行,它既健壮又可靠。与SIP不同,ISUP还承担媒体连接责任。ISUP的很大一部分原语处理电路管理。在SIP中媒体是网关的责任,而接口是MGCP或Megaco。ISUP乃至SS7的问题,在于供应商间和运营商间缺乏互操作性。这只会推动在IP上运行的开放式ISUP的发展。由于全球都在采用IP,SIP将取代ISUP作为一种信令协议,而ISUP将仅用于PSTN。
由于SIP是HTTP的扩展,SIP立即得到IP派别的接受,并可在HTTP运行的任何地方运行。在必需互操作性的公共领域中,所有计算平台均可成为SIP信令平台。SIP解析地址的动态特性,也使多方互操作成为可能。
在另一方面,ISUP是由数个标准组织为封闭而受保护的网络中的交换平台而定义出来的。从一开始就没有在基于ISUP的平台之间进行互操作的动力。ISUP依赖一个静态的点码配置;而SIP则依赖一个可在运行期间的任何时候进行更新的代理服务器。这使SIP对任何IP网络和任何供应商都是可扩展的。
但无论差别多大,SIP和ISUP都确保建立和撤销一个语音/媒体电路的功能。它们都具备在端点有一个振铃装置,然后建立和撤销连接的内置概念。它们都是为网络信令设计的,都从协议的观点看待问题。依照这种观点,网络体系结构定义了网络元素、报文、协议以及互连规则。这种观点针对的是连接如何建立,而不一定考虑谁建立连接和为什么建立连接。
SIP网络定义与INAP之间还有其他的一些相似之处,其中的协议更多的是建立在功能元素而不是纯粹的报文传送上。JAIN的倡议(initiative)在两者之间不作选择。JAIN倡议的驱动力在于为所有通信(无论是SIP、ISUP还是INAP)提供Java技术标准。
孟岿,男,工程师,经理,1999年在南京邮电学院获计算机应用专业工学硕士学位,目前主要从事电信网络规划、建设,数字信息传输及计算机通信方面的工作。
周文,女,工程师,1988年在南京师范大学获得计算机科学技术理学学士学位,目前的主要研究方向是计算机应用。