CN101325605A - 通过跟踪消息变换监视sip呼叫流的方法 - Google Patents
通过跟踪消息变换监视sip呼叫流的方法 Download PDFInfo
- Publication number
- CN101325605A CN101325605A CNA2008101081848A CN200810108184A CN101325605A CN 101325605 A CN101325605 A CN 101325605A CN A2008101081848 A CNA2008101081848 A CN A2008101081848A CN 200810108184 A CN200810108184 A CN 200810108184A CN 101325605 A CN101325605 A CN 101325605A
- Authority
- CN
- China
- Prior art keywords
- message
- session initiation
- version
- protocol
- initiation protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1076—Screening of IP real time communications, e.g. spam over Internet telephony [SPIT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Abstract
本发明涉及一种通过跟踪消息变换监视SIP呼叫流的方法。提供了监视会话启动协议通信的系统和方法,而无需修改通过其路由构成给定通信的消息的会话启动协议代理服务器的操作代码。在多个代理服务器处确定会话启动协议消息的入站和出站版本。在每个代理服务器处,使用测试消息标头的条件的用户定义关联规则将各个入站和出站消息版本相关联。然后针对变换检查所关联的入站和出站消息版本,并且将这些变换用于确定适当代理服务器对此消息采取的操作。这些操作用于检查代理服务器和会话启动协议通信两者的正确操作。
Description
技术领域
本发明涉及会话启动协议通信。
背景技术
会话启动协议(SIP)是支持基于网际协议的话音(VoIP)、即时消息传送(IM)和呈现的关键技术,并且是IMS(IP多媒体子系统)的基础。SIP是在给定通信会话(例如,话音和视频通信会话以及会议会话)的上下文内将一个或多个客户机连接在一起的逐跳控制协议。此控制协议运行于多个称为SIP代理或SIP代理服务器的中间服务器,这些服务器的一部分功能是路由作为给定SIP通信会话一部分的SIP消息。作为此路由操作的一部分,向给定SIP标头中添加新的标头并删除或更改SIP消息中的现有标头(以及值)。此外,SIP代理服务器可能由于路由操作而经历状态更改。
给定系统或网络包含多个分布式SIP代理服务器,后者处理与大量SIP通信会话关联的大量同时发生的SIP消息。为了正常运作,需要监视SIP消息的顺序和SIP代理服务器。但是,在不为SIP代理软件直接提供工具的情况下实时监视分布式SIP服务器系统是很困难的。基于SIP的网络基础设施形成了提供多种通信服务的基础,需要维护最高可用性和高级伸缩性以匹配话音服务期望和需求。可以通过部署可衡量服务质量并确定影响用户体验的问题的管理技术来提供此类服务质量(QoS)保证。当前方法通常包括通过记录流经服务器的所有消息进行的脱机日志检查。但是,日志表项并未包含足够的信息或需要额外的大量工作来重新创建消息变换。
让我们首先通过常见问题来提出难题。当电话呼叫无法接通时,尤其是在部署的初期阶段,用户将联系帮助台系统(如果电话可接通则通过电话本身,通过例如IM/电子邮件的备用通信等)。在此情况下,通过从所有可能的服务器检索日志并尝试追溯呼叫路径以及通过检查日志检测根本原因,可能并非始终能够追溯用户的原始呼叫上下文。例如,不是每个服务器都维护呼叫日志(不同于电话系统,SIP系统包含一组分布式服务器并且通过在这些服务器的子集之间路由呼叫来获取服务,所述子集可能随呼叫的不同而有所变化);通常只有几个关键服务器维护呼叫详情记录,例如将呼叫转发到域外部的出站SIP代理。在这种情况下,如果帮助台可以重试呼叫并在网络内实时追溯呼叫路径,则它通常很有用。此外,实时监视呼叫对于获取有关各个正在进行的呼叫的联机信息以及聚合网络信息很有用,并且可用于有效的网络管理操作。
发明内容
本发明涉及无需修改SIP代理服务器的操作代码即可监视SIP通信会话的系统和方法。通过借助多个SIP代理服务器在客户机之间交换多个SIP消息而进行SIP通信会话。SIP消息包括基于文本的标头及其相应值。给定服务器对经过此服务器的SIP消息采取的操作可以从SIP代理服务器对此消息执行的变换来推断。例如,如果INVITE消息上的目的地统一资源标识符(URI)被从SIP消息的入站版本修改为SIP消息的出站消息,则推断出SIP服务器执行了SIP重定向操作。通过监视消息变换监视SIP代理服务器采取的操作可以实时进行,并且不需要为SIP代理软件提供工具或脱机分析日志。
除了确定入站和出站SIP消息之间的更改或变换之外,还需要在给定SIP代理服务器处将入站SIP消息关联到出站SIP消息,例如,将入站呼叫转移请求(REFER)与到被引用方的出站建立呼叫(INVITE)关联。入站与出站消息之间的关联以及关联入站和出站消息之间的变换的确定用于验证对于给定SIP通信会话,按预期发生必要的消息变换,即关联用于诊断问题并调试SIP通信会话。此外,关联的入站和出站消息之间的变换用于验证给定SIP服务器按预期运行,例如,通过将INVITE的Join标头关联到用作会议建立消息的早期INVITE,可以检测到会议服务器的正常运行模式的任何更改。最后,关联可以用于标识与单个对话/会话相关的消息并帮助生成有助于实时监视SIP对话/会话的足迹。
为了将入站消息与出站消息关联,创建了一组SIP关联规则以便将入站SIP消息与出站消息(其是前者的已变换版本)进行匹配。可以针对特定上下文定义这些关联规则。对于点对点呼叫,Call-ID标头字段在各跳之间保持不变。当呼叫分支时,To标头中的tag字段可以用于在不同的分支路径之间进行关联。对于会议呼叫,正在进行的会议呼叫可以由Dialog标识符标识,后者可用于将参加现有会议的新呼叫者与INVITE中的匹配Join标头相关联。当使用REFER消息将呼叫转移到第三方时,REFER包含可用于与正在被转移的现有呼叫关联的标头Refer-to(以及子标头/选项Replaces)。对于呈现,更新呈现服务器状态的PUBLISH消息可以产生许多NOTIFY消息。PUBLISH和相应的NOTIFY可以通过正在使用的事件包进行关联。
创建了关联规则之后,使用这些规则关联给定SIP代理服务器处的入站和出站消息。所关联的消息和相关变换用于诊断呼叫流。可以将给定端对端呼叫分成一系列预期变换,并且使用关联机制在预期路径的每一跳上安装规则,以验证是否真正发生预期变换并确定预期和观察的行为之间的分叉点。
在一个实施例中,为了跟踪SIP消息流和变换,在服务器机器的操作系统(OS)内集成了称为SIP消息分类引擎或分类器的软件引擎。实际的SIP软件(例如SIP代理)在此服务器上作为例如路由SIP消息的应用运行。在OS内放置分类引擎是由于效率和体系结构的需要,具体取决于特定情况。分类器是可编程的,并且因此可以通过使用一组适当的规则针对不同的应用情况使用相同的软件。创建了一种有效的算法,此算法将一组用户定义的规则作为输入并将这些规则变形为能够快速按照输入消息流匹配规则的适当数据结构。规则指定了如何根据在分类器处从先前消息收集的消息标头值组合(包括诸如集合成员身份以及对状态执行的操作之类的复杂功能)来确定特定消息子集,以及要对匹配分组执行的操作。这些操作包括分析来自服务器的入站和出站消息流以及生成足迹。足迹包含选定的消息元数据,后者包括区别标头-值对及其变换并由分类器转发到中央监视引擎。中央监视引擎整理来自跨网络的不同服务器或分类器的此信息,以推断呼叫路径上各个服务器中的SIP会话的状态以及聚合的呼叫状态。
本发明涉及用于监视会话启动协议通信的方法,所述方法包括以下步骤:确定由会话启动协议代理服务器产生的多个会话启动协议消息中的多个变换;以及使用所确定的变换验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。在用于监视会话启动协议通信的方法的一个实施例中,将确定由通过其路由会话启动协议消息的会话启动协议代理服务器产生的所述会话启动协议消息中的至少一个变换。使用此确定的变换推断所述会话启动协议代理服务器对所述会话启动协议消息执行的操作,并且使用此推断的操作验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。
在一个实施例中,将确定所述会话启动协议代理服务器处的所述会话启动协议消息的入站版本,并且还确定所述会话启动协议代理服务器处的所述会话启动协议消息的出站版本。然后,可以确定所述会话启动协议消息的所述入站版本与所述出站版本之间的差异。在一个实施例中,将确定多个会话启动协议通信中的每个通信的状态模型(例如,有限状态机)。因此,使用所推断的操作还可以包括:使用所推断的操作并结合所述包含所确定消息的会话启动协议通信会话的状态模型,来推断所述包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的全局状态。
在一个实施例中,用于监视会话启动协议通信的方法包括确定由会话启动协议代理服务器产生的多个会话启动协议消息中的多个变换。使用所有这些确定的变换推断所述会话启动协议代理服务器对所述会话启动协议消息中的每个消息执行的操作,并且使用所推断的操作验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。在一个实施例中,确定所述会话启动协议代理服务器处的所述会话启动协议消息的入站版本和出站版本。将确定所述会话启动协议消息的所述入站版本与所述出站版本之间的差异。在一个实施例中,将所述入站版本与所述出站版本关联。
在一个实施例中,将所述消息的入站版本与出站版本关联包括定义一个或多个关联规则集。每个规则集包括多个关联规则。使用至少一个所述关联规则集将每个入站会话启动协议消息与出站会话启动协议消息之一进行匹配。可以根据会话启动协议消息的类型或会话启动协议通信会话的类型来修改所述关联规则。在一个实施例中,每个关联规则包括要在评定所述消息的入站和出站版本中使用的条件的合取以及要根据对所述消息的所述入站和出站版本的评定而采取的操作。这些条件作用于与所述消息的所述入站和出站版本关联的会话启动协议标头。在一个实施例中,所述会话启动协议标头包括预定义的会话启动协议标头、用户定义的伪标头、包括其他标头的部分的派生标头以及它们的组合。
本发明还涉及用于通过确定会话启动协议代理服务器处的多个会话启动协议消息的入站版本和出站版本来监视会话启动协议通信的方法。将所述入站版本和所述出站版本相关联,并且确定所述会话启动协议消息的所关联的入站版本与出站版本之间的差异。使用所确定的差异推断所述会话启动协议代理服务器对每个所述会话启动协议消息执行的操作。使用所推断的操作验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。
在一个实施例中,将所述消息的入站版本与出站版本相关联包括定义一个或多个关联规则集。每个规则集包括多个关联规则。在一个实施例中,使用至少一个所述关联规则集将每个入站会话启动协议消息与出站会话启动协议消息之一进行匹配。可以根据会话启动协议消息的类型或会话启动协议通信会话的类型来修改所述关联规则。在一个实施例中,每个关联规则包括要在评定所述消息的入站和出站版本中使用的条件的合取以及要根据对所述消息的所述入站和出站版本的评定而采取的操作。这些条件作用于与所述会话启动协议消息的所述入站和出站版本关联的会话启动协议标头。
附图说明
图1是根据本发明使用的会话启动协议体系结构的实施例的示意性表示;
图2是会话启动协议建立和介质路径的实施例的示意性表示;
图3是呼叫保持的实施例的示意性表示;
图4是呼叫保持的足迹模式和状态模型的实施例的示意性表示;
图5是根据本发明使用的监视体系结构的实施例的示意性表示;以及
图6是根据本发明由会话启动协议服务器监视会话启动协议消息的实施例的示意性表示。
具体实施方式
首先参考图1,其中示出了在本发明的监视系统和方法中使用的SIP基础设施100的示例性实施例。SIP基础设施包含多个用户代理(UA)102和多个SIP服务器104。SIP服务器包括跨一个或多个网络112部署的注册服务器106、位置服务器108和SIP代理服务器110。每个UA代表一个控制会话建立和介质传输的SIP端点。J.Rosenberg等人所著的“SIP:Session Initiation Protocol”(RFC 3261,IETF,2002年6月)中详细说明了SIP协议。
SIP消息是请求或响应。例如,INVITE是请求而“180 Ringing”或“200 OK”是响应。每个SIP消息包含一组标头和值,它们通过类似于超文本传输协议(HTTP)但多样性、用法和语义更为丰富的语法被指定为字符串。例如,给定标头可以出现多次,以字符串列表作为其值以及具有多个子标头(称为参数),每个子标头都具有关联的值。以下实例示出了Alice向Bob发出邀请以开始对话:
INVITE sip:bob@biloxi.com SIP/2.0
Via:SIP/2.0/UDP pc33.atlanta.com;branch=z9h
Max-Forwards:70
To:Bob<sip:bob@biloxi.com>
From:Alice<sip:alice@atlanta.com>;tag=192
Call-ID:a84b4c76e66710@pc33.atlanta.com
CSeq:314159 INVITE
Contact:<sip:alice@pc33.atlanta.com>
Content-Type:application/sdp
Content-Length:142
(未示出Alice的会话描述)
通过各SIP代理路由SIP消息以在UA之间建立会话。根据消息中包括的目的地SIP URI,代理将所有请求(例如INVITE)路由到适当的目的地UA。参考图2,其中示出了后跟使用丰富文本格式(RTF)200的介质交换的会话建立的示例性实施例。通常,通过INVITE请求202、OK响应204以及对响应的ACK 206在两个用户代理102之间建立会话。通过交换BYE 208和OK 210消息来关闭SIP通信会话。
图2中示出的信令顺序可以存在大量变型,例如,在呼叫生存期间内进行多次INVITE/OK/ACK交换,修改SIP通信会话(如在蜂窝环境中传送呼叫或添加视频会话),将INVITE消息分支到多个目标,在请求路径上回送或重定向。此外,会议呼叫是常见的,其中多个端点向公共控制服务器(即会议服务器)发送信号。
在SIP网络中的UA之间将发生三种不同类型的关联。第一种类型的关联是SIP事务。SIP事务在客户机和服务器之间发生,并且包含从客户机发送到服务器的第一请求直到从服务器发送到客户机的最后(非1xx)响应的所有消息。第二种类型是多媒体会话,其是一组多媒体发送方和接收方以及从发送方流向接收方的数据流。多媒体会议是多媒体会话的一个实例。第三种类型是对话,其是两个UA之间持续某段时间的对等SIP关系。由SIP消息(例如,对INVITE请求的2xx响应)建立对话。通过呼叫标识符、本地标记和远程标记来标识对话。对话也称为呼叫段(call leg)。
根据本发明的方法确定在每个SIP代理服务器处发生的消息变换,以确定SIP代理服务器为了监视SIP通信会话和SIP代理服务器的运行而采取的操作。给定服务器将接收多个SIP消息。因此,每个SIP代理服务器可以具有多个并存的入站版本和出站版本的SIP消息。为了确定SIP消息变换,需要将消息的入站版本与消息的出站版本相关联。
在一个实施例中,例如从储存库或数据库确定多个用户定义的关联规则,或者由一个或多个用户输入所述规则。这些关联规则用于将每个SIP代理服务器处的SIP消息的入站版本与SIP消息的出站版本进行关联或匹配。每个用户定义的关联规则都可以表达为后跟操作的条件合取。条件作用于与SIP消息关联的标头。这些标头包括预定义的SIP标头、为方便而定义的伪标头(例如message_type),以及通过其他标头构建的派生标头。在一个实施例中,标头From.tag代表From标头内的“tag”参数并且派生自From标头。Dialog-ID派生标头包括Call-Id(SIP标头)、From.tag(派生自From SIP标头并代表From的tag字段)以及To.tag。根据本发明的方法支持用户定义的数据类型,即包括基本数据类型(例如String或Integer)的标量、指针和关联数组,或其他用户定义的数据类型。将维护可作为规则操作的一部分更新的用户指定的状态。例如,在Struct Session={Dialog Dialog1,String State}中,元素“State”存储对话的状态,状态可以是“established”、“setup”或“shutdown”。条件评估可能具有副作用。例如,如果当前SIP消息的Dialog-id是活动会话列表中的一个元素,以下条件评估导致将指针存储到匹配元素,此匹配元素然后可以例如用于作为规则操作的一部分而修改任何关联的数据结构。
*CurrentSession=(Dialog-ID belongs-to%ActiveSessions)
多个已确定关联规则中的每一个规则都包括条件合取以及关联的操作列表。这些操作还可以更改变量值。
在一个实施例中,分类算法包括静态部分和运行时部分。静态部分包括规则分析和创建数个允许运行时部分有效工作的表和位图。生成这些有效结构的关键是消除了规则集中的大部分冗余,以便运行时阶段不需要重复提取标头或评估条件。运行时部分包括分析各个SIP消息,将这些已分析的消息与关联规则进行比较,以及当SIP消息与规则匹配时执行一组操作。
由于SIP事务的存在时间通常很短,因此SIP事务不适于实时运行监视。但是,可以使用SIP事务模型和综合SIP事务完成对具有监视系统的SIP网络的功能验证。另一方面,SIP对话和会话的持续时间相当长。因此,为联机获取单个对话和会话信息以及聚合信息而对对话和会话进行功能监视和实时运行监视是相当可行的。
根据本发明的系统和方法的示例性实施例利用SIP对话或SIP通信会话的“模型”。此模型捕获SIP对话的各种可能状态以及每种状态下预期的足迹模式。状态对应于SIP对话的进度,从要发出的邀请开始,中间通过不同代理进行路由,分支消息(如果需要),并且到达目的地。基于SIP的呼叫还可以被置于保持、转发或转移。可以由相应的状态机模型(例如,有限状态机)表示这些SIP对话。通过发送和接收SIP消息(其可简化为足迹记录)来触发这些模型中的状态转变。通过使用连接到SIP代理的分类器提取SIP消息的相关部分来获取足迹记录。例如,如果Call-Id对于特定的SIP对话不变,则足迹记录可仅包含消息类型(例如Invite)、Call-Id,以及发出或接收消息的SIP服务器的代理地址。由于分类器工作在OS层,这使得能够实时生成足迹记录。对照与对话模型的不同状态关联的足迹模式来匹配足迹记录。足迹模式可以被视为足迹记录的抽象表示,其中包含具体标头值的占位符,这些占位符在匹配过程中被实例化。例如,对应于正在传输邀请的状态的足迹模式“INVITE<Proxy><Call-id>”,可以与足迹记录“INVITE 9.123.44.78 ac34h56@p33.atlanta.com”(其中Call-id绑定到ac34h56@p33.atlanta.com,并且Proxy-address设置为9.123.44.78)进行匹配。当SIP邀请通过系统继续时,Call-id将保持不变,但是Proxy-address将更改,并且这些绑定将允许我们通过网络跟踪呼叫。
参考图3,其中示出了呼叫保持300 SIP服务的消息图的示例性实施例。图4中示出了代表服务400以及由分类器从不同SIP实体中的SIP消息生成的相应足迹(部分示出)的状态模型。SIP监视引擎(SME)可以使用此模型实时跟踪置于保持状态的SIP对话。虽然消息图仅示出了一个中间代理,但是通常可以存在有限数量的此类代理。这并不表示随着SIP代理数量的增加状态也将激增,因为状态和足迹模式是抽象的,并且没有绑定到某个特定的代理。更确切地说,状态和足迹模式随对话的进行动态绑定到不同的代理。同样,可以为其他SIP服务创建状态机,并且可以分层地构建这些状态机以对SIP对话中的不同可能性进行编码。
参考图5,其中示出了本发明的SIP监视系统的体系结构500的示例性实施例。所述体系结构包括SME 502以及一个或多个SIP分类器504。每个SIP分类器在逻辑上可以被视为监视SIP消息506的入站版本和SIP消息508的出站版本两者,且在每一侧具有不同的规则集。一种确定在经过SIP代理时如何变换给定SIP消息的方法是布置一对规则,一个规则布置在SIP代理的入站侧消息流中,而另一个规则布置在出站侧消息流中。通过关联匹配的消息,可以确定SIP代理对每个消息进行的特定变换,例如,针对在出站版本上具有匹配Call-ID的消息重写目的地URI。在另一个实例中,将标识加入正在进行的两方呼叫以将此呼叫转换为三方会议呼叫的新参与者。可以对分类器进行编程,以便在来自其值与任何进行中Dialog-ID匹配的新参与方的INVITE消息上查找Join标头。
SME接收以下输入:由分类器生成的正在进行的SIP对话和会话的足迹记录、SIP对话或会话的模型(就状态而言),以及相应的预期足迹模式。给定这些输入后,对于每个正在进行的对话或会话实例,SME使用模型匹配算法实时确定实例可能处于的状态。此外,还可以实时确定聚合级别的信息,例如模型的任何给定状态下的实例数。此类统计信息有助于进行有效的网络管理。SME中的监视算法需要确定对应于特定对话或会话的足迹记录以监视各个对话或会话。
对于许多服务,可以使用消息标头中的Call-ID确定对应于单个对话或会话的消息。但是,当SIP消息通过网络路由时,消息标头和标头值通常会改变。目的地URI重写的常见用法是将诸如sip:bob@biloxi.com之类的URI实例化为sip:bob@bobs-host.biloxi.com,也就是将域内的用户解析为域中的特定主机。将入站INVITE(具有目的地sip:bob@biloxi.com)与出站INVITE(去往bob@bobs-host.biloxi.com)关联的能力可用于诊断用途。重定向的另一个实例是通过重定向服务器1(P1)的302 MOVED响应(具有Contact:sip:bob@blues.com)来响应用户(UA1)发向sip:bob@biloxi.com的INVITE。此302消息在返回路径中可以使用sip:bob@blues.com在代理(P2)上触发新的INVITE,此INVITE最终被路由到Bob的客户机(UA2)。因此,在能够将INVITE与相应的302关联的情况下,将允许实时监视系统以推断源自UA1的呼叫在到达UA2之前经过P1和P2,并对消息进行上述修改,即,呼叫被转发到新的目的地以及转发实体本身。
在上述两个实例中,Call-ID标头值不变。对于非分支呼叫,Call-ID以及From和To标头中的标记(子标头)值的组合保持不变。当呼叫分支或呼叫重定向时,呼叫的每个已分支/已重定向段在To标头中具有不同的标记值。入站INVITE的Call-ID标头值可以与出站Call-ID字段关联。但是在许多其他实例中,Call-ID字段甚至不足以关联消息。例如,在诸如呼叫转移或加入会议呼叫的服务中,需要使用不同的标头子集及其值来关联消息。例如,当使用REFER消息将呼叫转移到第三方时,REFER包含可用于与正在被转移的现有呼叫关联的标头Refer-to以及子标头/选项Replaces。分类器的可编程性在此可以发挥作用。可以对分类器进行编程,以便根据服务器(例如重定向服务器)的功能查找不同的标头子集。
参考图6,其中示出了根据本发明由SIP代理服务器600监视SIP消息的示例性实施例。第一用户代理602在Invite消息601中发送<Call-id=1><Req-URI=bob@us>,此消息通过SIP代理服务器604进行路由。这是在代理服务器处的消息的入站版本。第一SIP分类器608监视此消息并将其传送到SME 606。SIP代理604接收SIP的入站版本并生成Invite消息的出站版本610,后者被转发到第二用户代理612。出站版本的格式为Invite<Proxy-addr=9.23.123.34><Call-id=1><Req-URI=bob@9.2.10>。第二SIP分类器614接收SIP消息的入站和出站版本并使用Call-id将它们关联,并推断目的地URI正在被重写。第二SIP分类器生成足迹,其中Call-id相同但目的地URI不同,并且还包括代理地址。在第二用户代理612处接收出站版本的邀请610<Call-id=1>Req-URI=bob@9.2.10,并且第三SIP分类器616监视此接收的SIP消息。当发送邀请时,监视引擎606启动新的呼叫实例,其标记值Call-id=1并且Req-URI=bob@us。当SME从第二SIP分类器接收到与SIP消息的关联入站和出站版本相关的通信时,SME将此通信与从第一SIP分类器608接收的邀请关联并更新Req-URI。此外,SME为代理地址创建新的标记。如果存在更多的代理,则SME可以将较新的代理地址存储为列表以便可以跟踪整个路径。
在一个实施例中,在帮助台代理的上下文中部署本发明的会话启动协议消息监视系统。帮助台代理获取网络中预期呼叫流的概况,并且随后为示例服务情况导出呼叫状态模型。在呼叫路径中的SIP代理服务器处使用适当的规则配置SIP分类器,以便实时监视呼叫并确认是否发生预期更改,即实时追溯呼叫的路径。如果检测到异常,则可以更深层地实例化其他规则。操作者可以创建激励,并且可以使用监视系统在系统的不同部分处检测激励及其响应。除了此类网络功能测试之外,监视系统还生成聚合信息(例如,处于特定状态的对话的数量或平均对话终止时间),以及个别信息(例如在某个特定时刻,在正在进行的SIP对话和会话的呼叫路径上对话处于哪种状态)。此信息在部署有效的网络管理工具(例如负载平衡)中非常有用。
根据本发明的示例性实施例的方法和系统可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元素两者的实施例的形式。在一个优选实施例中,本发明以软件实现,所述软件包括但不限于固件、驻留软件和微代码。此外,示例性方法和系统可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供了可以被计算机、逻辑处理单元或任何指令执行系统使用或与计算机、逻辑处理单元或任何指令执行系统结合的程序代码。出于此描述的目的,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的装置。适合的计算机可用或计算机可读介质包括但不限于电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CR-R/W)和DVD。
适合于存储和/或执行程序代码的数据处理系统包括但不限于至少一个通过系统总线直接或间接连接到存储器元件的处理器。所述存储器元件包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器和指点设备)可以直接或通过中间I/O控制器与系统相连。根据本发明的方法和系统的示例性实施例还包括网络适配器,所述网络适配器连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。当前可用的适合网络适配器类型包括但不限于调制解调器、电缆调制解调器、DSL调制解调器、以太网卡以及它们的组合。
在一个实施例中,本发明涉及包含机器可执行或计算机可执行代码的机器可读或计算机可读介质(当机器或计算机读取所述代码时,将导致所述机器或计算机执行根据本发明的示例性实施例的用于监视会话启动协议通信流的方法),以及计算机可执行代码本身。所述机器可读或计算机可读代码可以是能够由所述机器或计算机读取和执行,并且可以以本领域公知和使用的任何适合语言或语法(包括机器语言、汇编语言、高级语言、面向对象语言和脚本编制语言)表示的任何类型的代码或语言。所述计算机可执行代码可以存储在任何适合的存储介质或数据库(包括部署在根据本发明的系统所使用的计算机网络内并与其通信以及可由其访问的数据库)中,并且可以在本领域公知和使用的任何适合的硬件平台(包括用于控制本发明的呈现的控制系统)上执行。
虽然在此披露的本发明的示例性实施例实现了本发明的目的是显而易见的,但要理解的是,本领域的技术人员可以构想大量修改并创建其他实施例。此外,可以单独或与其他实施例(多个)结合使用任何实施例中的一个或多个功能和/或元素,并且可以以任何适合的顺序执行根据本发明的方法中的步骤或元素。因此,将理解的是,所附权利要求旨在涵盖在本发明的精神和范围内的所有此类修改和实施例。
Claims (19)
1.一种用于监视会话启动协议通信的方法,所述方法包括:
确定由通过其路由会话启动协议消息的会话启动协议代理服务器产生的所述会话启动协议消息中的变换;
使用所确定的变换推断所述会话启动协议代理服务器对所述会话启动协议消息执行的操作;以及
使用所推断的操作验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。
2.如权利要求1中所述的方法,其中确定所述变换的步骤进一步包括:
确定所述会话启动协议代理服务器处的所述会话启动协议消息的入站版本;
确定所述会话启动协议代理服务器处的所述会话启动协议消息的出站版本;以及
确定所述会话启动协议消息的所述入站版本与所述出站版本之间的差异。
3.如权利要求1中所述的方法,其中:
所述方法还包括确定多个会话启动协议通信中的每个通信的状态模型;以及
使用所推断的操作的步骤进一步包括:使用所推断的操作并结合所述包含所确定消息的会话启动协议通信会话的状态模型,来推断所述包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的全局状态。
4.一种用于监视会话启动协议通信的方法,所述方法包括:
确定由会话启动协议代理服务器产生的多个会话启动协议消息中的多个变换;
使用所确定的变换推断所述会话启动协议代理服务器对所述会话启动协议消息中的每个消息执行的操作;以及
使用所推断的操作验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。
5.如权利要求4中所述的方法,其中确定所述变换的步骤进一步包括:
确定所述会话启动协议代理服务器处的所述会话启动协议消息的入站版本;
确定所述会话启动协议代理服务器处的所述会话启动协议消息的出站版本;以及
确定所述会话启动协议消息的所述入站版本与所述出站版本之间的差异。
6.如权利要求4中所述的方法,其中确定所述变换的步骤进一步包括:
确定所述会话启动协议代理服务器处的所述会话启动协议消息的入站版本;
确定所述会话启动协议代理服务器处的所述会话启动协议消息的出站版本;以及
将所述消息的入站版本与出站版本相关联。
7.如权利要求6中所述的方法,其中所述将所述消息的入站版本与出站版本相关联的步骤进一步包括定义一个或多个关联规则集,每个规则集包括多个关联规则。
8.如权利要求7中所述的方法,还包括使用至少一个所述关联规则集将每个入站会话启动协议消息与出站会话启动协议消息之一进行匹配。
9.如权利要求7中所述的方法,还包括根据会话启动协议消息的类型或会话启动协议通信会话的类型来修改所述关联规则。
10.如权利要求7中所述的方法,其中每个关联规则包括要在评定所述消息的入站和出站版本中使用的条件的合取以及要根据对所述消息的所述入站和出站版本的评定而采取的操作。
11.如权利要求10中所述的方法,其中所述条件作用于与所述消息的所述入站和出站版本关联的会话启动协议标头。
12.如权利要求11中所述的方法,其中所述会话启动协议标头包括预定义的会话启动协议标头、用户定义的伪标头、包括其他标头的部分的派生标头以及它们的组合。
13.一种用于监视会话启动协议通信的方法,所述方法包括:
确定会话启动协议代理服务器处的多个会话启动协议消息的入站版本;
确定所述会话启动协议代理服务器处的所述会话启动协议消息的出站版本;
将所述消息的入站版本与出站版本相关联;
确定所述会话启动协议消息的所关联的入站版本与出站版本之间的差异;
使用所确定的差异推断所述会话启动协议代理服务器对每个所述会话启动协议消息执行的操作;以及
使用所推断的操作验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。
14.如权利要求13中所述的方法,其中所述将所述消息的入站版本与出站版本相关联的步骤进一步包括定义一个或多个关联规则集,每个规则集包括多个关联规则。
15.如权利要求14中所述的方法,还包括使用至少一个所述关联规则集将每个入站会话启动协议消息与出站会话启动协议消息之一进行匹配。
16.如权利要求14中所述的方法,还包括根据会话启动协议消息的类型或会话启动协议通信会话的类型来修改所述关联规则。
17.如权利要求14中所述的方法,其中每个关联规则包括要在评定所述消息的入站和出站版本中使用的条件的合取以及要根据对所述消息的所述入站和出站版本的评定而采取的操作。
18.如权利要求17中所述的方法,其中所述条件作用于与所述会话启动协议消息的所述入站和出站版本关联的会话启动协议标头。
19.一种用于监视会话启动协议通信的方法,所述方法包括:
确定由会话启动协议代理服务器产生的多个会话启动协议消息中的多个变换;以及
使用所确定的变换验证包含所确定消息的会话启动协议通信会话和所述会话启动协议代理服务器中的至少一个的正确操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/764,011 | 2007-06-15 | ||
US11/764,011 US20080310312A1 (en) | 2007-06-15 | 2007-06-15 | Method for Monitoring SIP Call-Flows by Tracking Message Transformation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101325605A true CN101325605A (zh) | 2008-12-17 |
Family
ID=40132198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101081848A Pending CN101325605A (zh) | 2007-06-15 | 2008-05-30 | 通过跟踪消息变换监视sip呼叫流的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080310312A1 (zh) |
CN (1) | CN101325605A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018120235A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种呼叫保持的方法及移动终端 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101651119B1 (ko) * | 2008-11-11 | 2016-08-25 | 삼성전자주식회사 | 아이피 멀티미디어 부시스템에서 녹취 서비스를 제공하기 위한 장치 및 방법 |
US8601146B2 (en) * | 2009-10-21 | 2013-12-03 | Tekelec, Inc. | Methods, systems, and computer readable media for session initiation protocol (SIP) identity verification |
EP2504966B1 (en) | 2009-11-26 | 2013-08-14 | Telefonaktiebolaget LM Ericsson (publ) | Method, system and network nodes for performing a sip transaction in a session initiation protocol based communications network |
US8275896B2 (en) | 2009-12-23 | 2012-09-25 | Bce Inc. | Method and system for converting session initiation messages |
US9529777B2 (en) * | 2011-10-28 | 2016-12-27 | Electronic Arts Inc. | User behavior analyzer |
GB2504694A (en) | 2012-08-06 | 2014-02-12 | Ibm | Searching for Header Names using conversion to canonical form including integer value |
US9372963B2 (en) * | 2012-08-30 | 2016-06-21 | Verizon Patent And Licensing Inc. | User device selection |
US9762628B2 (en) | 2013-02-19 | 2017-09-12 | Avaya Inc. | Implementation of the semi-attended transfer in SIP for IP-multimedia subsystem environments |
US9467570B2 (en) * | 2013-11-20 | 2016-10-11 | Avaya Inc. | Call transfer with network spanning back-to-back user agents |
GB2527118A (en) * | 2014-06-13 | 2015-12-16 | Ibm | Automatic transformation of messages between service versions |
US10084911B2 (en) | 2014-09-11 | 2018-09-25 | At&T Intellectual Property I, L.P. | Active records for interactive systems |
US9661027B2 (en) | 2014-09-11 | 2017-05-23 | At&T Intellectual Property I, L.P. | Informational enrichment for interactive systems |
US10427048B1 (en) | 2015-03-27 | 2019-10-01 | Electronic Arts Inc. | Secure anti-cheat system |
US11179639B1 (en) | 2015-10-30 | 2021-11-23 | Electronic Arts Inc. | Fraud detection system |
WO2017106491A1 (en) * | 2015-12-15 | 2017-06-22 | MindTop, Inc. | Privacy enhancing networks |
US10459827B1 (en) | 2016-03-22 | 2019-10-29 | Electronic Arts Inc. | Machine-learning based anomaly detection for heterogenous data sources |
US10153993B2 (en) | 2016-07-18 | 2018-12-11 | T-Mobile Usa, Inc. | RCS origination forking |
US10237212B2 (en) * | 2016-07-18 | 2019-03-19 | T-Mobile Usa, Inc. | RCS origination forking |
US10460320B1 (en) | 2016-08-10 | 2019-10-29 | Electronic Arts Inc. | Fraud detection in heterogeneous information networks |
US10743367B2 (en) * | 2016-10-28 | 2020-08-11 | Samsung Electronics Co., Ltd. | Method and system for managing enriched call data in communication network |
US10909866B2 (en) * | 2018-07-20 | 2021-02-02 | Cybernet Systems Corp. | Autonomous transportation system and methods |
US11895162B2 (en) | 2021-12-21 | 2024-02-06 | Bank Of America Corporation | System and method for implementing a cloud-to-enterprise voice application gateway |
CN115412532B (zh) * | 2022-08-15 | 2023-07-21 | 深圳市风云实业有限公司 | 一种sip及扩展协议会话控制流识别及处理的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6856618B2 (en) * | 1997-10-21 | 2005-02-15 | Intel Corporation | Apparatus and method for computer telephone integration in packet switched telephone networks |
US7209473B1 (en) * | 2000-08-18 | 2007-04-24 | Juniper Networks, Inc. | Method and apparatus for monitoring and processing voice over internet protocol packets |
US7283619B2 (en) * | 2004-06-15 | 2007-10-16 | Cisco Technology, Inc. | System and method for end-to-end communications tracing |
US9264467B2 (en) * | 2005-11-23 | 2016-02-16 | Samsung Electronics Co., Ltd | Method, user equipment, and system for opening an ad-hoc PoC session in a PoC system |
US20080228926A1 (en) * | 2007-03-13 | 2008-09-18 | Asher Shiratzky | Methods, media, and systems for balancing session initiation protocol server load |
-
2007
- 2007-06-15 US US11/764,011 patent/US20080310312A1/en not_active Abandoned
-
2008
- 2008-05-30 CN CNA2008101081848A patent/CN101325605A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018120235A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种呼叫保持的方法及移动终端 |
US10652389B2 (en) | 2016-12-30 | 2020-05-12 | Huawei Technologies Co., Ltd. | Call hold method and mobile terminal |
Also Published As
Publication number | Publication date |
---|---|
US20080310312A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101325605A (zh) | 通过跟踪消息变换监视sip呼叫流的方法 | |
US10154118B2 (en) | System and method for telephony and communication services with message-based API | |
US8594305B2 (en) | Enhancing contact centers with dialog contracts | |
US9661035B2 (en) | Method and apparatus for providing call flow information to terminal devices | |
US9215079B2 (en) | Servlet API and method for XMPP protocol | |
US20070041525A1 (en) | Generating call control and dialog elements for telephony service applications using a graphical user interface | |
CN101322385A (zh) | 对媒体服务器中的分布式媒体资源进行负载平衡和切换 | |
US20080086567A1 (en) | SIP server architecture for improving latency in message processing | |
US8612932B2 (en) | Unified framework and method for call control and media control | |
CN109189502A (zh) | 一种基于即时通讯公众平台的消息处理方法和相关设备 | |
JP5649840B2 (ja) | Sipサーブレットアプリケーションコホスティング | |
CN102948184B (zh) | 校验目录服务中的视频呼叫号码输入项的系统和方法 | |
Kocan et al. | A novel software approach for service brokering in advanced service architectures | |
Ambra et al. | Resource-oriented design towards the convergence of Web-centric and Telecom-centric services | |
US8874759B2 (en) | Method and apparatus for programming session initiation protocol back-to-back user agents | |
CN106961478A (zh) | 一种报文处理方法及装置 | |
Wang | Measurement and analysis of VoIP server performance | |
Zhou et al. | SIP network discovery by using SIP message probing | |
Sun | Carrier grade adaptation for an IP-based multimodal application server: moving the softbridge into SLEE | |
Rojas et al. | Web and Telco Service Integration: A Dynamic and Adaptable Approach | |
Olsson et al. | Conceptualizing SIP Based Gateway Control | |
Zhang | IP Multimedia Subsystem (IMS) Test Environment Simulator | |
Cruz | Web Telephony Evolution | |
Ambra | Approaches for the service composition and description towards the Web-Telecom convergence | |
Lu et al. | An implementation of on-line management of livelock type feature interaction in NGN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081217 |