用于监控信令消息行进的方法和网络监控装置的制作方法

文档序号:7958774阅读:221来源:国知局
专利名称:用于监控信令消息行进的方法和网络监控装置的制作方法
技术领域
本发明涉及用于对沿会话发起协议(SIP)信令事务的消息顺序路径行进的类型的信令消息的行进进行监控的方法,SIP信令事务例如是与语音IP(VoIP)呼叫有关的SIP信令事务。本发明还涉及网络监控装置。
背景技术
语音IP是一种日益增长的因特网协议(IP)技术,其使用数据分组在配备来处理VoIP呼叫的两个或多个终端之间传输语音呼叫。传统上,分组交换通信被用来在终端之间传输数据,例如web页面。VoIP的日益流行是由于在生产适于诸如个人数字助理(PDA)和其他应当终端之类的移动计算设备的VoIP芯片方面的最新的技术进步所致。随着移动和无线局域网(LAN)市场的出现和成长,可以预测VoIP将成为电话的主导的集成和汇聚应用。
然而,对于VoIP电话的成功很重要的一个因素是服务质量(QoS)。因此,以VoIP为目标的服务保证产品已被开发出来,并且当前采用两种技术之一来解决支持VoIP呼叫和语音质量的操作性能特性。
一种服务保证技术称作主动测量技术,该技术包括在支持VoIP呼叫的分组交换网络内产生、发送并捕获合式的合成流量,以解决与服务有关的感兴趣的特定性能度量。然而,这些测量涉及合成的流量而不是真实的用户流量,所以不能反映真实用户流量的经历。
替换技术称作被动测量技术,该技术使用抽头将探头耦合到SIP组件之间的链路,以便在不中断服务的情况下观测真实的用户流量。然而,这些被动技术依赖于与在该链路上观测到的真实用户流量有关的数据精简、过滤和采样,以及诸如数据捕获时间戳之类的其他参数。这些技术要求同时探测多条链路,这使布署这种服务保证技术变得复杂化,并且增加了关联费用。此外,在大操作的网络中,已证明这种技术的布署是不可扩展的,并且在某些核心网络中,监控所有要监控的连接对可用处理能力提出了过多的需求。另一个缺点是与进行两点测量相关联的处理复杂性,例如单向延迟测量。

发明内容
根据本发明第一方面,提供了一种用于对信令消息通过SIP信令事务的消息顺序路径的行进进行监控的方法,该方法包括提供包括通过参考消息类型以及与其相关的会话和目的地信息可访问的路径追踪数据的数据存储文件;从该路径追踪数据获得数据,该数据与在被叫主机节点处接收到的信令消息的会话有关,并且标识所述信令消息遵循的路径;以及从由标识该信令消息遵循的路径的数据标识出的第一中间节点获得与该信令消息相关联的测量数据。
该方法还可以包括从由标识信令消息遵循的路径的数据标识出的第二中间节点获得与该消息相关联的测量数据。
会话可由标识呼叫主机节点的数据、标识被叫主机节点的数据、以及标识包括该信令消息的信令消息组的数据标识出。
被叫主机节点可以构成由该被叫主机节点接收到的信令消息的会话的目的地,并且获得标识出该信令消息遵循的路径的数据还可以包括使用标识由被叫主机节点接收到的信令消息的会话的目的地的数据来部分标识出该信令消息遵循的路径。
信令消息可以具有与其关联的会话,并且获得标识出该信令消息遵循的路径的数据还可以包括使用标识与信令消息相关联的会话的数据来部分标识出该信令消息遵循的路径。
根据本发明第二方面,提供了一种用于反向示踪信令消息的方法,该方法包括如本发明第一方面所述的用于对信令消息通过SIP信令事务的消息顺序路径的行进进行监控的方法。
根据本发明第三方面,提供了一种网络监控装置,该装置包括用于存储通过参考消息类型以及与其相关的会话和目的地信息可访问的路径追踪数据的数据存储文件;布置为在使用时从路径追踪数据获得数据的处理资源,该数据与在被叫主机节点处接收到的信令消息的会话有关并标识该信令消息遵循的路径;该处理资源还被布置为在使用时从由标识信令消息遵循的路径的数据标识出的第一中间节点获得与该信令消息相关联的测量数据。
根据本发明第四方面,提供了一种用于在第一节点和第二节点之间共享测量数据的方法,该测量数据已由第一节点获得,并且涉及与通信网络中的SIP信令事务相关联的事件,该方法包括选择要从第一节点发送到第二节点的作为与SIP事务有关的过程的一部分的信令分组,该信令分组具有与其关联的数据结构定义;在将信令分组发送到第二节点之前根据该数据结构定义将测量数据包含到该信令分组中。
该方法还可以包括在第二节点处接收信令分组;并且从该信令分组获得测量数据。
SIP事务可由移动IPv6协议支持。
数据结构定义可以是可扩展方案。
第一节点可以是主机节点、代理节点或重定向节点中的任意一种。
根据本发明第五方面,提供了一种用于测量与通信网络中的多个节点相关的网络性能的方法,这多个节点包括第一对通信节点,该第一对通信节点参与SIP通信的信令事务,该方法包括根据如本发明第三方面所述的用于在第一节点和第二节点之间共享测量数据的方法在该第一对通信节点之间共享测量数据,该第一对节点对应于第一节点和第二节点。
多个节点可以包括第二对通信节点,该第二对通信节点参与SIP通信的信令事务,该方法还包括根据如本发明第三方面所述的用于在第一节点和第二节点之间共享测量数据的方法在该第二对通信节点之间共享测量数据,该第二对节点对应于第一节点和第二节点。
第一对通信节点中的一个通信节点可以是第一和第二对通信节点中的公共节点。
该方法还可以包括将测量数据传输到远程监控应用。
根据本发明第六方面,提供了一种用于参与通信网络中的SIP信令事务的网络节点装置,包括数据存储文件;处理资源,该处理资源被布置为提供测量记录器,用于在该数据存储文件中记录涉及与SIP事务相关联的事件的测量数据;分组选择器,用于标识形成涉及SIP事务的过程的一部分的信令分组,该信令分组在使用时被发送到参与该SIP事务的另一个节点,信令分组具有能够支持将附加的信息包含到信令分组中的数据结构定义;消息修改器,用于根据信令分组的数据结构定义将测量数据包含到信令消息中;以及分组转发器,用于将信令消息分组转发到另一个节点。
根据本发明第七方面,提供了一种用于参与通信网络中的SIP信令事务的网络节点装置,包括数据存储文件;处理资源,该处理资源被布置为提供消息接收器,用于接收形成与SIP事务有关的过程的一部分的信令分组,以及根据信令分组的数据结构定义结合在其中的测量数据,该测量数据涉及与SIP事务相关联的事件;测量数据提取器,用于从信令分组提取测量数据;以及数据记录器,用于将测量数据记录到数据存储文件中。
根据本发明第八方面,提供了一种用于在第一节点和第二节点之间共享测量数据的系统,在使用时,测量数据已在第一节点处被获得,并且涉及与通信网络中的SIP信令事务相关联的事件,该系统包括分组选择器,用于选择要从第一节点发送到第二节点的作为与SIP事务有关的过程的一部分的信令分组,该信令分组具有与其关联的数据结构定义;以及分组修改器,用于在将信令分组发送到第二节点之前根据该数据结构定义将测量数据包含到该信令分组中。
根据本发明第九方面,提供了一种用于测量与通信网络中的多个节点相关的网络性能的系统,这多个节点包括第一对通信节点,该第一对通信节点在使用时参与SIP通信的信令事务,该系统包括用于如本发明第七方面所述在第一节点和第二节点之间共享测量数据的系统,该第一对通信节点对应于第一节点和第二节点。
还可以提供用于共享测量数据的方法,用于共享测量数据的系统,以及这样一种节点装置,该节点装置由于将相关数据保持在一起作为测量过程的一部分并且“捎带应答”去往和来自协作测量点的信息而不需要执行事件或消息的后续相关。由于测量数据被添加到现有分组,所以与自身要求完整的传输分组的上述主动和被动测量方法相比,只导致较低的带宽开销。此外,使用实际的用户信令流量用于捎带应答测量和触发产生了真实地反映出真正的用户流量的经历的测量结果。另外,从协作测量点收集数据是外部问题,因为所有测量方法都使用现有的数据收集技术,例如,管理信息库(MIB)和简单网络管理协议(SNMP)、流传输周期性间隔处的结果、请求/响应访问、或者发布/订购服务。此外,本测量技术本质上是端到端的,同样仅要求末端系统配备为提供足够的数据以使得能够执行某些计算,从而减少成本、复杂度和对执行相同功能的专用探头的需求。另外,可以共享与消息、事务和/或对话相关的数据,监控其行进,并对其进行测量。也可以在无需同步的时钟的情况下执行某些基线测量,这是通过使用配备的节点的本地时钟来应用相对时间替代实现的。因此,可以提供比已知VoIP服务保证工具更简单、更易于扩展并且性价比更高的VoIP服务保证工具。


现在将参考附图(仅作为示例)描述本发明的至少一个实施例,在附图中图1是用于支持与第一主机终端和第二主机终端之间的呼叫有关的SIP通信的网络节点的示意图;图2是用于与图1的网络节点一起使用的协议栈的示意图;图3是在图1的第一主机终端和SIP注册员服务器之间传输的信令消息的消息序列图,并且包括所作的构成本发明实施例的定时测量;图4是部分示出了从所记录的涉及图3的消息序列图的测量数据获得的计算结果的表;图5是基于图4的表的计算结果的图;图6是用于建立VoIP呼叫的VoIP消息SIP对话的消息序列图;图7是部分示出了从所记录的涉及图6的VoIP对话的测量数据获得的采样计算结果的表;图8是基于图7的表的第一数量计算结果的图;图9是基于图7的表的第二数量计算结果的图;图10是在代理服务器之间传输的消息和从其获得的用于本发明另一实施例中的数据的示意图。
具体实施例方式
在整个下面的描述中,相同的标号用来标识相似的部分。
参考图1和图2,通信网络100支持协议栈200(图2)来提供语音IP(VoIP)通信。协议栈200具有子IP层202。由于这些子IP层202与涉及VoIP通信的通信网络100的操作不直接相关,所有在这里将不进一步对它们进行描述以保持描述的清楚和简洁。
IP层204在子IP层202上。传输层在IP层204上,例如传输控制协议(TCP)层206和/或用户数据报协议(UDP)层208。相对于UDP层208,H.248层210、基于网络的呼叫信令(NCS)层212、媒体网关控制协议(MGCP)层214和会话发起协议(SIP)层216都在UDP层208上。
再次参考图1,为了支持上述协议栈200,通信网络100包括第一主机终端102。第一主机终端102支持构成SIP会话通信端点的第一用户代理应用。在该示例中,SIP会话涉及VoIP通信。第一用户代理可以用来作出多媒体会话邀请,或者接受或拒绝加入多媒体会话邀请,以及启动或终止呼叫并管理现有呼叫。第一主机终端102能够与代理服务器104通信。
代理服务器104构成中间组件,用于在用户代理应用之间中继信令消息,以允许用户代理应用在它们之间建立通信路径。代理服务器104既充当被叫服务器的客户端或用户代理,又充当呼叫用户代理的服务器或转发服务器。应当注意,尽管在本示例中描述了单个代理服务器,但是通信网络100包括在第一主机终端102和第二主机终端108之间的一系列这种代理服务器。
代理服务器104能够与重定向服务器106和第二主机终端108通信,第二主机终端108支持第二用户代理应用。就此而言,应当指出发起呼叫的用户代理称作“主叫者”,而响应或答复呼叫的用户代理称作“被叫者”。一般而言,用户代理执行主叫者和被叫者两种角色,这种用户代理的示例是软件或硬件SIP电话,在本示例中,这种电话可以用作第一和/或第二主机终端102,108。与第一用户代理一样,第二用户代理可用来作出多媒体会话邀请,或者接受或拒绝加入多媒体会话的邀请,以及启动或终止呼叫并管理现有呼叫。
重定向服务器106还用作自动电话询问操作员,其接受对被叫者的SIP邀请请求,并且针对每个被叫者将被叫者的地址映射到各组零或更实际的位置。重定向服务器106访问的位置信息存储在位置数据库110中,注册员服务器112也能够访问位置数据库110以更新位置数据库110。
注册员服务器112负责接受来自用户代理的注册事务,并且在此方面第二主机终端108能够与注册员服务器112通信。注册员服务器112由这里未描述的其他非SIP专用体系结构组件(例如轻量目录访问协议(LDAP)目录服务器)协助,以便在位置数据库110中维持关于每个注册的用户代理的最新信息。位置数据库110维护关于用户代理的可用性、位置细节和联系信息的信息。
第一主机终端102、代理服务器104、重定向服务器106、注册员服务器112和第二主机终端108(下文中称作“组件”)配备有所谓的应用不可知逻辑或者动态可加载代码,以便实现测量和/或测量数据共享功能,这种所谓的应用不可知逻辑或者动态可加载代码是应用可感知的或者理解SIP信令过程的(下文称作SIP不可知逻辑(SIP-AL)模块)。此外,取决于在协助特定SIP遥测任务时要观测的消息、事务或对话的类型,存在不同的SIP-AL模块。
如因特网工程任务组(IETF)请求注解(RFC)3261(http//www.faqs.org/rfcs/rfc3261.html)所述,定义了两类通用SIP事务INVITE和非INVITE事务。另外,针对INVITE和非INVITE事务定义了关联的状态机。INVITE事务状态机实现逻辑来实例化INVITE请求“行进”消息以及最终的ACK消息请求,从而实现三次握手,INVITE请求“行进”消息例如是向在线路末端的用户提供关于呼叫行进的反馈、。非INVITE事务状态机类似地实现逻辑来支持不使用ACK消息请求的事务。
取决于上述SIP-AL模块的功能,它们完全或部分实现由RFC 3261定义的两种状态机,但是出于模式匹配目的,使得它们识别相关SIP信令消息,并且有效地测量并记录属于与感兴趣的事务有关的SIP信令消息的状态。现在本领域技术人员将意识到可以部分实现这两种状态机,这是因为SIP-AL模块不用来协助呼叫建立,而是用来出于监控或诊断活动目的在呼叫建立阶段示踪感兴趣的相关状态。因此,在实际的事务状态机中存在与要被执行的诊断任务不相关的状态。在本实施例和其他实施例中,SIP-AL模块可以被简化以减少必须由任意一个给定SIP-AL模块跟踪的SIP信令消息的数量,从而允许在与接收和/或发送SIP通信的子集相关联的各个网络元件中布署多个简化的SIP-AL模块。因此,通过限制SIP-AL模块的处理能力,可以减少在各个网络元件处的处理需求。例如,可以如下定义并实现一组离散的SIP-AL模块来监控特定SIP事务·SIP-AL注册用于跟踪与客户端注册到SIP注册员和位置服务相关的信令消息模式;·SIP-AL邀请用于跟踪与SIP呼叫建立INVITE请求相关的模式;·SIP-AL取消用于跟踪与取消对SIP会话的邀请相关的模式;·SIP-AL信息用于跟踪与中间经过SIP会话的进一步信息的传输相关的模式;·SIP-AL再会用于跟踪SIP会话终止模式;·SIP-AL选项用于跟踪用来从被叫者收集能力信息的查询;在每个组件处维护属于SIP事务的的记录的数据存储,例如活动缓存(图1中未示出)。记录通过使用SIP呼叫ID(全局唯一的字母数字标识符,例如2345678@lancs.ac.uk)唯一标识并以该ID为关键字。SIP呼叫ID可存储为这种关键字的32位散列,从而保证每个活动缓存内的唯一性。每个活动缓存利用所谓的软状态原理管理,其中每个活动缓存的记录被给予生存期,在生存期过后记录就期满,导致其中包含的记录自动被删除。然而,这种生存期关联可用来跟踪并监控不完全事务,从而在删除之前生成并获得这种不完全事务的适当总结,以例如发送到操作支持系统(OSS)来进一步分析最根本的原因。
在操作中,注册延迟是对于由通信网络100支持的VoIP通信需要被监控的基本延迟。在此方面,随着更多用户转而使用VoIP服务并且这些用户变为移动的,对SIP注册员(例如,注册员服务器112)的负担需要小心监控,这是由于任何错误都可能导致较大的通信延迟。当在VoIP体系结构中用户被不适当地注册时,它们所在之处仍不确定,因此感兴趣的各方或对端不能联系它们。
参考图3,注册过程涉及第二主机终端108的第二用户代理和注册员服务器112之间的简单事务。第二主机终端108的第二用户代理发送SIPREGISTER(SIP注册)请求消息300到注册员服务器112,一旦注册完成注册员服务器112就用“200 OK”响应消息302答复。
对于测量注册延迟的遥测任务,第二主机终端108和注册员服务器112都适当地配备有上述SIP-AL注册模块。
因此,第一SIP-AL注册模块(未示出)检测SIP REGISTER请求消息300的产生,如同其他信令消息一样,SIP REGISTER请求消息300包括与源地址和目的地地址一起定义SIP会话的唯一的呼叫ID。检测到产生SIP REGISTER请求消息300触发第一SIP-AL注册模块生成第一SIP注册数据记录304,该记录304填充有属于SIP REGISTER请求消息300的信息,例如包括SIP REGISTER请求消息300的源和目的地IP地址、SIPREGISTER请求消息300的源和目的地端口号、以及从SIP REGISTER请求消息300提取的其他子串。应当注意到SIP注册数据记录所需要的数据是可配置的。
此后,计算出第一时间戳t1(306),该时间戳代表SIP REGISTER请求消息300从第二主机终端108的第二用户代理离开的时间,SIP注册数据记录304和第一时间戳t1一起被添加到第二主机终端108的第一活动缓存(未示出),并且SIP注册数据记录304由SIP REGISTER请求消息300的呼叫ID索引。
然后生成第一IPv6目的地选项头部(未示出),并且插入到SIPREGISTER请求消息300的有效载荷和IPv6头部之间,该第一IPv6目的地选项头部被编码为第一类型长度值(TLV)对象。SIP REGISTER请求消息300的目的地选项头部中装载的数据可由其适当配备的接收者标识为与SIP注册事务的测量相关。第一时间戳t1被包括在第一目的地选项头部中。然后SIP REGISTER请求消息300被发送到注册员服务器112(307)。
在接收到SIP REGISTER请求消息300(309)后,接收到构成SIPREGISTER请求消息300的第一目的地选项头部的SIP-AL注册TLV对象触发驻留在注册员服务器112中的第二SIP-AL注册模块(未示出),以生成与第一SIP注册数据记录304等同的第二SIP注册数据记录308。另外,计算出反映SIP REGISTER请求消息300的接收时间的第二时间戳t2(310),并且第二SIP注册数据记录308与从第一TLV对象提取出的第一时间戳t1,以及第二时间戳t2一起被存储在注册员服务器112的第二活动缓存(未示出)中,并且由SIP REGISTER请求消息300的呼叫ID索引。
在注册员服务器112能够对SIP REGISTER请求消息300作出响应时,第二SIP-AL注册模块检测由注册员服务器112生成的“SIP 200OK”响应消息302,并且使用“SIP 200 OK”响应消息302的呼叫ID来在注册员服务器112的第二活动缓存中定位第二SIP注册数据记录308。然后,SIP-AL注册模块从提取自注册员服务器112的第二活动缓存中的第二SIP注册数据记录308中提取出第一和第二时间戳t1、t2,并且构造与上述第一IPv6目的地选项头部等同的第二IPv6目的地选项头部。第二SIP-AL注册模块然后将编码为第二TLV对象的第二IPv6目的地选项头部附加到“SIP 200 OK”响应消息302的有效载荷和IPv6头部之间,第二TLV对象,即由“SIP 200 OK”响应消息302的第二IPv6目的地选项头部装载的数据也可标识为与SIP注册事务的测量有关,并且第二TLV对象包含第二时间戳t2和新计算出的第三时间戳t3(312),第三时间戳t3代表“SIP200 OK”响应消息302的离开时间。此后,“SIP 200 OK”响应消息302被发送(311)。
最后,第二用户代理接收到“SIP 200 OK”响应消息302(313)后,构成“SIP 200 OK”响应消息302的目的地选项头部的第二TLV对象触发第一SIP-AL注册模块,以使用“SIP 200 OK”响应消息302的呼叫ID来从第二主机终端108的第一活动缓存访问适当的数据记录,即第一SIP注册数据记录304,然后将该适当的记录与计算出的第四时间戳t4(314)(其对应于“SIP 200 OK”响应消息302的到达时间)、以及由“SIP 200OK”响应消息302的第二目的地选项头部装载的第二和第三时间戳t2、t3附加到一起。
然后,在本示例中,在第二主机终端108和注册员服务器112之间共享的测量数据可随后由上述OSS应用从第二主机终端108收集。收集模式可以是任何本领域已知的适当技术,包括OSS应用询问第二主机终端108,或者根据预定释放标准(例如预定时间段期满)在专用分组中将测量数据传输到OSS应用。一旦拥有测量数据,在本示例中OSS应用就计算下述度量中的一个或多个·注册事务总时间,t=t4-t1·在注册员处花费的时间,tr=t3-t2·总通过时间ttr=t-tr·单向延迟通过时间towdreq=t2-t1和towdres=t4-t3上述计算的结果可存储在第一表400(图4)中,第一表400针对每个主机终端或客户端402组织为包括所访问的注册员服务器的身份404,在所标识出的注册员服务器处花费的时间406,计算出的单向延迟通过时间408,以及计算出的总时间410。如果从注册员服务器112处收集到测量数据,则OSS应用仍能够计算在注册员服务器处花费的时间tr406和单个请求的单向延迟通过时间towdreq408。
为了成为良好的服务保证工具,OSS应用在简单的事务概念上抽象,以向下钻取访问属于不同抽象基本的细节,例如对话和会话。对话是一组相关的事务,例如呼叫建立或客户端注册。而会话则代表由全局唯一呼叫ID标识出的完整SIP呼叫,会话可由多个对话组成,但是所有这多个对话将具有同一个呼叫ID。
在这里,使用所收集的测量数据,OSS应用可以评价注册员服务器112的性能和第二主机终端108的经历。计算的结果(即第一表400的内容)可以表示为例如柱状图500(图5),该图示出了可由负责维护VoIP服务的可靠操作的工程师容易地识别出的峰值延迟502。
另外,本领域技术人员将意识到由于各个测量已分布到两个测量点,在本示例中为第二主机终端108和注册员服务器112,所以实现这些计算所需要的大多数据,以及任何补充标识信息都可在这些测量点处获得,从而不需要将其相关。
在另一个实施例中(图6),第一主机终端102配备有上述第一SIP-AL邀请模块,用于检测SIP INVITE XA请求消息600的产生,SIP INVITEXA请求消息600具有与源地址和目的地地址一起定义SIP会话的唯一的呼叫ID。在检测到SIP INVITE XA请求消息600后,第一SIP-AL邀请模块创建第一SIP邀请数据记录602,并且计算(604)与SIP INVITE XA请求消息600的离开时间相对应的第一时间戳t1。然后第一SIP邀请数据记录602与第一时间戳t1一起被添加到第一主机终端102的第一活动缓存,并且由SIP INVITE XA请求消息600的呼叫ID索引。
第一IPv6目的地选项头部也被生成,并且被插入到SIP INVITE XA请求消息600的有效载荷和IPv6头部之间;第一IPv6目的地选项头部被编码为包括第一时间戳t1的TLV对象。构成第一IPv6目的地选项头部的TLV对象可标识为包含与SIP邀请事务的测量有关的数据。然后SIPINVITE XA请求消息600被发送(606)到代理服务器104。
代理服务器104接收(608)到SIP INVITE XA请求消息600,SIPINVITE XA请求消息600中的第一IPv6目的地选项头部的存在触发代理服务器104中的第二SIP-AL邀请模块产生与第一SIP邀请数据记录602等同的第二SIP邀请数据记录610。然后,计算(612)出与SIP INVITE XA请求消息600的接收时间相对应的第二时间戳t2,第二SIP邀请数据记录610与从TLV对象提取出的第一时间戳t1、以及第二时间戳t2一起被添加到代理服务器104的第二活动缓存(未示出),并且也由SIP INVITE XA请求消息600的呼叫ID索引。
如果具有与第二SIP邀请数据记录610(作为接收到SIP INVITE XA请求消息600的结果而创建)的呼叫ID相同的呼叫ID的后续响应信令消息被代理服务器104生成并被检测到(即在转发方向上),则代理服务器104处的的第二SIP-AL邀请模块访问第二SIP邀请数据记录610,并且提取尚未被分布到其下行流紧邻邻居(即第一主机终端102的第一用户代理)的第二时间戳t2。在本示例中,后续响应信令消息是要发送到第一主机终端102的第一用户代理的“SIP 100 Trying”响应消息614。然后,第二SIP-AL邀请模块构造第二IPv6目的地选项头部,其被插入到“SIP 100Trying”响应消息614的有效载荷和IPv6头部之间。“SIP 100 Trying”响应消息614的第二IPv6目的地选项头部被编码为第二TLV对象,并且可由其适当配备的接收者标识为装载与SIP邀请事务有关的测量数据。第二TLV对象具有第二时间戳t2和计算出(616)的第三时间戳t3,第三时间戳t3与“SIP 100 Trying”响应消息614的离开时间相对应。“SIP 100Trying”响应消息614然后被发送(615)到第一主机终端102的第一用户代理。
在接收到(617)“SIP 100 Trying”响应消息614后,第一主机终端102处的第一SIP-AL邀请模块从“SIP 100 Trying”响应消息614的第二目的地选项头部提取出第二和第三时间戳t2、t3。还计算出第四时间戳t4(618),第四时间戳t4对应于“SIP 100 Trying”响应消息614的接收时间。然后第一SIP-AL邀请模块访问第一SIP邀请数据记录602,并且将第二、第三和第四时间戳t2、t3和t4附加到第一SIP邀请数据记录602。
如果具有与在第二SIP邀请数据记录610(由第二SIP-AL邀请模块先前创建)中存储的相同的呼叫ID的其他后续响应消息被代理服务器104生成,例如,“SIP 180 Ringing”信令消息619,则第二SIP-AL邀请模块检测后续响应消息的生成,并且提取出尚未分布到第一主机终端102的第一用户代理(即下行紧邻邻居)的时间戳。因此,如上所述,取得关于“SIP 100 Trying”响应消息614的第二时间戳t2。在“SIP 180 Ringing”信令消息619的情形中,通过访问先前创建并被存储在代理服务器104的第二活动缓存中的第二SIP邀请数据记录610,取得先前计算出的第十七时间戳t17(620)。
第二SIP-AL模块然后构造另一个IPv6目的地选项头部,并且将其插入到后续响应消息的有效载荷和IPv6头部之间。该另一个IPv6目的地选项头部被编码为另一个TLV对象,并且可标识为包含与SIP邀请事务有关的测量数据。另一TLV对象也包含迄今尚未分布的时间戳,例如在“SIP100 Trying”响应消息614的情形中的第二时间戳t2,或者在“SIP 180Ringing”信令消息619的情形中的第十七时间戳t17。代表后续响应消息的离开时间的新计算出的时间戳也被包括作为另一个TLV对象的一部分。例如,上述与“SIP 100 Trying”响应消息614有关的第三时间戳t3被包括在TLV对象中。在“SIP 180 Ringing”信令消息619的情形中,第十七时间戳t17是唯一未分布的时间戳,因此该时间戳是包括在该另一个TLV对象中的唯一时间戳。
在“SIP 200 OK”响应消息621的情形中,“SIP 200 OK”响应消息621的生成被第二SIP-AL邀请模块检测到,这导致第二十一时间戳t21的生成,第二十一时间戳t21以与上面关于其他后续响应消息描述的相同的方式与第一主机终端102的第一用户代理共享。
在第一主机终端102的第一用户代理处,第一主机终端102的第一SIP-AL邀请模块检测到后续响应消息的到达,这导致第一主机终端102的第一SIP-AL邀请模块计算该后续响应消息的到达时间戳。接收到的后续响应消息的呼叫ID然后被第一主机终端102的第一SIP-AL邀请模块用来访问存储在第一主机终端102的第一活动缓存中的适当的SIP邀请数据记录。到达时间戳然后与在所接收到的后续响应消息的另一个目的地选项头部中承载的任意时间戳一起被添加到该适当的SIP邀请数据记录。因此,与接收到“SIP 200 OK”响应消息621有关的,在第一主机终端102的第一活动缓存中存储的第一SIP邀请数据记录602包括第一、第二、第三和第四时间戳t1、t2、t3和t4,以及第十七时间戳t17、第十八时间戳t18、第二十一时间戳t21和第二十二时间戳t22,第二十二时间戳t22与第一主机终端102的第一用户代理接收到“SIP 200 OK”响应消息621的时间相对应。
在对“SIP 200 OK”响应消息621的答复中,第一主机终端102的第一用户代理生成由第一主机终端102的第一SIP-AL邀请模块检测的SIPACKA请求消息622。响应于检测到SIP ACKA请求消息622,第一SIP-AL邀请模块使用SIP ACKA请求消息622的呼叫ID来访问存储在第一主机终端102的第一活动缓存中的第一SIP邀请数据记录602。第一SIP-AL邀请模块计算(623)与SIP ACKA请求消息622的离开时间相对应的第二十三时间戳t23,存储在第一主机终端102的第一活动缓存中的第一SIP邀请数据记录602被用该第二十三时间戳t23填充。然后生成又一个IPv6目的地选项头部,并且插入到SIP ACKA请求消息622的有效载荷和IPv6头部之间,该又一个目的地选项头部被编码为又一个TLV对象,并且可被其适当配备的接收者标识为承载与SIP邀请事务有关的测量数据,该又一TLV对象还包含任何迄今尚未分布的时间戳,例如第四时间戳t4、第十八时间戳t18、第二十二时间戳t22、以及第二十三时间戳t23。SIP ACKA请求消息622然后被发送(624)到代理服务器104。
在代理服务器104处接收(625)到SIP ACKA请求消息622后,代理服务器104的第二SIP-AL邀请模块检测该又一个目的地选项头部,并且使用SIP ACKA请求消息622的呼叫ID来访问存储在代理服务器104的第二活动缓存中的第二SIP邀请数据记录610,并且从中提取出在SIP ACKA请求消息622的又一个目的地选项头部中承载的时间戳。计算出与SIPACKA请求消息622的到达时间相对应的第二十四时间戳t24(626),并且第二十四时间戳t24一旦被访问,第二SIP邀请数据记录610就被更新为包括第二十四时间戳t24,以及从SIP ACKA请求消息622的又一个目的地选项头部中提取出的第四、第十八、第二十二和第二十三时间戳t4、t18、t22和t23。
以上述方式通过在其间分布来使用在第一主机终端102的第一用户代理和代理服务器104之间共享的测量数据,可以执行大量有用的计算来以与上面关于前面的实施例描述的类似的方式(例如呼叫建立时)来测量在支持给定SIP会话中涉及的各个组件的性能,以及在支持给定SIP会话中涉及的大量组件的汇聚性能。
当然,作为呼叫建立对话的一部分,也可以在代理服务器104和支持SIP会话的其他组件(例如,重定向服务器106和第二主机节点108)之间交换其他消息。因此,作为非穷尽示例,在发送了“SIP 100 Trying”响应消息614之后,代理服务器104生成要被发送到(630)重定向服务器106的SIP INVITE XP请求消息628,SIP INVITE XP请求消息628的生成被代理服务器104的第二SIP-AL邀请模块检测到。在检测到SIP INVITE XP请求消息628后,第二SIP-AL邀请模块创建第三SIP邀请数据记录632,并且计算与SIP INVITE XP请求消息628的离开时间相对应的第五时间戳t5(634)。第三SIP邀请数据记录632然后与第五时间戳t5一起被添加到第二活动缓存,并且由SIP INVITE XP请求消息628的呼叫ID索引。另外,生成第三IPv6目的地选项头部并插入到SIP INVITE XP请求消息628的有效载荷和IPv6头部之间;第三IPv6目的地选项头部被编码为TLV对象,该TLV对象可被标识为装载与SIP邀请事务有关的测量数据。第五时间戳t5也被包括在第三TLV对象中。
在重定向服务器106接收(636)到SIP INVITE XP请求消息628后,重定向服务器106的第三SIP-AL邀请模块检测到第三IPv6目的地选项头部,并且使用SIP INVITE XP请求消息628的呼叫ID作为索引在重定向服务器106的第三活动缓存中创建第四SIP邀请数据记录638。还从第三IPv6目的地选项头部中提取出在SIP INVITE XP请求消息628的第三目的地选项头部中承载的第五时间戳t5,并且添加到第四SIP邀请数据记录638。计算出与SIP INVITE XP请求消息628的到达时间相对应的第六时间戳t6(640),并且一旦第六时间戳t6被访问,第四SIP邀请数据记录638就被更新为包括第六时间戳t6,以及从SIP ACKA请求消息628的第三目的地选项头部中提取出的第五时间戳t5。
响应于接收到SIP INVITE XP请求消息628,重定向服务器106生成第二“SIP 100 Trying”响应消息642。重定向服务器106的第三SIP-AL邀请模块检测到第二“SIP 100 Trying”响应消息642的生成,并且使用“SIP 100 Trying”响应消息642的呼叫ID来访问第四SIP邀请数据记录638,并提取出尚未分布到代理服务器104的第六时间戳t6。第三SIP-AL邀请模块然后构造第四IPv6目的地选项头部,该第四IPv6目的地选项头部被插入到第二“SIP 100 Trying”响应消息642的有效载荷和IPv6头部之间。第四IPv6目的地选项头部被编码为第四TLV对象,并且可被标识为承载与“SIP 100 Trying”事务有关的测量数据。第六时间戳t6和计算出(644)的与第二“SIP 100 Trying”响应消息642的离开时间相对应的第七时间戳t7也被包括到创建的第四TLV对象中。第二“SIP 100 Trying”响应消息642然后被发送到(646)代理服务器104。
在接收到(648)第二“SIP 100 Trying”响应消息642后,代理服务器104处的第二SIP-AL邀请模块从第二“SIP 100 Trying”响应消息642的第四目的地选项头部中提取出第六和第七时间戳t6、t7,并且访问第三SIP邀请数据记录632,然后将第六和第七时间戳t6、t7附加到第三SIP邀请数据记录632。
如前所述,上述在代理服务器104和重定向服务器106之间进行的具有对应的时间戳分布的信令消息的交换纯粹是示例性的,并且在第一和第二主机终端102、108之间建立VoIP呼叫所要求的对话包括其他信令消息交换,例如图6可见的一个或多个代理服务器104与第二主机终端108的第二用户代理之间的信令消息交换。
在通信网络100的各个SIP支持组件之间收集并分布的测量数据还可以用来执行计算,来以上面已描述的类似的方式测量支持给定SIP会话的各个组件的性能或大量组件的汇聚性能。汇聚性能的一个示例是从第一主机终端102发送SIP INVITE XA请求消息600开始到在第一主机终端102处接收到“SIP 180 Ringing”响应消息所花费的时间。为了实现这种计算,在本示例中测量数据被上述OSS应用收集,并且该测量数据被用来执行指示一个或多个组件的性能的计算。OSS应用执行的计算的结果在本示例中被存储在第二表700(图7)中,该表被组织为下述列源(URL型)地址702、目的地(URL型)地址704、呼叫ID 706、将预定信令消息发送到各个代理服务器的时间708、被叫者客户端时间710(在被叫者终端处处理信令消息的请求/响应所花费的时间)、通过时间712和总时间714。存储在第二表700中的数据然后可以用图形表示(图8和图9)来向工程师提供呼叫建立时间的可视表现(图8)或者与呼叫建立有关的代理延迟(在特定代理服务器处处理信令消息所花费的时间)(图9)。
在又一个实施例中(图10),实际上从图6可见,SIP事务可包括通过多个服务器(例如,代理服务器)的一个或多个信令消息。因此,在本例中,SIP邀请消息在到达第二主机终端108之前沿着从第一主机终端102出发通过一系列N个代理服务器1000的路径(虽然在途中被修改过)。构成SIP邀请事务的SIP邀请信令消息1002所遵循的路径可以参考在该邀请信令消息中记录的Via对象头部而被示踪。在这方面,在本示例中“Via”对象头部是由第一主机终端102的第一用户代理添加的强制字段,用于标识请求源起的主机。Via对象被沿请求消息遵循的路径的每个SIP代理服务器1000增加。在本示例中,SIP邀请信令消息1002是请求消息。因此,随着SIP邀请信令消息1002从该一系列N个代理服务器1000中的一个代理服务器行进到另一个代理服务器,通过由该一系列N个代理服务器1000中的每个代理服务器对Via对象进行增加,来修改SIP邀请信令消息1002。“Via”对象头部中的每个条目标识SIP会话、分支标识符、所使用的协议、该信令请求消息来自的主机(并且在本示例中是发送SIP邀请信令消息1002的主机)的源地址和端口号。
除了存储由呼叫ID索引的时间戳外,这一系列N个代理服务器1000中的每一个的第二SIP-AL邀请模块还存储所接收到的SIP邀请信令消息1002中包含的Via对象的拷贝,然后在将该Via对象增加后转发到该一系列N个代理服务器1000中的下一个代理服务器。因此,在该一系列N个代理服务器1000中访问过的每个节点处留下了“脚印”(footprint),该“脚印”在稍后示踪特定呼叫建立对话时可以被利用。类似地,脚印可用来示踪一个事务或一组事务。
在操作中,SIP信令事务被如下示踪。首先,来自该一系列N个代理服务器1000中的每个代理服务器的OSS应用获得SIP邀请数据记录,并且由OSS应用存储到本地的数据存储文件中。从图10可见,每个SIP邀请数据记录I0、I1、I2、…、IN包括下述细节事务类型1004、源信息1006、目的地信息1008、Via对象1010和呼叫ID 1012。OSS应用遍搜数据存储文件中的SIP邀请数据记录,以便标识出与要示踪的预定SIP会话相匹配的SIP邀请数据记录。在这方面,SIP会话由呼叫ID、源信息和目的地信息限定。当然,如果在SIP邀请数据记录中搜索具有预定源和目的地信息的记录后在搜索结果中仅有一个呼叫ID存在,则该呼叫ID对限定SIP会话并不重要。在本示例中,源信息H1、目的地信息H2(所指定的呼叫方H1和H2之间)、以及呼叫ID1234用来限定SIP会话。
因此,作为上述搜索的结果,获得了与要被示踪的SIP会话有关的SIP邀请数据记录的“最后候选名单”。从SIP邀请数据记录的最后候选名单中,OSS应用挑选出具有与第二主机终端108(被叫者)相等的目的地IPv6地址(即被示踪的信令消息的预期目的地)和端口号的SIP邀请数据记录,从而在转发的SIP邀请消息链中获得与最后SIP邀请消息相对应的最后SIP邀请数据记录IN。OSS应用然后对包含在最后的SIP邀请数据记录中的“Via”对象的头部进行解析,如上所述,该最后SIP邀请数据记录包含用于沿SIP邀请信令消息1002从主叫者到被叫者(即,经由代理服务器P从第一主机终端102到第二主机终端108)遵循的路径的每跳的条目,“ViaPN,…,P2,P1,H1”。
OSS应用然后提取出在最后的SIP邀请数据记录的Via对象中列出的SIP邀请信令消息102经过的所有主机的标识符,并且将这些标识符存储为中间主机的列表,即,SIP邀请信令消息经过的一系列N个代理服务器1000。对于该中间主机列表中列出的每个主机,OSS应用使用与相同呼叫方之间的其他邀请不同的唯一呼叫ID来寻找当前存储在OSS应用的本地数据存储文件中的关联SIP邀请数据记录,并且将其保持在有序列表中,即,记录从主叫者到被叫者(包括其间的访问过的代理服务器)或者从被叫者到主叫者的方向和步骤的列表。上述动作被重复直到达到“Via”头部中的最后主机,即起源呼叫主机,在本示例中是第一主机终端102。
以上述方式构造的提取出的SIP邀请数据记录的列表是SIP邀请信令消息从第一主机终端102到第二主机终端108的完全穿越,包括中间SIP代理服务器(即一系列N个代理服务器1000)之间的所有跳。因此,在SIP邀请数据记录中包含的时间戳可一个接一个地用来利用下述内容标注路径SIP邀请信令消息1002在该路径上的每个主机之间移动所用的确切时间,以及在SIP邀请信令消息1002被作任何进一步转发之前在每跳处引起的延迟。
通过维护在前面的动作中检测出的中间主机的列表,并且反向经过所列代理服务器,上述算法可以标识出从第二主机终端108返回到第一主机终端102的匹配答复消息,例如“SIP 180 Ringing”响应消息,其指示到第二主机终端108的第二用户代理的成功连接,并且主叫者应当等待直到被叫者应答该邀请。响应消息也承载与关联的SIP邀请信令消息相同的呼叫ID,这是因为它们属于同一个SIP对话。可以构造与经过一系列N个代理服务器1000的响应消息有关的收集到的时间戳的对应有序列表(响应消息需要遵循邀请信令消息经过的相同路径),并且用来利用详细的时间测量数据标注该响应路径。
将这些结果添加到一起(即,沿着路径的组成部分)就产生了被测会话的完整的呼叫建立时间。
尽管在请求消息的上下文中描述了上述示例,但是应当意识到其他消息也可以包括与上述示例兼容的Via对象,例如诸如“SIP 180 Ringing”消息之类的响应消息。
尽管上述示例描述了存储数据的特定方式,但是应当意识到存储方式(例如数据的组织)可以改变。在这方面,数据可以被组织为与给定参数(例如消息类型)相关联的数据的表。
尽管在分组通信的上下文中描述了上述示例,但是应当意识到术语“消息”应当被解释为包括分组、数据报、帧、信元和协议数据单元,所以这些术语应当被理解为是可互换的。
本发明的替换实施例可以实现为用于与计算机系统一起使用的计算机程序产品,计算机程序产品例如是一系列计算机指令,其被存储在有形数据记录介质上,例如,盘、CD-ROM、ROM、或者固定盘上,或者包含在计算机数据信号中,该信号通过有形介质或无线介质传输,例如,微波或红外线。这一系列计算机指令可以构成上述全部或部分功能,并且还可以被存储在任何易失性或非易失性存储器设备中,例如,半导体、磁、光或者其他存储器设备。
权利要求
1.一种用于对信令消息通过SIP信令事务的消息顺序路径的行进进行监控的方法,包括提供包括通过参考消息类型以及与其相关的会话和目的地信息可访问的路径追踪数据的数据存储文件;从所述路径追踪数据获得数据,所述数据与在被叫主机节点处接收到的信令消息的会话有关,并且标识所述信令消息遵循的路径;以及从由标识所述信令消息遵循的路径的数据标识出的第一中间节点获得与所述信令消息相关联的测量数据。
2.如权利要求1所述的方法,还包括从由所述标识所述信令消息遵循的路径的数据标识出的第二中间节点获得与所述消息相关联的测量数据。
3.如权利要求1所述的方法,其中,所述会话由标识呼叫主机节点的数据、标识被叫主机节点的数据、以及标识包括所述信令消息的信令消息组的数据标识出。
4.如权利要求1所述的方法,其中,所述被叫主机节点构成由所述被叫主机节点接收到的所述信令消息的会话的目的地,并且获得所述标识出信令消息遵循的所述路径的数据还包括使用标识由所述被叫主机节点接收到的信令消息的会话的目的地的数据来部分标识出所述信令消息遵循的路径。
5.如权利要求1所述的方法,其中,所述信令消息具有与其关联的会话,并且获得所述标识出信令消息遵循的所述路径的数据还包括使用标识与所述信令消息相关联的会话的数据来部分标识出所述信令消息遵循的路径。
6.一种用于反向示踪信令消息的方法,包括如权利要求1所述的用于对信令消息通过SIP信令事务的消息顺序路径的行进进行监控的方法。
7.一种计算机程序代码单元,包括使计算机执行如权利要求1所述的方法的计算机程序代码装置。
8.如权利要求7所述的计算机程序代码单元,包含在计算机可读介质中。
9.一种网络监控装置,所述装置包括数据存储文件,用于存储通过参考消息类型以及与其相关的会话和目的地信息可访问的路径追踪数据;处理资源,布置为在使用时从所述路径追踪数据获得数据,所述数据与在被叫主机节点处接收到的信令消息的会话有关,并且标识所述信令消息遵循的路径;所述处理资源还被布置为在使用时从由标识所述信令消息遵循的路径的数据标识出的第一中间节点获得与所述信令消息相关联的测量数据。
全文摘要
本发明提供了用于对信令消息通过消息顺序路径的行进进行监控的方法,该方法通过分析存储在会话发起协议(SIP)消息中的数据来确定给定消息经过的路径,并且从所标识出的路径中的至少一个节点获得测量数据。
文档编号H04L29/06GK1848778SQ20061006682
公开日2006年10月18日 申请日期2006年3月29日 优先权日2005年4月4日
发明者弗朗西斯科·加威尔·加西亚, 罗伯特·加德纳 申请人:安捷伦科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1