专利名称:实现私网视讯终端穿越防火墙的方法和系统的制作方法
技术领域:
本发明涉及视频通信领域,尤其是通过扩展H.323协议的消息实现私网视讯终端穿越防火墙的方法和系统。
背景技术:
在传统的互联网或者公网上的基于H.323的视讯终端之间建立信令和媒体信道一般是这样进行的参看图1,图1中的9和9’是两个公网视讯终端,当公网视讯终端9要向9’进行视频通信的时候,遵守H.323协议,公网视讯终端9先利用标准的RAS向网守(GK)3注册,网守直接向公网视讯终端9返回公网视讯终端9’的IP地址,然后公网视讯终端9就向公网视讯终端9’利用标准H.323流程发接入请求(ARQ),公网视讯终端9’向公网视讯终端9返回一个接入确认(ACF),然后公网视讯终端9就向公网视讯终端9’发SETUP,这样就建立公网视讯终端9和公网视讯终端9’之间的通信信道。这是公网中的情况。但在公网的视讯终端和私网的视讯终端之间进行视频通信的时候,情况就复杂了。在企业内部局域网(私网)7与INTERNET(公网)5连接处,通常设置网络地址转换/防火墙(NAT/FW)6设备。该设备集成防火墙和网络地址转换(NAT)功能,一方面可保护企业内网的主机受到外部数据的恶意攻击,另一方面也可以实现内部局域网络对有限公网地址的有效利用。由于现有的大多数NAT/FW设备不支持H.323协议栈,当传统的视频终端设备位于私网内部时,其通信数据流无法穿越NAT/FW设备。也就是说,不能进行从私网的视讯终端到公网的视讯终端的视频通信。
解决这一问题可以升级NAT/FW设备,使其支持H.323协议栈,即使NAT/FW能够识别RAS、H.225和H.245信令,同时需要手工配置或由NAT/FW自动打开部分端口。这种方式虽然可解决私网内的视频终端通信数据流穿越NAT/FW,但是需要升级改造现有的NAT/FW,且容易带来网络安全隐患。目前只有少量的NAT/FW设备支持H.323协议栈,如Cisco的PIX、华为的Eudemon等。
发明内容
本发明的目的是提供一种无需升级现有的NAT/FW设备即可实现私网视讯终端穿越防火墙的方法和系统,从而消除了升级现有的NAT/FW设备所带来的安全后患。
本发明的解决方案是一种在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,包括对H.323协议进行扩展,在公网上增加视讯网关,并对通信网络上的网守(GK)和视讯终端升级以便支持扩展的H.323协议;网守(GK)判断将要通信的双方终端是否有至少一方为私网视讯终端,当有至少一方为私网视讯终端时,不直接在将要通信的双方之间建立信令和媒体信道,而是由视讯网关代替该至少一方私网视讯终端进行通信,再由视讯网关实现信令和媒体流的交换;当双方终端都位于公网时,按照H.323协议通信。
其中对H.323协议进行扩展是这样进行的新增媒体重定向指示消息(MRI),其作用是当重定向定时器超时后,私网视讯终端发送该消息以便转移接收媒体流的端口地址到视讯网关;新增H.245命令媒体端口请求(MPR)消息和媒体端口请求_确认(MPR_ACK)消息,分别用于对MRI消息的请求和应答;私网视讯终端与网守(GK)之间的RAS消息扩展,其中对RAS消息接入请求(ARQ)、信息请求(IRQ)和信息请求响应(IRR)中的NonStandardParameter的data域进行扩展,通知私网被叫终端进行回呼,将被叫转为主叫;视讯网关与网守(GK)之间的RAS消息扩展,其中对注册请求(RRQ)消息中NonStandardParameter域进行扩展,用于视讯网关向网守(GK)上报参数;H.225SETUP消息扩展,其中对setup消息的NonStandardParameter的data域进行扩展,用于表明该终端端口收敛的能力以及本次呼叫私网视讯终端做被叫还是主叫;支持H.245消息的隧道,在端口收敛时,要求H.225呼叫完成后,利用Q.931消息FACILITY消息的h323_uu_pdu的h245Control域封装H.245控制过程涉及的H.245控制消息。
其中网守(GK)判断将要通信的双方终端是否有至少一方为私网视讯终端的过程是私网内视讯终端利用标准的RAS向网守(GK)注册,网守(GK)根据视讯终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址一致与否,判断视讯终端所处的位置,即私网或公网。更具体地说,当视讯终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址一致时,判断视讯终端位于公网;当视讯终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址不一致时,判断视讯终端位于私网。
其中当判断出视讯终端位于私网时,视讯网关对端口进行收敛,使得将要通信的私网视讯终端所在的私网出口处的网络地址转换/防火墙(NAT/FW)只打开少量的端口。
本发明还包括一种在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的系统,包括至少一个私网视讯终端,支持扩展的H.323协议;网守(GK),支持扩展的H.323协议,它能够判断出将要通信的上述至少一个私网视讯终端;视讯网关,当判断出将要通信的上述至少一个私网视讯终端时,不直接在将要通信的双方之间建立信令和媒体信道,而是有视讯网关代替该至少一个私网视讯终端进行通信,再由视讯网关视讯信令和媒体流的交换;当判断出没有将要通信的上述至少一个私网视讯终端时,按照H.323协议通信。
其中该视讯终端包括下列模块呼叫控制模块,主要实现视讯网关与私网视讯终端/公网视讯终端之间点到点以及点到多点的呼叫的建立、删除以及媒体信道的建立和删除,其中私网视讯终端与位于公网或私网的其它视讯终端通信时,不直接建立呼叫、媒体信道,而是先用视讯网关代替私网视讯终端建立信道,再由视讯网关进行交换;媒体流交换模块,主要实现网关与私网视讯终端/公网视讯终端之间媒体信道上传送的信息的交换;媒体流重定向模块,它利用新增的媒体重定向指示消息(MRI)、新增的H.245命令媒体端口请求(MPR)消息和媒体端口请求_确认(MPR_ACK)消息转移私网视讯终端接收媒体流的地址;支持回呼功能模块,当私网视讯终端作为被叫终端进行通信时,网守(GK)通知该支持回呼功能模块等待和接受私网视讯终端回呼;支持扩展的H.225 Q.931消息的模块,支持扩展的SETUP消息,SETUP消息表明本次呼叫中私网视讯终端做被叫还是主叫以及是否采用端口收敛。
注册模块,完成向网守(GK)的注册功能。
该视讯终端包括下列接口R接口,它是私网视讯终端与视讯网关之间的参考点,其以标准的H.323协议为基础,同时扩展H.225消息SETUP,并新增H.245命令媒体端口请求(MPR)消息、媒体端口请求_确认(MPR_ACK)消息、媒体重定向指示消息(MRI);S接口,它是视讯网关与网守(GK)之间的参考点,以标准的RAS消息为基础,同时扩展RAS消息RRQ。
T接口,它是公网视讯终端与视讯网关之间的参考点,采用标准的H.323协议;U接口,它是视讯网关与多点控制单元(MCU)之间的参考点,采用标准的H.323协议;V接口,它是私网视讯终端与网守(GK)之间的参考点,以标准的RAS消息为基础,同时扩展RAS消息ARQ、IRQ和IRR,用于私网被叫视讯终端进行回呼。
在本发明中,先由网守判断将要通信的双方终端是否有一方为私网视讯终端,当有至少一方为私网视讯终端时,不直接在将要通信的双方之间建立信令和媒体信道,而是有视讯网关代替该至少一方私网视讯终端进行通信,再由视讯网关实现信令和媒体流的交换,而且,视讯网关对端口进行收敛,使得将要通信的私网视讯终端所在的私网出口处的网络地址转换/防火墙(NAT/FW)只打开少量的端口。通过视讯网关的作用实现了私网视讯终端穿越防火墙,而收敛端口保证了安全性,从而解决了现有技术中存在的问题。
图1是根据本发明利用H.323扩展实现私网视讯终端穿越防火墙的系统结构示意图;图2是根据本发明的私网视讯终端呼叫公网视讯终端的流程图;图3是公网视讯终端呼叫私网视讯终端的流程图;图4是根据本发明的视讯网关的示意图。
具体实施例方式
本发明的基本思想是对H.323协议进行扩展,该扩展方法将在下面详细介绍,然后对现有的视频通信网络上的GK和H.323视讯终端进行部分升级改造,这种升级改造只不过是使这些设备能够与下面所述的H.323协议的扩展兼容,它可以根据下面介绍的H.323协议的扩展的具体格式编程来进行,是本领域技术人员容易实现的,在这里不再赘述。本发明在公网上增加视讯网关,这样,在利用标准的H.323协议与位于公网的视讯设备进行通讯的同时,可支持扩展的H.323协议与位于私网内部的视讯终端进行通信,从而解决私网视讯终端穿越NAT/FW的问题。同时利用公网侧的视讯网关对端口进行收敛,使私网出口的NAT/FW只需打开少量的端口,实现私网安全穿越。
图1是根据本发明利用H.323扩展实现私网视讯终端穿越防火墙的系统结构示意图。图1包括一个用于对视讯网络的视讯业务进行管理的视讯业务管理系统1,其辖有多个多点控制单元(MCU)2,6是网络地址转换/防火墙(NAT/FW)。如图1所示,私网视讯终端1仍利用标准的RAS向GK3注册,但是GK3会根据终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址的一致与否,确定终端所处的位置,即私网7或公网5。具体地说,如果一致就是公网,如果不一致就是私网。私网视讯终端8和私网视讯终端8/公网视讯终端9之间进行通信时,GK会根据终端所处的位置返回不同的IP地址如有一方终端位于私网内,GK会向终端返回视讯网关4的地址,这样就不直接在终端之间建立信令和媒体通道,而是分别建立到视讯网关4的信令和媒体通道,再由视讯网关实现不同媒体信道间媒体流的交换;如各方均位于公网,则遵守原有的H.323标准流程,GK向终端返回对方终端的IP地址,直接在终端之间建立信令和媒体通道。
本发明对于H.323协议所作的扩展主要包括(1)新增MRI-媒体重定向指示消息当处于私网的H.323视讯终端呼叫建立后启动媒体流传输时,由于媒体通道是单向的,其媒体接收逻辑通道由于NAT设备的存在而无法正常接收到媒体数据,此时终端需要首先触发重定向定时器,在超时后,私网视讯终端将发送MRI消息,转移接收媒体流的端口地址。
MRI消息结构如下表10 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 标识 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 长度 | 类型|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 私网地址 |+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 私网端口|媒体种类 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 方向 |保留(62字节) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| …… |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 号码长度|号码......
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表1 MRI消息结构表说明标识固定填0x45434543长度重定向报文的字节数,不包括标识和长度字段;类型1-初始化,2-维持;私网地址私网视讯终端发送重定向报文使用的源IP地址;私网端口私网视讯终端发送重定向报文使用的源端口;媒体种类RTP图象=0x01RTCP图象=0x02RTP声音=0x03RTCP声音=0x04方向0-接收方向,1-发送方向;保留62字节保留字段,必须全部填0;号码长度私网视讯终端号码长度;号码私网视讯终端号码(IA5字符);(2)新增H.245命令MPR消息和MPR_ACK消息媒体端口请求(MPR)和媒体端口请求_确认(MPR-ACK)用于对MRI消息的请求和应答,返回网络侧的媒体流发送地址。私网视讯终端接收到MPR-ACK消息后,向返回的网络侧的媒体流发送地址发送MRI消息,以打通公网到私网的媒体接收逻辑通道。
MPR和MPR-ACK对H.245扩展,使用其中的NonStandard非标消息字段,对其中的manufacturerCode和data域进行重新定义,并利用data域中的类型,表明消息是MPR还是MPR_ACK。其结构如下NonStandardIdentifier ∷=CHOICE{object OBJECT IDENTIFIER,h221NonStandardSEQUENCE{t35CountryCodeINTEGER(0..255),-country,per T.35,固定填86t35Extension INTEGER(0..255),-assigned nationally,固定填1manufacturerCode INTEGER(0..65535)-assigned nationally}}其中MPR请求消息使用的manufacturerCode值为偶数,MPR_ACK响应消息都为奇数。
MPR的data域定义如下0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|标识 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|类型 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|保留 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表2 MPR的data域结构表说明标识固定填0x45434543;类型目前固定填0;保留4字节保留字段,填0;
MPR_ACK的data域定义如下0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|标识 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|类型 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 地址属性|端口号|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|IP地址|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|保留 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|保留 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表3 MPR_ACK的data域结构表说明标识固定填0x45434543类型目前固定为1;地址属性固定为2;端口号用于私网视讯终端发送重定向报文的目的端口号;IP地址用于私网视讯终端发送重定向报文的目的IP地址;保留8字节保留字段;(3)私网视讯终端与GK之间RAS消息扩展对RAS消息ARQ(许可请求)、IRQ(信息请求)和IRR(信息请求响应)中的NonStandardParameter的data域进行扩展,通知私网被叫终端进行回呼,将被叫转为主叫,解决私网被叫终端不能穿越FW的问题;其中NonStandardParameter的data字段的定义如下
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 扩展标示(变长)|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|…… |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|[参数长度]|[参数]...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表4 NonStandardParameter的data字段结构表其中的扩展标示域说明如下
表5 data字段的扩展标识域结构表相应的IRQ消息的扩展附加参数定义如下
表6 IRQ消息的扩展附加参数结构表(4)视讯网关与GK之间RAS消息扩展对RRQ(注册请求)消息中NonStandardParameter域进行扩展,用于关口设备向GK上报类型、带宽等参数;其中data字段定义如下0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 扩展标识 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 参数长度 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 关口设备类型 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 最大带宽 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 最大呼叫对数 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表7 RRQ消息扩展中的data字段结构表说明扩展标识此处固定为0x01;参数长度后面参数的长度,不包括自身;关口设备类型目前固定填0;最大带宽关口设备允许的最大带宽(双向),单位为100bits/s最大呼叫对数关口设备允许的最大呼叫数(双向)。
对ARJ消息中NonStandardParameter域进行扩展,用于通知关口设备等待私网视讯终端回呼。
其中data字段的定义如下0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|扩展标识(0x03000000) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 消息ID(0x0003) | 参数个数(2)|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 参数1ID(0x0004)| 参数1长度 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 被叫别名类型 | 被叫别名长度 | 被叫别名|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|…… |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 参数2ID(0x0001)| 参数2长度 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 主叫别名类型 | 主叫别名长度 | 主叫别名 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|…… |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表8 ARJ消息扩展中data字段结构表说明扩展标识固定为0x03000000消息ID固定为0x0003参数个数后面的参数个数,固定为2参数1ID参数1的标识,参数1为被叫别名,对应ID为0x0004;参数1长度参数1的长度,以字节为单位,不包含本字段;被叫别名类型0-E164,1-H.323ID被叫别名长度以字节为单位,不包含本字段被叫别名被叫别名参数2ID参数2的标识,参数2为主叫别名,对应ID为0x0001;参数2长度参数2的长度,以字节为单位,不包括本字段;主叫别名类型0-E164,1-H.323ID主叫别名长度以字节为单位,不包含本字段主叫别名主叫别名(5)H.225SETUP消息扩展对setup消息的NonStandardParameter的data域进行扩展,用于表明该终端端口收敛的能力以及本次呼叫私网视讯终端做被叫还是主叫。
其中data域定义如下
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 类型|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 长度|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| [参数]……+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+表9 setup消息扩展中data域结构表说明
表10 关于表9中参数的具体说明(6)支持H.245消息的“隧道”端口收敛时,要求H.225呼叫完成后,利用Q.931消息FACILITY消息的h323_uu_pdu的h245Control域封装H.245控制过程涉及的H.245控制消息。
在本发明中,对于视频终端的要求,主要是支持上述H.323扩展消息。对于GK的要求,首先需要支持上述H.323扩展消息。这些升级改造的方法在前面已经提到过了。同时,需要具备终端定位功能(该定位功能也可通过编程实现,属于本领域技术人员能够实现的内容),能够根据H.323信令中的IP地址与IP/TCP/UDP头中的IP地址的差异,判断终端是否位于NAT/FW的私网中,然后根据终端的位置进行呼叫路由选择,如初始呼叫中有私网视讯终端参与时,GK应当将呼叫路由到视讯网关,即返回视讯网关的呼叫信令地址;否则返回被叫的呼叫信令地址;当私网视讯终端做被叫时,GK利用扩展后RAS消息通知私网视讯终端进行回呼,将被叫转为主叫,从而解决私网视讯终端不能做被叫的问题。
下面介绍本发明的视讯网关,该视讯网关包括以下功能模块(1)呼叫控制模块主要实现网关与私网终端/公网终端之间点到点以及点到多点的呼叫的建立、删除以及媒体信道的建立和删除。私网终端与位于公网或私网的其它终端通信时,不直接与终端建立呼叫、媒体信道,而是分别与视讯网关建立呼叫、媒体信道,由视讯网关实现不同媒体信道上媒体信息间的交换,从而实现媒体信息的交互。
(2)媒体流交换模块主要实现网关与私网终端/公网终端之间媒体信道上传送的语音、视频信息的交换。私网视讯会议终端与其它终端通信时,视讯网关分别建立到各个视讯会议终端的呼叫、媒体信道,由视讯网关实现不同媒体信道上媒体信息的交换,从而实现媒体信息的交互。另外,视讯网关能利用端口收敛实现安全保障的FW穿透,端口收敛即受控的单向(私网->公网)的端口开放,在FW上为固定的端口开放到可信的IP地址。
(3)媒体流重定向模块由于媒体信道是单向的,私网终端无法穿越NAT/FW接收媒体流。视讯网关应支持媒体流重定向功能,即利用新增的重定向消息MRI、MPR和MPR-ACK转移私网终端接收媒体流的地址,使其能穿越NAT/FW接收媒体流。
(4)支持回呼模块视讯网关应支持回呼功能,即当私网终端作为被叫进行通信时,GK利用扩展的ARJ消息通知视讯网关的该支持回呼模块等待和接受私网终端回呼。
(5)支持扩展的H.225 Q.931消息的模块视讯网关应支持扩展的SETUP消息。SETUP用于表明本次呼叫私网终端做被叫还是主叫以及是否采用端口收敛。本规范要求网关默认支持端口收敛。
(6)注册模块视讯网关应完成向GK的注册功能,注册的流程采用扩展的H.323注册流程,在注册时上报视讯网关的类型、最大呼叫数、最大带宽等参数。
该网关设备应当具有以下接口,图4示出了这些接口与网络中各装置之间的关系。
R接口-私网终端与视讯网关之间的参考点,主要用于私网终端穿越NAT/FW,完成其与视讯网关之间的信令及媒体流的通信。以标准的H.323流程为基础,同时扩展H.225消息SETUP,并新增H.245命令消息MPR和MPR-ACK及MRI消息。
S接口-视讯网关与GK之间的参考点,主要用于GK对视讯网关设备的管理,以标准的RAS过程为基础,同时扩展RAS消息RRQ。
T接口-公网终端与视讯网关之间的参考点,主要用于公网终端完成与视讯网关之间的信令及媒体流通信。采用标准的H.323流程。
U接口-视讯网关与MCU之间的参考点,主要用于MCU与视讯网关之间的信令及媒体流的通信。采用标准的H.323流程。
V接口-私网终端与GK之间的参考点,以标准的RAS过程为基础,同时扩展RAS消息ARQ、IRQ和IRR,用于私网被叫终端进行回呼。
当然,该视讯网关也要支持上述H.323扩展消息。
本发明的优点是安全性较高、延时较小、有助于实施的统一性,便于视讯运营商的统一管理。NAT/FW只需打开有限的私网到公网的端口(TCP和UDP),安全性较高。H.323协议扩展方案适用于电信级的运营商解决方案,它便于运营商统一部署、统一管理。
下面就针对私网视讯终端呼叫公网视讯终端和公网视讯终端呼叫私网视讯终端的两个实施例来进一步说明本发明的实施。
实施例1私网视讯终端呼叫公网视讯终端的流程,如图2所示。
S1私网视讯终端8呼叫公网视讯终端9,使用ARQ向GK3请求接入;S2GK3判断出主叫终端是私网视讯终端8,在ACF中返回视讯网关4的地址;S3私网视讯终端8向视讯网关4发送扩展的SETUP消息,将扩展参数中的类型设置为2(从上面的表10中可以看出来,2表示主叫终端要求端口收敛),并启用H.245隧道方式(h245Tunneling设置为TRUE);S4视讯网关4回CALL PROCEEDING指示正在处理呼叫,并启用隧道方式(h245Tunneling设置为TRUE);S5视讯网关4向GK3发送被叫ARQ;S6GK3向视讯网关4回ACF允许被叫接入;S7视讯网关4回CONNECT建立呼叫连接,并设置h245Tunneling为TRUE;S8视讯网关4呼叫公网视讯终端9,向GK发接入请求ARQ;S9GK返回ACF允许接入,地址为公网视讯终端9;S10视讯网关4向公网视讯终端9发SETUP,采用标准的H.323流程建立H.225、H.245及媒体信道(图中省略了视讯网关4和公网视讯终端9之间后续的流程);S11私网视讯终端8使用Q.931FACILITY消息封装H.245TerminalCapabilitySet消息,开始H.245会话过程,后续的H.245消息都封装再FACILITY消息中传送;S12视讯网关4响应私网视讯终端8打开逻辑通道请求后形成私网视讯终端发送媒体流的逻辑通道(这里逻辑通道含义包括了终端用于发送媒体流的源地址、源端口、目的地址和目的端口,为描述方便,标识为lc1,端口收敛时视讯网关默认使用80端口);S13私网视讯终端8响应视讯网关4打开逻辑通道请求后形成私网视讯终端接收媒体流的逻辑通道lc2(该通道由于NAT设备的存在实际上不可用),并启动重定向计时器;S14私网视讯终端8在lc1上发送媒体流,发送方向可以顺利通过NAT设备;S15视讯网关4使用lc2向私网视讯终端8发送媒体流,该媒体流不能经过NAT设备到达终端,在NAT/FW处被拒绝;S16重定向定时器超时,开始媒体重定向过程,私网视讯终端8使用自身发送媒体流的通道lc1向公网网络侧发送媒体重定向指示(MRI),类型设置为初始化,方向设置为发送方向,也就是说,从表1的说明中可以看出,在MRI消息结构的“类型”字段为1,“方向”字段为1;S17私网视讯终端8通过新增H.245命令MPR(也封装在FACILITY中)请求视讯网关4的媒体流发送地址;S18视讯网关4使用MPR_ACK(也封装在FACILITY中)响应私网视讯终端8请求,返回视讯网关的媒体流发送地址。回过头看表3,表3中的端口号和IP地址就是用于私网视讯终端8发送重定向报文的端口号和IP地址,端口号默认值是80端口;S19私网视讯终端8向视讯网关4返回的媒体流发送地址(80端口)发送重定向报文,类型设置为初始化,方向设置为接收方向,从表1的说明中可以看出,在MRI消息结构的“类型”字段为1,“方向”字段为0。通过此步,形成新的逻辑通道lc2”;S20私网视讯终端8在发送重定向报文的源地址和源端口*1(也就是逻辑通道lc2”)后接收相应的媒体流;S21私网视讯终端8在接收媒体流的通道lc2”上定时(时间间隔建议为120秒)发送重定向报文,类型设置为维持,从表1可以看出,“类型”的值设置为2,方向设置为接收方向,从表1可以看出,“方向”的值设置为0。
实施例2公网视讯终端呼叫私网视讯终端的流程,如图3所示。
S1’公网视讯终端9呼叫私网视讯终端8,向GK3发接入请求;S2’GK3判断出被叫终端是私网视讯终端8,在ACF中返回视讯网关4的地址;S3’公网视讯终端9发SETUP呼叫视讯网关4,采用标准的H.323流程与视讯网关建立H.225、H.245及媒体信道(图中省略了公网视讯终端9和视讯网关4之间的后续流程);S4’视讯网关4为呼叫私网视讯终端8,向GK3发ARQ请求接入;S5’GK3判断出被叫终端是私网视讯终端8,向视讯网关4返回扩展ARJ,通知视讯网关4等待私网视讯终端8回呼,该扩展ARJ的data字段的格式如前面表8所示;S6’GK3通过IRQ扩展消息(扩展标识为call)请求私网视讯终端8发起呼叫,并携带需要私网视讯终端8呼叫的号码和带宽,如表5所示,此时扩展标识长度为4字节,有参数,如表6所述参数为呼叫带宽、主叫号码长度、主叫号码,就是在这些字段中携带需要私网视讯终端8呼叫的号码和带宽;S7’私网视讯终端8使用IRR扩展消息(从表5中看出,扩展标识为calling back ack,扩展标识长度为16,无参数)响应GK3请求;S8’私网视讯终端8使用扩展ARQ消息(从表5中看出,扩展标识为reverse originator)发起接入请求,ARQ中的被叫号码和带宽使用IRQ中携带的参数(ARQ中的callIdentifier与IRQ相同);S9’GK3回ACF允许接入,地址为视讯网关4;S10’私网视讯终端8向视讯网关4发送SETUP消息,将扩展参数中的类型设置为3(从表10可知,3代表私网视讯终端做被叫且要求端口收敛),并启用H.245隧道方式(h245Tunneling设置为TRUE);S11’以后的步骤后续流程参考实施例1中私网视讯终端呼叫公网视讯终端流程S4以后的步骤,这里不再赘述。
通过以上描述,就可以实施本发明的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法和系统,以及视讯网关。应当理解,上述说明仅是示例性的,而不是限制性的。本发明的范围仅由权利要求限定。本领域技术人员可以在不脱离本发明权利要求的精神和范围内作出各种修改和变例。
权利要求
1.一种在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,包括对H.323协议进行扩展,在公网上增加视讯网关,并对通信网络上的网守(GK)和视讯终端升级以便支持扩展的H.323协议;网守(GK)判断将要通信的双方终端是否有至少一方为私网视讯终端,当有至少一方为私网视讯终端时,不直接在将要通信的双方之间建立信令和媒体信道,而是由视讯网关代替该至少一方私网视讯终端进行通信,再由视讯网关实现信令和媒体流的交换;当双方终端都位于公网时,按照H.323协议通信。
2.根据权利要求1所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,其中对H.323协议进行扩展是这样进行的新增媒体重定向指示消息(MRI),其作用是当重定向定时器超时后,私网视讯终端发送该消息以便转移接收媒体流的端口地址到视讯网关;新增H.245命令媒体端口请求(MPR)消息和媒体端口请求_确认(MPR_ACK)消息,分别用于对MRI消息的请求和应答;私网视讯终端与网守(GK)之间的RAS消息扩展,其中对RAS消息接入请求(ARQ)、信息请求(IRQ)和信息请求响应(IRR)中的NonStandardParameter的data域进行扩展,通知私网被叫终端进行回呼,将被叫转为主叫;视讯网关与网守(GK)之间的RAS消息扩展,其中对注册请求(RRQ)消息中NonStandardParameter域进行扩展,用于视讯网关向网守(GK)上报参数;H.225SETUP消息扩展,其中对setup消息的NonStandardParameter的data域进行扩展,用于表明该终端端口收敛的能力以及本次呼叫私网视讯终端做被叫还是主叫;支持H.245消息的隧道,在端口收敛时,要求H.225呼叫完成后,利用Q.931消息FACILITY消息的h323_uu_pdu的h245Control域封装H.245控制过程涉及的H.245控制消息。
3.根据权利要求1所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,其中网守(GK)判断将要通信的双方终端是否有至少一方为私网视讯终端的过程是私网内视讯终端利用标准的RAS向网守(GK)注册,网守(GK)根据视讯终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址一致与否,判断视讯终端所处的位置,即私网或公网。
4.根据权利要求3所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,其中当视讯终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址一致时,判断视讯终端位于公网;当视讯终端发出的RAS消息中的地址与IP/TCP/UDP头中的IP地址不一致时,判断视讯终端位于私网。
5.根据权利要求1所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,其中当判断出视讯终端位于私网时,视讯网关对端口进行收敛,使得将要通信的私网视讯终端所在的私网出口处的网络地址转换/防火墙(NAT/FW)只打开少量的端口。
6.一种在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的系统,包括至少一个私网视讯终端,支持扩展的H.323协议;网守(GK),支持扩展的H.323协议,它能够判断出将要通信的上述至少一个私网视讯终端;视讯网关,当判断出将要通信的上述至少一个私网视讯终端时,不直接在将要通信的双方之间建立信令和媒体信道,而是由视讯网关代替该至少一个私网视讯终端进行通信,再由视讯网关视讯信令和媒体流的交换;当判断出没有将要通信的上述至少一个私网视讯终端时,按照H.323协议通信。
7.根据权利要求6所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的系统,其中扩展的H.323协议包括新增的媒体重定向指示消息(MRI),其作用是当重定向定时器超时后,私网视讯终端发送该消息以便转移接收媒体流的端口地址到视讯网关;新增的H.245命令媒体端口请求(MPR)消息和媒体端口请求_确认(MPR_ACK)消息,分别用于对MRI消息的请求和应答;私网视讯终端与网守(GK)之间的RAS消息的扩展,其中对RAS消息接入请求(ARQ)、信息请求(IRQ)和信息请求响应(IRR)中的NonStandardParameter的data域进行扩展,通知私网被叫终端进行回呼,将被叫转为主叫;视讯网关与网守(GK)之间的RAS消息的扩展,其中对注册请求(RRQ)消息中NonStandardParameter域进行扩展,用于视讯网关向网守(GK)上报参数;H.225SETUP消息的扩展,其中对setup消息的NonStandardParameter的data域进行扩展,用于表明该终端端口收敛的能力以及本次呼叫私网视讯终端做被叫还是主叫;H.245消息的隧道的支持,在端口收敛时,要求H.225呼叫完成后,利用Q.931消息FACILITY消息的h323_uu_pdu的h245Control域封装H.245控制过程涉及的H.245控制消息。
8.根据权利要求6所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的系统,其中当网守(GK)判断出视讯终端位于私网时,视讯网关对端口进行收敛,使得将要通信的私网视讯终端所在的私网出口处的网络地址转换/防火墙(NAT/FW)只打开少量的端口。
9.根据权利要求6所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的系统,其中该视讯终端包括下列模块呼叫控制模块,主要实现视讯网关与私网视讯终端/公网视讯终端之间点到点以及点到多点的呼叫的建立、删除以及媒体信道的建立和删除,其中私网视讯终端与位于公网或私网的其它视讯终端通信时,不直接建立呼叫、媒体信道,而是先用视讯网关代替私网视讯终端建立信道,再由视讯网关进行交换;媒体流交换模块,主要实现网关与私网视讯终端/公网视讯终端之间媒体信道上传送的信息的交换;媒体流重定向模块,它利用新增的媒体重定向指示消息(MRI)、新增的H.245命令媒体端口请求(MPR)消息和媒体端口请求_确认(MPR_ACK)消息转移私网视讯终端接收媒体流的地址;支持回呼功能模块,当私网视讯终端作为被叫终端进行通信时,网守(GK)通知该支持回呼功能模块等待和接受私网视讯终端回呼;支持扩展的H.225 Q.931消息的模块,支持扩展的SETUP消息,SETUP消息表明本次呼叫中私网视讯终端做被叫还是主叫以及是否采用端口收敛。注册模块,完成向网守(GK)的注册功能。
10.根据权利要求6所述的在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的系统,其中该视讯终端包括下列接口R接口,它是私网视讯终端与视讯网关之间的参考点,其以标准的H.323协议为基础,同时扩展H.225消息SETUP,并新增H.245命令媒体端口请求(MPR)消息、媒体端口请求_确认(MPR_ACK)消息、媒体重定向指示消息(MRI);S接口,它是视讯网关与网守(GK)之间的参考点,以标准的RAS消息为基础,同时扩展RAS消息RRQ。T接口,它是公网视讯终端与视讯网关之间的参考点,采用标准的H.323协议;U接口,它是视讯网关与多点控制单元(MCU)之间的参考点,采用标准的H.323协议;V接口,它是私网视讯终端与网守(GK)之间的参考点,以标准的RAS消息为基础,同时扩展RAS消息ARQ、IRQ和IRR,用于私网被叫视讯终端进行回呼。
全文摘要
本发明提供了一种在包括公网和私网的通信网络上实现私网视讯终端穿越防火墙的方法,包括对H.323协议进行扩展,在公网上增加视讯网关,并对通信网络上的网守(GK)和视讯终端升级以便支持扩展的H.323协议;网守(GK)判断将要通信的双方终端是否有至少一方为私网视讯终端,当有至少一方为私网视讯终端时,不直接在将要通信的双方之间建立信令和媒体信道,而是由视讯网关代替该至少一方私网视讯终端进行通信,再由视讯网关实现信令和媒体流的交换;当双方终端都位于公网时,按照H.323协议通信。本发明还提供了一种相关的系统。本发明消除了升级现有的NAT/FW设备所带来的安全后患。
文档编号H04L29/06GK1893426SQ20051008326
公开日2007年1月10日 申请日期2005年7月8日 优先权日2005年7月8日
发明者谭国权, 王琳, 支金龙 申请人:中国电信股份有限公司