CN101938510A - 共同主持sip小服务程序应用 - Google Patents
共同主持sip小服务程序应用 Download PDFInfo
- Publication number
- CN101938510A CN101938510A CN2010101950234A CN201010195023A CN101938510A CN 101938510 A CN101938510 A CN 101938510A CN 2010101950234 A CN2010101950234 A CN 2010101950234A CN 201010195023 A CN201010195023 A CN 201010195023A CN 101938510 A CN101938510 A CN 101938510A
- Authority
- CN
- China
- Prior art keywords
- application
- message
- router
- sub
- sip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1063—Application servers providing network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
本发明涉及共同主持SIP小服务程序应用。公开了用于允许例如服务器的单个装置共同主持多SIP文档(SAR)应用以提供基于SIP小服务程序的产品的方法、设备和系统。根应用路由器的概念被引入,该根应用路由器适用于协调其他子应用路由器而非独立的SAR。这些其他的子应用路由器在其自身能力方面为完善的应用路由器,但并不知道控制的根应用路由器。
Description
技术领域
本发明通常涉及通信且更具体地涉及SIP应用。
背景技术
会话初始协议(SIP)为用于建立多种类型的实时通信会话的开放信令协议。可使用SIP建立的通信会话类型的例子包括语音、视频和/或即时消息。这些通信会话可在例如个人计算机、膝上型计算机、个人数字助理(PDA)或类似的任何类型通信设备上执行。SIP的一关键特征为其可使用某一端用户的记录地址(AOR)作为所有通信的唯一统一公开地址。因此,在SIP增强通信领域,用户的AOR成为将用户链接到所有与用户关联的通信设备的唯一地址。通过使用该AOR,主叫方可到达任何一个的用户通信设备(也称为用户代理(UA)),而不需要知道每一独特设备地址或电话号码。
应用路由器的概念已经与JAVA规范请求(JSR)289规范一起被介绍,其全部内容在此通过引用结合到本发明中。应用路由器承担应用合成的责任。在该上下文中,应用合成为将多个应用“串链”(chain)在一起成为一个逻辑序列的过程。当多个应用被串链在一起时,某一应用将处理一个给定的SIP消息且一旦完成所需的处理,该应用传递所述SIP消息到串链中的下一个应用。
包含在某一应用合成中SIP应用的例子包括存在性应用(presenceapplication)、呼叫解决率应用(contact resolution application)、呼叫设立应用、黑名单应用、语音信箱应用、和其他在SIP体系结构中提供某种特征的应用。作为应用合成的一个例子,传入的SIP消息在被传递到某一正常呼叫设立应用之前将先通过黑名单应用过滤,然后在N响之后可被传递到语音信箱应用。
JSR 289声明是由开发者通过提供应用路由器的实施来定义应用合成。从这个角度上讲,应用指的是单独SIP文档(SAR)或者SAR文件,其中的SAR文件包括一个或多个的小服务程序(servlet)。然而,实际上,通常应用包括多个SAR文件和多个小服务程序(其被认为是多SAR应用)。每个SAR文件表示所述应用的某一特征的集合。开发者通常包括仅仅能够协调其自己的SAR文件的专门的应用路由器实施方式。小服务程序也可被包括在Web文档(WAR)或者WAR文件中。
JSR 289并未定义SIP Servlet容器应当怎样管理多个应用路由器,因此,当前也没有用于在同一个SIP Servlet容器上可靠地部署多于一个的多SAR应用的机制。这意味着所述应用服务器仅仅能够部署极端有限的应用,这是低效率的且与使用SIP应用服务器的主要原因背道而驰。本领域技术人员会了解,因为服务器经常具有足够的处理和/或存储资源来支持多于一个的多SAR应用,所以该部署高度不便且浪费资源。实际上,这类似于使用例如WAS或者Weblogic的Web服务器来仅仅服务一组网页或应用,而非能够同时主持(host)许多网站和业务。
例如,考虑每个都由部署到SIP应用服务器上的多个SAR组成的两个复杂应用。第一个应用可为PBX类型的应用,且第二应用可为呼叫路由应用。由于呼叫路由应用的复杂性,所以需要为每个应用编写定制应用路由器。这些逻辑应用和关联的应用路由器是单独开发的,但现却期望在同一应用服务器上主持。解决该问题的现有技术方案被限制于仅仅能够部署一个单独的定制应用路由器。因此,这将需要重写/合并这两个应用路由器为一个单独的应用路由器。这样的处理是费时且困难的。
这样的体系结构在图1中示出,其中的通信系统100包括多个通过通信网络104连接到应用服务器112的通信设备108。如图1中所示,应用服务器112可包括允许应用服务器112从通信网络104接收传入SIP消息的网络接口116。
在网络接口116接收的消息被传输到SIP Servlet容器120。SIP Servlet容器120负责处理初始消息请求并传输这样的请求到应用路由器124。SIPServlet容器120也可作为背靠背的用户代理(B2BUA)或代理服务器(proxy)。一旦消息被传输到应用路由器124,该应用路由器124审查SIP请求并选择需要被执行以完成请求处理的应用(即,SAR文件128a-N)。需要注意的是应用路由器通常不修改任何请求。因此,应用路由器124识别适当的SAR文件128,并通知SIP Servlet容器120它的抉择。该SIP Servlet容器120随后在SAR内调用适当的小服务程序(由JSR289中描述的机制决定)且该请求依照小服务程序而被处理。一旦某一请求已经被充分地处理,SIP Servlet容器120转移该请求返回给网络接口116,在网络接口116处该请求能够被转移到在通信网络100中的另一设备用于进一步的处理。这可包括传输该请求到另一个应用服务器或者传输该请求到某一用户通信设备108。
依照JSR289存在两个常见途径来共同主持(co-host)多个应用。第一种途径为简单地运行应用服务器112的多个实例,其中,每个服务器将主持单个多SAR应用。这可包括虚拟化技术用以分割单独的物理装置。第二种途径为部署者执行定制应用路由器以在同一服务器上协调这些应用。
虽然如上所述,当前商业惯例通常部署多个服务器实例以主持各个多SAR应用,但是每一服务器一个应用的途径会增加额外的硬件和管理费用。第二途径要求部署者理解并再执行每个将被主持的应用的路由逻辑。该处理倾向于出错并增加开发/部署时间。另外,设备的复杂性随其上驻留的应用数目一起增加。
发明内容
因此,本发明的一个方面为引进根应用路由器的概念,该根应用路由器将协调其他子应用路由器,而不是协调个体SAR。这些其他的子应用路由器在其自身能力方面为完善的应用路由器,但是并不知道控制的根应用路由器。
作为这里所使用的,SAR为用于执行特定功能的应用或者为应用的特征,但是应用通常包括多个SAR(例如多SAR应用)。SAR文件、WAR文件、EAR或者类似的文件负责包含结合对SIP消息或者SIP请求执行操作使用的小服务程序。SAR/WAR文件为包含真实的商业/应用逻辑和用于执行特定功能的路由逻辑的文档。
子应用路由器实现在JSR 289中定义的应用路由器接口并能够被独自地部署在JSR 289兼容的容器中。然而,根据本发明至少某些实施例,这些子应用路由器能够通过根应用路由器而非SIP Servlet容器而被加载或者管理。
SIP Servlet容器可被部署为仅知道根应用路由器。在SIP Servlet容器中接收的传入SIP消息将被传输到根应用路由器。该根应用路由器随后可指派传入SIP消息(依据选择算法)到子应用路由器的实例,该子应用路由器将负责协调SIP消息的后续处理,从而使得该技术方案表现为根据JSR 289的单个应用路由器。
根据本发明的至少某些实施例,在应用路由器基础上定义的路由规则(即,由根应用路由器用来路由消息到子应用路由器的规则)对于子应用路由器并不重要。更合适的,该配置将是系统部署者的责任。下面为某一示例:
<patter>
<or>
<equal>
<var>request.route.uri.user</var>
<value>voicemail</value>
</equal>
<equal>
<var>request.uri.user</var>
<value>voicemail</value>
</equal>
</or>
</pattern>
这可被解释为:如果路由URI或者请求URI用户部分与文本“voicemail”匹配,则发送消息到此子应用路由器。实质上这允许基于消息内容辨别对子应用路由器的选择。在接收到SIP消息后,根应用路由器将顺序评估规则集。评估的顺序是重要的且部署者(通常为客户网络管理者)对该列表具有完全控制。例如,位于前面的通配符规则意味着其后面的应用将不会看到SIP消息。如果子应用路由器不指定任何匹配规则,则假设其为通配符并要处理所有的消息。
依据本发明的至少某些实施例,所提供的方法通常包括:
在第一应用服务器的网络接口处接收第一消息;
传输第一消息到第一应用服务器内的根应用路由器;
通过所述的根应用路由器确定用于接收并随后分析第一消息的子应用路由器;以及
传输第一消息给所述的子应用路由器,其中该子应用路由器也驻留在第一应用服务器内。
至少根据本发明的某些实施例,SIP小服务程序被封装为独立的jar文件,例如SAR文件,WAR文件,EAR文件,或者其他类似的文件,其可被独立地展开和收回。SIP小服务程序在如下方面非常类似于其他小服务程序类型:他们增强了用以加载他们以支持SIP功能的接口。另一小服务程序类型的例子为超文本传输协议小服务程序,其是:运行在环球网服务器或应用服务器上并提供服务器端处理通常用以接入数据库或者执行电子化贸易处理的Java应用。其是针对CGI脚本、动态服务器主页(ASP)和用C和C++编写的专属插件的基于Java的替代。但是小服务程序类似CGI概念,取代使用单独的进程,将消息传输到在服务器内部的虚拟机内运行的类中。
许多小服务程序用允许其在服务器和操作系统之间可移植的特定程序语言(例如Java)编写。虽然Java为可用于创建小服务程序的程序语言的一个示例,但是本领域技术人员将意识到本发明的实施例并非限制于此。更具体的,本发明的实施例预期:以任何类型的允许SIP小服务程序在服务器和/或操作系统之间可移植的程序语言来创建小服务程序。本发明的实施例也预期能够在服务器上的虚拟机内运行的SIP小服务程序(例如企业服务器和特别是SIP服务器)。
这里所使用的术语“计算机可读介质”指的是任何参与提供指令给处理器以供执行的有形存储和/或传输介质。这样的介质以许多种形式出现,包括但不仅限于,非易失性介质,易失性介质,和传输介质。例如,非易失性介质包括NVRAM或者磁盘或光盘。易失性介质包括诸如主存储器的动态存储器。例如,计算机可读性介质的常见形式包括软盘,软碟,硬盘,磁带,或者任何其他磁介质,磁光媒质,CD-ROM,任何其他光介质,穿孔卡片,纸带,任何其他具有孔模式的物理介质,RAM,PROM,EPROM,FLSH-EPROM,类似存储卡的固态介质,任何其他存储芯片或者卡带,在下文所描述的载波,或计算机可读的任何其他介质。附加到电子邮件上的数字文件或者其他自足的消息文档或者文档组被认为是等同于有形存储介质的分布式介质。当计算机可读介质被配置为数据库时,则可以理解为该数据库可为任何类型的数据库,例如有关的,分等级的,面向对象的,和/或类似的数据库。相应地,本发明被认为包含有形存储介质或者分布式介质以及当前技术所认知的等同物和后续介质,在其中存储本发明的软件实现方式。
这里所使用的术语“确定”,“计算”和“运算”以及它们的变形,可以互换使用并且包括任何类型的方法学,处理,数学操作或技术。
在这里所使用的术语“模块”,“代理”或者“工具”指的是任何已知或者后来开发的能够执行与这些元件关联的功能的硬件,软件,固件,人工智能,模糊逻辑,或者硬件和软件的结合。并且,虽然本发明用示范性实施例进行描述时,但是可以意识到本发明的各个方面能够被单独地提出权利要求。
前面简单地总结了本发明的实施例以便理解本发明的某些方面。所述总结既不是本发明或其各种实施例的扩展也不是其穷举。其目的既不是确定本发明的关键或重要要素也不是界定本发明的范围,而是要以简化的方式展示本发明所选择的概念来作为下面示出的更详细说明的导言。作为将被认识到的是,本发明其他实施例可能独立或组合地使用已经在上述提出或者将在下述中被详细描述的一个或多个特征。
附图说明
图1是示出根据现有技术的实施例的通信系统的方框图。
图2是示出根据本发明至少某些实施例的通信系统的方框图。
图3是示出根据本发明至少某些实施例的处理SIP消息的方法的流程图。
具体实施方式
下面联合示范性通信系统说明本发明。虽然特别适合结合例如使用(一个或多个)服务器和/或(一个或多个)数据库的系统一起使用,但是本发明并不仅限于结合任何特定类型的通信系统或者系统元件的配置来使用。本领域技术人员将认识到其所公开的技术可被使用在任何希望允许服务器主持多个小服务程序的通信应用中。
本发明的示范性系统和方法也将被联系分析软件、模块或者关联的分析硬件来描述。然而,为了避免不必要的混淆本发明,下面的说明省略已知的结构,以方框图形式示出的组件和设备是公知的或在其它情况下是经总结的。
出于说明的目的,提出了多数的细节以便彻底理解本发明。然而,这将被认识到,本发明可以在这里所提出的具体细节之外以多种方式实行。
参照图2所示,将根据本发明至少某些实施例描述示范性通信系统200。更具体地,通信系统200包括适用于将一个或多个通信设备108与应用服务器204相互连接的通信网络104。
通信网络104可为任何类型的已知通信介质或者通信介质的集合,并且可使用任何类型的协议以在端点之间传输消息。通信网络104可包括有线的和/或无线的通信技术。因特网为通信网络104的一个示例,其构成由位于全世界的许多计算机和其他通信设备组成的IP网络,所述许多计算机和其它通信系统通过许多电话系统或其他方式连接在一起。通信网络104的其他实例包括但不限制于标准简易老式电话系统(POTS)、综合业务数字网络(ISDN)、公共交换电话网络(PSTN)、局域网(LAN)、广域网(WAN)、会话初始协议(SIP)网络、任何类型的企业网、和本领域已知的任何其他类型的分组交换或者电路交换网络。另外,可以认识到通信网络104不必限制于任何一个的网络类型,并且替代地,其可由不同网络和/或网络类型组成。
通信设备108可为任何类型的已知通信或者处理设备,例如个人计算机、膝上型计算机、个人数字助理(PDA)、蜂窝电话、智能电话、电话、模拟电话、DCP电话、或者它们的组合。单个通信设备108可由单个用户控制或与之相关联,或者可适用于供多个用户使用(例如允许任何企业用户在输入有效用户名和密码的基础上使用通信设备的企业通信设备)。
各个通信设备108可与相同的用户相关联。换句话说,通信设备108可属于单个用户且可对应于不同类型的通信设备。作为某一例子,用户可拥有四个通信设备108,它们各自分别对应于单个用户的个人电话、工作电话、个人计算机、以及电子邮件检索设备。可替代地,每个通信设备108可被不同的用户拥有(例如,与不同的用户相关联)和操作。
通常的,通信设备108可适用于支持与其它通信设备108的视频、音频、文本、和/或数据通信。由通信设备108用来与其他通信设备108通信的介质类型可取决于通信设备108上可用的通信应用。
根据本发明的至少某些实施例,一个或多个通信设备108可发送诸如SIP消息的消息给在服务器网络接口208处接收消息的应用服务器204。网络接口208可包括通信端口和/或网络适配器。作为一个例子,网络接口208可包括以太网端口和以太网卡/适配器。作为另一例子,网络接口208可包括天线和802.11或者蓝牙适配器。因此,如本领域技术人员所知的,网络接口208可支持在应用服务器204和通信网络104之间的有线和/或无线连接,并且可进一步支持多通信协议。
应用服务器204可进一步包括用于处理初始地在应用服务器204处接收的消息的SIP Servlet容器212。另外的,SIP Servlet容器212可负责传输SIP请求到一个或多个存储在应用服务器204中的应用224,其中请求可依照应用224的功能性而被处理。
参照图2和3所示,SIP Servlet容器212从网络接口208接收的消息(步骤304)可被传输到根应用路由器216(步骤308)。该根应用路由器216可负责在应用服务器204的多个子应用路由器220之间协调SIP消息的分发。更具体地,根应用路由器216可包括定义了应当怎样在子应用路由器220之间路由特定消息或者请求的商业规则或者逻辑,并且可应用这些规则(步骤313)来识别目标子应用路由器220(步骤316)。更具体地,根应用路由器216可用作子应用路由器220的分级主控(hierarchicalmaster)或者消息看门人。因此任何在子应用路由器220处接收的消息皆通过根应用路由器216接收。
然而,根据本发明至少某些实施例,子应用路由器220并不知道根应用路由器216和任何由根应用路由器216执行的算法。取代地,从子应用路由器220的角度看,消息是从SIP Servlet容器212接收的,经子应用路由器220处理,并被发送回SIP Servlet容器212,其中该SIP Servlet容器212适用于再次调用根应用路由器216来确定多SAR应用224中是否存在应当看见请求的另一个SAR 228。还应当注意到的是,请求可以匹配两个或者更多的子应用路由器220a和220b的规则。在这种环境下,当根应用路由器216已经确定请求将被路由到子应用路由器220a和220b时,根应用路由器216可传输所述请求到第一子应用路由器220a并且一旦相应的第一应用224a完成消息处理,根应用路由器216就自动地传输请求到下一个子应用路由器220b。
当子应用路由器220接收到消息(步骤320)时,该子应用路由器220分析该消息以确定哪个应用224将负责实际处理所述消息(步骤324)。因此,子应用路由器220自身并不实际处理所述消息,而是仅仅分析消息中的信息以确定哪个应用224将被用于处理所述消息。
在作出所述确定时,子应用路由器220将所述消息与用于处理消息的应用224的标识一起发送回SIP Servlet容器。SIP Servlet容器212接收所述消息,分析应用识别,并转发所述消息到合适的应用224。如在图2中可见的,应用224可包括两个或更多个的SAR文件228,这些SAR文件228各自包括小服务程序,如SIP小服务程序。
当消息被指派给特定的应用224时,SIP Servlet容器212在该应用224的SAR文件228中调用合适的小服务程序来实际处理所述消息(步骤328)。本领域技术人员可了解,虽然应用224被示出为分别包括三个SAR文件228a和两个SAR文件228b,然而取决于应用224的功能,应用224可包括更多或者更少数目的SAR文件228。例如,应用224可包括一个、两个、三个、四个或者更多个SAR文件228而不会背离本发明的范畴。包括两个或者更多个SAR文件228的应用224在这里称为多SAR应用224。本发明的实施例特别是通过使用根应用路由器216来提供在公共服务器204上共同主持多个多SAR应用224的能力。
根据本发明的至少某些实施例,应用224提供针对SIP消息的通用功能或特征。包括在应用224内的(一个或多个)SAR文件228包含小服务程序,这些小服务程序是执行用来提供应用224的功能所需的步骤的处理。作为一个示例,应用224可对应于语音信箱功能。在语音信箱应用224内的SAR文件228可包含执行诸如以下处理的小服务程序:确定呼叫应当转到语音信箱覆盖区,识别合适语音信箱服务器的位置,转移呼叫到语音信箱服务器,提供IVR功能给呼叫者,记录来自呼叫者的消息,并且在语音信箱服务器处存储消息。当然,上述的某些语音信箱处理可在其他应用224处作为独立SAR文件被执行。更进一步,语音信箱仅仅为由应用224提供的示范性功能的一个示例。由应用224提供的其他类型的功能包括但是并不仅限于:呼叫转移功能,呼叫路由功能,覆盖功能,记录功能,呼叫设立功能,黑名单功能,白名单功能,来电通知功能,终止呼叫功能,给顾客发帐单功能(bill customer function)。其他通过应用224可用的功能将对本领域技术人员显而易见并且也被认为落在本发明的保护范畴内。
当消息通过在SAR文件228内的小服务程序而被处理时,该小服务程序可产生第二消息或者SIP请求(例如,上述中的语音信箱应用示例中的呼叫转移消息)。因此,在步骤332中,确定是否因为小服务程序对初始接收的消息的处理而由小服务程序生成新请求或消息。如果该查询的答案是肯定的,则消息转发回SIP servlet容器212,在该SIP servlet容器212中,消息可被转到另一个计算组件,该计算组件既可以驻留于应用服务器204内也可以不驻留于其中(步骤336)。如果这样的消息被小服务程序产生,则第二SIP消息被发送到计算组件而并不致使由根应用路由器216对第二消息进行评估。
一旦应用224已经调用了在SAR文件228中的所有其小服务程序,并且所述消息已经由这些小服务程序处理,或者如果步骤332中的查询答案是否定的,则方法通过确定第一消息是否要求额外处理(步骤340)来继续。如果消息要求可能通过另一应用224进行的额外处理,则方法返回步骤304并且该消息转发到SIP Servlet容器212,该SIP Servlet容器212随后将消息提供回根应用路由器216。如果没有要求额外的处理,则所述方法终止(步骤344)。当然,作为完成消息处理的一部分,所述消息可通过网络接口208被转发出应用服务器204。
如本领域技术人员所能够认知的,虽然图2所示的应用服务器204包括两个子应用路由器220a、220b,但是根据本发明实施例,应用服务器204可包括更多或更少数目的子应用路由器220。
同样地,虽然应用服务器204被描述为具有仅仅两个应用224a、224b,但是根据本发明的实施例,应用服务器204可包括更多或更少数目的应用224。更进一步的,子应用路由器220的数目并不且通常将不会匹配在应用服务器204中的应用224的数目。因此,单个子应用路由器220可适用于在多个应用228之间做出消息路由决定。换句话说,子应用路由器220可适用于确定消息是否应当被发送到第一、第二、第三、第四等应用224用于处理,并且可针对在子应用路由器220处接收的不同消息做出不同的决定。更进一步的,两个子应用路由器220可适用于路由消息到共同应用224(即,子应用路由器220可共享一应用224),然而这样的实施例将基于大量其他考虑。
虽然上述的流程图已经结合特定事件序列来论述,但是可认识到在不实质影响本发明的操作的情况下可对该序列进行改变。另外,严格的事件序列不需要如示范性实施例中提出的般发生。这里所示出的示范性技术并不局限于具体阐述的实施例,但是还可与其他示范性实施例一起利用,并且每个所描述的特征可个别地并可单独地提出权利要求。
除了所描述的通信装置、程序化微处理器或者微控制器和外围集成电路元件、ASIC或者其他集成电路、数字信号处理器、诸如离散元件电路的硬连线电子或者逻辑电路、可编程的逻辑设备(例如PLD、PLA、FPGA、PAL)、通信设备(例如服务器、个人计算机、任何等同装置或者类似的)之外,或者取代之,本发明的系统、方法和协议还能够在专用计算机上完成。通常,任何能够完成状态机的设备都能够用于完成依据本发明的各种通信方法、协议和技术,所述状态机又能够实现这里所阐述的方法。
更进一步的,所公开的方法可使用对象或者面向对象软件开发环境在软件中容易地被完成,所述对象或者面向对象的软件开发环境提供可用在多种计算机或者工作站平台上的可移植源代码。可替代地,所公开的系统可部分或完整地在硬件中使用标准逻辑电路或者VLSI设计被完成。使用软件还是硬件来实现根据本发明的系统取决于系统的速度和/或效率要求、特定功能、以及所使用的特定软件或硬件系统或微处理器或者微计算机系统。这里所示出的分析系统、方法和协议能够由适用领域的普通技术人员根据这里所提供的功能描述以及利用通信和计算机领域的一般基础知识、使用任何已知的或以后开发的系统或结构、设备和/或软件来以硬件和/或软件容易地完成。
而且,所公开的方法可用软件容易地完成,所述软件被存储在存储介质上,在控制器和存储器合作下的通用计算机上、专用计算机上、微处理器上、或者类似的上执行。在这些情况中,本发明的系统和方法能够被实现作为嵌入在个人计算机上的程序(例如applet小程序,或者CGI脚本),作为驻留在服务器或者计算机工作站上的资源,作为嵌入在专用通信系统或者系统组件上的例程,或类似的。所述系统还能够通过物理地合并系统和/或方法为软件和/或硬件系统而被完成,例如通信设备或系统的硬件和软件系统。
因此显而易见的,根据本发明实施例,这里提供了用于在服务器上共同主持SIP小服务程序应用的系统、装置和方法。虽然已联合多个实施例描述了本发明,但是很显然的许多更替、修改和变型对适用技术领域的普通技术人员而言是显而易见的。因此,所有在本发明的精神和范畴之内的这样的更替、修改、等同物和变形皆在本发明想要包括之内。
Claims (10)
1.一种方法,包括
在第一应用服务器的网络接口处接收第一消息;
传输第一消息给第一应用服务器内的根应用路由器;
通过所述根应用路由器,确定用于接收并随后分析所述第一消息的子应用路由器;和
传输第一消息给所述子应用路由器,其中所述子应用路由器也驻留在第一应用服务器内。
2.一种服务器,包括
根应用路由器;
与根应用路由器通信的多个子应用路由器,所述根应用路由器适用于在所述多个子应用路由器之间分发消息;和
多个应用,其中每个子应用路由器适用于从根应用路由器接收消息,并从所述多个应用中确定将被用于处理所述消息的应用。
3.如权利要求1或2所述的发明,其中第一消息包括SIP消息。
4.如权利要求3所述的发明,其中第一应用服务器包括两个或更多应用,每个应用具有一个或更多个小服务程序,所述方法进一步包括:
由子应用路由器确定所述两个或更多应用中的哪个应用应当处理第一消息;
往第一应用服务器内的SIP小服务程序容器发送由子应用路由器做出的确定结果;和
由SIP小服务程序容器转发第一消息给在所述两个或更多应用中确定的应用。
5.如权利要求4所述的发明,进一步包括:
由所确定的应用利用两个或更多个小服务程序来处理第一消息,其中所确定的应用提供特定功能并且该两个或更多个小服务程序中的每个依照所确定应用的特定功能来对第一消息执行操作。
6.如权利要求5所述的发明,其中所述特定功能包括语音信箱功能、呼叫转移功能、呼叫路由功能、覆盖功能、记录功能、呼叫设立功能、黑名单功能、白名单功能、来电通知功能、终止呼叫功能、以及给顾客发帐单功能中的一个或多个。
7.如权利要求5所述的发明,进一步包括:
由两个或更多小服务程序中的一个产生第二SIP消息,其中所述第二SIP消息是在处理第一消息期间产生的;
发送所述第二SIP消息给所述的SIP小服务程序容器;和
由SIP小服务程序容器转发所述第二SIP消息给计算组件,而不致使由所述根应用路由器对所述第二SIP消息进行评估。
8.如权利要求7所述的发明,其中所述的计算组件并不驻留在第一应用服务器内。
9.如权利要求4所述的发明,进一步包括:
在所述网络接口处接收第二消息,其中第一消息和第二消息是不同的;
传输第二消息给根应用路由器;
由所述根应用路由器确定用于接收并随后分析所述第二消息的第二子应用路由器,其中被确定用于接收第二消息的第二子应用路由器并非被确定用于接收第一消息的子应用路由器;
传输所述第二消息给第二子应用路由器,其中所述第二子应用路由器也驻留在第一应用服务器内;
由第二子应用路由器确定所述两个或更多应用中的哪个应用应当处理第二消息;
发送由第二子应用路由器做出的确定结果给所述的SIP小服务程序容器;并且
由所述的SIP小服务程序容器转发所述的第二消息到在所述两个或更多应用中确定的应用。
10.一种计算机可读介质,包括当被处理器执行时实现权利要求1所述的方法的处理器可执行指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/495,372 | 2009-06-30 | ||
US12/495,372 US8179889B2 (en) | 2009-06-30 | 2009-06-30 | SIP servlet applications co-hosting |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101938510A true CN101938510A (zh) | 2011-01-05 |
Family
ID=42153779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101950234A Pending CN101938510A (zh) | 2009-06-30 | 2010-03-31 | 共同主持sip小服务程序应用 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8179889B2 (zh) |
EP (1) | EP2270659A1 (zh) |
JP (1) | JP5649840B2 (zh) |
KR (1) | KR101352694B1 (zh) |
CN (1) | CN101938510A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534140A (zh) * | 2016-11-25 | 2017-03-22 | 西安烽火电子科技有限责任公司 | 一种sip消息的传递系统及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011096045A (ja) * | 2009-10-30 | 2011-05-12 | Hitachi Ltd | 計算機、計算機システム、及び、アプリケーション実行方法 |
US8488575B2 (en) * | 2010-11-18 | 2013-07-16 | At&T Intellectual Property, I, L.P. | Methods, devices, and computer program products for providing a plurality of application services via a customized private network connection |
US9367367B2 (en) | 2013-06-06 | 2016-06-14 | Avaya Inc. | Application router |
US9350594B2 (en) * | 2013-06-26 | 2016-05-24 | Avaya Inc. | Shared back-to-back user agent |
KR101516215B1 (ko) | 2013-11-15 | 2015-05-04 | 한국지질자원연구원 | 장력계를 포함하는 시추시스템 및 이를 이용한 정확한 시추의 판단방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021689A1 (en) * | 2003-02-26 | 2005-01-27 | Kyle Marvin | Systems and methods for creating network-based software services using source code annotations |
CN1577251A (zh) * | 2003-07-28 | 2005-02-09 | 国际商业机器公司 | 小服务器程序的远程协作方法和系统 |
US20050240654A1 (en) * | 2004-04-21 | 2005-10-27 | Andreas Wolber | Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure |
US7356803B2 (en) * | 2001-07-02 | 2008-04-08 | Bea Systems, Inc. | Annotation based development platform for asynchronous web services |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1274011B1 (en) * | 2001-07-06 | 2017-05-03 | Alcatel Lucent | A method and system for routing and logging a request |
US7028311B2 (en) * | 2002-01-04 | 2006-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Communications node architecture and method for providing control functions in a telecommunications network |
US6798755B2 (en) * | 2002-12-31 | 2004-09-28 | Motorola, Inc. | Apparatus and method for controlling and managing individual directed sessions in a communications system |
JP4593152B2 (ja) * | 2004-03-31 | 2010-12-08 | 日本電気株式会社 | サーバ装置およびその制御方法 |
US20060239247A1 (en) * | 2005-04-26 | 2006-10-26 | Peter Postmus | Method and session initiation protocol (SIP) server with end-point capabilities check |
JP4735068B2 (ja) * | 2005-06-15 | 2011-07-27 | 沖電気工業株式会社 | 通信システム、通信方法及び通信装置 |
JP4433309B2 (ja) * | 2005-08-24 | 2010-03-17 | 日本電気株式会社 | 負荷分散装置 |
US7865607B2 (en) * | 2006-04-04 | 2011-01-04 | Movius Interactive Corporation | Servlet model for media rich applications |
US8001250B2 (en) * | 2006-05-16 | 2011-08-16 | Oracle International Corporation | SIP and HTTP convergence in network computing environments |
US7661027B2 (en) * | 2006-10-10 | 2010-02-09 | Bea Systems, Inc. | SIP server architecture fault tolerance and failover |
US20080158336A1 (en) * | 2006-10-11 | 2008-07-03 | Richard Benson | Real time video streaming to video enabled communication device, with server based processing and optional control |
US7895475B2 (en) * | 2007-07-11 | 2011-02-22 | Oracle International Corporation | System and method for providing an instrumentation service using dye injection and filtering in a SIP application server environment |
CN101483613B (zh) * | 2008-01-09 | 2012-02-15 | 国际商业机器公司 | 为呈现服务器提供QoS控制能力的方法和设备及其系统 |
US9654515B2 (en) * | 2008-01-23 | 2017-05-16 | Oracle International Corporation | Service oriented architecture-based SCIM platform |
US8806512B2 (en) * | 2008-05-30 | 2014-08-12 | Red Hat, Inc. | Collocation in a Java virtual machine of JSLEE, SIP servlets, and Java EE |
-
2009
- 2009-06-30 US US12/495,372 patent/US8179889B2/en active Active
-
2010
- 2010-03-29 JP JP2010074156A patent/JP5649840B2/ja active Active
- 2010-03-30 EP EP10158396A patent/EP2270659A1/en not_active Withdrawn
- 2010-03-31 CN CN2010101950234A patent/CN101938510A/zh active Pending
- 2010-03-31 KR KR1020100029284A patent/KR101352694B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356803B2 (en) * | 2001-07-02 | 2008-04-08 | Bea Systems, Inc. | Annotation based development platform for asynchronous web services |
US20050021689A1 (en) * | 2003-02-26 | 2005-01-27 | Kyle Marvin | Systems and methods for creating network-based software services using source code annotations |
CN1577251A (zh) * | 2003-07-28 | 2005-02-09 | 国际商业机器公司 | 小服务器程序的远程协作方法和系统 |
US20050240654A1 (en) * | 2004-04-21 | 2005-10-27 | Andreas Wolber | Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure |
Non-Patent Citations (3)
Title |
---|
ERIC CHEUNG,K. HAL PURDY: "An Application Router for SIP Servlet Application Composition", 《IEEE COMMUNICATIONS SOCIETY》, 19 May 2008 (2008-05-19), pages 1802 - 1806, XP031265667 * |
JUAN MIGUEL ESPINOSA CARL´ıN,DIRK THISSEN: "A SIP Application Router for Presence-Driven Composition of IMS Services", 《IEEE COMPUTER SOCIETY》, 16 September 2008 (2008-09-16), pages 207 - 212, XP031442371 * |
MIHIR KULKARNI,YANNIS COSMADOPOULOS: "SIP Servlet Specification, version 1.1", 《JSR-289-COMMENTS@JCP.ORG》, 1 August 2008 (2008-08-01), pages 13 - 15 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534140A (zh) * | 2016-11-25 | 2017-03-22 | 西安烽火电子科技有限责任公司 | 一种sip消息的传递系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20110001863A (ko) | 2011-01-06 |
US8179889B2 (en) | 2012-05-15 |
EP2270659A1 (en) | 2011-01-05 |
US20100329239A1 (en) | 2010-12-30 |
JP5649840B2 (ja) | 2015-01-07 |
KR101352694B1 (ko) | 2014-02-17 |
JP2011014125A (ja) | 2011-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2264971B1 (en) | Pluggable contact resolution | |
CN102025718B (zh) | Sip端点增强器 | |
EP1025507A1 (en) | Combined internet and data access system | |
CN101938510A (zh) | 共同主持sip小服务程序应用 | |
CN1700680A (zh) | 使用服务器池时有效的消息路由 | |
WO2011133471A1 (en) | Servlet api and method for xmpp protocol | |
CN101399849A (zh) | 用于通信系统中的通信装置和终端登记方法 | |
CN112073923A (zh) | 兼容多运营商的通信方法、装置、网关及可读存储介质 | |
US7739389B2 (en) | Providing web services from a service environment with a gateway | |
US20060069783A1 (en) | Program, method and device for managing information shared among components, recording medium and communication apparatus | |
US8064961B2 (en) | Communication system and method therefor | |
CN101616223A (zh) | 在软件应用程序中实施分布式语音功能的方法 | |
MXPA02005700A (es) | Deteccion y prevencion de fraude telefonico. | |
US7756262B2 (en) | Computer-based telephone call management | |
US20050105709A1 (en) | Method and system for intelligent routing of telephone calls | |
EP1681832A1 (en) | Provision of services over a common delivery platform such as a mobile telephony network | |
US7907964B2 (en) | Networked telephone system | |
US8116447B2 (en) | Networkable telephone system | |
CN104753774A (zh) | 一种分布式企业综合接入网关 | |
WO2005062594A1 (en) | Computer-implemented telephone call conferencing system | |
US7372822B2 (en) | Computer-based telephone call conferencing | |
US7907706B2 (en) | Telephone network/computer network gateway | |
US11076048B1 (en) | System and method for utilizing SMS functionality to schedule follow-up | |
US7912200B2 (en) | Computer-based telephone call signaling | |
US20060128388A1 (en) | Apparatus and method for easily restoring a connection to a telephone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110105 |