CN103368837A - 通过已定序应用影响sip路由的系统和方法 - Google Patents
通过已定序应用影响sip路由的系统和方法 Download PDFInfo
- Publication number
- CN103368837A CN103368837A CN2012103948064A CN201210394806A CN103368837A CN 103368837 A CN103368837 A CN 103368837A CN 2012103948064 A CN2012103948064 A CN 2012103948064A CN 201210394806 A CN201210394806 A CN 201210394806A CN 103368837 A CN103368837 A CN 103368837A
- Authority
- CN
- China
- Prior art keywords
- indication
- sequencing
- application
- conversation
- head
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012163 sequencing technique Methods 0.000 claims description 117
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 108
- 230000008569 process Effects 0.000 description 32
- 238000011144 upstream manufacturing Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 26
- 239000013598 vector Substances 0.000 description 26
- 230000004044 response Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 14
- 239000003795 chemical substances by application Substances 0.000 description 11
- 230000008901 benefit Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- KRQUFUKTQHISJB-YYADALCUSA-N 2-[(E)-N-[2-(4-chlorophenoxy)propoxy]-C-propylcarbonimidoyl]-3-hydroxy-5-(thian-3-yl)cyclohex-2-en-1-one Chemical compound CCC\C(=N/OCC(C)OC1=CC=C(Cl)C=C1)C1=C(O)CC(CC1=O)C1CCCSC1 KRQUFUKTQHISJB-YYADALCUSA-N 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000001568 sexual effect Effects 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 108700007698 Genetic Terminator Regions Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005253 cladding Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- 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/1083—In-session procedures
-
- 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/1096—Supplementary features, e.g. call forwarding or call holding
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了通过已定序应用影响SIP路由的系统和方法。一种通过多个已定序应用中的一个已定序应用影响通话路由的方法和系统,所述方法包括:接收通话的头部,该头部包括来自多个已定序应用中的一个或多个的至少一个指示;仲裁头部中的至少一个指示之间的冲突,以确定一组已定序应用来至少部分地执行;以及,至少部分地执行该组已定序应用。
Description
技术领域
本发明的实施例一般涉及已定序应用,具体地,涉及一种间接影响通话的SIP路由的已定序应用的系统和方法。
背景技术
会话发起协议(SIP)是用于建立多种实时通信会话的开放式信令协议。使用SIP建立的通信会话的类型的示例包括语音、视频和/或即时消息。这些通信会话可以在任意类型的通信装置上执行,例如个人电脑、笔记本电脑、个人数字助理、电话、手机、蜂窝电话等。SIP的一个关键特征是其能够将终端用户的记录地址(AOR)作为所有通信的唯一统一公用地址使用。因此,在增强SIP通信(SIP-enhanced communications)中,用户的AOR成为了将用户连接至与用户关联的所有通信装置的唯一地址。使用AOR,呼叫方能够到达任意一个用户通信装置,其也被称为用户代理,无需知道每个独有装置地址或电话号码。
由于在会话建立期间应用被插入或包括在通信会话中,许多SIP通信被增强了。因为在通信会话建立期间应用被顺序调用,所以将应用并入到通信会话中通常被称为应用定序。在一些例子中,管理SIP网络的企业拥有和运营该应用。在一些例子中,第三方供应商提供该应用。无论哪样,在通信会话中包括应用的传统的方式是在通信会话的建立阶段,从而这些应用能够将其自身插入到通信会话的信令和媒体路径。
通信会话使用的示例性类型的应用包括,但不限于,通话记录应用、通信记录业务、会议应用、安全应用、加密应用、协作应用、白板应用、移动性应用、存在应用(presence applications)、媒体应用、消息应用、分流应用(bridging application)以及能够补充或增强通信的任意其他类型的应用。
为了影响会话在网络中路由的途径以及允许将特征独立地添加至用于处理通话的系统,在会话发起和终止阶段,用于企业电话网络(例如AvayaAuraTM)的会话管理器允许网络应用的定序。
现有技术的缺点是在已定序应用之间存在受限的通信。尽管SIP历史信息(History-info)消息能够帮助下游应用发现上游路由判定,该消息并不允许上游设备知道下游路由判定。而且,对于SIP Hisrory-info消息的依赖并不能阻止下游应用被上游应用绕过。受限的通信还使得已定序应用之间的协调通信变得困难。
如果应用独立地处理SIP请求,可以轻易地绕过下游应用或阻止其看到初始请求或上游应用如何处理该请求。也难以仲裁上游和下游应用之间的通话控制。例如,上游应用可能不想要通话被转接,但是下游应用可以转接该通话而无需来自上游应用的引导。或者,上游应用可能通过重定位请求来转接通话,从而,一看到该请求就总是完全绕过下游应用。由于这些原因,对于应用开发者来说,知道在目标配置中应用的顺序成为了关键因素。此外,序列中的某些位置已经成为了大多数应用追求的位置,比如在发起和终止定序中的第一个和最后一个应用。
现有技术的另一个缺点是已定序应用的相互关联以及其执行顺序之间的关联很紧密。因此,应用的顺序很难设计或修改,当修改时容易出错或导致意外的结果。
RFC 3841描述了对于SIP的一组扩展,其允许呼叫者表达关于服务器中请求处理的偏好。这些偏好包括能够选择请求被路由到哪个统一资源标识符(URI),以及能够指定在代理服务器和重定向服务器中的某些请求处理指令。其通过定义三个新的请求头部字段来实现,即Accept-Contact(接受联系)、Reject-Contact(拒绝联系)和Request-Disposition(请求配置),它们指定了呼叫者对代理服务器行为的偏好。但是,该方案仅限于呼叫发起人,并不能对应对已定序应用和媒体控制,也不能处理多个应用之间的冲突,因为只有一个添加偏好的实体(即,UAC)。
在与已定序应用相关联的消息或控制数据流中使用新的或者专有的数据字段在背景技术中是已知的。例如,历史信息字段可被用来向下游应用通知上游路由判定。但是,该方法的缺点是如果该请求被重定向,历史信息字段中的信息不能阻止下游应用被绕过。
通过使用B2BUA/代理服务器或通过专有的历史信息字段限制使用来设计已定序应用或者对应用定序的现有技术并没有解决上述问题。例如,现有技术并不能可靠地允许一个以上的定序后的应用影响路由。现有技术的另一个缺点是,应用被排序(即,执行顺序)的序列影响全部应用的整体性能。而且,没有仲裁机制来解决已定序应用之间的冲突。
这些问题限制了基于应用定序方法的应用的推广和广泛采用。
因此,需要对序列矢量中的应用的上下文有更好的认知,以更兼容和协调地执行已定序应用。
发明内容
根据本发明的实施例提供一种通过多个已定序应用中的已定序应用来影响通话路由的系统和方法,该方法包括:接收通话的头部,该头部包括来自多个已定序应用中的一个或多个的至少一个指示;仲裁所述头部中的至少一个指示之间的冲突,以确定至少部分地执行的一组已定序应用头部;以及,至少部分地执行该组已定序应用头部。头部的通信可以是采用SIP协议、HTTP、客户/服务器结构和/或双向异步协议。
在根据本发明的另一个实施例中,通过多个已定序应用中的已定序应用来影响通话路由的方法,包括:从通话会话管理器接收头部;插入指示到头部中;以及,通过通话会话管理器向中央代理服务器发送该头部,其中中央代理服务器被配置以仲裁由多个已定序应用插入到头部中的指示之间头部的冲突。
在根据本发明的另一个实施例中,通过多个已定序应用中的已定序应用来影响通话路由的系统,包括:接收机,被配置以接收通话的头部,该头部包括来自多个已定序应用中的一个或多个的至少一个指示;仲裁模块,被配置以仲裁头部中的至少一个指示之间的冲突,以确定一组多个已定序应用来至少部分地执行;会话管理器,用于至少部分地执行该组多个已定序应用;以及,控制器,被配置以控制会话管理器。
前述的是本发明实施例的简化的概要,以提供对于本发明一些方面的了解。该概要并不是本发明以及其各种实施例扩展的和详尽的概述。其并不是为了确定发明的主要或关键元素,也不是为了描述发明的范围,而是为了以简化的形式展示本发明所选的概念,作为以下给出的更详尽的说明的引言。应理解的是,本发明的其他实施例可以单独地或者组合地使用以上给出的或以下详细描述的一个或多个特征。
附图说明
一旦理解了以下结合附图对本发明实施例的详细说明,本发明的上述以及更进一步的特征和优点会变得更清晰,其中相同的标号在不同的图中被用来指示相同的组件,并且,其中:
图1是描绘根据本发明实施例的系统的框图;
图2以很高的抽象程度示出了根据本发明实施例的用于处理来自已定序应用的操作指示的流程;
图3以很高的抽象程度示出了根据本发明实施例的由会话管理器用于处理来自已定序应用的操作指示的流程;
图4以很高的抽象程度示出了根据本发明实施例的由最后一个应用用于处理来自已定序应用的操作指示的流程;
图5以很高的抽象程度示出了根据本发明实施例的由单独的仲裁模块处理来自已定序应用的操作指示的流程;
此处使用的头部仅仅是基于组织的目的,而并不用作对于说明书或者权利要求范围的限制。贯穿本申请所使用的“可以”被用来表示许可的含义(即,意思是具有潜在性),而不是强制的含义(即,意思是必须)。同样的,“包括”的意思是包含,而不限于此。为了帮助理解,使用了相同的标号来表示图中共有的相同组件。使用虚线示出图中的可选部分,除非其用法另有所指。
具体实施方式
以下结合一种示例性的通信系统描述本发明。尽管本发明很适合用于使用服务器和/或数据库的系统,但不限于用于任何类型的通信系统或系统组件配置。本领域的技术人员可以确认本发明的技术可用于需要采用应用定序的任何通信应用。
本发明示例性的系统和方法也描述了关于软件、模块以及相关硬件。但是,为了避免不必要的使得本公开晦涩,以下说明省略了公知的以框图形式示出的结构、组件和装置,或者进行了概括。
根据本发明的实施例一般涉及协作的应用定序,并且,具体地,涉及提供更为公平有效的方法进行应用定序,这使得应用轻便,减少了与邻近应用的连接。根据本发明的实施例进一步的提供了一种独立透明的仲裁的框架、模型和范例。
通过允许多个已定序应用之间更多的交互、建立已定序应用之间的通信和协调,根据本发明的实施例解决了现有技术的问题。
根据本发明的实施例允许上游和下游应用之间的仲裁。
根据本发明的实施例减少了对于定序应用独立地分叉请求的需求。
根据本发明的实施例减少了关于在序列矢量中已定序应用的顺序的问题。
根据本发明的实施例减少了对于背靠背用户代理(B2BUA)的需求。例如,在记录或语音检测中,通过将B2BUA功能赋予仲裁器,通过插入适当的头部指示以引发或调用B2BUA功能,减少了对于B2BUA的需求。
根据本发明的实施例向与下游应用执行的处理相关的上游应用提供可见性。
根据本发明的实施例使得下游已定序应用知道来自始发站/发端SIP用户代理、发端装置或应用的初始请求,以及来自上游应用的未决操作指示。
根据本发明的实施例减少了对于用以实现由另一应用处理的功能的应用(例如,通话转接)的需求。
通过集中管理路由和路由相关特征的调用,根据本发明的实施例可以帮助诊断与路由和/或路由相关特征有关的问题。应用通过操作指示的使用提示路由行为,并且路由的实现是由中央仲裁器(即,中央处理器、中央代理等)完成的,其接收和处理操作指示。
中央处理器执行的处理的文件或记录可以通过日志或SIP追踪的方式,以查看执行了怎样的操作,并且提供有关相关路由操作指示的记录,其包括向请求应用提供该记录。关于冲突操作指示的仲裁决定也能在该中央位置记录。
通过登录到中央仲裁器以查看操作指示的状态和解释、未执行的操作指示的状态码等,上游应用可查看中央仲裁器作出的路由决定。例如,如果应用未被完全调用导致用户抱怨不工作的情况,中央仲裁器能够被追溯或询问为什么仲裁器没有从应用兑现路由特征,以理解仲裁决定或者补救引发仲裁器决定的潜在条件。与背景技术形成对比,如果由于上游应用的打断,特征未被调用,可以分析上游日志和网络状态以描绘哪里出现了断开。
与背景技术相比,根据本发明的实施例提供了一些优点。例如,序列矢量中引用的多个应用可独立地影响路由,而不只是序列矢量中的一个应用单方面的影响路由。
另一个优点,根据本发明的实施例可提供由定序后的SIP代理影响和确定的路由,而不需要用来处理SIP背靠背用户代理(B2BUAs)的复杂性的应用。例如,使用例如增加媒体服务器日志(用作记录)的操作指示,已定序应用可继续作为简单的代理。然后仲裁器基于协调操作指示应用加强的动作。如果仲裁器本身(例如,会话管理器)不具有B2BUA能力,仲裁器随后调用B2BUA元件来应用该加强的动作。因此,只需要一个具有B2BUA能力的元件,而不是多个元件。
另一个优点,根据本发明的实施例提供单个点来仲裁来自应用的冲突请求,而不是允许应用作出没有协调的请求。
另一个优点,根据本发明的实施例提供通知或许可上游应用对于下游应用所要求的可见性。通过察觉下游路由动作,这可以提供简化的上游应用处理。
另一个优点中,根据本发明的实施例可通过将下游应用从需要对于一个路由通话追踪多个SIP对话释放来提供简化的下游应用。相反,由于中央代理向下游执行分叉,应用只能看到一个对话。
另一个优点,根据本发明的实施例减少了或消除了对设计已定序应用的执行次序的需要。改变执行次序并不改变行为,因为中央代理将协调不一致或不兼容情况。
另一个优点,根据本发明的实施例减少了应用对于路由细节了解的需求。例如,应用能够请求通话被路由到覆盖区,然而应用不需要自己实现覆盖功能。在该上下文中的覆盖区交替或可选地指终端元件、站、用户应用(UA),其相对于主要终端元件、站、装置或用户应用作为通话的备选角色。在该上下文中的终端元件、站、装置或用户应用此处可以称为“用户”。例如,语音邮件UA可覆盖主要用户的通话。语音邮件UA的覆盖区可以规定在转接该通话至备用的覆盖装置之前给用户振铃的时长。
在根据本发明的一个实施例中,主站可具有多于一个的备用、覆盖站,以使得在给主站一定时间的响铃之后所有的覆盖站都响铃。在另一个实施例中,一个备用覆盖站可为许多主站提供覆盖区。
覆盖站需要针对彼此配置。应用可使用操作指示以建议路由通话至覆盖区,在这种情况下,仲裁器是需要知道请求的配置的唯一装置。无需操作指示,每个应用必须需要知道怎样调用覆盖区。
在某些情况下难以设计和调用覆盖。例如,到覆盖站的通话不应转到覆盖站的语音邮件,或者进一步被转发至覆盖站覆盖区。
在以下的细节描述中,为了提供对于此处所述的实施例或其他示例彻底的理解,阐明了很多具体的细节。在某些情况下,没有详细描述公知的方法、流程、组件和电路,以使得以下的描述不那么晦涩。进一步的,所发明的示例只是示例性的目的,也可以使用其他的示例替代或与所公开的示例结合。还应当注意的是,此处给出的示例不应当被认为是对于本发明实施例范围的限制,也可能存在其他同样有效的示例。
在操作期间允许IP多媒体子系统(IMS)应用定序而几乎没有限制。然而,由于IMS应用定序缺少对于改进与其他IMS应用之间的协作有用的限制,未扩展的IMS应用定序并不是十分适合企业应用(其并不是免费独立运行的)。例如,IMS应用定序的准则目前包括宽松定义的限制,例如不超过大约2个或3个的应用可被链接,或者应用应当协商其间的特征交互等。这导致了紧密耦合的应用的设计,例如这种应用的设计可基于非正式文件的限制或其他应用的预期,并且,当其他应用的执行违背了非正式文件的限制或预期时,更可能出现不必要的交互。
以下结合一种示例性的通信系统示出本发明。尽管很适合与例如一种使用服务器和/或数据库的系统一起使用,但是本发明不限于使用任何特定类型的通信系统或系统组件配置。本领域技术人员可认识到所公开的技术必须用在任何需要采用已定序应用以为通信通话提供特定功能的通信系统中。
关于已定序应用软件、模块以及相关的已定序应用硬件,本发明的示例性系统和方法也进行了描述。但是,为了避免不必要的使得本公开晦涩,以下说明省略了公知的以框图形式示出的结构、组件和装置,或者进行了概括。
在以下的详细描述中,为了提供对于此处所述的实施例或其他示例彻底的理解,阐明了很多具体的细节。在某些情况下,没有详细描述公知的方法、流程、组件和电路,以使得以下的描述不那么晦涩。进一步的,所公开的示例只是示例性的目的,也可以使用其他的示例替代或与所公开的示例结合。还应当注意的是,此处给出的示例不应当被认为是对于本发明实施例范围的限制,也可能存在其他同样有效的示例。
此处所使用的术语“交换机”、“服务器”、“呼叫中心服务器”或“呼叫中心计算机服务器”应当被理解为包括专用交换分机(PBX)、ACD、企业交换机或其他类型的电信系统交换机或服务器,以及其他类型的基于处理器的通信控制装置,例如但不限于媒体服务器、计算机、附件等。
此处所使用的术语“模块”通常是指逻辑序列或者步骤、处理或组件的组合。例如,软件模块可包括计算机程序中的一组相关例程或子例程。可选的,模块可包括完全自包含硬件装置。模块可包括处理的逻辑集合,不管是任何软件还是硬件实现。
此处所使用的术语“网关”通常包括在装置之间发送和接收数据的任何装置。例如,网关可包括路由器、交换机、桥、防火墙、其他网络元件等,可包括其任何一个或其组合。
此处所使用的术语“发射机”通常包括能够发送电信号的任何装置、电路或设备。
此处使用的术语“计算机可读介质”是指参与存储和/或向用以执行的处理器提供指令的任何实体存储器和/或传输介质。这样的介质可以是多种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如NVRAM、磁盘或光盘。易失性介质包括动态存储器,例如主存储器。通常形式的计算机可读介质包括,例如软盘、硬盘、磁带或任何其他磁介质、磁光介质、CD-ROM、任何其他光介质、穿孔卡片、纸带、任何其他带孔的物理介质、RAM、PROM、EPROM、FLASH-EPROM、如存储卡的固态介质、任何其他存储芯片或磁带、以下所述的载波、或任何其他计算机可读的介质。电子邮件的数字文档附件或其他自主式信息存档或存档组被认为是等同于实体存储介质的介质。当计算机可读介质被配置为数据库时,可以理解的是该数据库可以是任何类型的数据库,比如关系、分层、面向对象等等。因此,本发明被认为是包括了实体存储介质或分布介质以及现有技术公认的等同或将来的介质,在其中存储实现本发明的软件。
此处使用的术语“SIP代理”通常指代表用户代理路由SIP请求和响应的进程。SIP代理可以是有状态的或者是无状态的。有状态的SIP代理记得SIP事务状态,并能够执行比如分叉的功能(即,用于联系人解析的路由的高级形式)。
此处所使用的“会话管理器”通常是指一个或多个模块或网络元件的控制机构。会化管理器可在比SIP代理更层的抽象上工作。会话管理器可管理通话会话,并且可在解决冲突的通话请求、呼叫所请求的装置、和/或转接所请求的通话至其它会话管理器之前向应用序列提出通话请求。会话管理器可作为系统的中央代理。
此处使用的术语“仲裁器”、“仲裁模块”、“仲裁代理”等通常是指系统的一部分,其收集头部指示、分析头部指示并确定执行哪些头部指示和/或跳过或不完全执行哪些头部指示。
此处使用的术语“联系人解析(contact resolution)”通常是指SIP代理或会话管理器的一部分,其查找针对用户的地址或者记录地址登记的联系人,发送请求至所有联系人或联系人的子集。根据本发明的实施例通过使用头部指令影响联系人列表,该指令可以指引联系人解析将联系人解析至通常联系人的子集并且/或添加通话要被发送至的其它联系人或记录地址。
此处所使用的术语“已定序应用(sequenced application)”通常是指这样的应用,通过它中央代理或会话管理器对通话请求进行定序。
本发明的一个或多个实施例可使用会话发起协议(SIP)作为通信协议。SIP是已知的通信协议,其在因特网工程任务组(IETF)请求注解(RFC)3261中描述,通过引用其内容被全部包含与此。SIP是用以建立多种实时通信会话的开放式信令协议。可使用SIP建立的多种类型的通信会话的示例包括语音、视频和/或即时消息。SIP还辅助实现对等通信会话。这些通信会话可在任意类型的通信装置上执行,例如个人电脑、笔记本电脑、个人数字助理、电话、移动电话、蜂窝电话等。SIP的一个关键特征是其有能力将终端用户的记录地址(AOR)用作对于所有通信的一个统一的公用地址。因此,在增强SIP通信中,用户的AOR变成了将用户链接至与用户相关的所有通信装置的单一地址。使用该AOR,呼叫者能够到达被称为用户代理(UA)的用户通信装置中的任何一个,无需知道每个独有装置地址或电话号码。
在SIP框架中的用户或任何其它可寻址实体通过通用资源标识符(URI)识别。每个这样的因特网类型的地址(例如,sip:johndoeavaya.com)映射入一个或多个联系人,其每个典型地表示可到达相应用户的装置或服务。例如电话、桌面多媒体客户端、即时消息账户、电子邮件账户等。SIP框架负责将被定址于给定URL的对等会话的请求路由至该URL的一个或多个合适的联系人。该框架可利用关于由URL标识的用户的偏好、存在性和位置的信息,来确定最合适的联系人。该协议还提供指定被请求的会话类型的机制,以及改变会话偏好的装置。
也可通过通信信道将基于SIP的通信控制系统连接至广域通信网络。通信控制系统可以是例如Avaya AuraTM会话管理器。通常基于通信会话中涉及的主叫方和被叫方的标识,会话管理器可选择在发起和终止定序阶段使用的网络应用。形成序列矢量的服务器(例如,特征服务器)列表可以在用户规定的时间被管理。主叫方配置简档提供发起序列矢量,而被叫方简档提供终止序列矢量。这两个组合的矢量提供了在网络中会话发起请求如何从主叫方到被叫方的路线图。
在符合也被称为RFC 3261的会话发起协议(SIP)的信号的指引和控制下,通信信道可携带实时语音和视频媒体流。使用也被称为RFC 3550(以前的RFC 1889)的实时传输协议(RTP),媒体流被传递以传输实时数据和提供服务质量(QoS)反馈。
SIP不是垂直集成通信系统。SIP是能被用来与其它IETF协议建立完整的多媒体结构的组件。典型地,这些结构将包括例如以下协议:用于传输实时数据并提供QoS反馈的RTP(RFC 3550)、用于控制流媒体的传送的实时流协议(RTSP)(RFC 2326)、用于控制到公用交换电话网络(PSTN)的网关的媒体网关控制协议(MEGACO)(RFC 3015)、以及用于描述多媒体会话的会话描述协议(SDP)(RFC 2327)。因此,为了向用户提供完整的业务,SIP应当与其他协议结合使用。但是,SIP的基本功能和操作并不依赖于这些协议。
图1描绘了根据本发明实施例的通信系统100。该通信系统可包括企业网络104,其通过(典型地,非信任的或不安全的或公共的)通信网络108与一个或多个外部通信装置112通信。外部通信装置112通常被称为“外部”是因为其不直接由管理企业网络104的企业控制或者与企业网络104中的通信装置136相比具有低于企业网络104的信任级别。示例性类型的外部通信装置112包括但不限于蜂窝网络、笔记本、个人电脑(PCs)、个人数字助理(PDAs)、数字电话、模拟电话等。
通信网络108可以是分组交换和/或电路交换的。示例性通信网络108包括但不限于例如因特网的广域网络(WAN)、公共交换电话网络(PSTN)、普通老式电话业务(POTS)网络、蜂窝通信网络或其组合。在一种配置中,通信网络108是支持TCP/IP协议组的公共网络。
企业网络104可包括包含服务器表120的边界装置116、包含通话特征定序器128和用户表132的通信服务器124、一个或多个内部通信装置136、锚点服务器140、能够提供一种应用148或一组不同应用152的一个或多个应用服务器144、若干其他服务器156以及企业数据库160,其都是通过(信任、安全或专用的)局域网(LAN)164相互连接的。图1中描绘的某些或所有功能可一起驻留在一个服务器上。图1中组件的描述是为了系统100的组件的逻辑描述。
通过位于LAN 164和通信网络108之间的网关和/或防火墙,LAN 164没有被非信任方侵入的危险。在一些实施例中,边界装置116可包括网关和/或防火墙的功能。在一些实施例中,可以在边界装置116和通信网络108之间提供单独的网关或防火墙。
通信服务器124能包括专用交换分机(PBX)、企业交换机、企业服务器、其组合或其它类型的电信系统交换机或服务器。通信服务器124优选地配置以执行电信功能,例如Avaya公司的一组Avaya AuraTM应用,包括Communication ManagerTM、Avaya Aura Communication ManagerTM、Avaya IP OfficeTM、Communication Manager Branch TM、Session Manager TM、System Manager TM、MultiVantage ExpressTM及其组合。
尽管图1中只是描绘了一个通信服务器124,在一个企业网络104中或通过一个企业所拥有和运营但由通信网络108分离的多个独立的LAN164,也可以提供两个或多个通信服务器124。在企业或企业网络104包括两个或多个通信服务器124的配置中,每个服务器124可包括相似的功能,但可规定仅向所有企业用户的子集提供其特有功能。具体地,第一通信服务器124可以被授权和服务于企业用户的第一子集,而第二通信服务器124被授权和服务于企业用户的第二子集,其中,用户的第一子集和第二子集通常不共享公共用户。这是为什么网络边界装置116可以具有服务器表120的一个原因。
另外,多个服务器124能支持公共用户团体。例如,在用户不必绑定于一个应用服务器的地理信息冗余(geo-redundant)和其他应用中,可以有等价服务器的集群,其中用户可由该集群中的任意服务器服务。
根据本发明的至少一些实施例,在通信请求中的用户标识的映射并不需要一定发生在网络边界装置116。例如,在授权服务器和用户之间的映射可发生在企业网络104中网络边界装置的“后面”。
在一些实施例中,网络边界装置116负责将企业网络104中的通信初始地路由至负责服务在通信中涉及的特定用户的服务器124。例如,如果第一企业用户被外部通信装置112呼叫,随后网络边界装置116可初步地接收进入的通话,确定该通话朝向第一企业用户,参考服务器表120以识别第一企业用户的授权通信服务器124,并将进入的通话路由至授权通信服务器124。同样地,在通信建立的发起阶段,内部企业用户(例如,内部通信装置136)之间的通信可首先由发起方用户的授权通信服务器124服务。在发起阶段完成之后,终止(或,被叫)用户的授权通信服务器124可以被调用以完成通信建立的终止阶段。在一些实施例中,用于发起和终止用户的通信服务器124可以是相同的,但这并不是必需的。在通信会话涉及多于两个企业用户的情况中,可以在不背离本发明范围的情况下使用每个所涉及用户的授权通信服务器124。另外,每个用户的授权通信服务器124可以是在相同的企业网络104中,或者在不同的企业网络104中,其由共同的企业拥有但由通信网络108分离。
每个通信服务器124包括特征定序器128和用户表132。通信服务器124的用户表132包括其授权的每个用户的通信偏好。具体地,用户表132可由用户和/或由管理人员规定。特征定序器128参考特定用户的通信偏好以确定,如果有的话,哪些特征应被引入用户的通信会话。特征定序器128能够实际地直接将通信特征提供给通信会话,或者,特征定序器128能够确定在建立期间会被调用以及在通信会话期间会被使用的应用序列。
根据至少一些实施例,特征定序器128能够确定应用序列并导致一个或多个应用148、152被排序到通信会话。具体地,特征定序器128被配置为分析特定用户通信偏好,并调用必要的应用以实现这样的偏好。一旦特征定序器128确定了应用序列,通信服务器124传递通信建立消息至应用序列中的第一应用,从而使得第一应用确定通信会话的参数、将其自身插入通信会话的控制和/或媒体流,从而将其自身绑定至通信会话。一旦第一应用将其自身插入通信会话,第一应用将通信建立消息传递回特征定序器128以识别应用序列中的下一个应用,或者将通信建立消息直接传递到应用序列的第二应用。可选的,或者此外,该消息可以被重定向、拒绝等。另外,应用可将各方和/或媒体服务器添加至通话。能被理解的是,该流程持续直至所有的应用都被包括在通信会话中,并且该流程对于通信会话中所涉及的每个用户可以被复制。
尽管只是描绘了两个应用服务器144,本领域技术人员可以理解的是能够提供一个、两个、三个或更多的应用服务器,并且每个服务器可被配置以提供一个或更多的应用。特定应用服务器144提供的应用可以根据服务器144的能力变化,并且在特定应用服务器144包括一组应用152的情况下,在特定应用序列中可以包括该组应用152中的一个、一些或所有的应用。然而,在应用序列中不需要包括应用152组中的所有应用,对于包括在应用序列中的应用的顺序也没有要求。反而,通常基于能够在用户表132中找到的用户通信偏好来确定应用序列。可选的,或者此外,出现在用户序列矢量中的应用及其在矢量中的顺序可由系统管理员确定以满足商业需要。
另外,应用序列能够基于在通信会话中使用的媒体类型变化。例如,用户可具有针对基于语音的通信的第一组偏好、针对基于视频的通信的第二组偏好、以及针对基于文本的通信的第三组偏好。另外,用户可以具有定义了首选媒体类型的偏好以及用于将通信会话从一种媒体类型转换为另一不同的媒体类型的规则。更进一步的,用户可以具有定义了多媒体通信建立和实施方式的偏好。
包含在特定应用序列中的应用通常被包括以适应用户的偏好。应用可根据媒体类型、功能等变化。示例性类型的应用包括但不限于EC-500(蜂窝的扩展)应用、通话建立应用、语音邮件应用、电子邮件应用、语音应用、视频应用、文本应用、会议应用、通话记录应用、通信日志业务、安全应用、加密应用、协作应用、白板应用、移动性应用、存在应用、媒体应用、消息传输应用、桥接应用以及能够补充或增强通信的任意其他类型的应用。另外,不背离本发明范围,在一个应用序列中能够包括一个、两个或更多给定类型的应用。
相对于在应用序列矢量中引用的一个预定应用,在应用序列矢量中引用的应用此处可被称为是上游应用和/或下游应用。上游应用是在应用序列矢量中早于该预定应用被执行和引用的应用。下游应用是在应用序列矢量中晚于该预定应用被执行和引用的应用。
根据本发明的实施例可简化记录地址(AOR)用户关系元素(URE)/已定序应用组,以如同一个SIP代理服务器那样工作,该代理服务器的操作可被已定序应用影响。URE是被用来将用户映射至特定功能或业务的机制。这具有使得已定序应用对于提出的所有影响具有可见性。
根据本发明的实施例可限制已定序应用修改其头部的能力。例如,已定序应用被限制为只是添加操作指示到其头部,例如与代理服务器和媒体有关的操作指示。已定序应用不具有修改或删除与代理服务器、媒体头部和其他功能(例如,重定向、联系人解析、分叉、处理SIP 4xx响应、DTMF检测、记录等)相关的头部的能力。可替代地,功能的变化(例如,路由目标)将由对应用定序的核心代理服务器以及相关的媒体服务器仲裁。其路由指示与来自序列矢量中引用的另一应用的路由冲突的应用可使其路由被跳过,或者它可以部分执行以使得与另一应用不冲突的路由和/或功能仍然被执行。应用的部分执行可包括实质处理通话,但是如果对该实质处理的结果的路由会产生如仲裁模块所确定的冲突时不包括该路由。
由仲裁模块执行的处理可包括独立的仲裁器子过程和单独的执行子过程。仲裁器子过程可运行以解决冲突的头部指示之间的冲突。执行子过程可运行以在仲裁器子过程解决了头部指示之间的冲突之后执行继续存在的头部指示。
仲裁模块可包括单独的处理模块,该模块执行仲裁器子过程和执行过进程。可选的,仲裁模块可包括多于一个的子模块,以使得子模块彼此通信联系,从而共同执行仲裁器子过程和执行子过程。
根据本发明实施例的应用操作还防止删除由在序列矢量中引用的其他应用所添加的头部。可以通过由应用自我管制的方式来防止应用删除或改变已存在的操作头部指示。可选的,例如会话管理器的系统级应用可实现头部锁定机制。例如,会化管理器可在到应用的通话“之前”和“之后”比较头部,并更正对于头部任何未授权的变化。例如,假设应用想要设法成为关于通话的某些操作的唯一对象。在背景技术中,应用已经简单地和单方面地删除了引用其他应用的目标操作指示,并插入了引用自身的目标操作指示。可替代地,根据本发明的实施例,应用现在可添加“删除目标”指示,并添加“添加目标”指示以添加其自己的URI。如以下会进一步详细描述的,中央代理服务器的仲裁可解决冲突操作指示之间的冲突。
根据本发明的实施例将头部附加视为对于核心的操作指示,其指示核心影响代理服务器、媒体和关于通话的其它功能(例如,重定向、联系人解析、分叉、处理SIP 4xx响应)的控制。根据本发明的实施例因此导致在中央代理服务器或其它单个中央位置执行的功能,其使得中央代理服务器可以仲裁所有的代理服务器操作指示。由于已定序应用只被允许添加头部,所有下游的已定序应用可以看见初始的请求。
仲裁冲突指示的单个中央位置可以是用于路由指示的代理服务器。对于媒体指示,仲裁冲突指示的该单个中央位置可以是中央B2BUA。中央B2BUA可以作为处理路由和媒体指示的单个B2BUA实现,或者作为处理路由指示的代理服务器和处理媒体指示的B2BUA来实现。对于媒体指示,如果使用单独的代理服务器和B2BUA,这两个实体是在应用序列中的最后两个,代理服务器在媒体B2BUA之后。
当作用于和仲裁来自应用的竞争操作指示时,核心代理服务器/媒体服务器返回包含仲裁决定和应用所添加的头部方案的临时响应。以后,直至被通知,没有应用知道仲裁决定,没有上游应用知道下游应用加入的头部指示,该信息在临时响应中有用。
目的端UA很久之后发送最终的响应,但在一些情况中,该最终响应到达之前应用需要对决定作出反应。在这种情况中,仲裁器会发送其决定和考虑的所有的头部操作指示,并在及时的临时响应中将其返回。临时响应使得上游应用可以知道中央代理服务器的决定的细节。如果上游应用不同意中央代理服务器的决定,上游应用随后设法取消当前请求并用更高的优先级再次尝试。可选的,上游应用可以记录错误并通知用户为何该应用不能执行其指示,从而用户能够调整该问题。
表1中示出了根据本发明实施例的应用被允许添加至头部的操作指示的示例。指示可以被概括地分成路由影响、通话标记和媒体抽头(mediatap)控制类别。如此处引用的,记录地址(AOR)是SIP URI,其指向具有能够将该URI映射到该用户有效的另一个URI的定位业务的域,即用户的“公共地址”。全球可路由用户代理(UA)URI(GRUU)是路由至特定UA实例的公开可获取的URI。
表1.
关于路由影响的头部操作指示可包括添加目标(Add-target)指示、删除目标(Remove-target)指示、拒绝(Deny)指示、允许(Allow)指示和所有者(Owner)指示。
该添加目标指示被用于请求URE路由该通话至添加目标指示标识的目标。为了添加URI至已示出的其余目标,所添加的目标可以指URI。与此对比,添加目标的SIP请求可将通话仅路由至请求URI。根据本发明实施例操作的已定序应用可通过添加多个添加目标指示至通话头部来实现分叉。
与之对比,删除目标指示被用来请求URE从路由中删除列出的目标。删除目标指示不删除在相同优先级被添加的目标。其仅删除默认目标以及在更低的优先级被添加的目标。以下进一步详细的描述优先级。
对于添加目标指示和删除目标指示,所述指示的参数为:
AOR,其可以与URE表示的一个不同,具有本地AOR的默认范围;
呼叫者偏好(CallerPreference),除了呼叫者偏好可以仅定义一个项目之外,其与RFC3851相似。例如,移动性=移动(Mobility=mobile);或者Label(标签)=+121255512121;
URE的联系人之一的GRUU;
“覆盖(Coverage)”,是指向AOR的覆盖路径的指针;以及
“语音邮箱(VoiceMail)”是指向用户的语音邮件的指针。
拒绝指示被用于请求URE用SIP响应486、404、480或403拒绝通话。拒绝可包含原因(reason)参数使URE返回与默认SIP短语不同的短语。如果URE接受了拒绝,其将用所请求的sip响应来拒绝通话。URE通常是指或包括仲裁器,默认范围是本地AOR。
如果给出了拒绝指示,该通话将被拒绝,而不管是否有任何的目标。如果拒绝头部优先级或者之上有允许指示,忽略拒绝指示。如果有不同优先级的多于一个拒绝指示,从具有最高优先级的指示确定响应码。如果有多个具有相同优先级的拒绝指示,响应码的优先顺序是:404、403、480、486,最高优先级被列在首位。这把关于用户的最少信息放在了前面。为了保密的目的,希望提供最少的信息(例如,作为通话部件的一部分)。
允许指示被用来请求URE不考虑相同或者更低优先级的任何拒绝头部,允许通话通过。更高优先级的拒绝头部不被允许指示影响。允许指示的目标是URE,默认范围是本地AOR。
所有者指示将相关INVITE的所有者设置为仅URE的AOR。所有者指示对覆盖区和语音邮件特征可能有用。例如,如果通话被发送至语音邮箱或覆盖区,其应去到所有者的语音邮件或覆盖区,而不是去到URE的AOR。所有者指示的目标是调用如“覆盖区”和“语音邮件”的特征者。所有者指示的默认范围是″*″(即,全局范围)。全局范围在这里对于使得通话转接至另一个URE是有用的。该指示对于转接的通话很重要,从而第一URE的语音邮件不会去到第二URE。
私有指示被用来将当前通话的默认隐私设置设为私密的。隐私设置随后可被通话用户改变。私有指示不允许其他用户桥接至通话。私有指示的目标是端点。
关于媒体抽头控制的头部指示可包括记录指示、Detect_DTMF指示、Fork-media指示、Detect_Speech指示、获取会议发言人事件(GetConferenceTalkerEvents)指示、IM-Wisper指示。媒体抽头通过实体提供集中的媒体记录能力。媒体抽头处理SDP头部信息,但可以作为代理服务器出现。媒体抽头可由已定序应用引入的SIP头部消息控制,媒体抽头可位于序列矢量的末端。
媒体抽头功能包括提供集中记录、查看业务使用、提供合法的截断、DTMF检测/箝位、通话分类等。在序列的末端提供媒体抽头,其能控制例如MSMSL服务器的媒体服务器。媒体抽头接受SIP消息头部头部中的命令,从应用创建预定至媒体抽头,以使得在发生媒体事件时媒体抽头能够通知应用。
构成web基础的结构类型是表述性状态转移(REpresentational StateTransfer,REST)。遵循REST的web服务被称为“RESTful(可表述性状态转移的)”。
媒体抽头接受SIP消息方法以在通话期间改变媒体抽头请求。可选的,媒体抽头可以通过HTTP接口接受命令,例如用媒体抽头提供的Restful接口以允许应用控制媒体抽头。该媒体抽头可以类似于应用层网关(ALG)操作,其中媒体抽头可如同代理服务器那样操作,除了改变SDP消息的主体之外。例如,媒体抽头可发送SIP RE-INVITE消息,但不改变对话标识或联系人。
媒体抽头可执行如DTMF检测、语音记录、应答机器检测等功能。根据本发明的实施例可将PBX特征移入媒体抽头,其能被外部定序应用使用。媒体抽头功能的进一步的优点是分散控制,可通过减少或消除对于相同会话的多次记录来降低资源使用,减少特征交互,允许其他应用平衡中央能力。替代每个记录应用必须解决复杂的记录通话流程,根据本发明的实施例在中央媒体抽头将其一次性实现,并使得已定序应用通过媒体头部指示将其实现。
根据本发明的实施例可提供保留参数,从而如果设置保留参数,那么被请求的媒体抽头资源被储备,但还未运行。
记录指示通知媒体抽头记录该通话,而不影响SIP UA协商的媒体,即,不影响通话的物理层特性。如果定义了所有者-联系人(owner-contact)参数,为联系人建立隐含的订阅,以通知由媒体抽头功能返回的应用消息(例如,错误消息)。
可提供标记参数,从而通话可由何人谈话以及在何时谈话来标记。
在通知中,媒体抽头可发送URI至媒体抽头的记录业务的RESTfulweb服务。每个这样的应用在URI中具有不同的会话,从而知道他们全部停止记录,记录才真正停止,尽管每个应用只能够找回所请求的应用被记录的部分记录。
Detect-DTMF指示通知媒体抽头检测DTMF数字位。Detect-DTMF的语法可包括至少对于熟悉Unix或Linux的人所公知的正则表达式(regexp)。如果给出了正则表达式,响应于Detect-DTMF指示的媒体抽头然后仅仅检测匹配正则表达式的数字位。默认范围是全局范围。如果两个应用请求相同的箝位,他们都获得相同事件的通知。如果两个应用请求不同的DTMF数字位,他们将被通知不同的事件。
Detect-DTMF的语法可包括箝位参数,其指示是否有任何被检测的数字位被箝位。媒体抽头位于媒体流中两端点之间。如果一个端点发送DTMF数字位至另一个,媒体抽头能够检测出它并将DTMF事件通过SIPNOTIFY发送至应用。如果开启箝位,媒体抽头会“箝位”该数字位,使其停止通过媒体路径去到远端装置。如果没有打开箝位,远端装置会听到DTMF数字位。
Detect-DTMF的语法可包括owner-contact参数。如果给出了owner-contact参数,隐含的订阅会被建立至联系人以用箝位的数字位通知DTMF事件的应用。
在从媒体抽头到应用的SIP通知中,媒体抽头为Detect-DTMF指示发送URI至RESTfulweb服务。每个应用在该URI中具有不同的会话,从而直到他们全部停止检测DTMF,Detect-DTMF功能才停止。
应用通过头部指示请求媒体抽头。如果指示表示SIP联系人,随后从该应用设立到媒体抽头的隐含的SIP SUBSCRIPTION。当该SUBSCRIPTION被设立,如果检测到DTMF,将用SIP NOTIFY将数字事件设为应用。
Fork-media指示通知媒体抽头将媒体(例如语音、视频等)分叉为特定IP地址和端口,一个IP地址和端口用于一个方向上的媒体,一个IP地址和端口用于在相反方向上的媒体。当应用需要不能由媒体抽头处理的能力时,分叉是有用的。请求的能力可以仅读取媒体,但不能改变去到任一SIP UP的媒体。例如,应用可具有讲话者训练听写引擎,其被针对通话的用户之一训练。应用能够将语音分叉至讲话者训练听写引擎,并接收用户记录的文本版本,允许该记录为可搜索的。
Fork-media-to-sip-device指示通知媒体抽头将媒体(例如,语音、视频等)分叉至SIP URI。该指示会导致媒体抽头进行到SIP URI的通话,并且当通话被应答时,发送抽头的语音至SIP URI。Fork-media-to-sip-device指令是方便的特征,当应用希望将媒体分叉至SIP端点时有用。
Detect-Speech指示通知媒体抽头检测语音。包括在表1中的参数“语法(grammar)”定义了要被检测的短语。可选的owner-contact参数可被定义以通知谈话事件的所有者联系人,其将指示隐含的订阅需要被建立至所有者联系人。在该通知中,媒体抽头可为媒体抽头的Detect-Speech业务发送URI至RESTfulweb服务。
IM-Whisper指示允许应用发送文本至媒体抽头,其中媒体抽头转化为语音。媒体抽头然后将该语音加入媒体路径。如果给出了可选的owner-contact参数,隐含的订阅被建立至所有者联系人以将到IM-Whisper业务的RESTfulweb服务URI通知给应用。RESTfulweb服务使得应用可以控制IM-Whisper,并设置要被加入的文本。每个应用在URI中具有不同的会话。如果多个应用设置IM-Whisper头部,媒体抽头会将他们所有混合,按照顺序播放他们,或者可能仅仅发送具有最高优先顺序的那一个。
根据本发明的实施例,添加至头部的指示可包含优先级,其给了代理服务器中的仲裁流程提示哪个冲突指示具有优先权。通过检查系统日志随后可调整优先级。在应用管理配置中,用户能够设置其应用的特征的优先级,其影响它发送的指示的优先级。所以如果用户发现一个应用特征超过另一应用特征,其能够通过应用管理界面改变应用特征的优先级来调整该系统。如果在头部中没有包含任何内容,则指示也可包括默认优先级规则。默认优先级规则的示例包括:
(a)“拒绝(Deny)”高于“覆盖(Coverage)”高于“语音邮箱(VoiceMail)”高于任何目标(而不管其优先级)。例如,如果一个应用加入带有“拒绝”的头部,另一个应用加入头部以发送通话至语音邮件,两个头部具有相同的优先级设置,拒绝将超过语音邮箱、覆盖,所以通话会被拒绝(可能占线)而不是被转接至用户语音邮件;
(b)较高优先级指示优于较低优先级指示;
(c)如果指示具有相同的优先级,则(1)添加目标(Add-Target)高于删除目标(Remove-Target);并且(2)允许(Allow)高于拒绝(Deny);
(d)如果包括多个Deny头部指示的响应被接收,则整体优先级取自最高的优先级头部。头部被用来指示中央代理服务器/媒体抽头;
(e)如果具有同样优先级的多个Deny头部被接收,SIP 404(未找到,Not Found)状态码响应优先于SIP 403(禁止,Forbidden)状态码响应,SIP 403状态码响应依次优先于SIP 480(暂时无效,TemporarilyUnavailable)状态码响应,SIP 480状态码响应依次优先于SIP 486(此时占线,Busy Here)状态码响应。
根据本发明的实施例添加的头部指示可使用特定的头部参数。这些参数被用在任何加入的头部上,而不只是适于根据本发明的实施例的头部。例如,被用来向UA指定可选的铃音的警告信息(Alert-Info)头部字段也可以包括此处所列出的一个或多个参数。优先级或所有者名字(owner_name)能被用于在两个设置了Alert-Info头部字段的冲突的应用之间的仲裁。
应用通常不能基于来自序列矢量中的下游应用的加入来引入头部指示。为了通知上游应用,最终URE阶段将加入的头部置于SIP 183进程(Progress)消息中,从而能够通知上游应用,并在他们被超过时采取行动。例如,上游应用能够向下游发送SIP取消(SIP CANCEL),然后用调整后的头部向下游重新发送SIP请求。
根据本发明的实施例可使得已定序应用具有像受限的SIP代理服务器那样的行为。根据本发明的已定序应用可通过不重写请求运转(直接重定向请求)来限制该行为,并且将该请求分叉。这样的已定序应用可被实现为RFC3261中定义的SIP代理服务器,然而,已定序应用不需要仅仅被实现为单纯的SIP代理服务器。
如果不需进一步的控制或监督,根据本发明的实施例的已定序应用将不发送4xx回复(即,客户失败响应)。可替代地,该已定序应用将通过适当的头部消息传统提交请求的操作至URE,以发送SIP 4xx客户失败响应消息。该已定序应用也不发送SIP 2xx回复(即,指示成功的响应)。SIP代理服务器将通话路由至其它端点。其他端点发回SIP 2xx回复以接受请求并创建端点和发起点之间的SIP对话。SIP代理服务器不允许终止通话,所以其不能用SIP 2xx响应应答通话。需要改变SDP的应用可发送另一个SIP INVITE消息以重新邀请具有所需SDP的接收者。
根据本发明的已定序应用可通过URE代理服务器末端将特殊的头部加入到正经过的请求中来请求动作。需要影响URE代理服务器头端的该已定序应用可在去往URE代理服务器头端的正经过的响应中加入特定的头部。
如果根据本发明的已定序应用需要起到SIP UA的作用,其执行两个设备功能,一个是已定序应用代理服务器,一个是能够通过联系人解析来解析的SIP UA。已定序应用能够通过由URE代理服务器末端插入头部至请求动作将通话路由至SIP UA。在这种情况下,已定序应用是代理服务器,所以其不能应答通话。如果该应用想要应答通话,使用路由指示将该通话路由至自己,然后应答通话。在这种情况中,应用扮演了两个角色,第一个是作为序列中的代理服务器,第二个是作为应答通话的SIP端点。SIP端点是SIP UA,代理服务器是SIP PROXY。
会话类同(以致于应用的UA和Proxy部分能够共享状态)由SIP消息的对话标识处理,其唯一的标识该对话或会话。UA和PROXY能使用对话标识以共享状态。
在所有的已定序应用都具有了将指示插入头部的机会之后,最终流程分析头部指示,解决加入的头部冲突,并在URE末端处理之前删除头部冲突。最终流程可由中央代理服务器、会话管理器、SIP代理服务器、IP-PBX等执行,或者可以包括锚定在应用序列的末端的应用。
例如,图3示出了根据本发明实施例的流程300,其中最终流程以会话管理器304或其它代理服务器中的仲裁器模块306实现。会话管理器304接收进入流308并通过一个或多个已定序应用302将之路由,其能够根据本发明实施例向消息头部头部添加所请求的指示。在被已定序应用302接收时,该头部包括直至该点所请求的指示完整集合,包括序列矢量中先前已定序应用302所请求的任何指示。在已定序应用302的处理后,其请求的指示将被插入头部。
当最终的已定序应用302结束时,为解决添加后的头部之间的冲突,会话管理器304调用仲裁器模块306,并将外出流路由至适当的目的地。
图4示出了根据本发明实施例的流程400,其中最终流程以已定序应用402中的仲裁器模块406实现。为解决直至该点的冲突,尽管已定序应用402通常是该序列矢量中引用的最后一个应用,仲裁器模块406也可以位于该序列矢量中较早的位置或者位于多个已定序应用中。
图5示出了根据本发明实施例的流程500,其中最终流程以独立的仲裁器模块506(例如仲裁器模块506不必是会话管理器404或已定序应用302的一部分)实现。在调用所有的已定序应用302后,会话管理器404可经由非序列接口(例如RESTful)调用仲裁器模块506。
最终流程可仲裁加入的路由头部中的冲突。最终流程可响应具有包括所有的加入的头部的进程消息中的SIP会话的所有应用。该消息允许应用知晓其它应用请求的是什么。最终流程将根据加入的路由头部关注路由消息。
在序列矢量串的头端,如果重试头部已被加入至SIP 4xx响应,则可以发送INVITE的重试。
根据本发明的实施例降低了由B2BUA和分叉代理服务器已定序应用引入的公知技术中的复杂度。单个点被用作最终流程来控制路由,从而由于应用能进行由最终流程仲裁的路由请求而降低对应用的限制。具有最终流程控制路由还可以提高记录冲突的能力。
根据本发明的实施例通过将SIP UA应用移动至SIP UA端点所在结构的相同部分而简化了URE处理。通过使URE成为由已定序应用控制的SIP代理服务器,URE作为整体被简化。外表上,URE似乎是简单的SIP代理服务器。根据本发明的实施例允许应用知晓路由影响并对SIP 4xx消息和取消(Cancellation)作出反应。所述实施例还允许所述应用共同工作并减少冲突。
根据本发明的实施例可以最初向应用规定最高优先级。对于这种最初规定,如果应用的头部优先级超过预定的最高值,仲裁器可以减少应用的头部优先级。
根据本发明实施例添加的头部指示还可以包括下列公共参数。
(a)优先级(Priority)=(1-10),默认值为1。优先级头部字段指示客户段感知的请求紧急情况。优先级头部字段向接收的人或其代理描述了SIP请求应该具有的优先级。例如,其可被作为有关通话路由和接受的决定的因素。
(b)所有者_名字(Owner_name)=(自有应用的名字)。如果该字段没有呈现在头部中,则忽略该头部。
(c)所有者_联系人(Owner_contact)=(sip:...)。这是描述所有者的URI的可选字段。
(d)范围(Scope)=(sipdomain|AOR|gruu|*)[&(sipdomain|AOR|gruu)+]。这是定义指示范围的可选参数。如果该范围是局部的,则其仅应用于局部URE/中央代理服务器。例如,如果应用在一个用户的具有AOR范围的已定序应用中设置指示,如果请求转入到另一个URE,则该指示将被删除。如果该范围是全局的,当请求在同一SIP域的URE内时,则该指示维持有效,且SIP域将保持不变。因此,如果应用了添加目标(add-taget)头部时,范围是AOR,且如果通话稍后从第二用户转发到第一用户,将不再应用添加目标。
图2示出了根据本发明实施例的流程200。流程200从步骤202开始,在此,会话管理器开始处理应用序列矢量中的第一应用。
接下来,在步骤204中,会话管理器确定应用是否寻求改变或影响通话路由,例如通过添加/删除/改变通话的目的地。
如果在步骤204中引用的应用不寻求改变或影响通话路由,则在步骤206,流程200前进到序列矢量中的下一个应用。但是,如果在步骤204中引用的应用寻求改变或影响通话路由,则流程200前进到步骤208,在此,新的头部指示被插入到通话的通话处理头部中。
接下来,在步骤210,会话管理器确定序列矢量中是否还有需要被处理的应用。如果步骤210的答案是肯定的,则流程200的控制转换至前述的步骤206。如果步骤210的答案是否定的,则流程200的控制转换至步骤212,在此,中央代理服务器将处理头部指示并解决冲突。
最终,在步骤214,将中央代理服务器确定的最终路由决定通知给序列矢量中引用的应用。
本发明的实施例包括具有与一个或多个存储器耦合的一个或多个处理单元的系统。该一个或多个存储器可以被配置为存储软件,当一个或多个处理单元执行该软件时,至少通过使用在此(包括至少图2和相关文字)描述的的流程,使得已定序应用可以影响SIP路由。
公开的方法可以在软件中被容易地执行,例如,利用对象或面向对象的软件开发环境,其可提供能够被用在多种计算机或工作站平台的可移植源代码。可选择的,公开的系统可以部分或全部地以硬件实现,例如,通过利用标准逻辑电路或VLSI设计。使用软件还是硬件来实现按照本发明的各种实施例的系统,取决于各种考虑,例如系统的速度或效率需求、特定功能以及所使用的特定软件或硬件系统。
尽管上面描述了本发明的实施例,在不脱离其基本范围情况下,可以想出本发明的其它和更多的实施例。应该明白,不脱离在此包含的范围,在此描述的各种实施例可被用来与所述的其它实施例结合。进一步的,上面的描述并不是全部也无意将本发明限制为公开的精确形式。根据上述教导或者可以从本发明的实践中获取的修改或变化是可能的。
除非明确地描述为这样,在本申请的说明书中的元件、动作或指令不应被认为对本发明而言是关键性或必需的。同样,在此使用的名词意指包括一个或多个项目。在意指仅一个项目的地方,使用术语“一个”或相似的语言。
此外,除非明确声明,权利要求不应被认为限制所述的顺序或元件。
Claims (11)
1.一种用于由多个已定序应用中的已定序应用影响通话路由的方法,包括:
接收所述通话的头部,所述头部包括来自所述多个已定序应用中的一个或多个已定序应用的至少一个指示;
仲裁所述头部中的至少一个指示之间的冲突,以确定一组已定序应用来至少部分地执行;以及
至少部分地执行所述一组已定序应用。
2.如权利要求1所述的方法,其中:
已定序应用使用从SIP协议、HTTP协议、客户端/服务器协议和双向异步协议组成的群组中选择的协议来传递所述头部。
3.如权利要求1所述的方法,其中:
至少部分地执行所述一组已定序应用的步骤包括,控制从由会话管理器、代理服务器和SIP元件组成的群组中选择的一个来实现仲裁决定。
4.如权利要求1所述的方法,进一步包括:
向所述多个已定序应用通知所述一组已定序应用已被至少部分地执行。
5.如权利要求1所述的方法,其中:
如果来自所述已定序应用的所述指示与来自另一个已定序应用的指示相冲突,则会话服务器跳过所述头部中的指示。
6.如权利要求1所述的方法,其中:
所述指示是从由以下指示构成的群组中选出的:添加目标指示和删除目标指示之一、防止桥接所述通话的隐私设置、仲裁冲突时使用的优先级因素、和媒体抽头控制指示。
7.如权利要求6所述的方法,其中:
所述媒体抽头控制指示是从由保留参数和记录指示组成的群组中选择的;其中,如果设置了所述保留参数,则所述媒体抽头资源被保留而不运行,所述记录指示指示所述媒体抽头记录所述通话而不影响协商的媒体。
8.一种用于由多个已定序应用中的已定序应用影响通话路由的方法,包括:
从通话会话管理器接收头部;
插入指示到所述头部中;以及
通过所述通话会话管理器向中央代理服务器发送所述头部,
其中所述中央代理服务器被配置以仲裁由所述多个已定序应用插入到所述头部中的指示的冲突。
9.如权利要求8所述的方法,其中:
所述指示是从由以下指示组成的群组中选择的:添加目标指示和删除目标指示之一、防止桥接所述通话的隐私设置、和媒体抽头控制指示。
10.一种由多个已定序应用中的已定序应用影响通话路由的系统,包括:
接收机,被配置以接收所述通话的头部,所述头部包括来自所述多个已定序应用中的一个或多个已定序应用的至少一个指示;
仲裁模块,被配置以仲裁所述头部中的所述至少一个指示之间的冲突,以确定一组已定序应用来至少部分地执行;
执行模块,用于至少部分地执行所述一组已定序应用。
11.如权利要求10所述的系统,其中:
所述指示是从由以下指示组成的群组中选择的:添加目标指示和删除目标指示之一、防止桥接所述通话的隐私设置、和媒体抽头控制指示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/434,917 | 2012-03-30 | ||
US13/434,917 US9253219B2 (en) | 2012-03-30 | 2012-03-30 | System and method to influence SIP routing by sequenced applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368837A true CN103368837A (zh) | 2013-10-23 |
CN103368837B CN103368837B (zh) | 2017-08-04 |
Family
ID=47074621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210394806.4A Active CN103368837B (zh) | 2012-03-30 | 2012-09-28 | 通过已定序应用影响sip路由的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9253219B2 (zh) |
EP (1) | EP2645668B1 (zh) |
CN (1) | CN103368837B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971625A (zh) * | 2018-09-28 | 2020-04-07 | 展讯通信(上海)有限公司 | 拒绝Forking对话的方法及系统 |
CN113014474A (zh) * | 2021-02-19 | 2021-06-22 | 咪咕音乐有限公司 | 一种即时通信中的多媒体实现方法和系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685200B (zh) * | 2012-09-24 | 2018-01-30 | 中兴通讯股份有限公司 | 接入协商、释放中服务质量承载资源控制的方法及系统 |
WO2016074747A1 (en) * | 2014-11-14 | 2016-05-19 | Nokia Solutions And Networks Oy | Ims emergency session handling |
US10469537B2 (en) * | 2015-10-01 | 2019-11-05 | Avaya Inc. | High availability take over for in-dialog communication sessions |
CN105553975A (zh) * | 2015-12-14 | 2016-05-04 | 上海红神信息技术有限公司 | 一种用于提供网络服务的方法、装置和系统 |
FR3045999A1 (fr) * | 2015-12-18 | 2017-06-23 | Orange | Procede de communication entre un appelant et une pluralite de terminaux appeles |
US11108911B2 (en) * | 2018-07-17 | 2021-08-31 | Avaya Inc. | System and method for flexible routing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114993A (zh) * | 2006-07-26 | 2008-01-30 | 华为技术有限公司 | 一种会话初始协议网络系统及控制业务路由的方法 |
CN101874418A (zh) * | 2007-09-26 | 2010-10-27 | 高通股份有限公司 | 用于根据多个网络服务应用简档和数据会话冲突解决来配置无线设备的系统和方法 |
US20110055408A1 (en) * | 2009-09-03 | 2011-03-03 | Avaya Inc. | Intelligent module sequencing |
US20120250675A1 (en) * | 2011-03-28 | 2012-10-04 | Avaya Inc. | Ims application sequencing optimizer |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745539A (en) * | 1995-11-14 | 1998-04-28 | Westinghouse Electric Corporation | Apparatus and method for prioritization of multiple commands in an instrumentation and control system |
US6233582B1 (en) * | 1998-05-14 | 2001-05-15 | Sun Microsystems, Inc. | Persistent storage interface for a configuration object-based system |
US6862270B1 (en) * | 2000-07-14 | 2005-03-01 | At&T Corp. | Architectural reference model for QoS-driven wireless LANs |
US7428752B2 (en) * | 2001-06-01 | 2008-09-23 | Applications In Internet Time, Llc | Secure data accessing system and method |
US7454760B2 (en) * | 2002-04-22 | 2008-11-18 | Rosebud Lms, Inc. | Method and software for enabling n-way collaborative work over a network of computers |
US7586857B2 (en) * | 2003-04-01 | 2009-09-08 | Alcatel-Lucent Usa Inc. | Fast network SIP/SDP procedures for conference operations upon request from end user with optimization of network resources |
JP4209712B2 (ja) * | 2003-04-15 | 2009-01-14 | 株式会社リコー | 情報処理装置及びセッション管理方法 |
IL165416A0 (en) * | 2004-11-28 | 2006-01-15 | Objective data regarding network resources | |
US7792275B2 (en) * | 2005-07-29 | 2010-09-07 | Verizon Patent And Licensing Inc. | Application service invocation |
US8234388B2 (en) * | 2005-07-29 | 2012-07-31 | Verizon Patent And Licensing Inc. | Application service invocation based on filter criteria |
US20080304486A1 (en) * | 2007-06-08 | 2008-12-11 | Joshua Verweyst Graessley | Multiplexed data stream protocol |
CN101330449B (zh) * | 2007-07-02 | 2011-07-13 | 中兴通讯股份有限公司 | 一种ip多媒体子系统业务交互的实现方法 |
CN101127766B (zh) * | 2007-09-24 | 2010-06-09 | 中兴通讯股份有限公司 | 基于sip协议的消息处理方法、装置及ip通信系统 |
DE102009042128A1 (de) * | 2009-09-18 | 2011-03-24 | Siemens Aktiengesellschaft | Verfahren und System zur Verwendung von temporären exklusiven Sperren für parallele Betriebsmittelzugrife |
-
2012
- 2012-03-30 US US13/434,917 patent/US9253219B2/en active Active
- 2012-09-25 EP EP12185797.3A patent/EP2645668B1/en active Active
- 2012-09-28 CN CN201210394806.4A patent/CN103368837B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114993A (zh) * | 2006-07-26 | 2008-01-30 | 华为技术有限公司 | 一种会话初始协议网络系统及控制业务路由的方法 |
CN101874418A (zh) * | 2007-09-26 | 2010-10-27 | 高通股份有限公司 | 用于根据多个网络服务应用简档和数据会话冲突解决来配置无线设备的系统和方法 |
US20110055408A1 (en) * | 2009-09-03 | 2011-03-03 | Avaya Inc. | Intelligent module sequencing |
US20120250675A1 (en) * | 2011-03-28 | 2012-10-04 | Avaya Inc. | Ims application sequencing optimizer |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971625A (zh) * | 2018-09-28 | 2020-04-07 | 展讯通信(上海)有限公司 | 拒绝Forking对话的方法及系统 |
CN113014474A (zh) * | 2021-02-19 | 2021-06-22 | 咪咕音乐有限公司 | 一种即时通信中的多媒体实现方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2645668B1 (en) | 2018-12-12 |
US20130259026A1 (en) | 2013-10-03 |
US9253219B2 (en) | 2016-02-02 |
EP2645668A3 (en) | 2016-12-28 |
EP2645668A2 (en) | 2013-10-02 |
CN103368837B (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103368837A (zh) | 通过已定序应用影响sip路由的系统和方法 | |
US7715547B2 (en) | Voice XML network gateway | |
CN101617302B (zh) | 应用服务调用 | |
US7656866B2 (en) | Controlling media server resources in a VoIP network | |
CN1640110B (zh) | 在分组交换电话网络中进行计算机电话集成的装置和方法 | |
US7899865B2 (en) | Managing media server resources in a VoIP network | |
EP1564962A2 (en) | System and method for facilitating third-party call and device control | |
US8351913B2 (en) | Merging call notifications in cross ringing systems | |
CN102025719B (zh) | 利用排序应用和ims对等的不同域之间的下一代集成 | |
US20080075261A1 (en) | Client controlled dynamic call forwarding | |
CA2722761C (en) | Method and system for directing media streams during a conference call | |
US9398160B2 (en) | Method and communication terminal for providing VoIP | |
KR101470683B1 (ko) | 2개의 독립적인 전화 통신 시스템의 수용 | |
JP4823306B2 (ja) | VoIPネットワークにおけるメディアサーバリソースの管理 | |
CN100568898C (zh) | 一种基于ParlayAPI的多媒体呼叫中心系统 | |
Penton et al. | iLanga: A next generation VOIP-based, TDM-enabled PBX | |
US9148515B1 (en) | International conferencing via globally distributed cascading servers | |
JP5189508B2 (ja) | 呼制御システム及び呼制御方法 | |
Alcaraz et al. | Implementation of VoIP at the University of Colima | |
KR20090092639A (ko) | 인터넷 전화망을 통한 보고 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |