用于ip承载语音电话网关的装置及其中所用的方法

文档序号:7607947阅读:166来源:国知局
专利名称:用于ip承载语音电话网关的装置及其中所用的方法
技术领域
本发明关于用于一个电话网关的装置以及其中所用的伴随的方法,该电话网关准备用于在一个数据网络连接的相对的末端处,例如是成对的使用,其在每个末端处结合例如一个专用交换分机(PBX),用于主要根据处理每个通话的成本以及被叫方的电话号码,而通过一个公众交换电话网络(PSTN)或是一个数据网络,自动地在两个对等的PBX之间路由例如语音、数据以及传真这样的电话通话,监视当时通过该数据网络所提供的服务质量(QoS),并且响应于在该QoS上的动态的变化,依所需地切换(“自动切换”)此种通话往返在该PSTN以及该数据网络之间,使得该通话是被载送在一个当时提供足够的QoS的连接上。
背景技术
在过去的一世纪中,电话通讯已经变成相当普遍,因为该公众交换电话网络(PSTN)已经渐增地扩展到国家的乡村以及其它偏远地区,因此提供了几乎遍及的电话使用的机会。该PSTN提供主叫与被叫方之间实时的线路交换连接,亦即,其在主叫与被叫的位置之间建立一条连续且实时的链路,该被叫方通常通过该主叫方所输入的一串数字而加以指定;在电话通话的持续期间维持该连接,并且接着一旦该通话结束时就切断该连接。
虽然基本的普通老式的电话服务(POT)连接典型地提供连续的高质量模拟的连接,适用于语音、传真以及相当低速的数据,此种连接根据其电话费可能在使用上是昂贵的。电话公司经常是根据距离与时间,亦即,在该主叫与被叫的位置之间的距离与每次通话的持续期间来定价该些连接。在美国的过去几年之间,地区的以及长途的电话公司之间的竞争已经存在并且变激烈,其系如此激烈以致实际上,在许多的情况中,降低了电话的通话费。然而,此种竞争在许多外国中现在只是刚刚兴起的。再者,各个外国政府已经设定相当高互相连接税率以保护其本地的电话公司免于由外国企业所引起的竞争的价格压力,那些本地的电话公司经常是政府控制的垄断企业。因此,虽然以分钟计费的电话费用在美国是相当便宜的,但是对于在外国或是在外国之间的电话通话则不是如此。在该方面,在一个例如是美国的国家与另一个国家之间的国际通话,可能是相当昂贵的。
对于例如是数据的许多种类型的通讯而言,假设例如是对于数据为随意的延迟限制之下,通过该PSTN所提供的连续且实时的交换的连接纯粹是不必要的,而且是非常昂贵的。
因此,在过去的十年中,专用数据包网络(通常地称的为专用“数据”网络)已经感受到惊人的成长,因为团体机构,尤其是那些具有计算机以及其它数字的设备、分布在不同位置的办公室的团体机构,寻求在这些办公室之间传递数字的信息的合乎成本效益的方法。为了便于使用并且兼容于尽可能宽广范围的目前可用的网络设备与计算机软件,这些网络一般被设计来体现网际协议(IP)为基础的路由(其与互联网中所使用的方法相同)。
尽管相关于实现专用的数据网络最初的成本可能是相当大的,但是通过此种网络的使用所产生的平均每次使用的费用倾向远小于相关该PSTN在被传递的信息量方面上对于类似的传输的通话费,并且因此,若该专用网络被充分地利用时,则相较于该PSTN的等量的使用,可以提供大的节省成本给其拥有者。
在设计一种专用的数据网络的过程期间,各种构成该网络的基础的长距离的通讯链路通常是被选择来提供大大地超过目前的使用需求来容纳预期的成长的频宽。此的普遍的结果是许多具有运作中的专用数据网络的机构团体发现到自己有相当大量未使用的(过量的)被安装的频宽在其网络上为可用的,其为它们已经建构到其费用结构中。因此,某些额外的运输量可以被载送在此可用的频宽上,对于所有的意图与目的都在实质上无额外的费用之下。然而,频宽是短暂的其不是被用掉就是浪费掉;其无法被储存给未来使用,并且因此,若不在其为可用的时候加以利用,则它将只是被浪费掉而已。
已经实施并且使用专用数据网络的机构团体也通常是极为大量的电话用户,因此在正常且连续性的基础上带来大量的电话费用。这些机构团体包含了相当大的公司、以及政府、学术与军事的机构团体。此外,在由过去十年间个人计算机使用的爆炸性成长所引起的渐增的全球计算机化,即使是具有多个办公室的中型以及相当小型的机构团体也渐增地感受到对于存取一种IP为基础的数据网络以助于办公室之间的数据共享与数据通讯的需求。尽管这些机构团体若有的话也是鲜少具有充分的使用来证明实施它们本身的网络是正当的,但是为了安全与节省的理由,它们渐增地求助于各种提供安全的存取至一共同使用的专用IP网络的网络提供者。
认识到这些机构团体经常发生的大量的电话费用,尤其是当以在其专用数据网络(不论是专用或是共同使用的)上可用的过量的频宽以及利用该频宽的近乎零的微小成本的背景下视的,若此频宽可以某些方式被使用来载送电话通话时,则这些机构团体将可能遵从其经济上的利益,否则那些电话通话将在相当高的成本之下,通过该PSTN来指定路由,尤其是用于国际间的传输时。
目前,一项努力,通常称的为“IP承载语音”(或只是称为“VoIP”)系在该项技术上进行中的,以发展出技术并且最终为商业上的产品,其可以被利用来作为该PSTN的使用的替代者,以传输在此以前系在该PSTN之上载送的语音、数据以及传真通讯,其系以打包的方式在一种IP数据网络,例如该互联网或是专用的数据网络上传输。如同目前在该项技术中所考虑并且描述于A.Cary,“IP PBXs开放的问题”,数据通讯,1999年3月,第69至83页,并且尤其是72页,实现此技术的产品将可能利用到两种基本的解决方法(一个)一种“附属的”解决方法、以及(b)一种以LAN为基础的解决方法中的一种。该附属的解决方法将使用现存的用户PBXs、用户线路接线以及电话机,但是在一些不同的地点处分别并入一个VoIP电话网关作为一个“附属物”。在每个地点处,一个对应的网关将会位于至在该地点的一个PBX的PSTN中继线连接以及至一IP网络的连接之间,以便通过该IP网络来路由出现在这些地点的PBX之间的进来的与出去的电话通话。相反地,该LAN为基础的解决方法将IP兼容的电话来取代公知的电话用户设备以及电话PBXs,以打包语音通话、并且在本地的局域网络(LANs)之上载送这些通话。
该以LAN为基础的解决方法有可能遇到相当大的不利以及商业上的存疑,这是因为相关于移除并且替换现存的包含有PBXs以及电话装置的电话设备的大量花费,尤其是具有庞大的电话统统的大的机构团体。因为我们相信,若VoIP电话网关的最终消费者价格能够保持在一个合理的水准时,则此将尤其为真。若此真的发生,则该附属物的解决方法因为需要大为降低的资金花费而同时潜在地提供在电话通话费上的大量的节省,因此将可能广为市场采纳,并且因此将体验到重大的、广泛的并且快速的商业上的成功。
虽然在一IP网络上的电话传输的载送无疑地拥有理论上的希望以及经济上的吸引力,尤其是通过“附属物的”解决方法的使用,但是数种障碍系存在着,其中的以下数点系为举例而言的。任何的这些障碍,若未适当地加以解决的话,可能严重地妨碍到实际的履行以及此解决方法的最终的推广。
首先,相关于通过一种IP网络数据连接所提供的服务质量可能化广范围地变化。此种连接可能在延迟、不稳定性以及/或是数据包损失上遭受到宽广的动态变化。假设错误校正处理系通常产生在数据连接的每个末端处,数据包运送通常可以在其有效负荷数据的完整性变成受到危害之前,承受由任何的这些影响所引起的瞬时的变化至一种相当大的程度。然而,语音运送系特别敏感于这些影响。特别是,若数据包后的语音受到任何的这些影响中的瞬时的变化时,接着此语音,一旦被转换成为一个模拟的信号,则可能内含相当多的听得见的失真,该失真可能对于通话的任一端上的个人是感到相当令人不愉快的。因此,任何在替代的IP网络上指定路由给原先预定至PSTN的电话运送的设备必须并入某些机制以量测通过该IP网络所提供的网络的连接的服务质量(QoS),该IP网络系载送电话运送并且每当此连接的QoS质量降低足够大时,则接着切换此运送至该PSTN。较佳的是,当由该QoS中的质量降低所引起的失真将可能对于通话的任一端上的收听者变成为令人不愉快时,此切换本身就应该发生。此外,此设备应该以一种方式为实质上是听不见的,亦即,透明的、或至少是对于该收听者不会令人不愉快的,来施行该切换本身。在该方面,一种称的为“Selsius-IP PBX”网关并且最近由Cisco统统公司所开发的作例证的装置,在假设该IP网络上的延迟上升地太快时,明显地将电话通话从该IP网络切换至该PSTN。
其次,并非每一通电话通话都需要在一IP网络上被指定路径。事实上,指定路由给某些通话至此网络上并未产生任何经济上的利益;这些通话将最好通过该PSTN加以处理。这些通话包含那些例如本质上仅仅是本地的通话,包含例如是“911”通话、以及那些至免付费号码的通话。
再者,任何打算要载送电话运送的VoIP网关都必须呈现出非常高的可靠度以及容错能力,最好是类似于该PSTN本身的可靠度以及容错能力。
虽然目前在各种机构团体正努力于开发一种VoIP电话网关在PSTN与IP网络之间,但是时至今日,仍然没有以一种方式为去除以上所指明的障碍来施行IP电话的商业上的产品出现且存在于市场上。
在该方面的考虑之下,各种已经被发表的网关在有关克服一或多个这些障碍上都似乎是不足的。在该考虑之下,一个由麻萨诸塞州Marlborough的NetPhone公司所开发的称的为“NetPhone IPBX”网关的此类作例证的装置似乎提供一种后退能力,只有在该IP连接失效或是该网关的软件部分在其上执行的计算机操作统统失效的事件中才从该IP网络切换电话通话至该PSTN,但是若只是该IP连接的QoS质量降低则不切换。
我们所知的所有VoIP电话网关都似乎无法做选择性的通话配置,亦即,从该电话通话本身的性质(亦即,一个被叫方的电话号码)来决定该通话在该IP网络或是该PSTN上是最佳地被指定路由,因而接着指定路由给该通话,以及/或是其是否为充分可靠的并且容错的。
因此,在该项VoIP电话网关的技术上目前存在着相当大的需求,尤其是考虑到从其使用而可能快速地自然增加的广泛的采用以及大量的成本节省,其不只是能够指定路由给电话通话至替代该PSTN的IP网络,也可以根据当时由该IP网络所提供的QoS而依所需地在这些网络之间切换该通话。此种网关也应该提供选择性的通话配置,使得那些不能够从通过该IP网络处理而产生成本节省、或是其它利益的电话通话被确定出并且被指定路由至该PSTN,而不是到该IP网络。此外,此种网关应该是高度可靠并且容错的。

发明内容
本发明系有利地满足这些需求,而同时克服在该项技术中已知的障碍,其系通过提供一种电话网关,当与一个类似的对等(peer)网关运作并且分别连接在PSTN与数据网络的连接的相对的末端时,其交替地在该数据网络与该PSTN之间动态地切换通话,根据当时相关于该数据网络的服务质量(QoS)的实时的量测,以便载送该通话在该特定的网络之上,接着提供足够的QoS。
根据我们的发明教导,一旦电话通话最初已经被指定路由给该PSTN或是该数据网络(例如,IP网络),接着,假设通过该数据网络的连接的QoS改变时,则该通话将会自动地切换(“自动切换”)至其它网络并且通过其它网络被指定路由,在该切换动态地改变之下、在该通话的持续期间并且以一种对于该主叫以及被叫方两者为实质上透明的方式,如必要的话,交替在该数据网络与该PSTN之间,以响应于在该数据网络的QoS上的动态的变化。
尤其,本发明的网关系通过延迟、数据包损失以及错误率(不稳定性)的动态量测来判断网络质量。假设在通话中所牵涉到的任一网关判断网络质量是否已经增进或是降低,以需要自动切换以从该PSTN至该数据网络或是相反的,该网关(此后,为了简化参照,该“主叫方的网关”)将利用H.323协议的我们发明的扩充部分来起始与其对等网关(此后,该“被叫方的”网关)的信息交换。
特别是,若该通话将从该数据网络转变至该PSTN时,该被叫方的网关将从在其配置期间已经被指定给其的一堆电话号码(PDN)选择一个可用的电话号码,并且传递该特定的号码至该主叫方的网关。一旦该主叫方的网关接收到该特定的PDN时,其在PSTN中继线的连接上发出一线路交换的通话至该PDN。在其PDN上感测到一进来的通话的被叫方的网关将判断此号码是否对应到该网关现在正期待通话于其上的特定的PDN。若其为不同于其所期待的PDN号码,则该网关系在该网络连接传送一消息给该主叫方的网关,并且等待一个网关来主张此通话。若此通话是在正确的PDN之上,接着该被叫方的网关系来切换该通话从其网络连接至该通过该PSTN的目前建立的线路交换连接。一旦此发生时,若该通话被完成,则该用于此通话的数据网络连接系被两个网关切断。当网络质量充分地改善时,自动切换也逆向地发生以及从该PSTN回到该数据网络。
根据我们发明的教导,对等的网关系有助于电话通话的自动切换于该PSTN与该数据网络之间,其系通过对于每个通话建立特定通话的信息,该信息包含一个独特的通话识别符(CallId)、以及主叫方的与被叫方的标志,并且在通话准备期间,在它们之间传递该信息。网关系通过利用与通话无关的发信号来嵌入此信息至各种H.323消息中,特别在所谓的“非标准的数据”字段中,来传递此信息。通过此信息,在主叫方与被叫方侧之上的网关系对于每一通被指定路由在其间的通话,都形成相同的关联,并且具有一个被用于该通话的共同的CallId。此识别符系从任何其它当时被任一方的网关处理的通话区别出该通话,使得这两个对等的网关动作一致,而能够依所需地切换此特定的通话在这些网络之间,而不影响任何其它的通话。
特别是,通过使用一种H.323标准的与通话无关的发信号特性之下,一个主叫方的标志被嵌入于一个H.323的“准备”消息之中,并且一个被叫方的标志、一个CallId以及一个被选出的PDN全部被嵌入于一个H.323的“通话进行”或是H.323的“连接”消息之中。在该考虑之下,该通过主叫方侧所产生的主叫方的标志的内容系包含用于一个特定的通话被建立的信息,其指示给被叫方侧,来自于该主叫方的网关的该通话是否能够被自动交换的。响应于此准备消息,该被叫方侧系产生并且储存一个唯一地识别出该通话的CallId号码,并且接着传递该ID、以及该被叫方的标志与PDN回到该主叫方侧。该被叫方的标志指明来自于该被叫方的网关的此通话是否能够被自动交换的。该主叫方侧接着储存此信息,用于稍后使用于假设接着有要自动切换的需求发生时,恰当地自动切换该通话在该数据网络与该PSTN之间。
我们发明的网关在H.323环境中作用为一个实体。该网关实现至少一个守门员(gatekeeper)以及至少一个边界组件,该网关把其自身登记到该守门员。该守门员是管理一个群组的端点,该端点全体地构成一个区域(zone)。一个管理的领域(domain)是由至少一个守门员以及一个连接至该领域中的一或多个守门员的边界组件所构成。该边界组件系提供进入该管理的领域的外部的网络存取。
有利地,作为我们的发明的一个特点的是,为了增加本地的冗余,我们发明的网关也实施对等的边界组件。对等的边界组件系一起作用并且表现为单一整体的边界组件,亦即,一个“逻辑的”边界组件,但是其功能系在这些此类组件之间被复制。因此,若在一个管理的领域中任一对等的边界组件失效时,则其它对等的组件可以在该领域中提供在领域中的路由以及在区域中的路由。对等的边界组件最好是具有一个松散耦合的分布式架构,不具有阶层的差异。来自于一个领域中的守门员或是一个边界组件的所有的处理事务都和其对等边界组件共同使用。就其本身而论,被储存在一个对等的边界组件中的处理事务数据系维持与被储存在另一对等的边界组件中的处理事务数据同步化,使得假设其对等边界组件失效或是被移开不用时,任一个边界组件都可以立即地进行事务的处理。
每个对等的边界组件都具有TCP/IP服务器以及客户连接两者。在对等边界组件之间的消息系包含信息下载与信息更新消息、以及建立并且断开其间的TCP/IP连接的消息。在与该对等物建立一个TCP连接之际,一个信息下载消息系被一个“起源的”边界组件传送至其对等者。此消息系与其对等物共享该起源的边界组件的所有的通话路由功能。该消息系包含本地的服务关系(对于一个领域为内部的)、本地的描述符号、外部的服务关系(对于一个领域为外部的)以及外部的描述符号。该本地的服务关系系界定每个与该起源的边界组件具有一种服务关系的守门员的传输地址。该本地的描述符号是界定路由描述符号,并且是从相同于该起源的边界组件的领域的固定配置加以获得、或是从位于此领域中,已经和该起源的边界组件建立起服务关系的守门员加以获得。该些外部的服务关系为了该起源的边界组件而界定在此领域的外部、已经和该起源的边界组件建立起一种服务关系的那些边界组件的传输地址。该外部的描述符号系界定路由的描述符号,其是从该H.323环境的固定的配置加以获得、或是从位于包含该起源的边界组件的领域外部、已经和该起源的边界组件建立起服务关系的边界组件加以获得。一个信息更新消息系从该起源的边界组件被传送至其对等者,以为了通知该对等者在影响位在相同的领域之中的一个守门员的信息上、或是在从位在此领域的外部的一个边界组件所接收的信息上的改变。在一对“对等的”边界组件中最初接收到此种信息的特定的边界组件需负责传送该信息至所有的其对等者。
再者,作为我们的发明的另一项特点的是,每个网关系有利地提供选择性的通话路由以根据被叫方的电话号码,来只有指定路由给那些打出去到该数据网络的通话是能够提供有效的成本节省给该主叫方以及/或是其机构团体的通话。此路由是根据被叫方的号码信息,例如,预定的被叫方的号码以及旁通的电话号码(BPN)与电话交换机的表列而定,该信息可以在其配置期间被划至该网关之中。就此而论,若有的话,也不提供给主叫方(或是他(她)的机构团体)相当可观的成本节省的本地的通话以及打到“911”的通话与类似者系在每次此种通话的整个持续期间自动地被指定路由给该PSTN。


本发明的教导可以通过考虑以下结合附图的详细说明而轻易地被理解,其中图1为示出一个并入本发明的VoIP电话网关的网络环境的一个简化的高阶方块图;图2为示出本发明的网关,例如显示在图1中的网关200的一个硬件方块图;图3为示出被利用在本发明的网关的软件的一个非常高阶的方块图;图4A为示出其中本发明的网关运作的一种H.323参考模型(运作的环境)的一个方块图;图4B为示出根据我们的发明的教导的显示在图4A中的参考模型的一种变形,其利用对等的边界组件;图5为示出通话处理软件500的一个较低阶的方块图,其系构成一部分的显示在图3中的网关软件300,并且其被利用在本发明的网关中;
图6为示出显示被使用在显示在图5中的通话处理软件500中的执行优先次序的程序的表600;图7为示出构成部分的显示在图5中的通话处理软件500、并且也在图4B中显示为每个守门员4201、4202、4203、4601以及4602的守门员700的一个方块图;图8为示出构成部分的显示在图5中的通话处理软件500的通话处理器程序560的一个方块图;图9为示出构成部分的显示在图5中的通话处理软件500边界组件900的一个方块图;图10为示出对于显示在图9中的对等边界组件管理器960的一个状态图;图11为示出根据我们目前的发明的用于处理介于两个H.323电话端点之间的一个VoIP通话的高度简化的操作顺序1100;图12为示出基本的程序间的动作1200用于指定路由给一个电话通话于位在两个不同的区域的两个对等的网关,例如,显示在图1中的网关200与200’之间的一条数据网络连接(PBX-IP-PBX)之上;图13为示出根据我们的发明的发生在对等的网关,例如,显示在图1中的网关200与200’之间与之中典型的程序间的控制消息,用于指定路由给一个电话通话在一个连接这些网关的数据网络之上;图14为示出根据我们的发明的发生在对等的网关,例如,显示在图1中的网关200与200’之间与之中典型的程序间的控制消息,用于指定路由给一个电话通话在一个在这些网关之间的PSTN连接之上;图15为示出根据我们的发明的发生在对等的网关,例如,显示在图1中的网关200与200’之间与之中典型的程序间的控制消息,用于指定路由给一个电话通话在该数据网络之上,但是在缺少被传递至一个主叫方侧的一个“连接”消息之下;图16为示出根据我们的发明的发生在对等的网关,例如,显示在图1中的网关200与200’之间与之中典型的程序间的控制消息,用于切换一个电话通话从被指定路由在一个延伸到这些网关的数据网络连接上至一个在这些两个网关之间的PSTN连接,并且特别是其中该PSTN连接系已经通过一个被集中的电话号码的使用而被建立;图17为示出根据我们的发明的发生在对等的网关,例如,显示在图1中的网关200与200’之间与之中典型的程序间的控制消息,用于切换一个电话通话从被指定路由在一个延伸到这些网关的数据网络连接上至一个在这些两个网关之间的PSTN连接,并且特别是其中该PSTN连接系已经通过一个被叫方的电话号码的使用而被建立;图18为示出根据我们的发明的发生在对等的网关,例如,显示在图1中的网关200与200’之间与之中典型的程序间的控制消息,用于切换一个电话通话从被指定路由在一个延伸到这些网关的PSTN连接至一个在这些两个网关之间的数据网络连接;图19为示出根据我们的发明的发生用于指定路由给一个电话通话在介于在一例如是显示在图4B中的H.323环境中的两个管理的领域之间的数据网络30上(如同在图1中所描绘)的一个网关间的以及网关中的动作1900的顺序,其中用于该被叫方的端点的路由信息已经被暂存,并且由与该主叫方的端点相同的领域中的边界组件所提供(“简单的通话路由”);图20为示出类似于显示在图19中的顺序、根据我们目前的发明发生用于指定路由给一个电话通话在介于在一H.323环境中的两个管理的领域之间的数据网络30上(如同在中所描绘图1)的网关间的以及网关中的动作的顺序2000,但是其中用于该被叫方的端点的路由信息并不存在于与该主叫方的端点相同的领域中(“复杂的通话路由”);图21为示出发生在相同的管理的领域中的一个守门员以及一个边界组件之间的程序间的消息,其系用于在其间建立一种服务关系;图22为示出发生来从一个守门员传输路由信息至另一个在相同的管理的领域中的守门员的程序间的顺序2200;
图23为示出发生在两个守门员之间、用于切断一个VoIP通话的程序间的交互作用2300;图24为示出根据我们的发明的发生在向一个守门员来登记一个网关的过程中的程序间的交互作用2400;图25为示出根据我们的发明的发生在从一个守门员撤销登记一个网关的过程中的程序间的交互作用2500;图26为示出发生在一个守门员之中、来指定路由给通过一个向该守门员登记的网关所发出的一个VoIP通话的程序间的交互作用2600;图27为示出发生在一个守门员之中、来切断一个VoIP通话的程序间的交互作用2700;图28为示出发生在一个守门员之中、用于向该守门员登记一个新的网关的程序间的交互作用2800;并且图29为示出发生在一个守门员之中、用于从该守门员撤销登记一个网关的程序间的交互作用2900。
为了有助于理解,相同的参考图号已经被使用在所有可能之处,来指明各个图中为共同的相同的组件。
具体实施例方式
在考虑以下的说明之后,那些本领域的技术人员将清楚地理解到本发明的教导可以轻易被利用在一个电话网关中用于使用结合任何广区域的网络(WAN),而不论其是否为一个专用数据网络或是一个公众可用的网络,例如该互联网。我们的发明尤其是(虽然不只是)适用于网关的使用,其系打算被利用于那些依赖该网际协议(IP)来控制消息路由的WANs。仅管如此,在考虑以下的论述之后,那些本领域的技术人员将轻易地认识到如何使用我们发明的网关于广范围不同类型的计算机网络的任何一种、而不只是IP网络,并且如必要的话,来修改该网关以符合将在任何特定的情况中所使用的特定的网络协议的要求。为了简化该论述并且助于理解,我们将描述我们发明的网关在使用于一个专用IP数据网络的背景下。同时,该在此被使用的名词“语音”系通称地定义为涵盖所有类型的典型地在一条用户(普通老式的电话--POTs)连接上传输的通讯形式,例如,语音、传真或是调制解调器数据。
为了有助于读者理解,我们将先提供IP电话的概要,特别是通过本发明所施行的IP电话、接着是我们发明的网关的硬件组件的说明、并且接着是由该网关所执行的软件。由于我们发明的网关打算要在一个公知的H.323环境中运作,其中H.323处理系被软件所实施,接着来提供一个适当的背景用于该软件,因此在详细地讨论该软件之前,我们将概要地描述该环境。为了加强说明,我们将接着论述我们发明的网关所实施的消息,以提供网关间的通话路由以及相关的通话处理程序,包含登记与撤销登记。
A.概要图1为示出一个并入本发明的VoIP电话网关的网络环境的简化的高阶的方块图。
如图所示,此环境包含一个公知的专用IP数据(数据包)网络30,该网络30经由路由器18与48而分别相互连接至两个作例子的以太网络为基础的本地的局域网络(LANs)15与45(虽然一个专用网络通常相互连接至相当大的数目的个别的LANs,但是为了简化,只有两个此种LANs被明白地显示出并且在此被论述)。每个这些LANs本身相互连接一些位于本地的公知的IP为基础的装置,例如网络的计算机、打印机以及其它设备,其全部为了简化起见都未予显示。LANs 15与45可能彼此大大地间隔开一段相当长的距离,例如位于一个例如是纽约的城市中的一个顾客地点(表示为“位置1”)的一个相互连接此种装置的LAN,而位于另一个地点(表示为“位置2”),但是在一个地理上隔开的城市,例如伦敦中的另一个用于相同的顾客的相互连接额外的此种装置的LAN,虽然这些LANs不需要如此大大地间隔开。
此外,每个位置都配备有各种电话,其中在位置1的电话16以及在位置2的电话46是作例证的,以服务位于该处的个人。服务任何一个位置的电话都典型地连接至一个公知的专用交换分机(PBX),其通过执行进来的通话端接以及出去的线路选择来共享通过一个构成部分的公众交换电话网络(PSTN)20的本地的中央局(为了简化而未显示)所提供的电信线路以及中继线的使用,因此降低了成本。PBX 14连接至存在于位置1的电话;PBX 44连接至存在于位置2的电话。为了简化起见,在每个位置处只有一个电话被显示出,虽然实际上每个位置可能包含数十、数百、数千或是更多不同的用户电话被相互连接至一个个别的PBX。一般地,每个这些PBX将会经由各种出去的与进来的中继线而被连接至一个位在PSTN 20之中并且是在PSTN 20的一个边界处的对应的telco(电话公司)中央局,以在此网络上指定路由给通话。典型地,对于一个传输在位置1至位置2之间的通话而言,一个位在例如是电话16的用户将拨号一个电话号码,例如是对于在位置2的个人的电话46。PBX 14将选择一条出去的电话线路至一个中央局交换机(因为一个相当大的PBX,此相当于在一条出去的例如是T1中继线中选择一个可用的时隙),并且也提供拨号音至电话16。该PBX将接着传递所拨的号码至该中央局,该中央局接着指定路由给该通话,经由PSTN 20至一个服务PBX 44的telco中央局,并且经由一条服务该PBX的进来的中继线至一条通过电话46终端的用户线路。PBX 44将使电话46响起,并且当一个接听连接发生时,将连接该远程的主叫方至位于该电话的一个被叫方。
如同到目前为止所描述并且如同公知发生在许多大的机构团体地,电话的输送并不在该数据网络上流动。
网络30以及连接至其的个别的LANs 15与45通常被设计来提供能够容纳在网络使用上预期的成长的大量可用的频宽,并且其大大地超过目前用户的需求。就此而论,专用网络30以及其相互连接的LANs呈现出相当大量未使用的(过多的)已安装的频宽,其若未被消耗,则将会浪费掉。因此,网络30以及其LANs能够在此可用的频宽上、在实质上无任何额外的成本之下,载送某些量的额外的运送。
为了利用此可用的频宽,一个本发明的网关位于每个LAN之上,并且被插置在每个PBX与该PSTN之间。尤其,网关200与200’(其为相同的,除内部所储存的配置信息的外)存在作为LANs 15与45上的与其它不同的端口,并且分别位于在PBX 14与该PSTN之间、以及在PBX 44与该PSTN之间。
有利地,每个网关对于电话输送提供两条路径的任一条来依循不是传统地通过一个PSTN,例如,PSTN 20、就是在一个数据网络,例如网络30之上。
如同以下详细地描述的,每个网关动态地量测通过该数据网络的当时可用的至其对等网关位置的实时连接的服务质量。若在延迟、相位不稳定性以及遗失数据包的方面上所量测到的服务质量(QoS)足够高以支持语音传送时,一个服务主叫方的号码的起源的网关将会转变一个被叫方的号码成为一个对应的IP地址,并且将通过该替代PSTN的数据网络来指定路由给一个电话通话。或者是,若在该通话之际,该数据网络的QoS并不足以支持高质量的语音时,则该起源的网关将通过该PSTN来指定路由给该通话,用于公知的通过该PSTN输送至该被叫方。
根据我们发明的教导,一旦一电话通话最初已经被指定路由给PSTN 20或是数据网络30,接着,假设该数据网络的QoS改变时,该通话将被切换至另一个网络,其中于是该通话在该通话的持续期间已经被动态地切换,并且对于该主叫方与被叫方以一种实质上为透明的方式,响应于数据网络30的QoS上的变化来交替地在该数据网络与该PSTN之间,于是使得该通话在提供一个足够的QoS之下在该网络上进行。因此,假设例如是网关200的起源的网关与其例如是网关200’的对等网关一致行动,而指定路由给一个起源自电话16并且目标为电话46的电话通话在数据网络30之上。若一旦该通话是如此被指定路由,并且在该通话的期间,网络30的QoS因为例如是动态网络拥塞而于是增加通过此网络的数据包延迟,而动态地降低至不再支持高质量语音之际,接着该两个网关将通过该PSTN实行一条电话连接,并且接着从该数据网络转移该通话至该PSTN在此连接上。若当该通话正在该PSTN之上被传输,而该数据网络的QoS回到其正常水准时,接着这些对等的网关将通过该数据网络在其间建立一条数据连接,并且将该通话从该PSTN切换回到该数据网络而在此数据连接之上。因此,当该数据网络的QoS在一个电话通话未结束的期间改变时,该对等的网关将依所需地,来回地切换该通话在该PSTN与该数据网络之间,以在低的传输成本下提供高质量的端对端的语音连接。
如有必要的话,本发明的网关不仅能够处理并且有成本效益地切换语音通话在该PSTN与该数据网络之间,该网关也能够类似的切换其它类型的通话,例如是模拟的数据与传真,其为在两个地点之间经常在一条电话连接之上被传输的。
再者,某些电话通话,例如最紧急号码(例如,“911”)的通话,并不提供成本节省给主叫方,并且因此最好是通过该PSTN处理,典型地为本地的中央局。类似地,若有的话,也没有相当可观的成本节省会发生在对于那些本地的(例如,在LATA之中--本地的存取与传输区域)通话来旁路该电话网络,其中该通话是在一个固定费率之下由一个本地的电话公司加以收费,而不是依据量测后的(典型地在时间与距离的方面)服务。因此,这些通话应该通过该PSTN处理,而不论该数据网络的状态为何。
有利地,根据我们发明的教导,每个网关提供选择性的通话路由,来根据该被叫方的号码指定路由给只有那些出去的通话至该数据网络是能够提供有效的成本节省给该主叫方以及/或是其机构团体。此路由是根据被叫方的号码信息,例如,预定的被叫方的号码以及旁通的电话号码与电话交换机的表列而定,该信息可以在其配置期间被划至该网关之中。
B.网关硬件图2为示出例如是显示在图1中的网关200的本发明的网关的一个硬件方块图。
如所描绘地,该网关是一个微控制器为基础的统统,其具有闪存205、随机存取存储器(RAM)210、多个数字信号处理器(DSPs)225、T1/E1收发器/成帧器(framer)260与270、4×4端口TDM(时分复用)交换机250以及微控制器240,所有都经由总线230而相互连接。
该微控制器也经由引线247而连接至公知的以太网络收发器255,而接着经由引线258被连接至该网关的一个实际的壳体上的一个公知的RJ-45插座(该插座与壳体未被显示)。此插座提供一个插头连接至一个以太网络LAN。该微控制器作例证的是一个可从伊利诺州的Schaumberg的Motorola公司购得的MPC860T RISC(缩减的指令集计算)微控制器。此微控制器有利地包含一个内部的以太网络接口。因此,该以太网络网络收发器提供一个实际层的连接从该接口至该以太网络LAN。
T1/E1成帧器/收发器260经由引线263、继电器265以及引线268、经由进来的/出去的T1/E1中继线连接而连接至该PSTN。T1/E1成帧器/收发器270经由引线273、继电器275以及引线278、经由进来的/出去的T1/E1中继线连接而连接至该PBX。继电器265与275两者经由引线267而连接在一起,以典型地在一种失效状况的事件中提供一个旁通的路径在该PSTN与该PBX之间的网关附近。虽然未特别地显示出,但是引线263、268、273与278同时地但是个别地载送进来的与出去的T1/E1中继线两者至对应的收发器/成帧器。收发器/成帧器两者是彼此相同的,并且被典型地通过一个目前可从Rockwell国际公司购得的BT8370收发器/成帧器加以制作。此外,由于每个收发器/成帧器都是以相同的方式运作,不论其是否运作在一个T1或是E1传输速率之下(T1与E1分别是运作在1.544与2.048Mb/sec之下的北美与欧洲的传输信道,并且分别能够运送二十四或是三十个同时发生的64kb/sec时分复用的电话信道以及相关的发信号信息),接着,为了简化的缘故,我们将只有论述收发器/成帧器260,并且只在一T1速率之下。有鉴于引线263、267、268、273与278载送TDM信号往返其相关的中继线,这些引线也被表示为“TDM线路”。
收发器/成帧器260接收一个出现在例如是引线(TDM线路)263之上、进来的T1 TDM电话串行的信号数据流,并且对于在该数据流中的每个复用的时隙抽取出运输在该时隙之上的有效负荷信息。此有效负荷信息可能是数字化的语音(包含传真与数字化的数据)以及/或是发信号的信息;该发信号的信息不是信道相关的发信号(CAS)、就是共同的信道发信号(CCS)。对于通过该数据流所运送的每个时隙,该相关的有效负荷信息接着经由TDM总线253被施加至一个TDM交换机250的共同的输入端口。类似地,虽然是以相反的方式,此收发器/成帧器也从交换机250上相同的端口,对于在一个出去的串行数据流中的每个时间复用的时隙接收出去的有效负荷信息,并且组合该数据流(包含加入帧以及非有效负荷的信息)成为一个T1 TDM信号。由于该收发器/成帧器是如同CAS与CCS一般而为公知的,我们将省略其动作以及这两种型式的发信号的进一步细节。
在该网关的正常动作期间,该微控制器施加一个适当的控制信号(未显示)至用于每个继电器265与275的硬件驱动器,以移动其电枢从常闭的位置至常开的位置。此于是连接TDM线路268至TDM线路263,因此施加该进来的以及出去的T1 PSTN中继线至T1/E1收发器/成帧器260,并且连接TDM线路278至TDM线路273,因此施加该进来的以及出去的T1 PBX中继线至T1/E1收发器/成帧器270。在通过微控制器240侦测出、或是一个监视定时器的届期(未特别显示在图2中,而是内含在该微控制器中)的一种失效状况的事件中,其中该监视定时器的届期指示在该网关中为完全的失效时,本质上是电气机械的继电器265与275都将采取其常开的位置。在此位置中,TDM线路268将经由TDM线路267、通过继电器265与275而被直接连接至TDM线路278,因此直接连接该PSTN T1中继线至该PBX T1中继线并且有效地旁路该网关。
TDM交换机250例示地是通过从Mitel公司可购得的型号MT8981D的4×4数字的交换机所构成的。每个至该交换机的输入都可以接受达到32个各别的64kb/sec信道,被复用到一个2.048Mb/sec(E1)数据流之上。每个该输出在与该输入相同的速率下提供一个串行的输出TDM信号。该交换机运作在微控制器240的控制之下,提供“交换的”时隙连接,并且可以写入数据到出现在来自于该交换机的串行的输出之一的一个TDM信号之中的一个所要的时隙内,其中该数据可以源自于被施加至该交换机的四个串行的TDM输入信号中的任一个信号内所要的时隙、或是来自于该微控制器本身。类似地,该微控制器可以通过该交换机来读取出现在该四个串行的输入中的任一个信号内任何所要的时隙的信号值。
在本质上,此交换机提供适当的时隙连接在出现于其输入与输出的TDM信号之间,以为了指定路由给一个电话通话在一个介于该PSTN与该PBX之间特定的TDM信道之上,因此旁路该专用数据网络、或是指定路由给该通话至该DSP用以适当的处理,并且最后该微控制器用于运送在该专用数据网络之上。
明确地说,在一条进来的T1中继线中的一个信道上的一个信号,例如是通过TDM线路268所输送、并且源自于该PSTN的信号,可以通过交换机250被切换至一条出去的T1中继线,例如是在TDM线路278之上的一个对应的时隙至该PBX,并且反的亦然,以为了支持该通话在介于主叫与被叫位置之间的PSTN之上的输送。此种电话连接(表示为“PBX-PSTN”)通过虚线290加以表示。此种信道将通过两个T1/E1收发器/成帧器来加以处理,首先通过那些收发器/成帧器中之一,在该信道上从一条进来的T1 TDM中继线取出一个信号,并且接着通过另一个收发器/成帧器来组合适当的出去的T1 TDM中继线。
或者是,若该网关将要指定路由给一个来自于一连接至该PBX的主叫方的装置,例如是一个电话、计算机调制解调器或是传真机的出去的电话通话在该专用数据网络之上(以实行一个“IP承载语音”或是VoIP通话),而不是该PSTN,则TDM交换机250根据由微控制器240所提供的控制信息来连接一个进来的时隙用于该通话,但并不是经由T1/E1收发器/成帧器260连接至一个时隙并且从该处连接至一条出去的T1中继线,而是经由TDM总线228连接至当时在DSPs225中可用的一个DSP的一个输入并且最后连接至微控制器240。整体地,该DSP以及该微控制器转换用于该通话的数字化的电话信号成为适当的IP数据包并且在适当的IP地址下传送那些数据包在该LAN之上,以用于后续在该数据网络之上运送至一个对等网关。该对等网关经由该数据网络以及其LAN来接收这些IP数据包并且对于每个此种通话进行逆向的动作来转换这些数据包回到对于该通话的一个数字化的电话信号,并且接着指定路由给此信号至一个目标PBX用于转换回到一个模拟的电话信号,并且最后该信号终端至一个被叫方的电话或是其它模拟的电话装置,例如一部计算机调制解调器或是传真机。每个个别的被叫方的号码都具有一个相关的IP地址,其最后为对等的网关两者所知(如同将在稍后详细地描述),使得该些对等的网关能够恰当地寻址该IP数据包至其独特的被叫方的目标。
DSPs 225例示地包含八个各别的DSPs 2251、...、2258(其中的六个能够全体地施行24信道的T1动作,而八个系全体地实施30信道的E1动作)。每个DSP系例示地为可从德州达拉斯市的德州仪器公司购得的一个型号TMS320C549的DSP,其系处理由该PBX所提供的数字化的电话运送的四个同时的信道。SRAM(静态随机存取存储器)220系包含SRAMs 2201、...、2208,其中每个各别的SRAM系提供给一个对应的并且不同的DSP暂时的数据储存。
尤其,对于出现在任何一个此种TDM信道(单一时隙)之上的一个数字化的信号,例如是从该PBX进来至该网关的信号,一个被指定给该信道的DSP系首先转换对于该信道并且由该PBX所提供的一个G.711压缩的电话信号(典型地在56至64kb/sec之间)成为一个G.723压缩的信号(典型地在5.6至6.4kb/sec之间),以实行一种10∶1压缩。目前,该网关系依赖一个“数字的PBX”的使用,亦即,该PBX系对于其每个出去的信道提供模拟至数字的转换(数字化)以及根据一项G.711标准的压缩,,并且对于其每个进来的信道提供G.711解压缩以及数字至模拟的转换。若一个数字的PBX并未被利用时,则适当的信道库可以被加入在该PBX与该网关之间,以提供这些功能。
一旦G.723压缩系对于任何信道都被实行,则该DSP适当地打包该G.723压缩的信号。所产生的G.723数据包系接着经由总线230被施加至该微控制器。该微控制器在收到对于任何一个信道的每个这些数据包之际,其系组合该信道的这些数据包成为具有必须的IP标头的适当的IP数据包,其系包含起源的以及目标IP地址以及其它所需的信息,并且经由其内部的以太网络接口以及以太网络收发器255来传送这些数据包至该LAN,用于随后的指定路由至一个对等网关。此种在该专用数据网络之上传输的电话连接(表示为“PBX-IP”)系通过虚线295加以表示。鉴于G.711与G.723压缩算法是在该项技术中所熟知的,因此我们将省略这些算法的所有的细节。
为了处理出现在该LAN之上并且从该专用数据网络进来至一个由该PBX所服务的被叫方的电话号码的一个VoIP通话,微控制器240在经由网络收发器255接收到IP数据包之际,其系首先从每个这些进来的IP数据包取出一个目标IP地址以及有效负荷数据包后的电话数据。该微控制器(如下详细论述地)系从其内部的路由表来判断在该目标IP地址与该被叫方之间是否一致。一旦此号码系被确定,则该微控制器系通过交换机250、经由一条出去的TDM中继线,例如出现在TDM线路273与278之上的TDM中继线来建立一个时隙连接至该PBX、至一个将服务该被叫方的号码的TDM信道。该微控制器系施加出现在每个该IP数据包中的每个电话数据包至一个可用的DSP,该DSP接着解除打包该数据包成为G.723压缩的数据并且转换该G.723数据成为G.711压缩的数据。该所产生的G.711数据系通过经由该交换机所建立的时隙连接而被插入一个特定的信道、于一个预定至该PBX的出去的TDM信号中,并且特别是将会通过该PBX被连接至该被叫方的号码的信号。该TDM信号系接着被施加至收发器/成帧器270,而接着组合一个适当的T1信号,并且之后系经由TDM线路273与278来施加该信号至该PBX。
在那些其中该T1中继线系利用CCS(ISDN主要的)模式发信号的例子中,微控制器240系指示交换机250来从进来的TDM信号取出D(数据)信道发信号信息、或是插入D信道发信号信息至出去的TDM信号中。在该考虑下,对于出现在TDM总线253或是256之上一个进来的TDM信号而言,交换机250系取出此发信号信息,并且经由TDM总线243来指定路由给该信息至该微控制器,以用于随后的通话处理。以一种相反的方式,对于通过该交换机所产生并且出现在TDM总线253或是256之上一个出去的TDM信号而言,该微控制器系产生适当的D信道发信号信息并且系经由TDM总线243来施加该信息,用于通过该交换机适当的插入至该出去的TDM信号中,用于适当之下游通话处理。
闪存205例示地为大小4Mbytes,其系以一种非依电性的方式来储存程序代码以及其它信息,例如通话路由(转变)表。该网关系包含适当的电路(未显示)以及软件程序,通过该电路以及软件程序,该闪存的内容可以依所需地加以更新。SDRAM(同步动态随机存取存储器)210系例示地大小为2Mbytes。该SDRAM不只提供暂时的数据储存,其也在统统开始的期间接收被储存在该闪存之中的程序代码的一个备份。此程序如以下所指明地系接着从被储存在该SDRAM中的备份加以执行。
C.软件以及H.323环境
1.软件概要-操作统统与通话处理软件图3为示出执行在我们发明的网关中的网关软件300的非常高阶的方块图。如图所示,此软件在其最高阶下,系构成公知的操作统统(O/S)核心310以及通话处理软件500。
除了其它服务以外,该O/S核心系提供程序产生、排程、程序间的通讯以及事件发信号。鉴于该操作统统的细节与本发明无关,因此所有的此类细节将从该接着的论述中被省略。
通话处理软件500系由一些与其它不同的程序以及驱动程序所构成,如图5中详细所示并且在以下所论述地,其系在一个H.323环境中整体地施行VoIP通话处理。
2.H.323环境图4A为示出其中本发明的网关运作的一种H.323参考模型(运作的环境)的方块图。
一般地,一个H.323网络是一种利用一数据包为基础的网络作为其传输工具的网络,但是其可能不提供被保证的QoS。此种数据包为基础的网络可能包含LANs、企业局域网络、都会的局域网络、内部的网络(intranets),例如一个专用数据网络、以及网络间的网络(包含该互联网)。这些网络也包含拨接的连接或是点对点的连接在例如是PSTN、或是一个系利用一种基本的数据包为基础的传输,例如是PPP(点对点的协议)的ISDN连接之上。这些网络可以由单一网络部分所组成、或者是其可以具有并入许多通过其它通讯链路相互连接的网络部分的复杂的拓朴。与本发明相关的范围内,H.323终端机(为了电话通讯的目的,在此特别表示为H.323的“电话端点”)系提供用于点对点的通讯的语音、传真以及/或是数据通讯能力。在一个H.323网络之上、介于H.323端点之间的交互影响系通过所谓的“网关”,例如是网关200与200’(也见于图2)加以达成,其尤其提供进入许可控制以及地址转变服务。
一个H.323端点可以是任何电话或是网络可连接的装置,其系与该H.323标准兼容。一个端点可以起始一个通话至另一个此种端点,以及由另一个端点所通话。一般地,一个端点系产生并且/或是结束信息数据流。一个端点可以是一个电话(系为一个“电话端点”)或是其它顾客处所装置(CPE),假设其系包含适当的电路或是系被接口连接(interfacing)至适当的电路,例如一个提供H.323兼容的H.323PBX。
每个电话端点都具有一个以一个电话号码的形式的与其相关的别名地址,如在H.225标准中例示指明地。对于任何一个电话端点,其别名系代表寻址其的一种替代的方法,并且被使用作为一种通过该PSTN与该电话端点做互联网作用的方法。另一方面,如下所论述的守门员并不具有任何此种别名。
一种主要地用于电话用途的H.323网络,如图4A中所描绘地,其系由一些区域(其中四个系例示地被显示,明确地说为区域405、410、470以及475)以及管理的领域(其中两个系例示地被显示,明确地说为管理的领域A以及B)所组成。用于我们的目的,我们将一个区域视作为一个群组的H.323电话端点,那些端点为了其实行相互连接的目的,而通过单一守门员来加以控制。在此,例如,区域405系包含H.323端点4051、...、405w,全都由守门员4201所控制;区域410系包含H.323端点4101、...、410x,全都由守门员4202所控制;区域470系包含H.323端点4701、...、470y,全都由守门员4601所控制;并且区域475系包含H.323端点4751、...、475z,全都通过守门员4602所控制(其中w、x、y与z是整数)。在本质上,一个守门员是一个逻辑的H.323实体,其系提供IP通话路由功能;一个网关系在电路交换的通话与VoIP通话之间转换。
一般而言,一个管理的领域系包含一组H.323实体,其系通过在该领域中的一个管理的实体加以管理。在该领域中的每个H.323实体都具有至少一个唯一地识别该实体的网络地址。在此并且在电话应用的背景中,每个管理的领域系包含一个群组的区域,其系与其它区域隔离,其中每个区域系通过一个各别的对应的守门员加以管理。如图所示,管理的领域A与B系分别包含区域405与410、以及470与475。一个管理的领域系通过守门员至守门员的消息或是守门员至边界组件的消息来提供通话路由服务给其区域。
一个边界组件是一种功能性的组件,其系提供一条路径至兼容于外部的,亦即,公众的进入一个管理的领域的存取,用于通话完成或是任何其它牵涉到与任何位在该管理的领域之中的其它组件的多媒体通讯的服务的目的。此种进入一个领域的存取系完全地通过一个边界组件而发生。因此,一个边界组件系有效地控制其领域的一个外部的视野。一个边界组件系通过该H.225标准的“附录G”中所指明的一种协议的使用,来与其它边界组件通讯,例如用于在领域间的通讯,以用于例如是在领域间的通话完成。边界组件至边界组件的消息系提供该唯一的运输工具,在一个领域中的一个边界组件通过其可以与另一个领域中的一个边界组件建立一种服务关系,以为了完成在这些领域之间的一个通话。在任何一个管理的领域中,在该领域中中的一个边界组件可以利用H.225信号来与其它H.323组件,例如是位在该领域中的守门员通讯。在任何一个领域中的一个边界组件是负责传播由其相关的守门员所供应至其的领域范围的路由信息,亦即,牵涉到在该领域中的任何端点(电话端点与网关)的路由信息,例如一个新的网关或是电话端点的登记(或是撤销登记)以及/或是在一个转变表中的一个改变,至在整个领域中的所有其它的守门员,由此确保储存在该领域中的每个守门员以及在该边界组件中的路由表在所有的守门员之间是一致的,并且在守门员之间提供冗余。此外,由于每个守门员均在本地维持此信息的一个完整的、时常地更新的备份,因此网络处理速度是通过消除对于集中此信息的任何需求、以及因此消除在其伴随的处理与网络延迟之下的对于任何此信息来询问一个集中的数据库的任何需求而被加快。
如图所示,管理的领域A与B包含对应的边界组件430与450。如图所示,边界组件430能够与守门员420通讯,该守门员420系包含守门员4201与4202;而边界组件450也可以与守门员460通讯,该守门员460系包含守门员4601与4602。在例如是守门员的位在不同的管理的领域之中的H.323组件之间的通讯只通过其相关的边界组件发生。因此,在守门员4202与4601之间的通讯将通过并且通过边界组件430与450两者加以处理,并且根据该附录G标准来发生。在例如是组件430与450的边界组件之间的消息系典型地在UDP之上载送。所谓的“保持存活的”消息系被交换在那些包含如下所述的“对等”边界组件的边界组件之间,使得每个边界组件将不停地侦测是否另一个边界组件已经失效。被交换在例如是组件430与450的边界组件之间的H.225.0消息系包含信息下载与信息更新。这些消息将在以下于其使用的背景中加以论述。
守门员系与在共同的领域中的边界组件建立服务关系,以取得并且在一个管理的领域中公开其间的通话路由信息。再者,一个边界组件,例如,边界组件430,系响应于来自一个与该边界组件相同的领域中的例如是守门员4201的守门员的一项请求,而可以请求路由信息以用于其区域与其领域的外的、来自于一个相关于包含一个被叫方的电话端点的领域的边界组件的通话。
守门员至守门员的消息系通过线路413来表示用于在守门员4201与4202之间的消息,并且通过线路465来表示用于在守门员4601与4602之间的消息。守门员至边界组件消息系通过线路423与427来分别表示用于在边界组件430与守门员4201以及4202之间的消息;并且通过线路453与457来分别表示用于在边界组件450与守门员4601以及4602之间的消息。在边界组件与守门员之间的消息系典型地利用UDP(用户数据电报协议)来传递。在此同样地,“保持存活的”消息系被交换在每个守门员与其对应的边界组件之间,使得两个组件将不停地侦测该是否另一个边界组件已经失效。被交换在守门员与一个边界组件之间的H.225.0消息系包含服务请求/服务确认/服务拒绝;描述符号ID请求/描述符号ID确认/描述符号ID拒绝;描述符号请求/描述符号确认/描述符号拒绝;以及描述符号更新/描述符号更新应答。这些消息也将在以下其使用背景中加以论述。以软件施行的边界组件功能(如同将在以下结合图5以及其它后续的图式加以论述地)可以结合在其它H.323组件,例如一个网关或是甚至是一个守门员之中而存在。
每个守门员本身是在该网络上的一个H.323实体,其主要系提供地址转变以及存取至该网络的控制给其它的H.323装置,例如H.323电话端点与其它网关。一个守门员系逻辑上与该电话端点为分开的;然而,其实际的履行可能与一个终端机、网关或是其它非H.323的网络装置共同存在。
尤其,每个守门员系通过转换在一个电话端点的一个别名地址(电话号码)与其网络传输地址(IP地址)之间来提供地址转变。此转变系通过一个转变表而被实现,该转变表系利用如下所描述的登记消息以及其它的方法来更新的。再者,每个守门员系通过根据例如,通话授权、所需并且可用的网络频宽、或是其它准则来通过H.225.0消息授权网络存取,以提供进入许可的控制,并且也通过调节被配置给任何在该数据网络之上传输的通话的频宽来控制频宽。每个守门员系提供这些功能给已经向该守门员登记的电话端点与网关,因此来达到区域管理。
牵涉到一个守门员的H.225.0消息系包含守门员请求/守门员确认/守门员拒绝;登记请求/登记确认/登记拒绝;进入许可请求/进入许可确认/进入许可拒绝;分离请求/分离确认/分离拒绝;信息请求/信息请求响应/信息请求应答/信息请求nack(无应答);并且频宽请求/频宽确认/频宽拒绝。
再者,每个守门员都可以依所需地提供各种选配的功能。其中一个此种功能是通话控制发出信号。在此,该守门员可以选择来处理发生在两个电话端点本身之间的通话发出信号信息,并且因此完成该发出信号,而不是将该功能交给另一个组件。或者是,该守门员可以导引该两个电话端点来彼此直接连接成为一个通话发出信号的信道,因此避免了对于该守门员来处理H.225通话控制信号的需求。另一个此种选配的功能是通话授权。特别是,通过该H.225发出信号的使用,一个守门员可以因为授权失败而拒绝来自于一个电话端点的通话。对于此种拒绝的原因可能包含,例如,受限制的存取往返于特定的电话端点或是网关、以及在某些时间期间内受限制的存取。一个额外的选配的功能是频宽管理。在此,一个守门员系控制被允许同时存取至该数据网络的一些H.323电话端点。通过该H.225发出信号的使用,该守门员可以因为频宽限制而拒绝来自于一个电话端点的通话。若该守门员判断在该数据网络上不足的频宽是可用来支持一个被请求的通话时,则这是可能发生的。此功能系在每当一个电话端点请求额外的网络频宽时,运作在一个有效的通话期间。再者,一个守门员系提供所要的通话管理功能。例如,此系包含维持一个进行的H.323通话表列。内含在此表列中的信息可能是必须的,以指出一个被叫方的电话端点是忙碌的,以及/或是以提供用于该频宽管理功能的信息。最终地,一个守门员可以保留网络频宽用于缺少此功能的电话端点,并且能够提供号码簿服务以存取并且供应号码簿信息用于转变在别名与网络传输地址之间。
经由网络链路,后端的服务440对于位在该领域之中的各种H.323实体是可用的,并且提供支持通话完成在遍及该H.323环境所需的各种集中的功能。这些功能包含用户鉴别或是授权、结帐、开帐单、等级/价目表以及其它最好在一个集中的基础上、从一个远程的服务器或是数据中心所提供的管理与支持的功能。再者,后端的服务440也可以对于那些无法在领域间的基础上解决的目标端点,来提供通话路由信息至请求的实体。
如图所示,后端的服务440可以通过链路442与444分别至守门员4201与边界组件430来与管理的领域A通讯,并且通过链路446与448分别至守门员4601与边界组件450来与管理的领域B通讯。至守门员4202与4602之后端的消息将通过在链路413与465之上被载送的网关间的消息,分别从网关4201至网关4202,并且从网关4601至4602、以及在一个逆向的方向加以提供。
如在该H.323标准中所定义地,一个H.323电话通话开始于一个特定的通话准备程序并且结束于一个特定的通话终止程序-两个程序都在以下详细地加以论述。
有鉴于该电话端点,例如是端点405、410、470与475,系将与一个交换的电信网络,例如该PSTN做网络间的连接,而不只是限制其动作至一个IP数据网络,每个通话系牵涉到这些端点中的一个端点系终端在一个适当的网关处,其中用于该通话的数据是如上在图2的背景下所论述地被转换成为一个适当的表示,用于在一个所要的网络,不是该PSTN就是该专用数据网络上载送。
我们发明的网关系利用如在该H.225标准中所定义的标准化的通话发信号协议以及打包。有鉴于该H.225与H.323标准是在该项技术中为人所熟知的,为了简洁起见,我们将省略在该网关与该端点中所进行、如同在这些标准中所指明而实施并且因此与这些标准兼容的特定的程序与消息的详细的论述。
根据我们目前发明的教导,我们已经延伸该H.323参考模型来并入对等的边界组件在单一的管理的领域中。这些边界组件系提供增进的容错与冗余。图4B系显示此种延伸后的参考模型。由于在此种延伸后的参考模型中的大多数的组件和显示在图4A中的组件相同,因此我们将只有专注于那些额外的组件。有鉴于显示在图4A与4B中的网络拓朴只是作例证的,那些本领域的技术人员将理解到仍然纳入有显示在这些两个图中的观念的具有不同复杂度的广泛种类的不同的拓朴系可以被利用在任何实际的网络施行中。
如图4B中所示,管理的领域A系包含边界组件430(也内含于显示在图4A中的参考模型内)以及其对等边界组件430’。虽然最好是两个边界组件可以被建立成为“对等者”,但是超过两个的边界组件也可以被利用。由于目前是两个边界组件被使用作为“对等者”来简化配置与测试,我们将限制接着的论述至此种特定的配置。然而,如何延伸一个领域的架构来包含所有都运作为彼此的“对等者”的增加数目的边界组件,对于任何熟习在该项技术者将是轻易而明显的。虽然任何或是所有的管理的领域可以包含对等的边界组件,但是我们将也限定我们的论述至只有一个此种管理的领域。
对等的边界组件430与430’系一起运作并且表现为单一整体的边界组件,亦即,一个“逻辑的”边界组件,但是其功能系被复制在两个此种组件之间。因此,若任一边界组件失效时,则另一个边界组件可以在一个共同的管理的领域中提供在领域间的路由以及在区域间的路由。对等边界组件430’也处理用于额外的区域415,亦即,包含电话端点4151、...、415m(其中m是一个整数)的区域415的守门员4303的通讯。对等的边界组件最好是具有一种松散耦合的分布式架构,不具有阶层的差异。在一种“对等的”关系下,此种边界组件并非运作在一种主/仆或是有效的/备用的基础下。来自于在一个领域中的守门员或是一个边界组件的处理事务,例如边界组件430运作为一个外部的边界组件(亦即,其系提供外部的存取至该领域中),系与其对等边界组件(在此为430’)共同分担。就此而论,被储存在一个对等的边界组件中的处理事务数据保持与被储存在另一个边界组件中的数据同步化,使得任一个边界组件可以立即地进行处理事务的处理,假设其对等边界组件失效或是被移开服务。如图4B中所指地,在一个共同的管理的领域中的对等的边界组件430与430’系建立TCP/IP信道在其之间,其中两条连接系存在的起源自每个此种组件并且终止在另一个的连接。因此,在一个“对等的”配置中的每个边界组件系具有TCP/IP服务器与客户连接两者。类似于那些在外部的边界组件之间的消息(例如组件430与450),在对等边界组件之间的H.225.0消息系包含信息下载与信息更新消息、以及来建立并且断开其间的TCP/IP连接。
该信息下载消息系在与其对等者建立一条TCP连接之际,通过一个“起源的”边界组件被传送至其对等者。此消息系该起源的边界组件的所有的通话路由功能与其对等者共享。该消息系包含本地的服务关系(内部于一个领域)、本地的描述符号、外部的服务关系(外部于一个领域)以及外部的描述符号。该本地的服务关系界定每个与该起源的边界组件具有一种服务关系的守门员的传输地址。该本地的描述符号系根据该附录G标准来界定路由描述符号,并且是从与该起源的边界组件相同的领域的一种固定的配置、或是从位于此领域中已经和该起源的边界组件建立起服务关系的守门员来获取的。该外部的服务关系是为了该起源的边界组件,在此为例如是组件430,来界定那些外部于此领域的边界组件,例如是存在于管理的领域A的外的边界组件450的传输地址,其系已经与该起源的边界组件建立一个服务关系。该外部的描述符号系根据该H.225标准来界定路由描述符号,其系从该H.323环境的一个固定的配置、或是从位于包含该起源的边界组件的领域外部的已经和该起源的边界组件建立起服务关系的边界组件来加以获得。一个信息更新消息系从该起源的边界组件被传送至其对等者,以为了通知其对等者在影响位在相同的领域之中一个守门员的信息上、或是从位在此领域的外部的一个边界组件所接收的信息上的一项改变。最初接收此种信息的一对“对等的”边界组件中的特定的边界组件是需负责传送该信息至所有的其对等者。
对于包含附录G的该H.323与H.225标准的进一步的细节,读者系参照(a)该H.225标准“系列H视听与多媒体统统、视听的服务的基础结构--传输复用与同步化、通话发信号协议与用于以数据包为基础的多媒体通讯统统的媒体数据流打包”,ITU-T建议H.225.0,草案版本3,1999年5月;(b)该附录G标准“附录G--在管理的领域之间的通讯”(在此称的为“H.225”),ITU,用于决策的H.225.0附录G草案,17-28,1999年5月;以及(c)用于该H.323标准“系列H视听与多媒体统统、视听的服务的基础结构--用于视听的服务的统统与终端机设备、以数据包为基础的多媒体通讯统统”,ITU-T建议H.323,版本3,1999年5月,其全部被纳入于此作为参考。对于本发明中所使用在H.323组件,例如是守门员与端点之间的控制协议的细节,读者是也参照至“系列H视听与多媒体统统、视听的服务的基础结构--用于多媒体通讯的通讯程序、控制协议”,ITU-T建议H.245,1997年7月-其也被纳入于此作为参考。
3.通话处理软件500-组成的程序以及其它软件在以上的概念下,我们现在将转到图5,其系显示构成我们发明的网关中所使用的软件300的一部分的通话处理软件500的详细的方块图。如同显示在图5中的图解内所指明地,圆形的以及矩形的方块系对应地指示程序、驱动程序以及其它软件模块;粗的实线表示数据路径;粗的与细的虚线分别表示发信号以及配置信息路径;并且细的实线表示用于其它软件交互作用的路径。我们定义一个“程序”为该统统的操作统统所知道的一个独立的执行实体。一个程序可以主张使用当时由该操作统统所控制的统统资源,例如,该处理器、存储器以及输入/输出(I/O)的存取。一个程序可以被分割成为多个任务,每个工作是该操作统统不知道的一个逻辑的实体。
虽然本发明的网关系利用一种事件驱动的、多重任务的管线化的软件架构,但是为了简化起见,我们欲在接着的论述中省略该架构的这些特点的几乎所有的细节。此种细节在本质上是公知的;因此,其使用在实施我们目前发明的网关中所使用的软件将对于任何一位熟习在该项技术者而言都是轻易而明显的。
如图所示,软件500的全部的功能可以被分割成为四个基本的部分包含只是为了说明的目的的个别的部分510A与510B的数据部分510;通话处理部分550;通话切换部分580以及通话发信号部分590。数据部分510系控制在至该网关的LAN连接之上、包含数据包后的电话的数据包后的运输的传输与接收,并且对于任何VoIP通话来转换在其以G.711压缩的格式的TDM电话表示以及其具有G.723压缩的IP数据数据包表示之间。
通话处理部分550系管理其中该网关运作的H.323环境;配置通话处理资源以处理一个通话;并且指定路由给电话通话在该PSTN或是数据网络之上,并且,通过在数据部分510A中的语音数据包处理器程序(VPH)517以及TASQ程序537的交互作用,来依照当时在该数据网络之上所提供的QoS所担保地切换那些通话往返在该PSTN与该数据网络之间。通话发信号部分590系产生适当的电话发信号信息用于由该PSTN或是该PBX所使用,以为了恰当地指定路由给通话,通过该PSTN或是在该数据网络之上,而分别在该网关与该PSTN之间以及在该网关与该PBX之间。
虽然不是特定的为任何一个该部分的部分,软件500也系包含命令与制造测试程序馆575、缓冲器管理器593、定时器管理器594、程序间的通讯设施595、以及事件登录服务器596。
命令与测试程序馆575系提供一个命令的程序馆,通过该命令的程序馆,一用户可以例如通过一个控制台或是个人计算机、经由RS-232驱动程序539与在该网关上所设置的一个串行端口来与该网关交互作用。通过此种交互作用,一个用户可以设定统统配置参数、通话各种内部的测试程序、并且执行由该网关所提供的其它功能,例如是读取内部的事件登录、下载内部的运作统计数据、并且更新各种软件模块,例如是DSP驱动程序。
个别的数据与控制缓冲器堆(并未特别地显示)系被设置在该网关中,用于动态配置并且由任何请求的程序所使用。这些堆系被缓冲器管理器593所管理。该包含一些268个字节的缓冲器的控制缓冲器堆系被使用来传送发信号消息在HDLC(高阶的数据链路控制器(D信道))驱动程序592与各种程序,特别是Q.921程序572、Q.931程序577、T1AB程序575以及通话处理器程序560之间-其全部将在以下论述的。此外,其它程序可以利用这些缓冲器用于传送程序间的控制通讯于其之间。该具有一些256个字节的缓冲器的数据缓冲器系被使用来传输数据消息在以太网络驱动程序533与VPH程序517之间。每个这些缓冲器是足够大以容纳一个RTP标头(12字节长)以及240个接着的语音样本字节,其在没有利用G.711压缩之下储存大约30微秒的语音样本。
定时器管理器594系提供并且管理各种以软件为基础的定时器,用于各种请求的程序以及驱动程序。此管理器依所需地开始并且停止定时器。对于诸程序,管理器594系传递一个“定时器期满”消息给一个先前已经设定一个现在期满的定时器的程序。有鉴于装置驱动程序系不能够接收一个消息,装置驱动程序系通过一种回话解决方法与管理器594交互作用。在使用中,管理器594系每10微秒接收一个定时器中断,在此期间,此管理器系判断是否有任何有效的定时器当时已经期满,并且若有的话,则传递该定时器的识别于一个中断服务的领域中。
程序间的通讯设施595系对于每个程序都实施一个接口信箱,通过该接口信箱,该程序系与装置驱动程序以及其它的程序通讯。此信箱系由一个双链接的队列标头以及其它的信息所组成,为了有助于程序间的事件发信号。一个主叫方的程序,亦即一个传送一消息给例如是另一个或是“被叫方的”程序的程序,系通过识别一个特定的消息缓冲器,并且将该识别置入该被叫方的程序的一个信箱,来传送一消息至另一个或是“被叫方的”程序。若必须的,一个事件是在一个消息的传递之际被产生来“唤醒”该被叫方的程序。一个消息系由一个统统消息标头以及一个长度可变的数据域位所组成。该标头系指明消息类型、以及一个相关于该主叫方的程序的独特的统统识别(USID)。每个程序以及驱动程序都具有一个相关的两个字节的USID。一个USID是相关于每种不同的功能,而不是相关于一个特定的硬件装置,例如一个特定的电路。一个USID系具有两个单一字节的成分一个主要的装置号码并且一个次要的装置号码。一个装置是被指定一个主要的装置号码,其中通过该装置所提供的每种不同的功能系被指定一个不同的次要的装置号码。程序系被视为“虚拟的”装置,具有其一个主要的装置号码,并且相关于该程序的每个不同的任务都具有一个不同的次要的装置号码。通过此解决方法,一个程序可以从另一个程序接收一个消息、以及从一个装置驱动程序接收进来的数据或是一个事件。
事件登录服务器596系维持一个事件登录表并且提供一种事件登录服务。通过此种服务,某些命令可以被用来产生事件,其系将写入一个项目进入该事件登录,并且因而更新了该事件登录。此登录可以被用户通过发出适当的Telnet命令来加以读取,该些命令系被该命令与制造测试程序馆575指定路由至Telnet程序526。
现在,转到软件500的特定的部分,我们将先强调数据部分510A。
如所描绘地,数据部分510A从程序的观点系包含闲置程序502、配置管理器(CM)505、网络服务器514、VPH 517、HTTP(超文件转换协议)服务器520、FTP(档案转换协议)服务器529、Telnet服务器526、SNMP(简化的网络管理协议)程序538、以及TCP/IP程序535。此部分也包含有关于驱动程序的DSP驱动程序519、以太网络驱动程序533以及RS-232驱动程序539;以及有关其它的软件模块监视定时器模块507、数据库508、网页511以及闪存编程模块523。
尤其,在该网关开机之际,一个被储存在闪存205(见于图2)中的开机程序系从该闪存执行可执行的程序代码至SDRAM 210之中,并且接着转换执行至当时存在于SDRAM中的程序备份。复制该码并且接着从SDRAM来执行其是实质上快于直接从该闪存来直接执行该程序代码。一旦此程序代码开始从SDRAM执行时,其系起始化各种配置表、激活该操作统统并且接着传递控制给该操作统统。该操作统统开始配置管理器505成为第一个将被执行的程序,接着以配置管理器505依所需地来衍生所有的其它程序。该配置管理器也起始化缓冲器管理器593、定时器管理器594以及事件登录服务器596。一旦此发生,该配置管理器接着起始化所有的装置驱动程序以及其它需要起始化的软件模块。同时,在一个开机重置情况发生之际,配置管理器505系清除该事件登录以及所有的统计计数器。此外,该配置管理器也开始监视定时器驱动程序507。此驱动程序定期地并且周期性地选通(重置)一个位于该微控制器中的硬件制作的监视定时器,以不停地重新开始其计时期间。在一个停止软件执行的严重的失效状况的事件中,该监视定时器将到达其计时周期的末端,并且产生一个警报状况,以及使得继电器265与275(见于图2)采取其常开的位置,并且因此旁通该网关。
该配置管理器也维持配置信息在显示于图5中的数据库508内。此信息系包含两个基本的部分特定单元的信息,亦即,用于一个其中软件500正在执行的特定的网关、以及H.323领域范围的信息。特定单元的信息,亦即,一个所谓的“概况”,系个别地被配置用于运作在该H.323环境中的每个网关。领域范围的信息可以被输入到任何一个网关中,该网关接着将利用一种多重播送机制来分布该信息至所有在相同的管理的领域中的其它网关。领域范围的信息系包含例如是在该领域中的每个网关、边界组件与电话端点的H.323登记信息。如以下所论述地,由于每个H.323组件系向一个特定的守门员登记,因此该守门员系通过一个相关的边界组件来广播该登记数据至相同的管理的领域中的每个其它的守门员,使得在该领域中的每个守门员与边界组件都知道在该领域中的每个其它的H.323组件的存在以及地址。该相反的过程亦发生在每个H.323组件撤销登记并且离开其领域时。此数据库可以被动态地更新以反映目前的配置状态,其系通过任何的一些不同的程序网络服务器514、SNMP程序538、守门员700、通话处理器560、Q.931程序577以及边界组件900。数据库508也系储存该路由(转变)表。该概况与统统范围的信息、以及该路由表两者都被储存在闪存205(见于图2)之中,以提供在统统重置与开机周期之间非依电性的储存。
显示在图5中并且位于数据部分510A的心脏部分的TCP/IP程序535系实施一个基本的路由引擎在该网关中。明确地说,此程序系实施一个具有目标为基础的IP路由的TCP/IP(传输控制协议/网际协议)堆栈。此程序系进行在此堆栈中的项目所有的处理,以用于IP、TCP、UDP以及ARP(地址解决协议)的协议。一种公知的“插座”接口是由程序535提供来容许在该堆栈的顶层与本地的IP应用通讯,那些IP应用明确地为VPH 517、HTTP服务器520、FTP服务器529、Telnet服务器526、SNMP(简化的网络管理协议)538、TASQ程序537、守门员(GK)700、事件服务器555以及P.323程序553。一个位于该堆栈的底层并且与以太网络驱动程序533通讯的共同的网络接口系有助于通过一条以太网络(LAN)连接来与该堆栈网络通讯。尤其,程序535系从该LAN接收进来的IP数据包,如同通过以太网络驱动程序533所提供的IP数据包。在该考虑下,每个这些如传统般产生的数据包系装入一个以太网络数据包中作为有效负荷数据,并且通过该以太网络驱动程序从其中取出。就此而论,程序535系根据一个协议ID以及熟知的内含在该数据包之中的端口号码,来指定路由给该IP数据包至该本地的应用或是协议的任一个以用于处理。类似地,程序535可以指定路由给通过任何一个本地的IP应用所产生的IP数据包至另一个IP应用,用于通过该另一个IP应用予以处理。由于该HTTP、FTP、Telnet以及SNMP程序全都是公知的,我们将不再更详细地论述它们。
如上所指明的,软件的更新,例如是对于一个驱动程序或是程序,可以经由用户输入的telnet命令、通过FTP程序529而被提供至该统统。任何此种以替代码的形式的更新系通过快闪编程模块523的使用而被写入闪存205(见于图2)之中,并且就此而论,覆写了该程序代码的一个对应的早期版本。
显示在图5中、通过HTTP服务器520运作的公知的网络服务器514系提供存取至预先定义的网页511,在用户项目对话之下,用户可以通过其来输入配置信息进入到该网关中。一旦此种信息被输入之后,网络服务器514系写入此信息到数据库508中的适当的位置内。每当一位用户,例如是通过一个执行在位于该LAN上的一个个人计算机(PC)或是工作站的浏览器,以尝试建立一个TCP/IP连接至该网关时,HTTP服务器520系开始,其接着指示网络服务器514来下载一个适当的项目“首”页给该用户。Telnet服务器526系实施该Telnet协议的一个服务器侧,其系允许一位执行在该PC或是工作站之上的telnet客户来与该网关通讯。一个用户接口系经由命令与制造测试程序馆575来加以提供,通过该用户接口,如上所论述地,该用户可以与该网关交互作用,并且,例如通过FTP程序529来更新软件、下载登录项目、执行各种制造测试(例如T1/E1成帧、回送、LED测试以及其它)、等等。SNMP程序538是一个客户SNMP程序,其系编码并且传输网络管理消息,例如本地产生的警报至一个远程的标准化的SNMP管理平台,并且容许通过该平台的该网关的配置。
再者,TCP/IP程序535也可以经由以太网络驱动程序533来指定路由给出去的IP数据包,用于在该LAN之上的载送,以用于外部的处理。如以下所论述地,这些出去的IP数据包可以是包含起源于一个主叫方的近端语音、数据或是传真信息的本地产生的VoIP数据包,其接着通过该LAN被指定路由至该专用数据网络,并且从该网络至一个远程的网关,用于最后的转换成为TDM信号并且终端在服务一个被叫方的电话号码的一个目标PBX。
对于每个通过该网关运送的VoIP通话,VPH程序517双向地处理相关于该通话的语音数据包。明确地说,包含起源在来自于一个本地的PBX的一个TDM信道的语音数据的进来的G.711数据包系如图5中所示地,通过通话处理器程序560加以提供至VPH程序517。此VPH程序517系提供这些数据包至DSP驱动程序519。此驱动程序接着指定路由给这些数据包至一个被指定的DSP(DSPs 2251、...、2258中的一个)上的一个被配置的信道,用于转换成为G.723压缩的格式。该所产生的G.723数据包系接着被传回到该VPH,该VPH系接着将这些数据包以及适当的IP通话路由信息装入IP数据包中。该通话路由信息系包含相关于该被叫方的以及主叫方的电话号码的目标以及起源的IP地址,并且该目标以及起源的IP地址系被定义在被储存在数据库508之中的转变表中、通过该通话处理器加以存取并且被供应至VPH程序517。之后,VPH程序517系供应这些IP数据包至TCP/IP程序535用于指定路由至该LAN,并且从该处至该专用数据网络,用于载送至一个远程的对等网关。该VPH系以一种相反于上述的方式来处理从该LAN进来的数据数据包,以提供对应的G.711数据包至该通话处理器程序,用于最后的转换成为一个TDM信道并且施加至一个本地的PBX。
DSP驱动程序519通过各种计数器以及缓冲器,也来判断通过内含在该数据包中的公知的RTP(实时的传输协议,其系存在于该UDP之中)数据包按顺序安排的号码的数据包损失统计,并且提供缓冲器溢出/不足的信息以用于判断对于其当时正在处理的每个目前的VoIP通话的不稳定性。对于每个此种通话,TASQ程序537系传统地量测用于该通话的网络连接的延迟,其系通过定期地传送一个“声脉波信号(ping)”至相关于此通话的对等网关,并且量测来回的经过时间。该TASQ程序对于每个此种通话,也间歇地询问该DSP驱动程序,以获得该数据包损失统计以及缓冲器溢出/不足。TASQ程序537接着内插从该DSP驱动程序所接收的此数据,并且在时间过滤此数据,并且结合其对于该通话的延迟判断,其系判断当时运送该特定的VoIP通话的网络连接的数值等级。若此连接的等级是小于一个预定的阈值时,则该网络质量将被认为不足以处理此通话。该TASQ程序系发出一个指令给通话处理器560,以切换该通话从该专用数据网络至该PSTN。或者是,若该通话当时正被运送于该PSTN之上,TASQ程序537系继续量测网络质量,以判断是否已经降低至该阈值之下的网络质量稍后已经增加到超过支持该通话所必须的阈值,并且因此再次提供电话费的旁通以及成本节省。为了达成此目的,TASQ程序537定期地从其网关传送一个“声脉波信号”至其对等网关(例如,显示在图1中的网关200与200’),其全体地服务对于该通话的主叫方并且被叫方的位置。若根据这些延迟量测,相关于此网关至对等网关的连接(亦即,此通话能够被指定路由在该连接上)的数值等级是足够的,则网络质量现在将被认为足以支持一个VoIP通话。在此情形中,TASQ程序537系发出一个指令至该通话处理器,以切换该通话从该PSTN回到该专用数据网络。就此而论,TASQ程序537系根据当时通过该专用数据网络的可用的QoS上的动态的变化,来指示该通话处理器来切换该通话往返在该PSTN与专用数据网络之间,以提供与其当时提供的QoS一致的该专用数据网络的最大的利用。有鉴于被用来量测不稳定性、数据包损失以及延迟并且根据这些包含通过内插与过滤的量测来判断一个网络连接的质量的技术系在该项技术中为全部公知的,因此我们将省略任何进一步详细地论述那些技术。此外,由于PSTN线路交换连接系一贯地提供一个非常高的一致的质量水准,因此没有必要来特别量测这些连接的QoS;其可以单纯地被假定一直是足够高的。
DSP驱动程序519也通过合规频带的传真或是调制解调器音调的存在来侦测是否一个当时通过一个网关被建立的VoIP通话系载送传真或是调制解调器数据,并且若是的话,通过与守门员程序700适当的交互作用来适当地改变其所利用的压缩以处理此数据。由于这些动作的细节与本发明无关,因此这些动作将不再进一步地论述。
就此而论,读者现在可以轻易地认识到VoIP数据包系通过软件500而流动在通过粗的实线518、522、531、534与540所给的方向以及沿着那些数据路径上、在该VPH程序、该DSP驱动程序、该DSPs、该TCP/IP程序、该以太网络驱动程序、以及该LAN与专用IP数据网络之间。
闲置程序502系运作在一种先占的(preemptive)优先次序模式下,但是在一个最低的执行优先次序之下(而不是一个执行在该O/S之中的内部的闲置程序)。程序502只是就目前的工作量方面判断该微控制器的状态,并且来侦测程序代码的受损坏情形、比较被储存在闪存205(见于图2)的软件以及当时接收以从SDRAM 210执行的软件、并且假设其侦测到一个不一致情形时,产生一个错误事件。
内含在显示于图3B中的部分510B之中的LED驱动程序566系在程控之下,适当地激励各种LED指示器569以指示由该配置管理器所提供的网关目前的状态信息。
TSI(时隙交换器)驱动程序585,系为通话切换部分580之中唯一的组件,其提供一个控制接口至TDM交换机250,并且通过提供控制接口而容许通话处理器560来控制该交换机的动作,以为了建立适当的时隙连接穿过其来连接相关于主叫与被叫电话端点的特定的时隙。
通话发信号部分590系包含三个程序T1AB程序575、Q.921程序572以及Q.931程序577;以及三个驱动器AB位驱动程序591、HDLC(D信道)驱动程序592以及T1/E1共同的驱动程序574。如上所指明的,部分590系产生适当的电话发信号信息用于给该PSTN或是该PBX使用于恰当地路由通话,其系通过该PSTN或是在该数据网络之上,而分别在该网关与该PSTN之间、以及在该网关与该PBX之间。
如上所指明的,T1/E1通讯链路可以利用任一信道相关的发信号(CAS)或是共同的信道发信号(CCS)。T1AB程序575系通过AB位驱动程序591来与在CAS中所提供的个别的发信号位A、B交互作用,并且转换内含在这些位中的发信号信息成为该通话处理器可利用的一种表示。与此驱动程序交互作用的程序575也是整体地实施一种反向的功能,转换该通话处理器所提供的发信号信息成为这些个别的发信号位。程序575以及驱动程序591只有在该T1/E1链路是运作在该CAS模式之际才被激活。
被CAS与CCS模式T1/E1链路两者所利用的T1/E1共同的驱动程序574系与T1/E1收发器/成帧器260与270(见于图2)交互作用而控制该T1/E1收发器/成帧器260与270,并且其系实施一部分的对于CAS与CCS两者为共同的T1/E1成帧。此驱动程序系侦测T1/E1警报状况,并且传送此种被侦测到的情况至显示在图5中的通话处理器程序560(虽然在这些两个程序之间的连结并未特别予以显示出)。HDLC(D-信道)驱动程序592(显示在图5中)以及Q.921程序572与Q.931程序577都只有在该T1/E1链路系运作在该CCS模式下才被激活。
HDLC驱动程序592系控制位于该微控制器之中的一个对应的串行的通讯电路(SCC)的动作,以用于作为一个HDLC。此驱动程序是在程控之下被连接至该PSTN/PBX T1/E1链路中的一个不同的B-(64kbits/sec)或是D-(16kbits/sec)信道,以通过该特定的HDLC、控制数据传输至在该链路上的一个TDM信道,以及从在该链路上的一个TDM信道的接收。此驱动程序系依据数据流通过其的方向而定,来从出现在此TDM时隙之上的信息取出Q.921消息,并且施加那些消息至Q.921程序572、或是以相反的方向运作来施加由Q.921程序572所产生的Q.921消息,以用于通过该TDM时隙载送。当情况保证时,该HDLC驱动程序是在程控之下被指定给特定的SCCs,当作为HDLCs。这些HDLCs与一个实体层T1/E1接口(未特别显示在图2中)一起来整体地以硬件施行OSI网络功能的“层1”。在一个事件驱动的以软件施行的监视器之下,该微控制器考虑到目前的资源请求以及当时可用的硬件资源,系指定驱动程序592至一个特定的SCC,该SCC接着被使用作为一个HDLC,以为了通过该网关(例如,通话传送或是接收)来处理一个所要的通话。
Q.931程序577是公知的,并且编码从CH程序560出去的发信号消息成为适当的Q.931消息格式,用于通过D-信道发信号来传递这些消息至该PSTN或是PBX以控制通话准备与切断。所产生的出去的Q.931消息系适当地通过Q.921程序572被装入一个Q.921信息帧中,用于随后的传输在D-信道发信号之上,至一个本地的中央局交换机或是该本地的PBX。该程序全体地运作在一个相反的方向,以处理进来的Q.921信息帧并且译码进来的D-信道Q.931发信号消息成为适当的发信号消息,用于通过通话处理器560的处理。Q.931程序577与Q.921程序572一起而全体地以软件分别施行OSI网络功能的熟知的“层3与2”。
通话处理部分550系包含守门员程序700、边界组件程序900(其包含一个对应的对等边界组件程序,未特别予以显示出)、事件服务器555、通话处理器程序560、H.323驱动程序563以及P.323程序553。如上所论述地,此部分系管理其中该网关运作的H.323环境;配置通话处理资源以处理一个通话;并且指定路由给电话通话在该PSTN或是数据网络之上,并且,通过与VPH程序517以及TASQ程序537交互作用来依照由当时被提供在该数据网络之上的QoS所保证地切换那些通话往返在该PSTN并且该数据网络之间。守门员程序700以及边界组件程序900系利用被储存在数据库508中的配置信息、以及写入此种信息进入该数据库中。这些两个程序已经在以上被论述到在此程度的清楚理解所需的范围,但是将在以下结合显示在图7、9至10中的较低阶的方块图并且显示在随后的图中的消息而更加详细地论述,其系流动在一个网关之中以及在对等网关之间来施行网关间的电话通话处理。
通话处理器(CH)程序560系实施在该网关中所有的通话控制功能。尤其,该通话处理器程序适当地指定路由给通话在该PBX与该数据网络或是PSTN之间特定的中继线之间,其中在本文内的“中继线”系被视为涵盖至该PBX、该PSTN或是该数据网络的通讯信道的一个逻辑的实体。通过一个内部的自动切换管理器,该通话处理器也在一个区域中实施自动切换功能,亦即,响应于在该数据网络之上的QoS情况中的动态的变化,以切换一个电话通话在PSTN与数据网络连接之间。该CH也处理相关于进来的与出去的通话的发信号协议。
尤其,通过与DSP驱动程序519以及TASQ程序537的交互作用、有关一个数据网络连接的目前的QoS,CH程序560系指定路由给一个电话通话在该PSTN之上或是通过该数据网络,其系通过从该PBX导引一个进来的TDM通话、经由该TDM交换机而出去到该PSTN或是到VPH程序517。如上所论述,此VPH程序517系导引G.711数据包后的电话信息至一个DSP,该DSP系通过DSP驱动程序519来转换此信息成为适当的G.723压缩的IP数据包,其系接着经由TCP/IP程序535以及以太网络驱动程序533而被指定路由在该LAN连接之上至该专用数据网络。CH程序560系响应于来自TASQ程序537所产生自其动态判断该专用数据网络的QoS的指令,来切换一个通话往返在该PSTN至该IP网络之间,与该QoS上的改变一致。再者,CH程序560系实施选择性的通话路由,该程序系通过选择性的通话路由来根据在数据库508中被储存作为配置信息的预定的被叫方的号码信息,例如是预定的被叫方的号码以及旁通的电话号码(BPNs)以及交换机的表列,来判断是否某些通话,例如是紧急通话或是本地的通话,必须被指定路由通过该PSTN、而不是通过该专用数据网络,并且如此地指定路由给那些通话。CH程序560也通过消息的传递来处理从T1AB程序575或是Q.931程序577所接收的进来的以及出去的T1/E1发信号消息,以通过该PSTN与本地的PBX建立适当的通话指定路由,亦即来对于那些通话处理器有效地终端的电话号码执行进来的通话指定路由。CH程序560也管理T1/E1信道,并且经由DSP驱动程序519配置与指定一个别的DSP至一个对应的T1/E1 TDM信道,以用于起始一个对应的VoIP通话,并且之后在该通话的持续期间用于执行语音处理,在该之后CH 560系释放该DSP以供随后的再配置使用并且用于另一个此种通话。CH程序560也处理如上所论述地,由T1/E1共同的驱动程序574所侦测到的T1/E1警报。再者,该CH程序系如上所指明的并且通过TSI驱动程序585来控制在该网关TDM之中的交换机的动作。CH程序560系结合H.323协议堆栈563来运作、通过功能通话来根据该H.323标准处理进来的H.225.0通话控制消息,并且产生此种出去的H.225.0消息。有鉴于堆栈563是利用一个程序馆所做成的,亦即,此堆栈是非程序的,因此入口H.323程序(P.323程序)553系提供一个TCP/IP传输层接口至该堆栈。程序553系通过一个插座连接到TCP/IP程序535之中,并且进行读取与写入动作到H.323堆栈563之中,以为了提供前往CH程序560的H.225.0消息,并且在该LAN之上传输此种通过该CH程序所产生的消息,并且从该处至该专用数据网络之上。
事件服务器555系与CH程序560通讯,并且收集与储存通话事件,并且也实施该Telnet协议的一个服务器侧在一个并非是标准telnet端口23的端口号码上。执行在一个用户PC或是工作站之上的一个telnet客户或是用户应用程序可以与此程序通讯,并且读取所储存的通话事件。这些包含例如是通话连接与通话断开的通话事件可以接着通过该PC或是工作站被处理,以产生例如是所谓的“通话细节记录”用于稍后使用在通话结帐与开帐单或是其它的目的。
虽然,为了简化起见,我们已经显示并且描述通话处理软件550为包含单一网关以及单一边界组件,但是此软件可以施行多个不同的守门员与多个不同的边界组件,每个系分别为一个不同的守门员程序700以及边界组件程序900的情况,依据通过单一网关所施行的一个实际的网络拓朴的那些部分而定。此外,对于大的网络拓朴,任何该守门员与边界组件的情况都可以通过一个具有适当的网络与软件接口至该网关的其余部分的外部的计算统统,例如是一部个人计算机或是工作站来加以施行。由于此种接口将对于那些本领域的技术人员为公知并且轻易地明白的,我们将省略其所有此种的细节。
图6为示出显示构成通话处理软件500的程序的相对的执行优先次序的表600。如同所见地,TCP/IP程序535与CM程序505系分别处理一个最高的相对的执行优先次序(值255)。指定此种优先次序给TCP/IP程序535系将VoIP通话通过该网关的延迟减至最小。指定一个同样高的优先次序给CM程序505系确保当该网关是正常地运作时,此程序将通过监视定时器驱动程序507,恰当地并且定期地重置该监视定时器,并且因此避免该定时器不慎地因为忙碌的处理工作量,而期满并且产生一个错误的严重的警报状况。VPH 517是被指定次一较低的优先次序水准(值200),但假设该VPH位于用于VoIP数据包的数据路径上,其却是足够地高,以实质上降低这些数据包否则可能会经由该网关遭遇到的任何延迟。守门员程序700与边界组件程序900两者(与其对等的边界组件程序一起)系分别被配置相对的执行优先次序150,其中各种通话控制与发信号程序,明确地说为CH程序560、T1AB程序575、P.323程序553、Q.931程序577以及Q.921程序572都共享次一较低的执行优先次序值100。除了该O/S内部的一个闲置程序的外,闲置程序502系被指定的最低的执行优先次序(值10),其中所有的其它在通话处理软件500中所利用的程序系共享一个较高于闲置程序502的相对的执行优先次序值(50)。
a.守门员程序700图7为示出实施守门员程序700的软件的一个方块图。守门员程序700系实施图4B中所描绘的每个守门员4201、4202、4203、4601以及4602。
如同在图7中所描绘,守门员程序700系包含用户接口710、外部的API(应用程序编程接口)720、统统管理程序730、管理的领域的客户管理器740、端点管理器程序750、路由程序760、统统管理程序770、H.225.0程序780以及IP程序790。
方块710系实施一个用户接口至该整个守门员,用于判断并且诊断该守门员的问题,以及用于该守门员的用户管理,并且从该守门员获得所储存的统计。外部的API方块720系提供一个API接口,其可以被用来延伸该守门员的功能,以用于其整合成为一个更大的统统,例如一个通话中心或是自动的通话分布器。路由程序760系实施端点的路由。尤其,路由程序760系包含内部的路由表765,其系针对于在该守门员所管理的区域中所有的H.323端点,指明在电话号码、端点别名以及H.323端点识别符方面的路由信息。为了降低处理延迟,路由程序760系储存该程序最近已经指定路由给通话的端点地址在一个内部的高速缓存(未显示)中。统统管理程序770系实施各种管理的功能,例如频宽与区域管理、政策与在该区域中的实体,例如是端点或是网关的进入许可。
管理的领域的客户管理器740系实施用于建立服务关系在一个守门员以及一个边界组件之间所必须的适当的功能,以便于该守门员将其通话路由能力通过该边界组件(并且至其对等的边界组件)公布给在相同的管理的领域中的每个其它的守门员。管理器740也解析未内含在一个存在一个守门员之中的内部的路由表,明确地说为表765、或是相关于该守门员、或是相关于该守门员高速缓存中的一个外部的表(如以下所论述地结合显示在图9中的边界组件900)之中的地址。
端点管理器750系管理H.323端点,其系包含端点(例如,网关与电话端点-两者在该H.323标准之下都系被视为“端点”)的登记与撤销登记、配置并且解除配置相关于一个通话的网络频宽、在电话端点之间的通话路由、以及由路由程序760所使用的适当的端点地址转变。此转变系施加于出去的通话,并且依所需地需要一个主叫方的电话号码变成为一或多个IP地址的转换。该守门员也利用一个外部的表(未显示),其系提供路由信息给在与该守门员相同的管理的领域内的所有的其它H.323端点。
H.225.0程序780系处理该H.225协议,并且就此而论地分别编码并且译码从该守门员出去的以及进来至该守门员的H.225.0消息,往返于一个边界组件或是H.323端点。IP程序790系实施该TCP/IP协议的UDP、TCP与IP网络层,并且依所需地与在该守门员中所有的其它程序交互作用以提供网络通讯。
最终地,统统管理程序730系配置该整个守门员、监督该守门员的动作、并且从该守门员收集运作上的统计数据并且管理该守门员的错误。例示地,一个内嵌在方块730之中的SNMP客户(未显示)是被使用来管理并且传递错误信息至一个请求的程序。
我们将现在论述显示在图7中的一般的程序交互作用,其中适当的对应的消息系以括号显示。
如图所示,统统管理程序730系与端点管理器750以及管理的领域的客户管理器740两者通讯。通过与该端点管理器的交互作用,统统管理程序730系设定一个频宽表,该表为端点管理器750所利用于配置并且解除配置网络频宽给主叫方的端点(“设定频宽”),以及设定不同的IP地址给该守门员倾听是否有H.323发现请求以及登记请求的消息。频宽配置与解除配置系包含保留可用的网络频宽给一个通话、增加频宽给当时进行中的一个通话并且释放一个通话不再需要的网络频宽。统统管理程序730也与管理的领域的客户程序740通讯。通过与管理器740的交互作用,该统统管理程序系设定在该管理的领域中每个边界组件的IP地址。客户管理器740也与路由程序760通讯。通过与路由程序760的交互作用,管理的领域的客户管理器740可以清除在相关于路由程序760的外部的路由表中所有的外部的指定路由的项目(“清掉网络路由器”)、增加外部的指定路由项目至该表(“增加网络地址”)、改变一个外部的地址(“更新网络地址”)或是从路由程序760移去一个外部的地址(“删除网络地址”)。
端点管理器750系双向地与管理的领域的客户管理器740通讯。通过与管理器750的,管理的领域的客户管理器740通知(“连接”)该管理器750在该管理的领域中的一个特定的边界组件已经连接至另一个外部于该领域的边界组件,以为了有助于其间的通话指定路由。同时,通过与管理器740的交互作用,端点管理器750系通知该管理器740一个新的端点刚刚已经向该守门员登记(“端点登记”)、或是一个现存的曾经如此地登记的端点刚刚已经解除登记其本身(“端点解除登记”)。
再者,端点管理器750也与路由程序760通讯。通过与路由程序760的交互作用,管理器750系请求一个通话被指定路由(“指定路由的请求”)、来自程序760的对于该通话的一个表列的目的地;增加一个区域地址至路由表765(“增加区域地址”);改变在此表中的一个区域地址(“更新区域地址”);并且从此表移去一个区域地址(“删除区域地址”)。
通过H.225.0程序780,端点管理器750也接收并且传送标准的H.225.0消息至通过守门员700所管理的区域中的H.323组件,并且从这些组件接收此种消息。这些消息系包含以下那些阐述于表1的消息,其中某些消息将在以下实施网关间的通话路由以及相关的通话处理程序中所使用消息顺序的本文中详细地讨论。



表1--标准的H.225.0消息用户接口710、外部的API720以及IP方块790系与守门员700中所有的其它组成的组件通讯。然而,为了简化图式起见,在用户接口710、外部的API720以及IP方块790与所有的其它组成的组件之间的链路已经全部故意地从图7省略。
b.通话处理器程序560图8为示出通话处理器程序560的一个方块图。在本质上,该通话处理器系负责在中继线群组之间的路由通话。为了该通话处理器的目的,一个中继线群组是一个逻辑的实体。个别的此种中继线群组是相关于该PBX、该PSTN--该后两者是例如,实际的T1(或是E1)中继线、以及该数据网络(H.323)。一个中继线群组是相关于一种实际的发信号方法,CCS(pri)、CAS或是IP,并且相关于是否该群组是被用于该PBX、PSTN或是IP(H.323)。
尤其,通话处理器程序560系适当地指定路由给通话在该PBX与该数据网络或是PSTN之间特定的中继线之间。通过内部的自动切换管理器810,该通话处理器也在一个区域中实施自动切换的功能,亦即,响应于在该数据网络上的QoS情况的动态的变化来切换一个电话通话在PSTN与数据网络连接之间。该CH也处理相关于进来的并且出去的通话的发信号协议。
通话处理器程序560系包含自动切换管理器810,H.323管理器820,CAS管理器830,PRI管理器840并且通话处理器管理器850。
自动切换管理器810系管理自动切换,其系通过配置自动切换识别符,亦即,通过该CallIds与主叫方的以及被叫方的标志来识别哪些通话可以被自动交换,并且处理在有效的IP通话与线路交换的通话之间的关系。
H.323管理器820系提供一个接口在一个中继线群组与H.323堆栈563(见于图5)之间。此管理器也转换适当的消息成为通话控制功能。
显示在图8中的CAS管理器830系利用CAS(信道相关的发信号)来提供一个接口在一个中继线群组与一个实际的中继线(T1或是E1)之间。此管理器系传送来通话进行消息,并且从一个实际的信道接收此种消息。类似于CAS管理器830的PRI管理器840系利用CCS(共同的信道发信号)、而不是CAS来提供一个接口在一个中继线群组以及一个实际的中继线之间。
最终地,通话处理器管理器850系包含所有已经被配置给该网关使用的中继线群组的一个表列。当一个通话请求发生在任何这些中继线群组之上时,该通话处理器管理器系判断哪个中继线群组是将要接收该通话的。此管理器也通过在通话处理器560中的各种管理器来指定路由给消息在不同的中继线群组之间。
如图所示,交互作用系发生在CAS管理器830与通话处理器管理器850之间,其中该通话处理器管理器850系指定路由给消息在该CAS管理器往返在通话处理器560中任何其它的管理器之间;因此利用该通话处理器管理器作为在任何这些其它的管理器与CAS管理器830之间的一个“中继站”。为了简化起见,我们将只有考虑被传递在CAS管理器830与通话处理器管理器850之间的通话控制消息,即使该后者的管理器可能已经在前面传递过这些消息,并且在发出其响应至管理器830之前,从任何其它的管理器接收响应。有关于这些交互作用的消息系特定于CAS。
首先,一个CH_SETUP消息是由CAS管理器830所接收,以指示一个通话请求系被产生在一个中继线群组上。作为响应地,通话处理器管理器850系发出一个CALL_SETUPACK消息回到CAS管理器830,以通知该CAS管理器830该管理器850已经接受该准备消息,并且该准备被请求的通话是可以被指定路由。CAS管理器也系提供一个CH_DISC消息至管理器850,指明该特定的通话可以被断开。CAS管理器830也系提供一个CH_CALLPROC消息至管理器850,指示一个出去的通话是在进行中。此特定的消息系包含从一个在该PSTN中的交换机所起始的状态信息,并且指出一个被叫方的电话号码已经通过该交换机接收,并且该交换机正尝试完成该通话。CAS管理器830也系提供一个CH_ALERTING消息至管理器850,以在该通话能够被完成之前,指出一个至一被叫方的电话号码的通话正在该号码处响起。最终地,CAS管理器830也提供一个CH_CONNECT消息至管理器850,以指明一个特定的端至端的语音路径已经建立在主叫方的与被叫方的号码之间。
CAS管理器830也系提供一个CH_RESTART消息至管理器850,以指示当一个实际的中继线已经从同步化的失去,亦即,一种同步化的失去的警报状况中恢复。
通话处理器管理器850也可以依所需地,传送一个CH_DBUPDATE消息至CAS管理器830、PRI管理器840以及/或是H.323管理器820,以指出包含路由、被储存在数据库508(见于图5)中的信息的配置已经改变。
管理器850也从H.323管理器820、CAS管理器830以及PRI管理器840接收通话控制消息。同样在此,管理器850当作为一个“中继站”以中继通话控制消息在任何的这三个管理器之间。这些在功能上非常类似于CAS管理器830所利用的那些消息的消息系包含一个指出一个通话请求系被产生的peerRcvSetup消息、一个指出一个特定的通话是在进行中的peerRcvProg消息、一个指出注意通知正发生在一个被叫方的目标处的peerRcvAlert消息、指出一个特定的通话已经被连接并且一个端至端的语音路径已经被建立在主叫方的与被叫方的号码之间的peerRcvConnect、一个指出一个设施消息已经被接收的peerRcvFacility消息、一个指出一个特定的通话正被结束的peerRcvRelease消息、以及一个指出对于一个特定的通话的通话切断现在为完成的peerRcgRelComp消息。
此外,通话处理器管理器850系提供一个起始消息至自动切换管理器810,以在一个特定的方向上并且对于一个在该消息中所指明的特定的通话,起始一个自动切换程序。
如上所指明的,通过通话处理器管理器850,通话处理器560也负责判断所有的通话请求的目标,并且选择一个适当的网络在其上指定路由给每个通话。尤其,每个中继线群组都具有一组相关于其的电话号码。这些号码可以是旁通的电话号码(BPNs);包含如必要的话,只是交换前缀或是区域码的本地的电话号码;或是所谓的“漏失的(leaky)区域电话号码”(其系终端在该PSTN而不是一个PBX的付费通话,并且通过该数据网络运送,以降低或是免除对于每个此种通话的费用)。这些号码系在配置期间加以定义。一个中继线群组可以响应于其需负责指定路由通话的于任何类型的号码。当一个路由被请求至一个被叫方的电话号码时,一或多个中继线群组系被搜寻以找出一个相符的中继线至该电话号码(或只是一个交换机,若其是被配置为一个BPN时)。若一个相符被找到时,接着该通话被指定路由在该中继线群组之上、至该被叫方的电话号码。然而,其有着各种限制。明确地说,对于起源在该数据网络上的通话,只有PBX中继线群组系被搜寻有无一个相符的电话号码。对于起源自该PBX的通话,那些相关于该PSTN的中继线群组系首先被搜寻、接着是该IP(H.323)中继线群组。最终地,对于起源自该PSTN的通话,管理器850系判断每个此种通话是否为一个自动切换的通话,亦即,一个被自动交换的通话,并且若其是的话,则提供该通话至自动切换管理器810用于随后的处理。最终地,若该通话不是一个自动切换的通话,接着管理器850系搜寻该PBX中继线群组有无一个相符的电话号码,并且于是接着指定路由给该通话。
c.边界组件程序900图9为示出系实施边界组件程序900的软件的一个方块图。通过执行在个别的网关中的个别的例子,边界组件程序900系实施在图4B中所描绘的每个边界组件430与450。此外,此程序一个别的例子系实施对等的边界组件430’。
如同在图9中所描绘,边界组件程序900系包含路由程序910、统统管理程序920、边界组件管理器930、附录G消息程序940、管理的领域管理器950、对等的边界组件管理器960、以及IP程序970。
路由程序910系包含内部的路由表915,其也对于通过其中该边界组件存在的管理的领域所服务的所有电话号码,在电话号码、端点别名以及H.323端点识别方面上指明路由信息。此表是被使用来解析从其它边界组件进来的端点地址请求。
管理的领域管理器950系管理已经向边界组件900请求服务关系的守门员。管理器950系提供同伴(服务器侧的)功能给执行在该守门员中的管理的领域客户程序740(见于图7)。在该考虑之下,显示在图9中的管理器950系通过路由程序910来更新并且提供路由服务,以用于被登记在该管理的领域中的守门员以及在守门员之间。为了指定路由至一个被叫方的电话号码,一个主叫方的电话端点系请求一个守门员来提供对于一个被叫方的电话端点的路由信息。若该守门员可以在其内部的路由表(例如,在显示在图7中的守门员700内的表765)或是其外部的路由表中找出该被叫方的端点时,则该守门员接着传回路由信息至该主叫方的端点。该外部的表系保有一个固定的数据库,其系包含对于与该守门员相同的区域中的所有的端点的路由信息,并且系通过该守门员以在登记程序期间所收集的信息加以修改。该内部的数据库系包含对于在相同的管理的领域中的所有的端点的此种信息。然而,若该守门员无法在这两个表的任一表中找出该被叫方的端点,则其系发出一个请求至其相关的边界组件来解析该被叫方的端点地址。此请求是通过管理的领域管理器950加以处理,管理的领域管理器950系发出一个请求至所有的其它已经与该相关的边界组件建立一个目前的服务关系的边界组件。若任何其它的边界组件通过其内部的路由表可以解析该端点地址时,则该边界组件将传回该被请求的端点地址至该相关的边界组件。
边界组件管理器930系实施与其它的边界组件建立服务关系所必须的适当的功能,亦即,使得被登记在该H.323环境中的边界组件可以传递信息在其之间。对等边界组件管理器960系管理存在于对等边界组件之间的关系本身,其系包含建立并且终止此种关系。如以上详细所述地,对等的边界组件系为了增加的容错与冗余的目的而被形成,多个,例如是在图4B中所描绘的在相同的管理的领域中的一对的边界组件,并且其系全体地作用为单一“逻辑的”边界组件。
附录G消息程序940系实施对于在边界组件之间的通讯的附录G标准的一个协议部分。IP程序970系类似于显示在图7中的IP程序790,以实施该TCP/IP协议的UDP、TCP以及IP网络层,并且系依所需地与在该边界组件中的所有的该其它程序交互作用,来提供网络通讯。
我们现在将论述显示在图9中的一般的程序交互作用,其中适当之处,该对应的消息系以括号加以显示。
如图所示,统统管理程序920系与边界组件管理器930通讯。通过与管理器930交互作用,管理程序920可以增加一个新的管理的领域,以用于外部的通话路由(在边界组件900存在的领域的外)(“增加服务”),使得与该新的边界组件的服务关系可以经由管理器930而被建立、或是经由管理器930来移去一个管理的领域,并且在该领域系被移去之下终止此种关系。边界组件管理器930与管理的领域管理器950两者系与附录G消息程序940通讯,以为了分别传送并且接收附录G消息往返其它的边界组件。
管理的领域管理器950系与边界组件管理器930通讯。做此动作的目的是去通知管理器930一个位在与边界组件900相同的领域之中的守门员已经发出一个请求至该边界组件,以指定路由给一个在此领域的外的通话(“指定路由请求”)。一旦此系发生,则边界组件管理器930系与路由程序910(“指定路由通话”)通讯,以为了从另一个领域中的一个边界组件获得包含一个电话号码的路由信息,以用于指定路由给该领域的外的通话。
此外,管理的领域管理器950也与对等的边界组件管理器960通讯,以进行动作来改变被储存在一个对等的边界组件的一个路由表的信息。这些动作系包含增加从一个刚刚已经向一个守门员登记其本身、位在与边界组件900相同的管理的领域中的新的端点所产生的描述符号(“描述符号增加”),并且其已经下载其所有的描述符号至该守门员。该守门员接着供应那些描述符号至该边界组件,以更新被储存在对应的存在于该边界组件与其对等者的路由表之中的路由信息。同时,这些动作系包含因为该端点已经向其守门员解除登记本身,而删除相关于一个端点的描述符号(“描述符号删除”)。再者,这些动作系包含一个边界组件通知其对等者一个区域刚刚已经连接(“区域连接”)、或是从该边界组件断开(“区域断开”),使得该对等的边界组件可以更新其路由信息。
管理的领域管理器950也与路由程序910通讯。通过此通讯,管理器950系指示路由程序910来增加(“增加网络地址”)一个地址进入路由表915、改变被储存在此表的一个地址(“更新网络地址”)或是删除存在此表的一个地址(“删除网络地址”)。
同时,对等的边界组件管理器960系与路由程序910通讯,以为了根据此管理器已经从其对等的边界组件接收的信息,来更新被储存在路由表915的路由信息。此种更新包含增加一个地址到该路由表中(“增加网络地址”)、改变被储存在此表中的一个地址(“更新网络地址”)。并且移除存在此表中的一个地址(“删除网络地址”)。
由于IP方块970系与边界组件900中的所有的其它组成的组件通讯,接着,为了简化图式起见,在方块970与边界组件900中的所有的其它的组件之间的链路都已经全部故意从图9中省略。
图10为示出对于显示在图9中的对等的边界组件管理器960的一个状态图(亦即,对于状态机器1000)。为了轻易地区别,在此图中,来自动作的事件、事件与动作是分别由“E”并且“A”开头。为了简化起见,此图系假设只有一个边界组件被利用在一个管理的领域中,作为一个对等的边界组件。假设超过一个对等的边界组件存在于任何此种管理的领域中,接着状态机器1000系依所需地被复制,以和该领域中的每个不同的对等边界组件交互作用。
在没有必须与任何对等的边界组件交换信息之下,对等的边界组件管理器960系保持在闲置状态1010。当管理器960从管理的领域管理器950接收一个消息以修改被储存在其对等边界组件的路由信息时,管理器960接着如同由线段1013所表示地,转变其状态并且尝试来建立如方块1015中所示的与其对等的边界组件的一个客户TCP连接,并且明确地说是在一个管理的领域管理器位于其中之下。一旦此尝试开始,管理器960系如同由线段1017所表示地转变至起始状态1020。若该连接无法被建立,亦即,一个TCP失效事件发生,接着管理器960系如同由线段1021所表示地转变其状态至方块1045。在此时点,该管理器系开始一个再尝试定时器并且接着如同由线段1047所表示地转变成为等待状态1050。当在此状态中,两个事件中的任一个将会发生不是该对等的边界组件将发出一个TCP服务器侧的连接请求、就是该再尝试定时器将期满。一旦任一事件发生时,管理器960系如同由线段1053所指地转变至方块1055,管理器960通过方块1055将再次尝试来与该对等的边界组件建立一个客户TCP连接。一旦此尝试开始时,管理器960系如同由线段1027所表示地转变回到起始状态1020、诸如此类。
或者是,若一个TCP连接系成功地被建立在该边界组件与其对等者之间,接着对等的边界组件管理器960系如同由线段1023所表示地转变至方块1025,管理器960通过方块1025触发一个事件以使得被储存在该边界组件的路由信息被下载至其对等的边界组件。一旦此下载开始,对等的边界组件管理器960系如同由线路1027所表示地转变至有效的状态1030。在此状态的期间,被储存在该对等的边界组件中的信息系如同方块1035中所指地被更新,以响应于由管理的领域管理器950所发出的更新请求。如同由线段1033与1037所表示地,管理器960系保持在有效的状态1030,直到所有必须的系更新都已经发生或是一个TCP失效事件发生之际为止。假设该TCP连接在所有的更新完成之前失效时,接着,如同方块1040中所指地,管理器960系开始该再尝试定时器。一旦该假设发生时,管理器960系如同由线段1043所表示地转变其状态至等待状态1050,以尝试重新建立与该对等边界组件的TCP连接、等等。或者是,一旦所有的更新都已经发生,管理器960系如同由线段1039所指地转变回到闲置状态1010、等等。
D.网关间的以及网关中的通话路由以及相关的动作我们现在将我们的焦点转向根据我们发明的教导,发生在对等的网关之间以及在一个网关之中的包含消息的交互作用,其系用于指定路由给对于两个H.323电话端点的往返在该数据网络与该PSTN之间的电话通话,以及用于执行相关的动作,例如是通话切断、与H.323端点登记以及撤销登记。
1.概述虽然以上有指明过,然而首先,我们将提供概述信息,其应该有助于理解在这些交互作用的适当的本文中的交互作用。
一般而言,在一种H.323环境中,于一个领域内的每个守门员都传递牵涉到在其区域的内的端点的通话控制以及通话路由信息至一个位在该领域中的外部的边界组件。一个守门员利用其本身的路由表,可以解析对于在其管理的领域的内的所有端点的目标地址。因此,若该主叫方的守门员当时对于当时被通话的一个电话端点,具有以一种描述符号的形式的必须的路由信息在其路由表之中,则该网关系能够指定路由给该通话本身,而不需要从一个被叫方的守门员来获得路由信息。然而,若该主叫方的守门员并不具有指定路由给该通话所需的路由信息,亦即,由于该被叫方的端点存在于一个不同于该守门员的管理的领域中,使得其无法解析对于该通话的一个目标地址,于是该守门员将从其外部的边界组件来请求该信息。接着,该组件将为了该必须的路由信息来经由在该领域中的一个外部的边界组件发出一个请求至一个被叫方的领域。从一个包含该被叫方的电话端点的领域内的一个外部的边界组件取得的信息将接着被传递回到该主叫方的守门员,该主叫方的守门员将相应地接着指定路由给该通话。因此,一个守门员首先尝试来在其本身的区域中完成一个通话,并且之后是在其管理的领域中、并且最后,在该区域或是领域中没有适当的目标信息时,是在一种在领域间的基础上完成一个通话。
在处理任何的电话运送之前,一个网关典型地在其起始化后不久,就必须向一个守门员登记本身,作为处理此种目标为往返其的运送的一个条件。此种登记程序将结合图24与28在以下更详细地加以论述。一旦该网关登记本身,每个执行在其中的守门员都必须与其边界组件建立一种服务关系,使得该守门员与边界组件能够交互作用,以为了传递控制与路由消息于其间。此种关系被建立所通过的方式将在以下结合图21论述的。通过我们发明的对等的边界组件,一个守门员可以用该些对等的边界组件中的一个登记,该对等的边界组件接着将传递登记消息至其对等者,以为了在对等的组件之间达成守门员登记。之后,每个与一个守门员存在相同的区域内的有效的电话端点将一次一个地、向该特定的守门员登记其的存在--相当相同于一个网关向一个边界组件登记本身的方式。当每个此种端点向一个守门员登记本身时,该守门员系以一种描述符号的形式提供该登记信息至其边界组件。接着,该组件系将该描述符号公告给在该管理的领域中的其它守门员。通过该边界组件宣传信息所通过的程序将在以下结合图22论述的。在此被公告的信息之下,守门员可以指定路由给通话至任何在其管理的领域中的电话端点,而不必请求从其边界组件路由信息。由于每个守门员系登记以一个边界组件,并且至该守门员系包含所储存的描述符号的程度,该守门员将与该边界组件共享那些描述符号,以用于随后的公告至遍及该领域的所有的其它守门员,而其接着将以这些描述符号来更新其路由表。因此,边界组件系通过累积每个以及所有其当时处理的区域的通话路由功能,以建立起管理的领域通话路由信息。
以一种相反的方式,在一个管理的领域之中,网关与守门员可以终止其彼此的服务关系,并且电话端点与守门员可以同样地在其之间如此做。此可能通过一个H.323组件的失效而发生,其系在通过一个作用中的组件来侦测到之后,强迫牵涉到该失效的组件的所有的服务关系被服务,以使得该失效的组件有效地从该领域中移去。或者是,在一种为了维修而使其离开服务的情形中,一个组件也可以请求所有其所建立的服务关系被终止。撤销登记程序将在以下结合图28与29论述的。因此,被储存在该领域中的任何有效的守门员内的在一个领域中的通话路由信息系动态地随着网关与电话端点的登记与解除登记本身而改变,并且被供应至具有与那些守门员有服务关系的边界组件,并且通过那些边界组件加以传播遍及该领域。
一个通话描述符号系识别对于区域与管理的领域的通话路由功能。描述符号具有至少一个样板(template)。一个样板系包含对于任一个H.323端点或是一个范围的不同的端点的概况。该样板的一项属性是一个路由信息字段,其系指出该端点是否可以直接联络、或是必须动态地加以解析。对于每个端点,其样板尤其是识别其电话号码、别名以及其在该专用数据网络上的IP地址。这些别名可能包含例如是H.323-Ids、url-Ids、传输Ids、以及/或是e-mail-IDs。
根据我们的发明并且如上所指明的,在该专用数据(IP)网络以及该PSTN之间的自动切换系响应于在该专用数据网络之上的连接质量上的动态的变化而发生。自动切换系开始于一个网关中。一个网关系通过TASQ程序537(见于图5)来判断网络质量,其系通过动态量测延迟、数据包损失以及错误率(不稳定性)。假设在一个通话中所牵涉的任一网关判断出网络质量已经增加或是降低,而需要一个自动切换从该PSTN至该数据网络或是该相反的,该网关(此后,为了参照上的简化,称的为该“主叫方的网关”)将利用根据我们发明的教导的某些内嵌的通话特定的数据,作为在特定的H.323消息中的“非标准的数据”,起始与其对等的网关(此后,称的为该“被叫方的”网关)的信息交换。
若该通话是从该数据网络转变至该PSTN,则该被叫方的网关将从已经在其配置期间被指定给其的一堆电话号码(所谓的“被集中的电话号码”或是PDN)中选择一个可用的电话号码,并且传递该特定的号码至该主叫方的网关。一旦该主叫方的网关系接收该特定的PDN之后,其起始一个线路交换的通话在其PSTN中继线连接之上至该PDN。该被叫方的网关在其PDN上感测到一个进来的通话,将判断此号码是否对应到该网关现在正期待的一个通话的特定的PDN。若它是一个不同于其所期待的PDN号码时,则该网关系在该网络连接上传送一消息至该主叫方的网关,并且等待一个网关来主张此通话。若此通话是在该正确的PDN上,接着该被叫方的网关系切换该通话,通过被给予其4×4的TDM交换机250(见于图5)的适当的指令来切换该通话从其网络连接至该目前通过该PSTN所建立的线路交换的连接。一旦此发生之后,该用于此通话的数据网络连接系通过双方的网关来切断,就如同该通话已被完成一般。自动切换也逆向的发生,当网络质量充分地改善时,从该PSTN回到该数据网络。我们将在以下结合图16-18论述该通话处理以及程序间的与网关间的消息,其系全体地施行自动切换。
再者并且如上所指明的,根据我们目前的发明,我们系嵌入某些通话特定的信息在特定的H.323消息之中,H.323消息系被运送在一个通话相对侧之上的网关之间,以实行该通话的自动切换在该PSTN以及该数据网络之间。通过此信息,在主叫方以及被叫方侧之上的网关系对于每个被指定路由在其间的通话都形成相同的关联,并且是在一个共同的、虽然是独特的识别符(CallId)被使用于该通话之下。此识别符是从任何其它当时通过任一网关而被处理的通话中区别出该通话,使得该网关可以作用一致地来依所需地切换此特定的通话在这些网络之间,而不影响到任何其它的通话。
特别是,我们系通过与通话无关的发信号来嵌入一个主叫方的标志在一个H.323准备消息中的一个公知的“非标准的数据”字段内、以及一个被叫方的标志;一个CallId以及一个被选出的PDN都在一个H.323通话进行消息中的一个公知的“非标准的数据”字段内。在该方面,通过一个主叫方侧所产生的主叫方的标志的内容系包含用于一个特定的通话被建立的信息,其系从一个主叫方的网关的观点来指出该通话是否可以被自动交换的。响应于此准备消息,该被叫方侧系产生一个CallId号码,其系唯一地识别该通话并且接着传递该ID与该被叫方的标志以及PDN一起回到该主叫方侧。该被叫方的标志系从该被叫方的网关的观点来指明该通话是否可以被自动交换的。该主叫方侧接着储存此信息供稍后使用于恰当地自动切换该通话在该数据网络与该PSTN之间,假设一项要自动切换的需求接着发生时。通过交换此信息,该主叫方以及被叫方侧系利用一个共同的CallId来对于每个被指定路由在其间的通话形成相同的关联,以便轻易地从任何其它当时通过在任一侧上的一个网关处理的通话中区别出该通话,并且假设一项需求稍后发生来自动切换该通话时,彼此指示该通话可以被自动交换的。在该考虑之下,只有那些主叫方的与被叫方的网关两者都已经指出为能够被自动交换的通话才是合格的,以响应于在这些网关之间的一个网络连接的动态QoS改变而被自动交换的。任何该主叫方的或是被叫方的网关已经在该主叫方的以及被叫方的标志中指出为无法被自动交换的通话将保持在该PSTN之上,不论此种QoS的改变。
虽然我们已经在以上例示地描述各种通话特定的信息作为被内嵌在一个H.323“通话进行”消息中,并且将就此继续来描述其在该图13至18的接着的说明中,但是相同的信息可以替代地被内嵌在一个H.323“连接”消息之中。此信息将以相当相同于“通话进行”消息的方式被内嵌在H.323“连接”消息,但是在对于显示在这些图并且在以下所论述的对应的通话处理动作做适当的改变之下,此对于那些本领域的技术人员是轻易地明白的。
2.基本的VoIP通话处理图11为示出根据我们目前的发明的用于处理一个VoIP通话在两个H.323电话端点之间的高度简化后的操作顺序1100。
如图所示,为了建立一个VoIP通话,一个已经向一个守门员登记本身的主叫方的电话端点系首先如同由线段1105所表示地发出一个H.225.0的“进入许可请求”(ARQ)消息给该守门员。响应于此消息,该守门员系如同由方块1110所指地审查其进入许可政策来判断是否现在被尝试的通话被允许,亦即,是否该主叫方的电话端点具有需要的许可来达成该通话、或是是否有足够的网络频宽是当时可用来支持该通话。若该通话被允许并且足够的频宽是可用的,则该守门员系如同由线段1115所表示地接着响应以一个H.225.0“进入许可确认”(ACF)消息;否则,该通话是以该守门员响应以一个H.225.0“进入许可拒绝”(ARJ)消息而被拒绝。该ACF消息系通知该端点其被允许来经由该网络连接完成其打算中的通话。该ARJ消息禁止该端点在该数据网络之上完成此打算中的通话。
若该通话被允许时,接着,如同由线段1120所表示地,该服务该主叫方的电话端点并且响应于来自该端点的一个请求的守门员将通过获得通过在该主叫方的与被叫方的端点之间的专用数据网络以形成一个数据包连接所需的适当的路由信息,来“准备”该通话,若该通话是领域内的,则其系从存取其本身的路由表、或者是若该通话是在领域间的,则其系从一个适当的外部的边界组件。之后,如同由线段1125所表示地,该端点将进行适当的通话处理,该服务在该通话中所牵涉到的每个端点的守门员系通过该通话处理,而将配置并且指定适当的资源来支持该通话,例如是一个DSP,并且将开始用于该通话的语音处理,以及将尝试来建立一个数据包连接在这些端点之间。一旦该连接已经充分地进行之后,该被叫方的端点将如同由线段1130所表示地警示该主叫方的端点其的存在。接着,该被叫方的端点将如同由线段1135所表示地发出一个H.225.0“连接“消息至该主叫方的端点以完成该连接。一旦该连接已经完全地被建立,如同由方块1140所指地,该VoIP通话是有效的,并且带有G.723压缩的数字化的语音(或是传真或是模拟的数据)的以数据包的形式的数据包后的运送可以该通话的持续期间,运送在该主叫方与被叫方之间的数据包连接之上。
在该通话的结束之际,那些电话端点中之一,在此例示地为该主叫方的端点,将终止该连接,有效地进行“挂断”。为了做此动作并且在通话终端方块1150中所指示地,该端点将如同由线段1155所表示地发出一个H.225.0“分离请求”(DRQ)消息。此消息系指出该通话将被中断。此种消息可以如同在此所显示地由任一个端点发出,、或是由一个守门员。一旦此消息已经由其接受者(在此为该守门员)所接收并且接受,该接受者系发出一个H.255.0“分离确认”(DCF)消息。响应于该DCF消息的传输与接收,两个端点系发出H.225.0“释放完成”消息给彼此,因此终止了其间的网络连接。
不论在一个守门员与每个其电话端点之间是否有一个通话当时存在与否,该守门员将如同由线段1170所表示地周期性地传送一个H.225.0“信息请求”(IRQ)消息给所有被登记到该守门员的网关,因此连接到那些端点。做此动作的理由是该网关-守门员的通讯系利用UDP,其并非是被设计为一种可靠的协议。该网关将如同由线段1175所表示地以一个H.225.0“信息响应”(IRR)消息响应,该消息包含一个表列的其当时有效的通话。该守门员将比较此表列与一个其本身维持的表列,并且校正其间任何的差异;由此,维持与其网关的同步化。或者是,一个守门员响应于某些事件,可以发出一个IRQ消息来判断一个当时由一个网关所处理的特定的通话的状态。此种事件可包含由一个被登记网关所发出的一个H.225.0“守门员请求”(GRQ)消息、或是一个H.225.0“登记请求”(RRQ)消息。假设此种GRQ或是RRQ请求消息发生时,此可能指示一个无可挽回的事件,例如是一个统统重置或是失去电源、或是一个非无可挽回的事件(例如是一个网关为了某些有利的原因而发出一个RRQ消息)的发生。在这些情况之下,该守门员并不假设原先应该有效的通话是在进行中与否;因此,其系根据其当时从其被登记的网关接收的响应来更新其本身的信息。
图12为示出用于指定路由给一个电话通话在两个不同的区域中的两个网关之间的一个数据网络连接(PBX-IP-PBX)之上的基本的程序间的动作1200。
如图所示,假设位在一个连接至PBX 14的电话端点(未显示在图12中的)的用户,拨号“1-732-872-8020”作为一个被叫方的号码。此号码系如同由线段1210所表示地被传送在T1中继线1213之上,并且作为发信号信息至服务此端点的网关200(“主叫方的网关”)。此发信号信息是通过只要是适当的DTMF(双音多频)音调、脉冲或是ISDN的D信道信息,在T1中继线1213中的一条进来的中继线上被传输。网关200接着系如同由线段1215所表示地并且在RAS信道1217之上传送一个H.225.0 ARQ消息至一个服务此端点的守门员,例如是守门员4201。此ARQ消息系指明所拨的号码以及该电话端点想要使用于此通话的网络频宽量。根据此端点是否来载送,例如是语音、或是来自于一部计算机调制解调器或是一部传真机的数据,该所需的频宽将随的改变。一般而言,一个RAS信道是一个不可靠的信道,其系被使用来在两个H.323实体之间传递H.225.0登记、进入许可、频宽改变、以及状态消息。在处理该ARQ消息之际,假设该通话被允许的守门员4201系判断其是否可以解析该被叫方的号码成为一个网络地址。若如同在此,其可以从其所储存的描述符号来解析此号码,则其如同由线段1220所表示地传回包含该被叫方的网关的一个IP地址的一个H.225.0 ACF消息。响应于此ACF消息,该主叫方的网关系如同由线段1225所表示地并且经由H.245信道1223传送一个Q.931准备消息至该被叫方的网关,在此为网关200’。
响应于该Q.931准备消息,被叫方的网关200’系如同由线段1230所表示地传送一个H.225.0 ARQ消息至一个服务该被叫方的端点的守门员,在此为作例证的守门员4601。此消息请求此守门员来提供授权以接受一个进来的通话。若此种授权被同意时,守门员4601系如同由线段1235所表示地并且在RAS信道1233之上传回一个H.225.0 ACF消息回到网关200’。响应于此确认消息,被叫方的网关200’系如同由线段1240所表示地传送一个Q.931进行消息回到该主叫方的网关,以指出在该通话目标处的设备是正在进行准备该通话。此外,被叫方的网关200’系如同由线段1245所表示地在T1中继线1247中的一条出去的中继线上,利用DTMF、拨号脉冲或是ISDN,依据其能力与配置而定,起始一个通话至PBX 44。一旦此通话是在“接起电话监督”被传回之下,通过PBX 44被完成至该目标端点,PBX 44接着系如同由线段1250所表示地发出一个适当的通话被接起的消息回到该被叫方的网关。此网关接着系如同由线段1255所表示地并且经由该H.245信道发出一个Q.931连接消息至该主叫方的网关。响应于此消息,该主叫方的网关系经由在T1中继线1213中的一条进来的中继线、通过PBX 14建立一条语音路径至该主叫方的端点,并且如同由线段1260所表示地系在此路径上发出一个振铃信号以指示该被叫方的端点是正在响起振铃。一旦此发生并且该被叫方接起电话时,一条语音路径系经由一个网络的数据连接而被建立在该主叫方的以及被叫方的端点之间。
3.程序间的消息并且交互作用我们现在将更加详细地论述用于各种不同的通话场景的网关间的消息。
在显示在图13至18中的以下的场景内,该主叫方与被叫方侧两者系被假设位于一个对应的PBX之后方,与图所显示地一致,例如是有关于显示在图1中的PBXs 14与44。用于便于说明,读者也应该在接着的图13至18的论述中同时参考图1。
在这些图中,该主叫方以及被叫方两者系被假设是H.323电话端点,例如是电话16与46。在每个这些图中,在该数据网络或是PSTN之上所运送的每个消息是分别被显示为一条粗实线或是粗虚线,具有一个箭头指示该消息的方向。再者,为了容易参考以及理解,标上撇号的标记法,例如是用于显示在图13中的守门员程序700与700’,是被用于遍及图13至25中,来指示相同的、虽然分开的执行在对应的对等网关200与200’中的程序的实例。再者,为了简化理解起见,我们将论述其中主叫方的网关200系起始一个通话的自动切换在该数据网络与该PSTN之间以及在一个相向的方向上的各种场景,虽然此种动作可以由任一处理该通话的对等的网关所起始。由于相同的动作将发生在任一这些网关中,因此我们将省略由该被叫方的网关所起始的自动切换的论述。
a.PBX-IP-PBX通话图13为示出典型的程序间的控制消息,其系将发生在对等的网关200与200’之间与之中,用于指定路由给一个电话通话在连接这些网关的数据网络30(PBX-IP-PBX)之上。
首先,如同由线段1303所表示地,PBX 14系导引一个出去的通话至网关200,亦即,位在电话端点(在此为电话)16的用户系拨号一个被叫方的号码,并且该号码以及适当的发信号信息是被施加至该网关并且在该网关中至通话处理器(CH)560。响应地,该通话处理器系判断是否足够的网络频宽存在来支持该通话,并且该主叫方是否具有适当的安全余隙来完成该通话。若两个情况都符合时,该CH系配置一个可用的DSP信道,并且通过TDM交换机250(并且通过与显示在图5中的TSI驱动程序585交互作用)来连接PBX 14至此DSP信道。一旦此连接被建立,通话处理器560系如同由显示在图13中的线段1306所表示地发出一个“开放语音路径“命令至语音数据包处理器(VPH)517,该语音数据包处理器(VPH)517接着通过该被配置的DSP信道来开放一个数据包后的语音路径用于此通话。之后,CH 560系如同由线段1309所表示地发出一个“开放信道”命令至该DSP驱动程序以开放该DSP信道。接着,该CH系形成该主叫方的标志并且如同由线段1312所表示地提供该标志在一个至H.323程序563的“准备”消息中。程序563接着嵌入该主叫方的标志在一个H.225.0进入许可请求消息中,并且系如同由线段1315所表示地传送该消息至守门员700。此进入许可请求消息系如同在图12中所指地包含该被叫方的电话号码。
若该守门员系接收该进入许可请求,则守门员700系判断适当的路由信息,例如通过与网关200’中的一个外部的边界组件(未显示)交互作用,并且接着如同由线段1318所表示地响应以一个H.225.0进入许可确认消息,该消息系包含用于该通话的路由信息(例如,一个目标网络地址)。一旦用于此通话的适当的路由信息从在该管理的领域中或是经由另一个此种领域被获得时,H.323程序563系如同由线段1322所表示地传送一个包含该主叫方的标志的H.225.0准备消息至被叫方的网关200’。在该被叫方的网关之中,H.323程序563’系处理此准备消息,并且在做此动作中,系如同由线段1325所表示地发出一个H.225.0 ARQ消息至守门员程序700’。若此守门员可以接受该通话,亦即,足够的网络频宽当时是可用于该守门员来处理此通话,并且该被叫方的号码具有适当的安全余隙来接收该通话,守门员700’系如同由线段1328所表示地响应以一个H.225.0进入许可确认消息。守门员700’接着系如同由线段1331所表示地发出一个包含该主叫方的标志的准备消息。响应于此消息,CH 560’系形成一个独特的CallId值用于此通话,并且储存该主叫方的以及被叫方的电话号码用于此通话。之后,CH 560’系如同由线段1334所表示地起始一个通话至目标PBX44。一旦此发生时,CH 560’系配置一个可用的DSP信道,并且经由一个TDM连接连接PBX 44至此DSP信道。一旦此连接被建立,通话处理器560’系如同由线段1337所表示地发出一个“开放语音路径”命令至VPH 517’,其接着通过该被配置的DSP信道来开放一个数据包后的语音路径用于此通话。之后,CH 560系如同由线段1340所表示地发出一个“开放信道”命令至DSP驱动程序519’以开放该DSP信道。一旦此信道是开放的,CH 560’系通过如同由线段1343所表示地一个“开始语音处理”消息的发出来在此信道上开始语音处理来指示VPH 517’。
一旦语音处理已经开始在网关200’,CH 560’系选择其可用的被集中的电话号码中的一个,并且形成用于此通话的被叫方的标志。之后,CH 560’系如同由线段1347所表示地发出一个H.225.0通话进行消息至H.323程序563’,该消息系包含用于此通话的被叫方的标志、被选出的PDN以及该CallId。H.363程序563’接着如同由线段1350所表示地传送此消息至主叫方的网关200。此消息是由H.323程序563所接收,其接着如同由线段1353所表示地传递此消息至CH560。此CH接着储存用于此通话的被叫方的标志、PDN以及CallId,用于稍后使用在自动切换的期间。
一旦此信息被储存,CH 560接着系如同由线段1356所表示地发出一个“开始语音处理”消息至VPH 517,以在被配置给此通话的网关中的DSP信道上开始语音处理。在网关200’中的H.323程序563’系发出该“通话进行”消息之后,CH 560’系如同由线段1360所表示地发出一个H.225.0“连接”消息至H.323程序563’。此程序接着如同由线段1365所表示地传送此连接消息至主叫方的网关200。响应于由H.323程序563对于此消息的接收,此程序系如同由线段1368所表示地传递该H.225.0“连接”消息至CH 560,以完成该连接在该主叫方与被叫方之间的数据网络之上,在其之后,用于此通话的数据包后的语音运送系在此连接上输送。
b.具有“连接”消息被传递至主叫方侧的PBX-PSTN-PBX通话图14为示出典型的程序间的控制消息,其系将发生在对等的网关200与200’之间与之中,用于指定路由给一个电话通话在连接这些网关的一个PSTN连接(PBX-PSTN-PBX)之上。
首先,如同由线段1403所表示地,PBX 14系导引一个出去的通话至网关200,亦即,位在电话16的用户系拨号一个被叫方的号码,并且该号码是与适当的发信号信息被传递至该网关,并且在该处至通话处理器(CH)560。响应地,该通话处理器系判断是否足够的网络频宽存在来支持该通话,并且该主叫方是否具有适当的安全余隙来完成该通话。若足够的频宽并不存在时,例如,该网络当时是太过拥塞而无法完全支持该通话,但是该主叫方具有适当的许可来完成该通话时,接着CH560将指定路由给该通话在该PSTN之上。
一般而言,通过此场景的其余部分,该主叫方的以及被叫方的网关系交换适当的H.323通话发信号信息,使得假设网络情况稍后将保证从该PSTN自动切换该通话至该数据网络,两侧将持有足够的信息来做此动作。此信息是利用如在该H.323标准中所定义的一个与通话无关的发信号程序而被交换,以通过H.323“准备”、“通话进行”以及“释放完成”消息来传递此种发信号信息。在本质上,该“准备”消息以及通话信息系被传送来建立一个PSTN连接至一个被叫方的电话号码,该信息明确地说是一个CallId系当时利用合规频带DTMF发信号在该传输该通话的PSTN连接之上、从该主叫方的至该被叫方的网关被传送的。该“释放完成”消息系包含一个应答字段,其系通知该主叫方的网关该被叫方的网关已经接收该合规频带发信号的通话信息,并且该CallId系符合最初被传送至该主叫方的网关的CallId,并且现在已经被关连于该目前的PSTN通话。因此,该应答系表示该主叫方的以及被叫方的网关两者持有并且已经处理需要的通话信息,以稍后自动切换此通话至该数据网络。
明确地说,并且回到图14,一旦该通话处理器系判断该通话将被指定路由在该PSTN之上,CH 560系形成用于此通话的主叫方的标志,并且接着嵌入此标志在一个准备消息中。此准备消息系如同由线段1406所表示地被提供至H.323程序563,H.323程序563接着系产生一个包含该被叫方的号码的H.225.0进入许可请求消息,并且接着如同由线段1409所表示地传递该消息至守门员700。若该守门员系接收该进入许可请求,其系如同由线段1412所表示地发出一个H.225.0进入许可确认消息至H.323程序563。响应地,H.323程序563系如同由线段1415所表示地,在该数据网络之上传送一个包含该主叫方的标志的H.225.0“准备“消息至被叫方的网关200’。在该被叫方的网关的内,H.323程序563’系处理此准备消息,并且做此动作中系如同由线段1418所表示地发出一个H.225.0 ARQ消息至守门员程序700’。若此守门员可以接受该通话,亦即,一个被叫方的端点具有适当的安全余隙来接收该通话时,守门员700’系如同由线段1421所表示地响应以一个H.225.0进入许可确认消息至H.323程序563’。响应于该进入许可确认消息,H.323程序563’系如同由线段1424所表示地传递其所接收的包含该主叫方的标志的“准备”消息至CH 560’。
通过接收该“准备”消息,CH 560’系建立一个CallId用于此特定的通话,并且选择一个可用的PDN用于稍后可能使用在自动切换此通话上,并且为了此通话储存该主叫方的以及被叫方的电话号码。之后,此CH系如同由线段1427所表示地发出一个包含该被叫方的标志、被选出的PDN以及该CallId的“通话进行”消息至H.323程序563’。H.323程序563’系如同由线段1430所表示地在该数据网络之上,传送一个包含该被叫方的标志、该PDN以及该CallId的H.225.0“通话进行”消息至主叫方的网关200。在该主叫方的网关之中,H.323程序563系如同由线段1433所表示地施加该“通话进行”消息至CH 560。此CH系储存在此消息中、其刚刚接收的通话信息用于随后在自动切换期间的使用。之后,CH 560系如同由线段1436所表示地发出一个公知的Q.931准备消息至该PSTN,其系包含该被叫方的电话号码以为了建立一个线路交换的PSTN连接至此电话号码。响应于该Q.931准备消息并且来表示该通话是通过该PSTN被建立的,一个服务该主叫方的网关的本地的中央局交换机系如同由线段1440所表示地响应以一个Q.931“通话进行”消息至该主叫方的网关并且特别至其中的CH 560。此消息系指明在一条进来的中继线(至该PSTN)上的哪一个T1信道将载送此通话。此外,该PSTN系如同由线段1443所表示地发出一个Q.931“准备”消息至被叫方的网关200’,该消息系包含该被叫方的电话号码以及在一条载送此通话的出去的中继线(至该被叫方的网关)上一个T1信道的识别。由于此通话是单向的,亦即,从该主叫方的网关至该被叫方的网关,因此在每个端点只有需要一个T1信道。
响应于接收该Q.931“准备”消息,CH 560’系如同由线段1446所表示地建立一个通话至本地的PBX 44。此外,CH 560’系配置一个可用的DSP信道,并且经由一个TDM连接,从PBX 44连接该T1信道(只有用于接收)至此DSP信道。一旦此连接被建立,通话处理器560’系如同由线段1452所表示地发出一个“开放信道”命令至DSP驱动程序519’。接着,在一个被叫方如同由线段1455所表示地,以适当的发信号(例如,接听电话监督)被传回来接听该电话之后,CH 560’系如同由线段1458所表示地发出一个Q.931“连接”消息至该PSTN。该PSTN系如同由线段1460所表示地指定路由给此消息至该主叫方的网关。响应于此消息,CH 560系如同由线段1463所表示地发出一个包含用于此通话的CallId的传送消息至DSP驱动程序519。此驱动程序转换此消息成为合规频带DTMF发信号,并且在该PSTN连接之上传送此消息作为一个CALLID消息至被叫方的网关200’。在接收到此CALLID消息之际,DSP驱动程序519’系从此消息取出该合规频带发信号的CallId,并且如同由线段1468所表示地发出一个包含该CallId的“接收到的”消息至CH 560’。响应于该“接收到的”消息,CH560’系将该PSTN信道从该DSP信道(在接收侧--由于该接收侧是已经在此被利用的唯一侧)断开,并且连接该PSTN信道至该PSTN信道的接收器(PBX)侧。一旦此发生时,该被叫方的网关已经完成其PSTN连接。因此,CH 563’系如同由线段1476所表示地发出一个“关闭信道”消息至DSP驱动程序519’来关闭此当时正在使用中的DSP信道。CH 560’也释放此DSP信道以用于随后的再配置以及再使用。此外,CH 560’也如同由线段1480所表示地发出一个包含应答的“释放完成”消息至H.323程序563’。此应答系表示该CallId系由该被叫方的网关恰当地接收,并且此网关正确地相关连其以及该PSTN通话。响应于此消息,H.323程序563’系如同由线段1495所表示地发出一个H.225.0分离请求消息至守门员700’,以中断一直到该守门员有关的通话。一旦此守门员已经有效地移除(“中断”)此通话,该守门员系如同由线段1498所表示地发出一个H.225.0分离确认消息回到H.323程序563’。此外,H.323程序563’也如同由线段1483所表示地通过该PSTN连接,发出该“释放完成”消息至该主叫方的网关。响应于此消息的接收,H.323程序563系如同由线段1486所表示地发出一个H.225.0分离请求消息至守门员700,以中断一直到该守门员有关的通话。一旦此守门员已经有效地中断此通话,该守门员系如同由线段1489所表示地发出一个H.225.0分离确认消息回到H.323程序563,H.323程序563系如同由线段1492所表示地接着发出一个H.323“释放完成”消息至CH 560。
c.PBX-IP-PBX通话,但没有连接消息被传递至主叫方侧图15为示出典型的程序间的控制消息,其系将发生在对等的网关200与200’之间与之中,用于指定路由给一个电话通话在该数据网络之上,但是缺少一个连接消息被传递至一个主叫方侧。此消息是相当类似于显示在图14中的消息,但是该CallId是通过该程序而被通讯在该两个网关之间。然而,在此并非是一次传送该CallId,其系一旦一个PSTN连接被建立时,则被连续地传送直到该CallId的接收系由该被叫方的网关、通过由该网关所发出的在一个H.323“释放完成”消息中所提供的应答而被应答为止。
首先,如同由线段1501所表示地,PBX 14系导引一个出去的通话至网关200,亦即,位在电话16的用户系拨号一个被叫方的号码,并且该号码系以适当的发信号信息而被传递至该网关并且在其中至CH 560。响应地,该通话处理器系判断是否存在足够的网络频宽来支持该通话,并且该主叫方是否具有适当的安全余隙来达成该通话。如同是显示在图14中的并且在上所论述的场景的情形,若足够的频宽并不存在、或是该网络当时太过拥塞而无法支持该通话,但是该主叫方具有适当的许可来达成该通话时,接着CH 560将指定路由给该通话在该PSTN之上。
以相同于上述结合图14的方式,通过目前的场景的其余部分,主叫方的以及被叫方的网关200与200’系利用在该H.323标准中所提供的一个与通话无关的发信号程序,来交换适当的H.323通话发信号信息,以用于在自动切换期间随后的使用。此信息是通过H.323“准备”、“通话进行”以及“释放完成”消息而被交换的。
参考显示在图15中的特定的场景,一旦该通话处理器系判断出该通话将被指定路由在该PSTN之上,CH 560系形成用于此通话的主叫方的标志,并且接着嵌入此标志在一个“准备”消息中。此“准备”消息系如同由线段1503所表示地被提供至H.323程序563,H.323程序563接着系产生一个包含该被叫方的号码的H.225.0进入许可请求消息,并且接着如同由线段1505所表示地传递该消息至守门员700。若该守门员系接收该进入许可请求,其系如同由线段1507所表示地发出一个H.225.0进入许可确认消息至H.323程序563。响应地,H.323程序563系如同由线段1510所表示地传送一个包含该主叫方的标志的H.225.0准备消息在该数据网络之上至被叫方的网关200’。在该被叫方的网关之中,H.323程序563’系处理此准备消息,并且在做此动作中,系如同由线段1512所表示地发出一个H.225.0 ARQ消息至守门员程序700’。若此守门员可以接受该通话,亦即,一个被叫方的端点具有适当的安全余隙来接收该通话时,守门员700’系如同由线段1514所表示地响应以一个H.225.0进入许可确认消息至H.323程序563’。响应于该进入许可确认消息,H.323程序563’系如同由线段1516所表示地传递其所接收的包含该主叫方的标志的“准备”消息至CH 560’。
通过接收该“准备”消息,CH 560’系建立一个用于此特定的通话的CallId,并且选择一个用于稍后可能使用于自动切换此通话的可用的PDN,并且储存用于此通话的主叫方的以及被叫方的电话号码。之后,此CH系如同由线段1518所表示地发出一个包含该被叫方的标志、该被选出的PDN以及该CallId的“通话进行”消息至H.323程序563’。H.323程序563’系如同由线段1520所表示地传送一个包含该被叫方的标志、该PDN以及该CallId的H.225.0“通话进行”消息在该数据网络之上,至主叫方的网关200。在该主叫方的网关之中,H.323程序563系如同由线段1522所表示地施加该“通话进行”消息至CH560。此CH系储存其刚刚在此消息中所接收到的通话信息,以用于随后在自动切换期间的使用。
之后,CH 560系捉住一个可用的PSTN信道(亦即,进行“接听”)并且系如同由线段1524所表示地传送一个适当的发信号消息至该PSTN,以拨号该被叫方的电话号码。该PSTN接着系如同由线段1526所表示地传送一个适当的发信号消息至该被叫方的网关,以表明一个至该被叫方的电话号码的进来的通话的存在。响应于此消息,CH560’系如同由线段1528所表示地通过本地的PBX 44,建立一个PSTN通话至该被叫方的号码。CH 560也找出一个空闲的DSP信道,并且连接该PSTN信道至该DSP信道,虽然只有至一个接收侧。此外,CH 560’系配置一个可用的DSP信道,并且经由一个TDM连接来从PBX 44连接该T1信道(只有用于接收)至此DSP信道。一旦此连接被建立之后,通话处理器560’系如同由线段1532所表示地发出一个“开放信道”命令至DSP驱动程序519’。
在大约与该被叫方的网关正在开放其PSTN信道相同的时间,该主叫方的网关系如同由例如是线段1534、1536、1538、以及1540所表示地重复地传送分别包含开头是“#”符号的CallId的“传送”消息。每个此种“传送”消息都是由DSP驱动程序519来接收的,DSP驱动程序519接着系转换该“#CALLID”信息成为一个DTMF发信号消息,并且接着在合规频带上传送此DTMF消息至该PSTN。为了简化解说起见,只有此消息之后者实例中之一,亦即,由线段1542所表示的实例被显示出。
只有四个连续的“传送”消息系被显示出,但是可依所需地而为多个,每个消息以及其随附的DTMF发信号的“#CALLID”信息将被传送直到该CallId由该被叫方的网关接收为止。最后,在这些“传送”消息的过程期间并且在一个被叫方如同由线段1533所表示地,以适当的发信号(例如,接听电话监督)被传回来接起电话之后,CH560’系如同由线段1537所表示地发出一个“通话被接起”消息至该PSTN。一旦一个PSTN信道被建立在该被叫方的以及主叫方的网关之间,则最后那些DTMF发信号的消息的一个,在此由线段1542所表示,将由被叫方的网关200’所接收。响应于接收此CallId消息,DSP驱动程序519’系转换该DTMF发信号的消息成为一个包含#CallId的“接收到的”消息,并且系如同由线段1544所表示地传送该“接收到的”消息至CH 560’。此通话处理器接着通过如同由线段1546所表示地发出一个包含应答的“释放完成”消息至H.323程序563’来应答该CallId的接收。此应答系表示该CallId已经由该被叫方的网关恰当地接收、符合最初被建立用于此通话的CallId、并且该此网关正确地将此CallId相关于此PSTN通话。响应于此消息,H.323程序563’系如同由线段1560所表示地发出一个H.225.0分离请求消息至守门员700’,以中断一直到该守门员所关联的PSTN通话。一旦此守门员已经中断此通话,该守门员系如同由线段1562所表示地发出一个H.225.0分离确认消息回到H.323程序563’。此外,H.323程序563’也如同由线段1550所表示地、通过该PSTN连接发出该“释放完成”消息至该主叫方的网关。响应于此消息的接收,H.323程序563系如同由线段1552所表示地发出一个H.225.0分离请求消息至守门员700,以中断一直到该守门员所关联的通话。一旦此守门员已经中断此通话,守门员700系如同由线段1556所表示地发出一个H.225.0分离确认消息回到H.323程序563。接着,程序563系如同由线段1556所表示地提供其系从该被叫方的网关所接收的包含该应答的“释放完成”消息至CH 560。
在此时点,该主叫方的网关系传送一个“*”至该被叫方的网关,以响应于两个网关系将该PSTN信道连接至该主叫方以及被叫方。
特别是,在CH 560接收该“释放完成”消息之后,该通话处理器系从该DSP信道中断该PSTN信道的一个传送侧,并且连接该PSTN信道的传送侧至该PBX信道。此外,CH 560’系如同由线段1558所表示地发出一个包含“*”的“传送”消息至DSP驱动程序519。响应于此“传送(*)”消息,DSP驱动程序519’系转换该消息成为DTMF合规频带发信号,并且如同由线段1565所表示地、利用此种合规频带发信号来传送该消息至被叫方的网关200’。之后,CH 560系释放其刚刚已经使用的DSP信道,并且系如同由线段1570所表示地发出一个“关闭信道”消息至DSP驱动程序519,以关闭此DSP信道使得其可以再被配置并且稍后再度加以使用。
响应于接收此包含一个“*”的DTMF发信号的消息,DSP驱动程序519’系转换该DTMF发信号的消息成为一个包含“*”的“接收到的”消息,并且系如同由线段1568所表示地传送该“接收到的”消息至CH560’。响应地,CH 560’系从该DSP信道的接收侧中断该PSTN信道,并且连接该PSTN信道至该PBX信道的一个接收侧。之后,该CH 560’系释放其刚刚已经使用的DSP信道,并且系如同由线段1572所表示地发出一个“关闭信道”消息至DSP驱动程序519’,以关闭此DSP信道使得其可以再被配置的并且稍后再度被使用。
d.利用被集中的电话号码的IP至PSTN的切换图16为示出典型的程序间的控制消息,其系将发生在对等的网关200与200’之间与之中,用于切换一个电话通话从被指定路由在一个延伸到这些网关的数据网络连接之上至在这些两个网关之间的一个PSTN连接,并且明确地是其中该PSTN连接系已经通过一个被集中的电话号码的使用而被建立。
如图所示,假设一个数据网络连接当时运送该通话的QoS(由在主叫方的网关200中执行的TASQ程序537(见于图5并且在以上所论述的)所判断)下降到一个可接受的水准之下(亦即,如同先前所论述的,其中该QoS的数值等级下降到其预定的阈值之下)。于是如图16中所示,VPH517系如同由线段1601所表示地发出一个“切换信道”消息,并且特别是此种消息系指明用于该通话的切换至该PSTN。若CH 560在此通话的准备期间储存一个PDN时,CH 560接着配置一个空闲的DSP信道,此系假设当时有一个DSP信道是可用的。一旦已经做此动作,CH 560接着系如同由线段1604所表示地发出一个包含作为该被叫方的号码的PDN的公知的Q.931“准备”消息,至该PSTN以建立一个线路交换的通话至该号码。在服务网关200的PSTN中的本地的中央局接着系如同由线段1607所表示地发出一个带有在一条进来的中继线(从网关200)中对于将载送该通话至该被叫方的电话号码一个T1信道的一个识别的公知的Q.931“通话进行”消息。该服务被叫方的网关200’的本地的中央局系如同由线段1610所表示地发出一个Q.931“准备”消息至此网关,其系指明该被叫方的PDN以及一条此通话将会出现于其上的出去的中继线(至该网关)上的一个T1信道。
由于接收到该Q.931准备消息,CH 560’接着配置一个空闲的DSP信道,此系假设当时有一个DSP信道可用的,并且经由在该被叫方的网关中的TDM交换机来连接用于此通话的PSTN信道至该DSP信道。一旦此发生时,CH 560’系如同由线段1616所表示地发出一个“开放信道”消息至DSP驱动程序519’,以开放此刚刚被配置的DSP信道。之后,CH 560’系如同由线段1619所表示地发出一个公知的Q.931“连接”消息至该PSTN,以指出该被叫方的端点是连接至该PSTN信道。响应地,该PSTN系如同由线段1622所表示地发出一个Q.931“连接”消息至主叫方的网关200。在此网关中、并且响应于此“连接”消息的接收,CH 560系如同由线段1625所表示地发出一个包含目前被切换至该PSTN的通话的CallId的“传送”消息至DSP驱动程序519。此消息系使得该驱动程序如同由线段1628所表示地、利用合规频带DTMF发信号来传送此通话的CallId至被叫方的网关200’。
在该CallId信息的接收之际,DSP驱动程序519’系如同由线段1631所表示地发出一个包含该CallId的“接收到的”消息。此消息系被传送至CH 560’,其接着系从该DSP中断该PSTN信道,并且连接该信道至该PBX。之后,CH 560’系如同由线段1643所表示地发出一个“关闭信道”(DTMF)消息来关闭该被使用来接收并且处理DTMF发信号的DSP信道。接着,CH 560’也如同由线段1647所表示地发出一个“关闭语音路径”消息至VPH 517’。此消息系使得该VPH来关闭先前在网关200’中、于此DSP信道之上所建立的语音路径。CH 560’接着系如同由线段1650所表示地发出一个“关闭信道”(VoIP)消息至DSP驱动程序519’,DSP驱动程序519’系使得该驱动程序来释放该两个DSP信道,一个是被用于DTMF并且另一个是当时被使用来处理该VoIP通话。
同时,在DSP驱动程序519已经利用合规频带发信号来传送该CallId信息之后,位在主叫方的网关200中的CH 560系中断从该DSP该PSTN信道,并且连接其至该PBX。之后,CH 560系如同由线段1634所表示地发出一个“关闭信道”(DTMF)消息来关闭被使用来接收并且处理DTMF发信号的DSP信道。接着,CH 560也如同由线段1637所表示地发出一个“关闭语音路径”消息至VPH 517。此消息系使得该VPH来关闭先前在网关200中、于此DSP信道之上所建立的语音路径。CH 560接着系如同由线段1640所表示地发出一个“关闭信道”(VoIP)消息至DSP驱动程序519,DSP驱动程序519系使得该驱动程序来释放该两个DSP信道,一个是被用于DTMF并且另一个是当时被使用来处理该VoIP通话。
一旦这些动作已经发生之后,CH 560系如同由线段1653所表示地发出一个H.225.0“释放完成”消息至H.323程序563。H.323程序563在接收到此消息之际,系如同由线段1659所表示地发出一个分离请求消息至守门员700。该已经消灭其末端的数据通话的守门员系如同由线段1656所表示地发出一个分离确认消息至H.323程序563。响应于此消息,H.323程序563系如同由线段1662所表示地、在该PSTN连接之上传送该“释放完成”消息至被叫方的网关200’。H.323程序563’在接收到此消息之际,系如同由线段1665所表示地发出一个分离请求消息至守门员700’。已经消灭其末端的数据通话的守门员700’接着系如同由线段1668所表示地发出一个分离确认消息至H.323程序563’,H.323程序563’接着系如同由线段1672所表示地发出一个“释放完成”消息至CH 560’。
e.利用被叫方的电话号码的IP至PSTN的切换图17为示出典型的程序间的控制消息,其系将发生在对等的网关200与200’之间与之中,用于切换一个电话通话从被指定路由在一个延伸到这些网关的数据网络连接之上至在这些两个网关之间的一个PSTN连接,并且明确地是其中该PSTN连接系已经通过一个被叫方的电话号码的使用而被建立,而不是如图16中所示地以一个PDN。如同可以由比较图16与17而看出地,显示在两个图中的全部的控制场景是相当类似的;然而,图17中所描绘的场景系发生在其中该被叫方侧并未事先传递一个PDN以用于自动切换该通话至该PSTN。
如图所示,假设一个数据网络连接当时运送该通话的QoS(同样由在主叫方的网关200中执行的TASQ程序537(见于图5并且在以上所论述的)所判断)下降到一个可接受的水准之下。于是如图17中所示,VPH 517系如同由线段1701所表示地发出一个“切换信道”消息,并且特别是此种消息系指明用于该通话的切换至该PSTN。若一个PDN并未被传递以用于此通话时,接着CH 560将从其路由信息来判断是否一个主叫方的电话号码已经被传递用于此通话。若CH 560持有此信息,接着CH 560系配置一个空闲的DSP信道,此系假设当时有一个DSP信道是可用的。一旦已经做此动作,CH 560接着从其路由信息取出相关于此主叫方的号码的被叫方的号码。之后,CH 560系如同由线段1704所表示地发出一个包含该原始的被叫方的号码的公知的Q.931“准备”消息,以建立一个线路交换的通话至该号码。在服务网关200的PSTN中的本地的中央局接着系如同由线段1707所表示地发出一个带有在一条进来的中继线(从网关200)中对于将载送该通话至该PDN一个T1信道的一个识别的公知的Q.931“通话进行”消息。该服务被叫方的网关200’的本地的中央局系如同由线段1710所表示地发出一个Q.931准备消息至此网关,其系指明该原始的被叫方的电话号码以及一条此通话将会出现于其上的出去的中继线(至该网关)上的一个T1信道。
由于接收到该Q.931准备消息,CH 560’接着配置一个空闲的DSP信道,此系假设当时有一个DSP信道可用的,并且经由在该被叫方的网关中的TDM交换机来连接用于此通话的PSTN信道至该DSP信道。一旦此发生时,CH 560’系如同由线段1718所表示地发出一个“开放信道”消息至DSP驱动程序519’,以开放此刚刚被配置的DSP信道。之后,CH 560’系如同由线段1722所表示地发出一个公知的Q.931“连接”消息至该PSTN,以指出该被叫方的端点是连接至该PSTN信道。响应地,该PSTN系如同由线段1725所表示地发出一个Q.931“连接”消息至主叫方的网关200。在此网关中、并且响应于此“连接”消息的接收,CH 560系如同由线段1728所表示地发出一个包含目前被切换至该PSTN的通话的CallId的“传送”消息至DSP驱动程序519。此消息系使得该驱动程序如同由线段1732所表示地并且在该PSTN信道之上、利用合规频带DTMF发信号来传送此通话的CallId至该被叫方的网关。
在该CallId信息的接收之际,DSP驱动程序519’系如同由线段1735所表示地发出一个包含该CallId的“接收到的”消息。此消息系被传送至CH 560’,其接着系从该DSP中断该PSTN信道,并且连接该信道至该PBX。之后,CH 560’系如同由线段1747所表示地发出一个“关闭信道”(DTMF)消息来关闭被使用来接收并且处理DTMF发信号的DSP信道。接着,CH 560’也如同由线段1750所表示地发出一个“关闭语音路径”消息至VPH 517’。此消息系使得该VPH来关闭先前在网关200’中、于此DSP信道之上所建立的语音路径。CH 560’接着系如同由线段1753所表示地发出一个“关闭信道”(VoIP)消息至DSP驱动程序519’,DSP驱动程序519’系使得该驱动程序来释放该两个DSP信道,一个是被用于DTMF并且另一个是当时被使用来处理该VoIP通话。
同时,在DSP驱动程序519已经利用合规频带发信号来传送该CallId信息之后,位在主叫方的网关200的CH 560系从该DSP中断该PSTN信道,并且连接其至该PBX。之后,CH 560系如同由线段1738所表示地发出一个“关闭信道”(DTMF)消息来关闭被使用来接收并且处理DTMF发信号的DSP信道。接着,CH 560也如同由线段1742所表示地发出一个“关闭语音路径”消息至VPH 517。此消息系使得该VPH来关闭先前在网关200中、于此DSP信道之上所建立的语音路径。CH 560接着系如同由线段1745所表示地发出一个“关闭信道”(VoIP)消息至DSP驱动程序519,DSP驱动程序519系使得该驱动程序来释放该两个DSP信道,一个是被用于DTMF并且另一个是当时被使用来处理该VoIP通话。
一旦这些动作已经发生之后,CH 560系如同由线段1756所表示地发出一个H.225.0“释放完成”消息至H.323程序563。H.323程序563在接收到此消息之际,系如同由线段1760所表示地发出一个分离请求消息至守门员700。该已经消灭其末端的数据通话的守门员系如同由线段1763所表示地发出一个分离确认消息至H.323程序563。响应于此消息,H.323程序563系如同由线段1765所表示地、在该PSTN连接之上传送该“释放完成”消息至被叫方的网关200’。H.323程序563’在接收到此消息之际,系如同由线段1768所表示地发出一个分离请求消息至守门员700’。已经消灭其末端的数据通话的守门员700’接着系如同由线段1772所表示地发出一个分离确认消息至H.323程序563’,H.323程序563’接着系如同由线段1775所表示地发出一个“释放完成”消息至CH 560’。
f.PSTN至IP的切换图18为示出典型的程序间的控制消息,其系将发生在对等的网关200与200’之间与之中,用于切换一个电话通话从被指定路由给在一个延伸到这些网关的PSTN连接之上至一个在这些两个网关之间的数据网络连接。有鉴于该通话是从该PSTN连接被切换至该数据网络并且没有其它方向之下,此场景系构成一个“逆向的”自动切换情况。在此,通话信息是被载送在一个H.323“准备”消息之中,以指示给一个远程网关此通话并不是用于一个新的端至端的连接而发起的,而一个现存的通话的切换即将发生。该CallId是被使用来恰当地比对该PSTN与该数据网络的通话。在此方向上的自动切换并不利用一个PDN或是该PSTN的一项能力来传递一个主叫方的电话号码至该被叫方端。此外,其中该通话从该数据网络被切换至该PSTN的方式,亦即,通过例如是一个PDN或是自动的号码识别(ANI)的使用,对于发生从该PSTN回到该数据网络的自动切换而言是不重要的。
如图所示,假设一个在该主叫方以及被叫方的网关之间的数据网络连接的QoS(再度是由在主叫方的网关200中执行的TASQ程序537(见于图5并且在以上所论述的)所判断)增加到一个可接受的水准之上。于是如图18中所示,VPH517系如同由线段1801所表示地发出一个“切换信道”消息,并且特别是此种消息系指明用于该通话的切换至该数据网络。响应地,CH 560系配置一个可用的DSP信道,并且也如同由线段1804所表示地发出一个“开放语音路径”消息至VPH517。之后,CH 560系发出一个“准备”消息,该消息系包含一个用于此通话的CallId(其系先前在此通话的原始的路由期间被产生,例如在该数据网络之上,在该通话被切换至该PSTN之前,并且现在是被切换回到该数据网络)以及一个来切换此通话至该数据网络的指令(“切换指令”)。
此“准备”消息系如同由线段1807所表示地被提供至H.323程序563,H.323程序563接着系产生一个包含该CallId以及该切换指令的H.225.0进入许可请求消息,并且接着如同由线段1810所表示地传递该消息至守门员700。若该守门员接受该进入许可请求--亦即,通过例如是该主叫方的端点具有许可来利用该数据网络并且足够的网络频宽当时是可用来支持该通话时,守门员700系如同由线段1814所表示地发出一个H.225.0进入许可确认消息至H.323程序563。响应地,H.323程序563系如同由线段1820所表示地、在该数据网络之上传送一个包含该CallId以及该切换指令的H.225.0“准备”消息至被叫方的网关200’。在该被叫方的网关之中,H.323程序563’系处理此“准备”消息,并且在作此动作中,系如同由线段1823所表示地发出一个H.225.0 ARQ消息至守门员程序700’。若此守门员可以接受该通话,亦即,一个被叫方的端点具有适当的安全余隙来接收该通话并且足够的频宽系存在于此端以处理该通话时,守门员700’系如同由线段1826所表示地响应以一个H.225.0进入许可确认消息至H.323程序563’。响应于该进入许可确认消息,H.323程序563’系如同由线段1829所表示地传递其所接收的“准备”消息至CH 560’。此通话处理器接着系配置一个空闲的DSP信道用于将发生于此通话的语音处理。一旦此DSP信道被指定之后,CH 560’系如同由线段1832所表示地发出一个“开放语音路径”命令至VPH 517’,VPH 517’接着通过该被配置的DSP信道来开放一个用于此通话的数据包后的语音路径。之后,CH 560系如同由线段1835所表示地发出一个“连接”消息至H.323程序563’。此程序系如同由线段1840所表示地传送此“连接”消息至该主叫方的网关。同时,一旦CH 560’发出该连接消息之后,此CH接着系从先前载送该通话的PSTN信道中断该PBX信道,并且连接该PBX信道至该被配置的DSP信道。一旦此连接已经与该被叫方的网关达成时,CH560’系如同由线段1853所表示地发出一个“开放信道”消息至DSP驱动程序519’以开放此DSP信道。CH 560’也如同由线段1856所表示地发出一个“开始语音处理”消息至VPH 517’,以指示其开始对于此数据网络通话的持续期间,发生在此DSP信道之上的信号的语音处理。类似地,在主叫方的网关200之中,响应于如同由线段1843所表示地,该被提供至CH 560的“连接”消息,此通话处理器系从该先前载送该通话的PSTN信道中断该PBX信道,并且连接该PBX信道至该被配置的DSP信道。之后,CH 560系如同由线段1846所表示地发出一个“开放信道”消息至DSP驱动程序519,以开放此DSP信道,接着是如同由线段1850所表示地一个“开始语音处理”消息至VPH 517以指示其开始对于此数据网络通话的持续期间,发生在该DSP信道之上的信号的语音处理。CH 560’也如同由线段1856所表示地发出一个“开始语音处理”消息至VPH 517’,以指示其开始发生在其DSP信道之上、用于此数据网络通话并且对于此通话的持续期间的信号的语音处理。之后,CH 560系如同由线段1860所表示地发出一个“断开”消息在该PSTN信道之上至该数据网络以断开用于此通话的PSTN连接。该PSTN接着系如同由线段1863所表示地发出一个“断开”消息至被叫方的网关200’,被叫方的网关200’接着系指示CH560’来断开其目前用于此通话的PSTN连接。为了表明该被叫方的网关事实上已经释放该先前载送此通话的PSTN信道,CH 560’系如同由线段1866所表示地发出一个Q.931“释放”消息至该PSTN。该PSTN接着系如同由线段1869所表示地发出一个Q.931“释放”消息至该主叫方的网关。一旦CH 560释放其用于此通话的PSTN连接,该通话处理器系如同由线段1872所表示地发出一个Q.931“释放完成”消息至该PSTN,该PSTN接着系发出一个对应的Q.931“释放完成”消息至该被叫方的网关并且至其中的CH 560’,以完全地应答其用于此通话的PSTN连接的释放。
4.在领域间的通话路由顺序a.路由信息存在于与主叫方的端点相同的管理的领域图19为示出将发生在用于指定路由给一个电话通话在H.323环境中的两个管理的领域之间的数据网络之上的网关间的以及网关中的动作1900的顺序,例如,显示在图4B中,其中用于该被叫方的端点的路由信息已经被暂存在与该主叫方的端点相同的领域中的一个边界组件,并且是由该边界组件所提供的(“简单的通话路由”)。如上所指明的,路由信息是在每个端点向一个守门员登记时,以一个对应的描述符号的形式被提供的。一旦一个新的端点向一个守门员登记时,该守门员系提供该新的端点的描述符号至与该守门员相同的管理的领域内的一个边界组件,作为用于公告至在相同的领域中所有的其它此种守门员。此外,在一个领域中的一个外部的边界组件可以从另一个领域中的一个外部的边界组件请求对于该其它的领域的所有的描述符号,以用于内部的储存在该前者的外部边界组件中。此外并且如上所指明的,一个外部的边界组件也为了随后的使用来暂存最近已经通过该边界组件被指定路由的在领域间的通话的描述符号在其本地的储存处。
在此,假设一个通话是通过一个相关于一个经由管理的领域A所服务的电话端点(未显示)的主叫方的电话号码被起始至相关于一个通过管理的领域B所服务的电话端点(也未显示)的一个被叫方的电话号码。首先,在此领域中的主叫方的网关200系如同由线段1910所表示地传送一个H.225.0进入许可请求(ARQ)消息至服务该主叫方的端点的守门员4201。该守门员接着系如同在方块1915中所指地判断,在指定路由给该通话的背景中,该被叫方的端点是否位在与该主叫方的端点相同的管理的领域,亦即,领域A之中。若否的话,如同在此的例子,守门员4201系如同由线段1920所表示地发出一个包含例如是一个用于此通话的被叫方的电话号码的“存取请求”至边界组件430,以为了解析此号码成为一个用于该被叫方的端点的目标网络地址。由于在此场景中,边界组件430系持有所需要的路由信息,因此该边界组件系如同由线段1930所表示地传回一个包含被解析后的目标地址,亦即,该网络地址的“存取确认”消息。守门员4201系响应于接收此地址,而如同由线段1940所表示地发出一个包含该目标地址的H.225.0“进入许可确认”(ACF)消息回到主叫方的网关200,主叫方的网关200接着如同由线段1950所表示地进行与被叫方的网关200’的交互作用,以建立该通话在该数据网络之上。
b.路由信息存在于与主叫方的端点不同的管理的领域图20为示出类似于显示在图19中的动作,将发生在用于指定路由给一个电话通话在两个管理的领域之间的数据网络之上的网关间的以及网关中的动作2000的顺序,但是其中用于该被叫方的端点的路由信息当时并不存在于与该主叫方的端点相同的管理的领域内的一个边界组件中。
在此也是假设一个通话是通过一个相关于一个经由管理的领域A所服务的电话端点(未显示)的主叫方的电话号码被起始至相关于一个通过管理的领域B所服务的电话端点(也未显示)的一个被叫方的电话号码。首先,在此领域中的主叫方的网关200系如同由线段2010所表示地传送一个H.225.0进入许可请求(ARQ)消息至服务该主叫方的端点的守门员4201。该守门员接着系如同方块2015所指地判断,在指定路由给该通话的背景中,该被叫方的端点是否位在与该主叫方的端点相同的管理的领域,亦即,领域A之中。若否的话,如同在此的例子,守门员4201系如同由线段2020所表示地发出一个包含例如是一个用于此通话的被叫方的电话号码的“存取请求”至边界组件430,以为了解析此号码成为一个用于该被叫方的端点的目标网络地址。由于在此场景中,边界组件430当时并不持有所需要的路由信息,亦即,其并不持有对于该被叫方的端点的一个对应的描述符号,此组件系如同由方块2025所指地推断出其需要对于此端点的一个描述符号。因此,边界组件430系如同由线段2030所表示地发出一个“存取请求”至一个在该被叫方的管理的领域中的外部的边界组件,例如,边界组件450,以解析该被叫方的电话号码。响应地,边界组件450系如同由线段2040所表示地传回一个包含该被解析后的目标地址,亦即,该网络地址的“存取确认”消息至边界组件430,边界组件430接着系以此描述符号更新其本身的路由表,并且同时如同由线段2050所表示地传送此“存取确认”消息至守门员4201。守门员4201系响应于接收此地址,而如同由线段2060所表示地发出一个包含该目标地址的H.225.0“进入许可请求确认”(ACF)消息回到主叫方的网关200,主叫方的网关200接着如同由线段2070所表示地进行与被叫方的网关200’的交互作用,以建立该通话在该数据网络之上。
c.守门员内的动作图26为示出发生在一个守门员,例如是守门员700之中的程序间的交互作用2600,以指定路由给由一个向该守门员登记的网关,在此为网关200所做的一个VoIP通话。
如图所示,如同由线段2610所表示地,响应于来自执行在网关200之中的本地的H.323程序563(未显示)的一个进来的H.225.0进入许可请求(ARQ)消息,端点管理器750系如同由线段2620所表示地传送一个ARQ消息至H.323端点4051。如上所指明的,管理器750系管理H.323端点,其系包含端点的登记与撤销登记、配置与解除配置相关于一个通话的网络频宽、在端点之间的通话路由、以及由路由程序760所使用的适当的端点地址转变。因此,一旦在该守门员中的端点管理器系接收该包含该被叫方的电话号码的ARQ消息之后,该管理器系判断哪个特定的端点,在此,例如是端点4051是正在请求此通话并且接着如同由线段2620所表示地提供该ARQ消息至其。响应于该ARQ消息,端点4051系如同由线段2630所表示地发出一个“路由请求”消息至路由程序760,以请求目标路由信息至该被叫方的电话号码。响应于此消息,路由程序760系检查其相关的路由表,以判断那些表是否包含对于该被叫方的电话号码的一个项目。若路由信息被找到时,则程序760系如同由线段2640所表示地传回一个包含所有合格来接受该通话的可行的电话端点的“路由OK”消息。一旦此发生时,端点4051系如同由线段2650所表示地发出一个“保留频宽”命令至该端点管理器,以保留一个频宽量作为用于此通话所需的。依据将被载送在此通话之上特定的通讯类型而定,亦即语音、调制解调器数据或是传真,频宽的需求将随的变化。假设可用的频宽是一个有限的资源,因此限制系被加诸于哪些电话端点可以使用其,并且在任何特定的时间下,分别可以使用有多少频宽。若被请求的频宽可以被配置用于此通话,接着其系由端点管理器750适当地加以保存,接着系如同由线段2660所表示地传回一个“频宽被保留”的消息至该请求的端点器。响应地,该端点接着系如同由线段2670所表示地发出一个H.323进入许可确认(ACF)消息至该端点管理器,其系指明该通话可以在该被保留的频宽上被完成。该端点管理器系接着传递该ACF消息至做成该通话请求的网关200,并且特别是通过执行在该网关之中的本地的H.323程序563(未显示)。
5.服务建立的顺序图21为示出发生在相同的管理的领域中、在一个例如是守门员4051的守门员以及一个例如是边界组件430的边界组件之间的程序之间,用于在其间建立一个服务关系的操作顺序2100。此系典型地发生在一个守门员开机之际、或是每当一个先前离开服务的守门员接着回到有效的服务之际。
首先,请求的守门员4051系如同由线段2105所表示地发出一个“服务请求”消息至边界组件430。响应地,该边界组件系如同由线段2110所表示地并且假设其可以提供被请求的服务之下,回复以一个“服务确认”消息回到该请求的守门员。之后,如同由方块2115所指地,守门员4051系下载所有其本身的区域为基础的通话路由功能至该边界组件,由此以用于由该守门员所处理的区域的路由信息来更新该边界组件。为了如此地做,该边界组件系如同由线段2120所表示地发出一个“描述符号ID请求”消息至该守门员,以为了获得对于每个当时被储存在该守门员中的描述符号的一个识别符。响应地,该守门员系如同由线段2125所表示地提供一个“描述符号ID确认”消息,该消息系包含对于当时被储存在该守门员之中所有的描述符号识别符(描述符号IDs)的一个表列。一旦此信息已经被接收,该边界组件系个别地请求,并且响应地获得每个在该表列中被确定的描述符号。特别是,对于每个被请求的描述符号,边界组件430系如同由线段2130所表示地发出一个对于该描述符号来指明一个对应的描述符号ID的“描述符号请求”。响应地,该守门员系如同由线段2135所表示地下载该被请求的描述符号至该边界组件。由线段2130与2135所代表的动作系对于每个由该边界组件所请求的连续的描述符号反复地被重复。
一旦守门员4051已经下载其所有的描述符号至边界组件430之后,该守门员系如同由方块2140所指地从该边界组件请求在与该边界组件相同的管理的领域内、除了对于守门员4051的区域以外,相关于所有其它的区域的管理的区域为基础的路由信息,亦即,描述符号。因此,一旦此信息已经被储存在守门员4051的内,此守门员将持有对于在其领域中的所有的该端点的描述符号。特别是,为了做此动作,该守门员系如同由线段2145所表示地发出一个区域为基础的“描述符号ID请求”消息至该边界组件,以为了对于每个当时被储存在该边界组件中的描述符号获得一个识别符。响应地,该边界组件系如同由线段2150所表示地提供一个“描述符号ID确认”消息,该消息系包含一个表列of识别符对于当时被储存在该边界组件之中,除了那些由守门员4051所提供的的外的每个并且是全部的描述符号。一旦此信息已经被接收,该守门员系个别地请求,并且响应地获得每个在该表列中被确定的描述符号。特别是,对于每个被请求的描述符号,守门员4051系如同由线段2155所表示地发出一个“描述符号请求”,其系指明对于该描述符号的一个对应的描述符号ID。响应地,该边界组件系如同由线段2160所表示地下载该被请求的描述符号至该边界组件。由线段2155与2160所代表的动作系对于由该守门员所请求的每个连续的描述符号反复地被重复。一旦所有的边界组件系提供其所有的被请求的路由信息至该守门员,一种服务关系系存在于该二者之间,并且顺序2100系结束。
6.信息转移顺序图22为示出发生来从一个守门员转移路由信息至相同的管理的领域中的另一个守门员的程序间的顺序2200。如上所指明的,被储存在一个守门员的路由信息系随着通过该守门员所服务的网关与电话端点向该守门员登记与解除登记本身而改变。由于每个此种组件向其在一个管理的领域中的对应的守门员登记与撤销登记,因此该守门员系传送相关的路由改变,亦即,描述符号的更新至一个相关的边界组件,该边界组件接着散布该路由改变至相同的领域中的所有其它的守门员(包含已经与该领域中对等的边界组件建立服务关系的守门员)。
如图22中所示,假设如同方块2210中所指地在一个由守门员4201所服务的区域内的描述符号上的改变发生时,不论其是否通过一个网关或是电话端点的登记或是撤销登记而发生。之后,如同由线段2220所表示地,守门员4201系发出一个“描述符号更新”消息,其系包含一个指令来用适当的描述符号改变以更新现存的描述符号。这些改变包含删除或是更新现存的描述符号、或是增加新的描述符号。一旦此消息由边界组件430接收并且处理之后,该组件系如同由线段2230所表示地发出一个“描述符号更新确认”消息回到守门员4201,以应答那些特定的描述符号已经被更新。
接着,边界组件430系如同由线段2240所表示地发出一个“描述符号更新”消息,以散布此描述符号改变至该领域中之下一个接着的守门员,在此为守门员4202。一旦此消息由该下一个守门员接收并且处理之后,该守门员系如同由线段2250所表示地发出一个“描述符号更新确认”消息回到边界组件430,以应答那些特定的描述符号已经被更新。动作2240与2250系对于在该管理的领域中的每一个守门员被反复地加以重复,除了例如是守门员4201的提供该描述符号改变至边界组件430的守门员的外。
被更新的描述符号不管是存在于该边界组件或是在一个守门员内,该被传递给任一组件的“描述符号更新”消息系包含一个涵盖当时需要做的所有描述符号改变的序列的描述符号改变。
7.通话切断a.守门员间的动作图23为示出发生在两个守门员之间,在此例示地为守门员4201与4601之间,用于切断一个当时在该数据网络之上载送的通话(VoIP通话)的程序间的交互作用2300。
特别是,假设一个数据通话已经被建立在分别连接至主叫方的与被叫方的网关200与200’的对应的电话端点之间,并且位在一个由PBX 14所服务的主叫方的端点的用户接着挂断他(她)的电话。于是,此PBX系如同由线段2310所表示地传送一个包含该主叫方的电话号码(在此,例如是“1-732-872-8020”)的Q.931“断开”消息至网关200。此发信号信息是通过适当的DTMF(双音多频)音调、脉冲或是ISDND-信道信息,在T1中继线1213中的一条进来的中继线上被输送。网关200接着系如同由线段2320所表示地并且在RAS信道1217之上传送一个H.225.0分离请求(DRQ)消息至一个服务此端点的守门员,例如是守门员4201。此DRQ消息系指明正被该网关切断的此数据连接的所拨的号码。响应于该DRQ消息,守门员4201系如同由线段2330所表示地传回包含一个该被叫方的网关的IP地址的一个H.225.0分离确认(DCF)消息,因为此通话是在该网关上被终止的。此守门员以及对等的守门员4601系通过先前在用于此通话的路由信息之间所建立的一个关联以及在此通话的准备期间已经被建立并且被保留在其整个持续期间供此通话使用的一个独特的CallId来识别此通话。响应于此DCF消息,该主叫方的网关系如同由线段2340所表示地并且经由H.245信道1223传送一个包含该CallId的Q.931“断开”消息至该被叫方的网关,在此为网关200’。
响应于该“断开”消息,被叫方的网关200’系如同由线段2350所表示地传送一个H.225.0 DRQ消息至一个服务该被叫方的端点的守门员,在此为作例证的守门员4601。此消息系请求此守门员来断开当时运送此通话的数据连接。响应地,守门员4601系如同由线段2360所表示地并且在RAS信道1233之上传回一个H.225.0DCF消息回到网关200’。响应于此确认消息,被叫方的网关4601系如同由线段2370所表示地传送一个Q.931“断开”消息在T1中继线1247中的一条出去的中继线上至PBX 44,其系依据其能力与配置而定地利用DTMF、拨号脉冲或是ISDN,来断开至该PBX的T1信道连接。一旦此PBX释放此信道,PBX44接着系如同由线段2380所表示地发出一个适当的“释放完成”消息回到该被叫方的网关。此网关接着系如同由线段2390所表示地并且经由该H.245信道发出一个“释放完成”消息至该主叫方的网关。响应于此消息,该主叫方的网关系如同由线段2395所表示地发出一个Q.931“释放完成”消息,经由T1中继线1213中的一条进来的中继线至PBX14,以指出用于此通话的至该PBX的连接已经完全被释放。该主叫方的网关,在此为网关200,接着释放已经被利用于此通话的PBX信道。
b.守门员中的动作图27为示出发生在一个守门员之中,在此为守门员700(并未特别显示在图27中),以切断该VoIP通话至一个由该守门员所服务的端点,在此为例如是端点4051的程序间的交互作用2700。
如图所示,响应于如同由线段2710所表示地,来自于执行在网关200中的本地的H.323程序563(未显示)的一个进来的H.323分离请求(DRQ)消息,端点管理器750系如同由线段2720所表示地传送该DRQ消息至H.323端点4051。此消息系指出该端点想要释放其已经一直在利用于一个有效的VoIP通话的资源。如上所指明的,管理器750系管理H.323端点,其包含尤其是端点的登记与撤销登记、相关于一个通话的配置与解除配置网络频宽。响应于该DRQ消息,该端点管理器系识别哪个特定的端点(在此为端点4051)是处理此通话,并且如同由线段2720所表示地传送该DRQ消息至该端点。响应地,端点4051系识别用于此通话的通话实例,并且系如同由线段2730所表示地发出一个指令来释放已经被配置给该端点用于此通话的频宽。一旦该管理器释放此频宽以用于配置至其它通话,该管理器系如同由线段2740所表示地传送一个“频宽被释放”消息至该端点,以表明该频宽已经被释放。响应地,该端点系如同由线段2750所表示地发出一个H.323“分离确认”(DCF)消息至管理器750,管理器750接着并且如同由线段2760所表示地传递该H.323 DCF消息至发出该请求的网关200以终止该通话,并且特别是通过执行在该网关中的本地的H.323程序563(未显示)。
8.登记如上所论述地,一个网关必须向一个守门员登记,以便用于通话通过该网关被安置。典型地,一个网关的登记是在其开机或是被重置之际、或是其被返回至服务之际。
登记系有着多个目的。首先,其系在电话端点与网关之间建立服务关系,并且对于被登记端点开始一个保持存活的动作,在该动作期间,每个端点是由该守门员所发出的一个信息请求(IRQ)消息所连续地询问对于目前的通话的路由信息。若在任何区域中的一个被登记的端点无法响应时,该守门员系对于该区域负责撤销登记该端点,并且清除其对于该端点的所储存的通话路由信息。
端点也根据该H.323标准来向守门员登记,以便对于每个此种端点来供应其路由描述符号至其服务的守门员,并且由此起始与终止通话在该数据网络之上。从在H.323之下建立路由信息的一个观点,实际的电话端点与网关系用完全相同的方式被登记,并且系全体地视为分别具有一个由对应的守门员产生并且公开的路由描述符号的“端点”,并且相同的基本的动作系被执行以登记其。因此,我们将对待两者为“端点”,以用于登记以及稍后在讨论图25与29的本文中的撤销登记。
如上所论述,由一个守门员所提供至其外部的边界组件的对于一个端点(不管其是一个终端机或是一个网关)的对应的路由信息,亦即,路由描述符号也是由该边界组件被提供至其对等边界组件,以用于动态地更新其路由信息,使得对等的边界组件系维持着相同的路由信息。
由于在一个H.323实体的登记期间中所获得的路由信息并未由一个边界组件被公开超出其本身的管理的领域的外,并且因此不影响被储存在任何其它领域的路由信息,我们将只有论述那些发生在该实体,例如在此是网关200被登记进入的领域之中的动作。
a.守门员间的动作图24为示出根据我们的发明,在向一个例如是守门员4201的守门员登记一个例如是网关200的网关的过程中所发生的程序间的交互作用2400。
首先,网关200系如同由线段2410所表示地并且在RAS信道1217之上、发出一个H.323“守门员请求”(GRQ)消息在一个守门员多重播送地址之上。此消息是被使用来识别出一个区域中的所有的守门员。响应于此消息,一个守门员,例如是守门员4201,系如同由线段2420所表示地回复以一个H.323“守门员确认”(GCF)消息,以指出其可以提供服务给该请求的网关。之后,网关200系如同由线段2430所表示地传送一个包含其路由信息的H.323“登记请求”(RRQ)消息至此守门员,以表明此网关系寻求由此守门员来服务。若守门员4201系能够服务网关200,并且因此容许该网关来登记时,守门员4201系如同由线段2440所表示地、在RAS信道1217上发出一个H.323“登记确认”(RCF)消息至该网关。若为了任何原因登记是被否决时,该守门员系传送一个H.323“登记拒绝”消息(RRJ-未显示)回到该网关,接着系结束该登记程序。
假设守门员4201确认该登记请求,该守门员系如同由线段2450所表示地并且在服务信道2455之上发出一个“描述符号更新”消息至其相关的边界组件,在此为组件430。此消息系包含刚刚由该登记的网关所提供的路由信息。响应地,边界组件430系如同由线段2460所表示地传送一个“描述符号更新应答”消息在此服务信道之上并且回到守门员4201,以确认此路由信息的接收。再者,边界组件430系如同由线段2470所表示地并且在控制信道2465之上发出一个“信息更新”消息至其对等的边界组件,在此为组件430’。此更新消息系包含由该登记的网关所提供的路由信息,并且是由该对等边界组件所使用以更新其路由信息。因此,两个对等的边界组件系在其整个且共同的管理的领域上维持相同的路由信息。
之后,边界组件430系公开该更新后的路由信息,亦即,其刚刚从守门员4201接收的路由描述符号,至其管理的领域中的每一个其它的守门员。为了作此动作,边界组件430系如同由线段2480所表示地并且在服务信道2485之上发出一个“描述符号更新”消息至其管理的领域中之下一个连续的守门员,在此为守门员4202。此更新系包含由新被登记的网关200所提供的路由描述符号。一旦守门员4202系接收此更新之后,其如同由线段2490所表示地、在服务信道2485之上响应以一个“描述符号更新应答”消息回到边界组件430。因而,守门员4202接着系更新其本身的路由信息。若超过一个其它守门员存在于该管理的领域中时,接着边界组件430系发出一个别的“描述符号更新”消息至该组件,并且在进行至提供该新的路由描述符号至下一个组件之前,从该组件接收一个别的“描述符号更新应答”消息,等等。
B.守门员中的动作图28为示出在一个守门员之中,用于向该守门员登记一个新的网关所发生的程序间的交互作用2800。如上所指明的,从登记一个端点的观点上,H.323在一个电话端点以及一个网关的意义上,全体地将两者视为是“端点”,并且因此在登记这些实体的基本的动作方面彼此并没有差异。
如图所示,在此例如是登记的网关200的端点2805系如同由线段2810所表示地发出该H.323“登记请求”(RRQ)消息至该守门员。响应地,端点管理器750系通过查询其路由信息来判断路由信息目前是否被储存用于新的端点2805。若无的话,该守门员系如同由线段2820所表示地对于网关200产生一个新的端点项目在其路由表中,用于此新的端点并且备妥该项目以供使用。一旦此发生之后,端点管理器750系如同由线段2830所表示地提供该RRQ消息至此新的端点(亦即,至网关200)。响应于该RRQ消息,此新的端点系从此消息取出其路由信息,亦即,一个路由描述符号,并且系如同由线段2840所指地发出一个包含此路由描述符号的“增加区域”地址消息至路由程序760。响应地,此程序系更新其路由表,以插入内含在此描述符号中的路由信息进入到其区域路由表。之后,端点2805系如同由线段2850所表示地发出一个包含其路由描述符号的“端点登记”命令至管理的领域管理器740,管理的领域管理器740接着系公开该路由描述符号至在该管理的领域中的所有其它的守门员。最后,端点管理器750系确认该登记,其系通过如同由线段2860所表示地发出一个H.323“登记确认”(RCF)消息回到该网关。
9.撤销登记如上所指明的,在一个H.323实体的登记期间所获得的路由信息并不被一个边界组件公告超出其本身的管理的领域,并且因此,从其公告的观点来看,并不会影响任何其它的领域。相反的方式在撤销登记期间也是成立的,在撤销登记期间所引起的路由信息上的改变并未被公告超出其中该实体正撤销登记的一个管理的领域的外。因此,我们限制发生在撤销登记期间的动作的论述至其中一个实体,在此例如是网关200正撤销登记的管理的领域。
a.守门员间的动作图25为示出根据我们的发明,在从一个守门员撤销登记一个例如是网关200的网关的过程中所发生的程序间的交互作用2500。
首先,网关200系如同由线段2510所表示地并且在RAS信道1217之上发出一个H.323守门员“解除登记请求”(URQ)消息。此消息指出此网关不再需要来自其服务的守门员的服务。响应于此消息,一个例如是守门员4201的守门员系如同由线段2520所表示地回复以一个H.323“解除登记确认”(UCF)消息,以指示该网关将不再被提供此种服务。
守门员4201接着系如同由线段2530所表示地并且在服务信道2455之上发出一个“描述符号更新”消息至其相关的边界组件,在此为组件430。此消息系包含将为了网关200而由在该管理的领域中的边界组件以及其它的守门员从该路由表移除的路由信息。响应地,边界组件430系如同由线段2540所表示地传送一个“描述符号更新应答”消息在此服务信道之上而回到守门员4201,以确认此路由信息的接收。再者,边界组件430系如同由线段2550所表示地并且在控制信道2465之上发出一个“信息更新”消息至其对等的边界组件,在此为组件430’。此更新消息系包含由该登记网关所提供并且由该对等的边界组件也从其路由信息删除的路由信息。
之后,边界组件430系公告其刚刚从守门员4201获得的被删除的路由信息,亦即,路由描述符号至其管理的领域中的每个其它的守门员。为了如此,边界组件430系如同由线段2560所表示地并且在服务信道2485之上发出一个“描述符号更新”消息至其管理的领域中之下一个接续的守门员,在此为守门员4202。此更新系包含相关于已经被解除登记的网关200的路由描述符号。一旦守门员4202系接收此更新之后,其系如同由线段2570所表示地、在服务信道2485之上、响应以一个“描述符号更新应答”消息回到边界组件430。因而,守门员4202接着系更新其本身的路由信息。若超过一个其它的守门员存在于该管理的领域中,接着在从下一个组件删除该路由描述符号之前,边界组件430系发出一个别的“描述符号更新”消息至该组件,并且从该组件接收一个别的“描述符号更新应答”消息,等等。
b.守门员中的动作图29为示出发生在一个守门员之中,用于从该守门员撤销登记一个例如是网关200的网关的程序间的交互作用2900。如上所指明的,,从撤销登记一个端点的观点上,H.323在一个电话端点以及一个网关的意义上,全体地将两者视为是“端点”,并且因此在解除登记这些实体的基本的动作方面彼此并没有差异。
如图所示,在此例如是撤销登记的网关200的端点2805系如同由线段2910所表示地发出该H.323“解除登记请求”(URQ)消息至该守门员。响应地,端点管理器750系通过询问其路由信息,在其路由表中找出该端点并且如同由线段2920所表示地传送该URQ消息至此现存的端点(亦即,至网关200)。响应于该URQ消息,该端点系如同由线段2930所指地发出一个包含其路由描述符号的“删除区域地址”至路由程序760。之后,此程序系通过从其区域路由表删除内含在此描述符号的路由信息来更新其路由表。之后,端点2805系如同由线段2940所表示地发出一个包含其路由描述符号的“端点解除登记”命令至管理的领域管理器740,管理的领域管理器740接着系公告该路由描述符号至所有在该管理的领域中的其它守门员,使得在此描述符号中的路由信息可以从遍及该领域所维持的所有其它的路由表中加以删除。端点管理器750接着系通过如同由线段2950所表示地发出一个H.323“解除登记确认”(UCF)消息回到该网关来确认该撤销登记。最后,端点管理器750系如同由线段2960所表示地移去该端点。
虽然我们已经描述我们发明的网关为与依赖T1/E1连接的数字的PBXs作用,但是至该网关的接口可以由任何熟习该项技术者轻易地加以修改,以兼容于广大范围的不同的电话用户线路类型与速度,包含模拟的普通旧式电话(POTs)连接、包含ADSL(非对称DSL)的DSL(数字用户线路)、以及ISDN(综合业务数字网络)连接。
此外,虽然我们已经描述边界组件为动态地根据其对应的管理的领域中的网关以及电话端点的进行中的登记与解除登记来建构其内部的通话路由表,但是对于每个边界组件,这些路由表可替代地是静态地被配置以简化处理,其系通过消除或是降低因为一或多个网关以及/或是其它的边界组件与其建立一个服务关系以及/或是响应于一个端点向一个在其领域中的守门员登记或是撤销登记,而必须对于每个边界组件来更新其路由表的需求,因此通过消除相关于此种更新的延迟之下,系潜在地加快了通过该前者边界组件的通话的指定路由。
虽然单一、但为相当详细的采纳本发明的教导的实施例已经在此相当详细地被显示并且描述,但是那些本领域的技术人员可以轻易地想出许多其它仍然利用这些教导的实施例。
权利要求
1.一种用于电话网关(200)的装置,其用于通过一个公众交换电话网络(PSTN)(20)或是一个数据网络(30),在通过专用交换分机(PBX)连接到网关的近端电话设备(16,46)与位于远端位置的远端电话设备之间路由一个电话通话,该装置系包括一个处理器(240);一个存储器(210),其连接至该处理器并且储存计算机可执行的指令在其中;以及接口电路(225、250、255、260、270),其由该处理器所控制并且连接至该处理器,还连接到PBX并且通过相应的网络和电话分别链接到数据网络和PSTN,用于有选择地通过PBX和网关建立电话设备与该PSTN以及该数据网络之间的适当通信连接;其中该处理器系响应于执行该些可执行的指令而(a)在数据网络上建立网络连接,以执行从近端电话设备到远端电话设备的网络连接;(b)在该通话的整个持续期间,动态地量测一条从该网关延伸至该对等网关的数据网络连接的至少一个预定的特征,以便确定网络测量;并且(c)如果响应所述网络测量而确定该网络连接的服务质量(QoS)降低到预定阈值之下,则把该电话通话从在数据网络上载送切换到在PSTN上载送;以及(d)当该QoS增加到超过该预定阈值时,则把该电话通通话从在PSTN上载送切换回在数据网络上载送。
2.根据权利要求1的装置,其中该处理器响应可执行指令的执行以及与该阈值相关的QoS的动态改变,把该电话通话在数据网络与PSTN之间切换,通过该操作总是通过提供充分的QoS的数据网络或者PSTN的相关连接上执行该电话通话。
3.根据权利要求2的装置,其中所述预定特性包括数据包损失、延迟或者不稳定性。
4.根据权利要求3的装置,其中该近端和远端电话设备是电话机、调制解调器和传真设备。
全文摘要
用于一个电话网关的装置(200)以及其中所用的伴随的方法,该电话网关准备用于在一个数据网络连接的相对的末端处,例如是成对的使用,其在每个末端处系结合例如是一个专用交换分机(PBX)(14,44),用于自动地把例如是语音、数据以及传真的电话通话在两个对等的PBXs之间、于一个公众交换电话网络(PSTN)(20)或是一个数据网络(30)之上路由,其系根据尤其是用于处理每个此种通话的成本考虑以及被叫方的电话号码而定,监视当时通过该数据网络所提供的服务质量(QoS),并且响应于在该QoS上的动态的变化,依所需地切换(“自动切换”)此种通话往返在该PSTN以及该数据网络之间,使得该通话是被载送在一个当时提供足够的QoS的连接上。为了支持自动切换,该装置系利用与通话无关的发信号来嵌入作为非标准的数据的某些通话特定的信息在各种公知的H.323消息之中,该H.323消息系传送在该成对的网关之间。再者,为了增加的本地的冗余,此装置利用对等的边界组件(430,430’)在一个H.323管理的领域之中。
文档编号H04L29/06GK1390407SQ00815536
公开日2003年1月8日 申请日期2000年11月2日 优先权日1999年11月10日
发明者提摩太·R·索屯, 仁基·坝堤, 徐基春, 陈正宗 申请人:琨顿科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1