发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种网络监听处理方法及***。
本发明的目的是通过以下技术方案实现的:
一种网络监听处理***,包括核心控制方和监控方,
所述核心控制方包括核心控制装置和监听处理装置,所述监听处理装置用于读取监控方的监听指令,确定与监听指令匹配的信令流,并将该信令流对应的数据流发送至监控方进行监听;
所述监控方包括:
监听指令发送模块,用于向核心控制方发送监听指令。
所述监听处理装置包括:
监听模块,用于监听进出核心控制方的信令流,并在分析处理模块的控制下监听数据信息;
分析处理模块,用于接收监控方的监听指令,并控制监听模块对与监听指令匹配的数据流进行监听,并将被监听的数据流发送至通讯模块;
通讯模块,用于接收监控方的监听指令并将指令发送至分析处理模块,并将分析处理模块和监听模块监听到的数据流发送至监控方;
所述核心控制装置用于为通信方转发信息;
所述监控方还包括:
监听数据接收模块,用于接收所监听到的信令流和数据流数据。
所述监听处理装置设置于所述核心控制装置内,或与所述核心控制装置相互独立。
所述监控方与核心控制方直接相连,或设置于VOIP网络中的其他位置,通过信息转发与核心控制方间接相连。
一种网络监听处理方法,包括:
根据监听指令确定与监听指令匹配的信令流,将发送该信令流的通信方确定为监听对象;
向监听对象发送数据信息获取消息,实现对监听对象所发送的数据信息的监听。
在所述根据监听指令确定与监听指令匹配的信令流之前还包括:
在通信方进行信令流交互时接收通信方的信令流;
根据监听指令对信令流进行检测。
所述向监听对象发送数据信息获取消息,实现对监听对象所发送的数据信息的监听的方法包括:
在确定监听对象后,向通信方发送数据信息获取消息,所述数据信息获取消息中包含监听地址;
通信方接收到所述数据信息获取消息,并按照所述数据信息获取消息中的监听地址发送数据信息,实现对通信方数据信息的监听。
在实现对通信方数据信息进行监听后,将被监听的数据信息转发至与监听对象进行通信的其他通信方,使各通信方之间继续进行通信。
所述对监听对象进行监听时,还对与监听对象进行通信的其他通信方进行监听。
所述的数据信息为流媒体信息。
由上述本发明提供的技术方案可以看出,本发明通过在核心控制方中设置监听处理装置代替会话边界控制器对通信方进行监听,由于监听处理装置设置于网络的核心控制方,其设置方法简单易行,不增加网络复杂度;本发明保持VOIP网络原有的基本结构,避免增加网络安全风险、不会大量增加成本投入。
具体实施方式
本发明的核心是根据监听指令确定与监听指令匹配的信令流,将发送该信令流的通信方确定为监听对象;向监听对象发送数据信息获取消息,实现对监听对象所发送的数据信息的监听。
具体一点讲,本发明在多个通信方之间数据传输关系建立后,向被监控的通信方发送地址信息为监控方地址的数据信息获取消息;通信方数据信息获取消息中的地址信息发送数据信息,实现对数据信息的监听。本发明中通信方传输的数据信息包括媒体流信息。
本发明通过监听通信方的信令流来确定通信方是否为监听对象,其过程包括:
在通信方进行信令流交互时接收通信方的信令流;
获取监听指令并根据监听指令对信令流进行检测,确定通信方是否为监听对象,并向监控方发送通告消息。
核心控制方在确认通信方是否为监听对象后将信令流转发至监控方,以便监控方继续对信令流进行处理。
本发明在对信令流进行分析后对作为监听对象的通信方进行监听,其过程包括:
向被监控的通信方发送数据信息获取消息,该数据信息获取消息的地址信息为用于接收被监听数据的监听地址;
通信方按照数据获取消息中的地址信息发送数据信息,***实现对通信方的监控。
本发明的监控方在对通信方进行监听时,所述监控方还在接收数据信息后将其发送至与被监控的通信方进行通信的其他通信方,确保通信方之间的通信继续进行。
此外,本发明在对监听对象进行监听时,还对与监听对象进行通信的其他通信方进行监听。
下面将结合本发明具体实施例附图对本发明作详细说明。
结合图5、图6,本发明实施例一对VOIP通话的监听流程包括:
步骤1、在通信方A与通信方B建立VOIP通话的过程中,首先通信方A向核心控制方发送邀请(Invite)消息,请求与通信方B进行通信;
步骤2、核心控制方接收到A的Invite消息,使其进入核心控制方后进入监听处理装置;
进入监听处理装置的Invite消息首先进入监听处理装置的监听模块,然后再由监听模块进入分析处理模块;
分析处理模块中已经预先接收了监控方C的指令,分析处理模块根据监控方C的指令对所接收的信令流进行分析,检测信令流的发送方是否符合监控方C的监控要求:
若发现通信方A是符合监控方C的监控要求,则确定通信方为被监听对象,并将通信方A的Invite消息由分析处理模块发送至通讯模块,再由通讯模块发送至监控方C;
若通信方A不符合监控方C的监控要求,同样将A的Invite消息转发给监控方C,对A的信令流进行监控,而不对媒体流进行监控;
步骤3、通信方A的Invite消息不仅被发送至监控方C,还被核心控制装置按照正常的流程转发至通信方B;
步骤4、通信方B在接收到通信方A的Invite消息后向核心控制方回复回铃(Ringing)消息;
步骤5、核心控制方中的核心控制装置将Ringing消息转发给通信方A;
步骤6、核心控制方中的监听处理装置将Ringing消息转发给监控方C,这样经过步骤5和步骤6,通信方B回复的回铃消息被分别发送至通信方A和监控方C;
步骤7、当通信方B摘机后,通信方B向核心控制方发送200OK消息;
步骤8、核心控制方将200OK消息转发给通信方A;
步骤9、核心控制方中的监听处理装置将200OK消息转发给监控方C,这样经过步骤8和步骤9,通信方A和监控方C均接收到200OK消息;
步骤10、通信方A收到核心控制方转发来的200OK消息后,发送确认(ACK)确认消息给核心控制装置;
步骤11、核心控制方中的核心控制装置将ACK消息转发至通信方B;
步骤12、核心控制方中的监听处理装置将ACK消息转发至监控方C;
经过以上各步骤,作为监听对象的通信方A与通信方B已经完成信令流的交互,进入媒体流传输状态;
本发明对监听对象通信方A与通信方B的通信过程中对媒体流进行监听,其具体步骤如下:
步骤13、在通信方A和通信方B完成信令流交互后,通信方A和通信方B开始传输媒体流;
在通信方A和通信方B进行媒体流传输的过程中,监控方C向通信方A发送数据信息获取消息,本实施例中的数据信息获取消息为Invite消息,所述Invite消息与通信方A向通信方B发送的Invite消息基本相同,其不同之处在于消息中的c字段的媒体地址填写用于接收监听数据的监听地址而不是通信方B的地址,本实施例中的监听地址为监控方C的地址,还可以为其他地址;
步骤14、监控方C向通信方B发送Invite消息,所述Invite消息与通信方A向通信方B发送的Invite消息基本相同,其不同之处在于消息中的c字段填写为用于接收监听数据的监听地址而不是A的地址,本实施例中的监听地址为监控方C的地址,还可以为其他地址。
步骤15、通信方A收到监控方C发出的Invite消息之后,向核心控制方回复一个200OK消息,用以向B确认已接收到Invite消息;
步骤16、核心控制方通过其内部的监听处理装置将该消息发送给监控方C,这是由于该200OK消息是对监控方C的响应,并不是对核心控制方本身所发起的消息的响应;
步骤17、监控方C收到所述200OK消息后向通信方A回复一条ACK消息,确认收到通信方A的200OK消息;
步骤18、通信方B收到监控方C发出的Invite消息之后,向核心控制方回复一个200OK消息,用以确认通信方B已接收到Invite消息;
步骤19、核心控制方不对所述200OK消息进行处理,而是通过监听处理装置将该消息发送给监控方C,这同样是由于该200OK消息是对监控方C的响应,并不是对核心控制方本身所发起的消息的响应;
步骤20、监控方C收到所述200OK消息后向通信方B回复一条ACK消息,确认收到通信方B的200OK消息;
经过以上各步骤,通信方A与通信方B间的媒体流已经建立起新的连接,通信方A发给通信方B的媒体流首先被发送至监控方C,再由监控方C将媒体流转发至通信方B;通信方B发送给通信方A的媒体流也先被发送至监控方C,再由监控方C转发至通信方A。这样便既实现了通信方A与通信方B间数据的传输,又能由通信方C对通信方A与通信方B间传输的数据进行监听;
步骤21、通话结束后,通信方A向核心控制方发送中止(BYE)消息,因为BYE消息中只含有通信方A的相关信息,而且监控方C发送的重新要求(Re-invite)消息并没有改变这次通话的相关信令信息,所以核心控制装置接收这个BYE消息;
步骤22、核心控制方向通信方B转发BYE消息;
步骤23、核心控制方中的监听处理装置向监控方C转发BYE消息;
步骤24、通信方B收到步骤22中核心控制方向其转发的BYE消息后向核心控制装置回应200OK消息;
步骤25、核心控制方向通信方A转发所述200OK消息;
步骤26、核心控制方的监控处理装置向监控方C转发所述200OK消息,通信方A与通信方B间的通信结束,对其通信的监听也相应结束。
如图7所示为本发明实施例二所述的一种网络监听处理***,其包括监控方和核心控制方。
所述本实施例中的核心控制方除与监控方相连外,还与多个通话方相连;
所述核心控制方包括核心控制装置和监听处理装置,所述监听处理装置又包括监听模块、分析处理模块以及通讯模块。
所述控制方包括监听指令发送模块和监听信息接收模块。
所述监听处理装置用于读取监控方的监听指令,确定与监听指令匹配的信令流,并将该信令流对应的数据流发送至监控方进行监听;
所述监听处理装置包括:
监听模块,用于监听进出核心控制方的信令流,并在分析处理模块的控制下监听数据信息;
分析处理模块,用于接收监控方的监听指令,并控制监听模块对与监听指令匹配的数据流进行监听,并将被监听的数据流发送至通讯模块;
通讯模块,用于接收监控方的监听指令并将指令发送至分析处理模块,并将分析处理模块和监听模块监听到的数据流发送至监控方;
所述核心控制装置用于为通信方转发信息;
所述监控方包括:
监听指令发送模块,用于向核心控制方发送监听指令;
监听数据接收模块,用于接收所监听到的信令流和数据流数据。
本发明实施例二所示***进行监听工作的过程如下:
在多个通信方进行信令流交互之前或交互过程中,监控方中的监听指令发送模块向核心控制方发送监听指令,所述监听指令通过通讯模块的转发被分析处理模块接收。
当多个通信方进行信令流交互时,核心控制方的核心控制装置将一个通信方的信令流转发之与其建立通信关系的其他通信方;
同时核心控制方的监听处理模块监听通信方的全部信令流,并将其发送至分析处理模块;
分析处理模块已经接收了监听指令,因此分析处理模块根据监听指令的要求分析所监听到的信令流,确定发送信令流的通信方是否符合监控方的监控要求;
分析处理模块在确定发送信令流的通信方是否为被监控方后,将所述信令流通过通讯模块发送给监控方,供监控方继续进行其他处理。
当确定通信方为监听对象后,监控方在通信方进行媒体流传输时通过核心控制方向通信方发送邀请(Invite)消息,Invite消息中的地址信息为监控方的地址;
通信方收到该Invite消息后将媒体流发送至监控方,由监控方对媒体流进行监听;
监控方不仅对媒体流进行监听,还将媒体流转发至与监听对象进行通信的其他通信方,保持原有的通信不会中断。
当通信方停止通信时,监控方亦停止对通信方的监听。
此外,所述监听处理装置设置于所述核心控制装置内,或与所述核心控制装置相互独立。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。