一种基于对称型NAT的VoIP语音监听方法及系统的制作方法

文档序号:9380264阅读:301来源:国知局
一种基于对称型NAT的VoIP语音监听方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种语音监听的技术领域,特别是涉及一种基于对称型网络地址转换(Network Address Translat1n, NAT)的网络电话(Voice over Internet Protocol,VoIP)语音监听方法及系统。
【背景技术】
[0002]在现有的Internet网络环境中,大多数设备都处于防火墙或NAT之后。在进行P2P通信之前,需要进行检测以确认设备之间能否进行P2P通信以及如何通信。这种技术称为NAT穿透(NAT Traversal)。最常见的NAT穿透是基于UDP的技术,而VoIP通话大多采用会话发起协议(Sess1n Initiat1n Protocol,SIP)UDP 技术。
[0003]NAT对待UDP的实现方式有4种,当通信双方处于非对称型NAT,即完全锥形NAT (Full Cone NAT)、限制锥形 NAT (Restricted Cone NAT)、端口限制锥形 NAT (PortRestricted Cone NAT)时,采用STUN方案实现P2P通话;当通信双方处于对称型NAT (Symmetric NAT)时,采用TURN方案,即中继模式,实现NAT会话穿透。
[0004]大多数情况下,设备处于NAT之后,而且设备本身并不知道NAT的类型,以及NAT后的公网地址。在通话之前,通信双方会通过STUN/TURN服务器进行公网地址收集,并且进行一系列的连通性检查。如果通信双方或者一方处于对称型NAT之后,通信双方只有通过中继服务器才能进行通话,即媒体流需要经过STUN/TURN服务器进行中转。
[0005]监听方可以直接接入Internet,也可以处于某种NAT之后。SIP服务器除了处理SIP消息之外,还需要对被监听方进行权限设置。监听方在发起邀请(invite)之前,需要和STUN/TURN服务器进行报文交互,收集公网地址并记录在SDP消息里。当SIP服务器收到了被监听方发起的invite请求,先向被监听方回复480,然后告知STUN/TURN服务器监听方和被监听方的IP地址。被监听方收到480后,重新进行地址收集,在与STUN/TURN服务器的报文交互中,STUN/TURN服务器将监听方的公网IP地址发送给被监听方,而不是STUN/TURN服务器的本地地址。被监听方收集完地址后,再次向SIP服务器发送invite报文,SIP服务器查找数据库后进行转发,通信对方的流程和被监听方一样。这样双方在进行连通性检查的时候,将中继的服务器地址指向了监听方,监听方获取了被监听方的通话内容,实现了呼叫监听。
[0006]目前,大多数VoIP监听方法都是基于P2P通信的,即通信双方或者直接接入Internet,或者处于非对称型NAT之后。
[0007]如专利申请号为200910088577.1、发明名称为《一种互联网协议语音呼叫的监听方法及设备》的中国发明专利公开一种互联网协议语音VoIP呼叫的监听方法,包括:会话初始协议SIP服务器接收第一客户端发送的对第二客户端的监听请求,所述第二客户端与第三客户端之间建立有VoIP语音呼叫;SIP服务器根据所述监听请求,向第二、第三客户端分别发送第一媒体更新请求,所述第一媒体更新请求用于指示第二、第三客户端将所述VoIP语音呼叫的媒体目的地址修改为所述第一客户端;SIP服务器接收第二、第三客户端返回的携带有各自媒体接收地址的响应报文,从所述响应报文中获取第二、第三客户端的媒体接收地址,并向所述第一客户端发送包含有第二、第三客户端的媒体接收地址的报文。
[0008]再如申请号为201110206729.0、发明名称为《V0IP电话监听系统及监听方法》的中国发明专利公开一种VOIP电话监听系统,包括:监听端VOIP网关,用于提供监听权限表,将通过注册验证后的电话号码添加至监听权限表中,当需要利用监听权限表中的某个电话号码作为监听号码时,利用该号码向被监听端VOIP网关发送监听请求;被监听端VOIP网关,用于接收监听端VOIP网关发送来的监听请求,建立监听连接;所述监听端VOIP网关包括:监听号码注册模块,用于建立监听权限表,对有监听需求的电话号码进行验证,验证通过后,将其添加至监听权限表中,使其获得监听权限;监听请求发送模块,用于判断呼叫号码是否具有监听权限,如果有监听权限则向被监听端VOIP网关发送监听请求,如果无监听权限则不予处理;外线监听服务模块:用于将需要使用监听服务的外线号码与监听权限表中具有监听权限的电话号码建立映射关系,并在外线号码发起监听请求时,以映射关系中对应的具有监听权限的电话号码作为主叫号码请求监听;和/或超时注销模块:对监听权限表中的电话号码进行计时监控,若某个电话号码从获得监听权限开始一定时间内仍未使用,则注销该电话号码的监听权限。
[0009]然而,现有的VoIP监听方法一般都是在核心控制方,在核心控制方设置监听处理装置,虽然不会增加网络复杂度,但会增加核心控制方的负载和复杂度,也会增加成本投入。还有一些方法通过发送SIP信令的方式改变设备媒体通信端口,将语音媒体流导向监听设备,虽然不会增加SIP服务器的负载,但在通话过程中突然改变通信端口,容易被察觉;而且当被监听方处于对称型NAT的环境下时,改变通信端口是无法将媒体流导向监听设备的。

【发明内容】

[0010]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于对称型NAT的VoIP语音监听方法及系统,被监听设备处于对称型NAT之后,只需在VoIP服务器和STUN/TURN服务器之间进行两次报文交互,既不改变被监听设备的信令流程,也无需在STUN/TURN服务器上增加额外装置,即可实现VoIP语音监听,而且不会被察觉。
[0011]为实现上述目的及其他相关目的,本发明提供一种基于对称型NAT的VoIP语音监听系统包括VoIP服务器、作为被监听设备的SIP客户端、STUN/TURN服务器和监听设备;所述STUN/TURN服务器用于与所述SIP客户端进行两次STUN报文交互,反馈地址信息至所述SIP客户端;其中,第一次STUN报文交互时,反馈所述SIP客户端NAT之后的地址信息以及所述STUN/TURN服务器的地址信息至所述SIP客户端;第二次STUN报文交互时,反馈所述监听设备的地址信息至所述SIP客户端;所述SIP客户端用于将两次与STUN/TURN服务器进行STUN报文交互所获取的地址信息分别封装在SDP报文里,向VoIP服务器发出第一邀请请求和第二邀请请求;所述VoIP服务器用于配置SIP客户端的监听权限列表,根据接收到的所述第一邀请请求查看所述监听权限列表,在判断所述SIP客户端需要被监控时,通知所述STUN/TURN服务器启动监听流程,并将所述监听设备的地址信息和所述SIP客户端NAT之后的地址信息发送至所述STUN/TURN服务器;根据接收到的所述第二邀请请求,与所述SIP客户端进行SIP信令交互来实现连通性检查;所述监听设备用于作为所述SIP客户端的VoIP语音流的中继服务器来进行监听。
[0012]根据上述的基于对称型NAT的VoIP语音监听系统,其中:所述地址信息包括IP地址和端口信息。
[0013]根据上述的基于对称型NAT的VoIP语音监听系统,其中:所述SIP客户端通过与所述STUN/TURN服务器进行STUN报文交互来收集所述SIP客户端NAT之后的地址信息以及所述STUN/TURN服务器的地址信息,并封装在SDP报文里,向所述VoIP服务器发出第一邀请请求。
[0014]根据上述的基于对称型NAT的VoIP语音监听系统,其中:所述SIP客户端通过与所述STUN/TURN服务器进行STUN报文交互来收集所述监听设备的地址信息,并封装在SDP报文里,向所述VoIP服务器发出所述第二邀请请求。
[0015]根据上述的基于对称型NAT的VoIP语音监听系统,其中:所述VoIP服务器采用SIP协议结构。
[0016]同时,本发明还提供一种基于对称型NAT的VoIP语音监听方法,包括以下步骤:
[0017]步骤S1、VoIP服务器设置SIP客户端的监听权限;
[0018]步骤S2、VoIP服务器接收SIP客户端发送来的第一邀请请求,所述第一邀请请求由SIP客户端与STUN/TURN服务器进行STUN报文交互所获取的SIP客户端NAT之后的地址信息以及STUN/TURN服务器地址信息封装在SDP报文中形成的;
[0019]步骤S3、VoIP服务器根据设置的SIP客户端的监听权限,判断所述SIP客户端需要被监控,并向所述SIP客户端发出反馈信息;
[0020]步骤S4、VoIP服务器通知STUN/TURN服务器启动监听流程,并将监听设备的地址信息和SIP客户端NAT之后的地址信息发送至STUN/TURN服务器;
[0021]步骤S5、VoIP服务器接收SIP客户端发送来的第二邀请请求,所述第二邀请请求由SIP客户端与STUN/TURN服务器进行STUN报文交互所获取的监听设备的地址信息封装在SDP报文中形成的;
[0022]步骤S6、VoIP服务器与SIP客户端之间进行SIP信令交互来实现连通性检查,使得监听设备作为SIP客户端的VoIP语音流的中继服务器来进行监听。
[0023]根据上述的基于对称型NAT的VoIP语音监听方法,其中:所述地址信息包括IP地址和端口信息。
[0024]根据上述的基于对称型NAT的VoIP语音监听方法,其中:所述步骤S3中,所述VoIP服务器向SIP客户端发出的反馈信息为响应状态码480。
[0025]根据上述的基于对称型NAT的VoIP语音监听方法,其中:所述VoIP服务器采用SIP协议结构。
[0026]根据上述的基于对称型NAT的VoIP语音监听方法,其中:所述监听设备的地址配置在所述VoIP服务器上。
[0027]如上所述,本发明的基于对称型NAT的VoIP语音监听方法及系统,具有以下有益效果:
[0028](I)不会增加额外的网络负担;
[0029](2)不会增加监听设备的负载;
[0030](3)既不用改变被监听设备的信令流程,也无需在服务器上增加额外装置,即可实现VoIP语音监听,而且不会被察觉;
[0031](4)VoIP语音监听过程从语音发起即被执行,通话过程中不会更改媒体信息。
【附图说明】
[0032]图1显示为本发明的基于对称型NAT的VoIP语音监听系统的结构示意图;
[0033]图2显示为本发明的基于对称型NAT的VoIP语音监听方法的流程图;
[0034]图3显示为本发明的基于对称型NAT的VoIP语音监听方法的框架结构示意图。
[0035]元件标号说明
[0036]I VoIP 服务器
[0037]2 SIP 客户端
[0038]3 STUN/TURN 服务器
[0039]4监听设备
【具体实施方式】
[0040]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[004
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1