专利名称:基于媒体网关控制协议识别网络电话流量的方法和装置的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种基于媒体网关控制协议识别网络电话流量的 方法和装置。
背景技术:
随着互联网技术的不断进步,出现了 IP承载语音的VoIP技术,VoIP技术自产生后 迅速发展,随着用户的迅速增长,VoIP的流量在网络上也迅速增长,所以如何通过VoIP流 量识别媒体连接成为需要解决的问题。目前,现有技术中给出对于会话发起协议(Session Initiation Protocol, SIP) 协议的VoIP流量识别媒体连接方法。该方法包括步骤1、通信双方建立媒体控制连接,其中所述通信双方为媒体网关,所述媒体网 关代替用户建立所述媒体控制连接;步骤2、在基于SIP协议的控制连接上进行媒体连接的协商;步骤3、用于进行媒体流识别的深度报文检测装置获取通信双方的协商结果,如果 协商成功,则记录所述通信双方的媒体连接协商信息;步骤4、根据所述通信双方的媒体连接协商信息,识别所述通信双方的媒体连接。在实现上述过程中,深度报文检测装置获取基于SIP协议的控制连接上的媒体连 接协商信息,对媒体连接进行识别。上述方法只适用于基于SIP协议的控制连接用于一 对用户的媒体协商,对于两个媒体网关之间通过媒体网关控制(Media Gateway Control Protocol, MGCP)协议,在一个控制连接上为多对用户同时协商的情况时,上述方法将无法 应用,从而无法进行媒体连接的识别。
发明内容
本发明提供的基于媒体网关控制识别网络电话流量的方法和装置,能够识别基于 媒体网关控制MGCP协议的VoIP流量。一种基于MGCP协议识别VoIP流量的方法,包括根据MGCP协议的识别规则,通过匹配关键字,识别与控制连接相关的报文;从所述与控制连接相关的报文中提取用于建立媒体连接的媒体连接协商信息;根据所述媒体连接协商信息中的事务ID,对所述媒体连接协商信息进行匹配;根据匹配结果,对基于MGCP协议的VoIP流量进行识别。进一步的,所述方法还具有如下特点所述与控制连接相关的报文包括控制连接报文和媒体连接协商报文,所述MGCP 协议的识别规则包括控制连接报文的识别规则和媒体连接协商报文的识别规则;所述控制连接报文的识别规则为报文的载荷区内前4个字母为MGCP协议命令字 符,且在所述MGCP协议命令字符之后有“MGCP”关键字,其中所述MGCP协议命令字包括 “EPCF”、“ RQNT ”、“NTFY”、“ CRCX”、“MDCX”、“DLCX”、“AUEP ”、“AUCX”、“ RSIP ” ;
所述媒体连接协商报文的识别规则为报文的载荷区内包括关键字“V =”、“c = IN” 和"m =”。进一步的,所述方法还具有如下特点所述媒体连接协商信息是从媒体连接协商报文中提取的,其中所述媒体连接协商 信息还包括IP地址、端口号和媒体类型,具体包括如下步骤如果所述媒体连接协商报文载荷区首4字节为字母,从载荷区第6字节开始提取 事务ID,到出现空格为止;如果所述媒体连接协商报文载荷区首3字节为数字,从载荷区第 5字节开始提取事务ID,到出现空格为止;从字符串“c = IN”后第6字节开始提取媒体连接的IP地址,至出现ASSCII码 <CR>和<LF>符号为止;从字符串“m =”后的第一个空格开始提取媒体连接的端口号,至出现空格终止;从字符串“m =”后开始提取媒体连接的媒体类型,至出现空格终止。进一步的,所述方法还具有如下特点所述根据匹配结果,对基于MGCP协议的VoIP流量进行识别具体包括如果所述媒体连接协商信息在所述控制连接对端匹配到具有相同事务ID的媒体 连接协商信息,则根据具有相同事务ID的媒体连接协商信息中的IP地址、端口号以及媒体 类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。进一步的,所述方法还具有如下特点所述方法还包括为所述已建立的媒体连接配置老化时间;在所述已建立的媒体连接的老化时间内,如果所述媒体链接没有报文传输,则删 除所述已建立的媒体连接。进一步的,所述方法还具有如下特点所述方法还包括如果所述媒体连接协商信息在所述控制连接对端未匹配到具有相同事务ID的媒 体连接协商信息,保存所述匹配失败的媒体连接协商信息,并配置所述匹配失败的媒体连 接协商信息的老化时间;在所述协商失败用户的媒体连接协商信息的老化时间内,如果匹配到具有相同事 务ID的媒体连接协商信息,则根据具有相同事务ID的媒体连接协商信息中的IP地址、端 口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。进一步的,所述方法还具有如下特点所述匹配失败的媒体连接协商信息是通过 动态内存进行存储的。一种基于MGCP协议识别VoIP流量的装置,包括第一识别模块,用于根据MGCP协议的识别规则,通过匹配关键字,识别与控制连 接相关的报文;提取模块,用于从所述与控制连接相关的报文中提取用于建立媒体连接的媒体连 接协商信息;匹配模块,用于根据所述媒体连接协商信息中的事务ID,对所述媒体连接协商信 息进行匹配;第二识别模块,用于根据匹配结果,对基于MGCP协议的VoIP流量进行识别。进一步的,所述装置还具有如下特点
所述提取模块具体用于如果所述媒体连接协商报文载荷区首4字节为字母,从载荷区第6字节开始提取 事务ID,到出现空格为止;如果所述媒体连接协商报文载荷区首3字节为数字,从载荷区第 5字节开始提取事务ID,到出现空格为止;从字符串“c = IN”后第6字节开始提取媒体连接的IP地址,至出现ASSCII码 <CR>和<LF>符号为止;从字符串“m =”后的第一个空格开始提取媒体连接的端口号,至出现空格终止;从字符串“m =”后开始提取媒体连接的媒体类型,至出现空格终止。进一步的,所述装置还具有如下特点第二识别模块具体用于如果所述媒体连接协商信息在所述控制连接对端匹配到 具有相同事务ID的媒体连接协商信息,则根据具有相同事务ID的媒体连接协商信息中的 IP地址、端口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表 中。进一步的,所述装置还具有如下特点所述装置还包括第一配置模块,用于为所述已建立的媒体连接配置老化时间;第一管理模块,用于在所述已建立的媒体连接的老化时间内,如果所述媒体链接 没有报文传输,则删除所述已建立的媒体连接。进一步的,所述装置还具有如下特点所述装置还包括第二配置模块。用于如果所述媒体连接协商信息在所述控制连接对端未匹配到具 有相同事务ID的媒体连接协商信息,保存所述匹配失败的媒体连接协商信息,并配置所述 匹配失败的媒体连接协商信息的老化时间;第二管理模块,用于在所述协商失败用户的媒体连接协商信息的老化时间内,如 果匹配到具有相同事务ID的媒体连接协商信息,则根据具有相同事务ID的媒体连接协商 信息中的IP地址、端口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配 置的连接表中。本发明提供的技术方案,在采用媒体网关控制协议条件下,一个控制连接上同时 进行多个媒体连接协商,能够识别出基于媒体网关控制协议的VoIP流量,且对深度报文检 测设备的部署位置没有特殊要求。
图1为本发明实施例提供的一种网络系统结构示意图;图2为本发明实施例提供的一种基于媒体网关控制识别网络电话流量的方法流 程图;图3为本发明实施例提供的一种基于媒体网关控制识别网络电话流量的装置的 结构示意图;图4为图3所示实施例中所述装置的另一结构示意图;图5为图3所示实施例中所述装置的又一结构示意具体实施例方式下面结合附图对本发明提供的技术方案作进一步介绍如图1所示,所述网络系统中包括两个媒体网关,每个媒体网关管理多个用户,当 用户需要建立媒体连接与对端用户进行通信时,例如用户1需要与用户4进行通信,所述媒 体网关向网络中的媒体网关控制设备建立控制连接,如图1所示,媒体网关A向媒体网关控 制设备建立控制连接A,在所述控制连接上进行媒体连接的协商过程。如果协商成功,在所 述两个媒体网关之间建立媒体连接进行通信。下面对基于媒体网关控制识别网络电话流量的方法作进行介绍,如图2所示步骤201、接收控制连接;步骤202、查找该控制连接是否为新连接。在本步骤中,从预先设置的连接表中,查找是否有该控制连接的记录,如果没有, 表示该控制连接是新连接,执行步骤203 ;否则,执行步骤204。其中所述连接表用于记录成功协商媒体连接的用户的媒体连接协商信息。在本发明中,所述连接表包括连接扩展信息存储表项,用于暂存控制连接上的媒 体连接协商信息。优选地,可以采用为连接表的每一项设立一个链表头,获取到媒体连接协商信息 后申请动态内存,添加到连接扩展信息链表上,其中所述扩展信息存储表项采用固定大小 进行管理。由于一个控制连接上协商信息的数目是不确定的,使用动态内存来存储,可以减 小内存资源的消耗。步骤203、在连接表中建立该新连接;在步骤203执行完成后,执行步骤205。步骤204、获取所述控制连接的应用类型,如果未获取到,执行步骤205。步骤205、判断所述控制连接是否为MGCP控制连接;具体的,判断所述该控制连接上的控制连接报文是否具有如下特征载荷前4个 字母为MGCP协议命令字符且在该MGCP协议命令字符之后包括MGCP的字符串,所述MGCP 协议命令字符包括 EPCF、RQNT, NTFYCRCX、MDCX, DLCX, AUEP, AUCX, RSIP0优选地,在判断过程中,可设置一计数器,当一段时间内所述控制连接上多个控制 连接报文均出现该特征时,才确定连接为MGCP控制连接,可降低误命中率。如果是MGCP控制连接,则执行步骤206 ;否则,流程结束。步骤206、从所述控制连接的媒体连接协商报文中获取媒体连接协商信息;其中所述媒体连接协商报文含有顺序的3串字符串“V =”、“c = IN”和“m =”,且 可以分为命令报文和响应报文;如果所述控制连接上没有如上特征的报文,则流程结束。其中所述媒体连接协商报文中携带的媒体连接协商信息包括IP地址、端口号和 媒体类型,且所述媒体连接协商信息是通过事务ID标识。下面对获取上述媒体连接协商信息的过程作以说明 如果报文载荷区的首4字节为字母,则确定为命令报文,从载荷第6字节开始提取 MGCP的事务ID,至所述报文载荷区第一次出现空格为止。如果载荷的首3字节为数字,则 确定为响应报文,从载荷第5字节开始提取MGCP的事务ID,至报文载荷区第一次出现空格为止;从报文载荷区“C = IN”关键字后第6字节开始提取媒体连接的IP地址,至所述 报文载荷区出现ASSCII码<CR>和<LF>符号为止;从报文载荷区“m =,,关键字后第一个空格后开始提取媒体连接的端口号,至所述 报文载荷区第一次出现空格终止;从报文载荷区“m =”关键字开始提取媒体连接的媒体类型,至第一次出现空格为止;其中空格前的内容长度不固定。执行完步骤206后,执行步骤207。步骤207、判断来自不同方向的媒体连接协商报文中是否有相同的MGCP事务ID ;如果有,表示媒体连接协商成功,执行步骤208 ;否则,表示媒体连接协商失败,执 行步骤209。步骤208、建立媒体连接;在本步骤中,根据媒体连接协商信息中IP地址、端口和媒体类型,建立媒体连接, 并将建立的媒体连接添加到连接表中。例如,如果所述媒体连接的媒体类型为RTP,以所述媒体连接协商信息中的IP地 址和端口号建立RTCP连接;以所述媒体连接协商信息中的IP和(端口号+1)建立RTP连接。优选的,配置所述已建立的媒体连接的老化时间;例如,在连接表中添加所述已建 立的媒体连接的记录,并配置对应的定时器。在所述媒体连接的老化时间内,如果所述已建立的媒体连接上没有报文传输,则 删除所述已建立的媒体连接。例如,当定时器到时后,查看所述已建立的媒体连接上是否有 报文传输的记录,如果没有,表示所述已建立的媒体未被使用,则删除所述已建立的媒体连接。通过配置已建立的媒体连接的老化时间,合理控制媒体连接资源的使用,提高媒 体连接资源的利用率。执行完步骤208后,执行步骤210。步骤209、保存所述协商失败的媒体连接协商信息。向连接表申请动态内存,在所述连接表中扩展信息存储表项保存所述用户的媒体 连接协商信息。优选的,配置所述协商失败用户的媒体连接协商信息的老化时间;在所述协商失败用户的媒体连接协商信息的老化时间内,如果接收到新的控制连 接,且在所述新控制连接中协商成功,则记录所述协商成功媒体连接协商信息。通过配置所述协商失败用户的媒体连接协商信息的老化时间,合理控制对存储空 间的使用,提高存储空间的利用率。步骤210、对所述媒体连接上传输的报文进行识别。识别的结果可以用于计算报文的流量、计算通话的质量等。本发明提供的技术方案,在采用媒体网关控制协议条件下,一个控制连接上同时 进行多个媒体连接协商,能够识别出基于媒体网关控制协议的VoIP流量,且对深度报文检 测设备的部署位置没有特殊要求。
如图3所示,一种基于媒体网关控制识别网络电话流量的装置,基于包括第一识别模块301,用于根据MGCP协议的识别规则,通过匹配关键字,识别与控 制连接相关的报文,其中所述与控制连接相关的报文包括控制连接报文和媒体连接协商报 文;提取模块302,用于从所述与控制连接相关的报文中提取用于建立媒体连接的媒 体连接协商信息;匹配模块303,用于根据所述媒体连接协商信息中的事务ID,对所述媒体连接协 商信息进行匹配;第二识别模块304,用于根据匹配结果,对基于MGCP协议的VoIP流量进行识别。其中所述MGCP协议的识别规则包括控制连接报文的识别规则和媒体连接协商报 文的识别规则;所述控制连接报文的识别规则为报文的载荷区内前4个字母为MGCP协议命令字 符,且在所述MGCP协议命令字符之后有“MGCP”关键字;所述MGCP协议命令字包括“EPCF”、 “ RQNT ”、“NTFY”、“ CRCX”、“MDCX”、“DLCX”、“AUEP ”、“AUCX”、“ RSIP ” ;所述媒体连接协商报文的识别规则为报文的载荷区内包括关键字“V =”、“c = IN” 和"m =”。其中所述提取模块302具体用于如果所述媒体连接协商报文载荷区首4字节为字母,从载荷区第6字节开始提取 事务ID,到出现空格为止;如果所述媒体连接协商报文载荷区首3字节为数字,从载荷区第 5字节开始提取事务ID,到出现空格为止;从字符串“c = IN”后第6字节开始提取媒体连接的IP地址,至出现ASSCII码 <CR>和<LF>符号为止;从字符串“m =”后的第一个空格开始提取媒体连接的端口号,至出现空格终止;从字符串“m =”后开始提取媒体连接的媒体类型,至出现空格终止。其中所述第二识别模块301具体用于如果所述媒体连接协商信息在所述控制连接对端匹配到具有相同事务ID的媒体 连接协商信息,则根据具有相同事务ID的媒体连接协商信息中的IP地址、端口号以及媒体 类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。可选的,如图4所示,所述装置还可以进一步包括第一配置模块401,用于为所述已建立的媒体连接配置老化时间;第一管理模块402,用于在所述已建立的媒体连接的老化时间内,如果所述媒体链 接没有报文传输,则删除所述已建立的媒体连接。可选的,如图5所示,所述装置还可以进一步包括第二配置模块,501用于如果所述媒体连接协商信息在所述控制连接对端未匹配 到具有相同事务ID的媒体连接协商信息,保存所述匹配失败的媒体连接协商信息,并配置 所述匹配失败的媒体连接协商信息的老化时间;第二管理模块502,用于在所述协商失败用户的媒体连接协商信息的老化时间内, 如果匹配到具有相同事务ID的媒体连接协商信息,则根据具有相同事务ID的媒体连接协 商信息中的IP地址、端口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。本发明提供的技术方案,在采用媒体网关控制协议条件下,一个控制连接上同时 进行多个媒体连接协商,能够识别出基于媒体网关控制协议的VoIP流量,且对深度报文检 测设备的部署位置没有特殊要求。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤是可以通过程 序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在 执行时,包括方法实施例的步骤之一或其组合。另外,在本发明各个实施例中的各功能单元可以采用硬件的形式实现,也可以采 用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
10
权利要求
1.一种基于媒体网关控制(MGCP)协议识别网络电话(VoIP)流量的方法,其特征在于, 包括根据MGCP协议的识别规则,通过匹配关键字,识别与控制连接相关的报文; 从所述与控制连接相关的报文中提取用于建立媒体连接的媒体连接协商信息; 根据所述媒体连接协商信息中的事务ID,对所述媒体连接协商信息进行匹配; 根据匹配结果,对基于MGCP协议的VoIP流量进行识别。
2.根据权利要求1所述的方法,其特征在于,所述与控制连接相关的报文包括控制连 接报文和媒体连接协商报文,所述MGCP协议的识别规则包括控制连接报文的识别规则和 媒体连接协商报文的识别规则;所述控制连接报文的识别规则为报文的载荷区内前4个字母为MGCP协议命令字符,且 在所述MGCP协议命令字符之后有“MGCP”关键字,其中所述MGCP协议命令字包括“EPCF”、 “ RQNT ”、“NTFY”、“ CRCX”、“MDCX”、“DLCX”、“AUEP ”、“AUCX”、“ RSIP ” ;所述媒体连接协商报文的识别规则为报文的载荷区内包括关键字“ν =”、“c = IN”和 "m =”。
3.根据权利要求1或2所述的方法,其特征在于,所述媒体连接协商信息是从媒体连接 协商报文中提取的,其中所述媒体连接协商信息还包括IP地址、端口号和媒体类型,具体 包括如下步骤如果所述媒体连接协商报文载荷区首4字节为字母,从载荷区第6字节开始提取事务 ID,到出现空格为止;如果所述媒体连接协商报文载荷区首3字节为数字,从载荷区第5字 节开始提取事务ID,到出现空格为止;从字符串“c = IN”后第6字节开始提取媒体连接的IP地址,至出现ASSCII码<CR> 和<LF>符号为止;从字符串“m =”后的第一个空格开始提取媒体连接的端口号,至出现空格终止; 从字符串“m =”后开始提取媒体连接的媒体类型,至出现空格终止。
4.根据权利要求3所述的方法,其特征在于,所述根据匹配结果,对基于MGCP协议的 VoIP流量进行识别具体包括如果所述媒体连接协商信息在所述控制连接对端匹配到具有相同事务ID的媒体连接 协商信息,则根据具有相同事务ID的媒体连接协商信息中的IP地址、端口号以及媒体类 型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括 为所述已建立的媒体连接配置老化时间;在所述已建立的媒体连接的老化时间内,如果所述媒体链接没有报文传输,则删除所 述已建立的媒体连接。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括如果所述媒体连接协商信息在所述控制连接对端未匹配到具有相同事务ID的媒体连 接协商信息,保存所述匹配失败的媒体连接协商信息,并配置所述匹配失败的媒体连接协 商信息的老化时间;在所述协商失败用户的媒体连接协商信息的老化时间内,如果匹配到具有相同事务ID 的媒体连接协商信息,则根据具有相同事务ID的媒体连接协商信息中的IP地址、端口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。
7.根据权利要求6所述的方法,其特征在于,所述匹配失败的媒体连接协商信息是通 过动态内存进行存储的。
8.一种基于MGCP协议识别VoIP流量的装置,其特征在于,包括第一识别模块,用于根据MGCP协议的识别规则,通过匹配关键字,识别与控制连接相 关的报文;提取模块,用于从所述与控制连接相关的报文中提取用于建立媒体连接的媒体连接协 商信息;匹配模块,用于根据所述媒体连接协商信息中的事务ID,对所述媒体连接协商信息进 行匹配;第二识别模块,用于根据匹配结果,对基于MGCP协议的VoIP流量进行识别。
9.根据权利要求7所述的装置的,其特征在于,所述提取模块具体用于如果所述媒体连接协商报文载荷区首4字节为字母,从载荷区第6字节开始提取事务 ID,到出现空格为止;如果所述媒体连接协商报文载荷区首3字节为数字,从载荷区第5字 节开始提取事务ID,到出现空格为止;从字符串“c = IN”后第6字节开始提取媒体连接的IP地址,至出现ASSCII码<CR> 和<LF>符号为止;从字符串“m =”后的第一个空格开始提取媒体连接的端口号,至出现空格终止;从字符串“m =”后开始提取媒体连接的媒体类型,至出现空格终止。
10.根据权利要求9所述的装置,其特征在于,第二识别模块具体用于如果所述媒体连接协商信息在所述控制连接对端匹配到具有 相同事务ID的媒体连接协商信息,则根据具有相同事务ID的媒体连接协商信息中的IP地 址、端口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配置的连接表中。
11.根据权利要求9所述的装置,其特征在于,还包括第一配置模块,用于为所述已建立的媒体连接配置老化时间;第一管理模块,用于在所述已建立的媒体连接的老化时间内,如果所述媒体链接没有 报文传输,则删除所述已建立的媒体连接。
12.根据权利要求9或10所述的装置,其特征在于,所述装置还包括第二配置模块。用于如果所述媒体连接协商信息在所述控制连接对端未匹配到具有相 同事务ID的媒体连接协商信息,保存所述匹配失败的媒体连接协商信息,并配置所述匹配 失败的媒体连接协商信息的老化时间;第二管理模块,用于在所述协商失败用户的媒体连接协商信息的老化时间内,如果匹 配到具有相同事务ID的媒体连接协商信息,则根据具有相同事务ID的媒体连接协商信息 中的IP地址、端口号以及媒体类型,建立媒体连接,并将所述媒体连接增加到预先配置的 连接表中。
全文摘要
本发明提供一种基于媒体网关控制协议识别网络电话流量的方法和装置,涉及通信领域。所述方法,包括根据MGCP协议的识别规则,通过匹配关键字,识别与控制连接相关的报文;从所述与控制连接相关的报文中提取用于建立媒体连接的媒体连接协商信息;根据所述媒体连接协商信息中的事务ID,对所述媒体连接协商信息进行匹配;根据匹配结果,对基于MGCP协议的VoIP流量进行识别。
文档编号H04M7/00GK102064994SQ200910223389
公开日2011年5月18日 申请日期2009年11月18日 优先权日2009年11月18日
发明者巩玉良 申请人:中兴通讯股份有限公司