CN100384168C - H.323系统的多媒体会话穿越nat设备的方法 - Google Patents

H.323系统的多媒体会话穿越nat设备的方法 Download PDF

Info

Publication number
CN100384168C
CN100384168C CNB200510022479XA CN200510022479A CN100384168C CN 100384168 C CN100384168 C CN 100384168C CN B200510022479X A CNB200510022479X A CN B200510022479XA CN 200510022479 A CN200510022479 A CN 200510022479A CN 100384168 C CN100384168 C CN 100384168C
Authority
CN
China
Prior art keywords
signaling
terminal
forwarding server
address
registrar
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.)
Expired - Fee Related
Application number
CNB200510022479XA
Other languages
English (en)
Other versions
CN1832437A (zh
Inventor
刘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CNB200510022479XA priority Critical patent/CN100384168C/zh
Publication of CN1832437A publication Critical patent/CN1832437A/zh
Application granted granted Critical
Publication of CN100384168C publication Critical patent/CN100384168C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

H.323系统的多媒体会话穿越NAT设备的方法,涉及一种IP通信方法,特别是涉及一种在NAT/Firewall环境中的H.323多媒体通信方法。本发明包括以下步骤:1)主叫终端向注册服务器发起包含主叫终端与被叫终端的号码信令;2)注册服务器返回的RAS(ACF)信令,3)主叫终端向转发服务器发送Q.931(Setup)信令;4)转发服务器向注册服务器发出两路RAS(ACF)信令,5)注册服务器向转发服务器返回两路RAS(ACF)信令,同时向被叫终端发出私有信令,6)主叫终端向转发服务器发出H.245信令;7)被叫终端建立RTP/RTCP媒体通道传输媒体流;8)转发服务器信令和媒体流。本发明可以在保障安全的基础上实现H.323系统的多媒体会话穿越NAT设备。

Description

H.323系统的多媒体会话穿越NAT设备的方法
技术领域
本发明涉及一种IP通信方法,特别是涉及一种在NAT/Firewall环境中的H.323多媒体通信方法。
背景技术
目前由于IPv4的公网地址资源匮乏,大多企事业单位与居民住宅区的网络都采用了私有地址,通过NAT/防火墙设备进行地址与端口的转换。
NAT/防火墙设备对HTTP等端口固定的一般应用协议只需要转换IP/TCP/UDP头即可很好的实现穿透,但对于在多媒体通信领域,国际上比较有影响的H.323系统来说,它是在控制信息中动态地协商媒体流端口的,信令协议里面的IP地址也是私有的,而私有IP地址在公网上是不能路由的,动态分配的端口为在NAT/防火墙上配置固定的包过滤策略带来了困难。
由于上述原因,H.323多媒体通信系统的普及受到了重大的阻碍。
发明内容
本发明所要解决的技术问题是,提供一种H.323系统的多媒体会话穿越NAT设备的方法,能够实现H.323系统多媒体通信无障碍的穿越NAT设备,克服现有技术的缺陷。
本发明解决所述技术问题采用的技术方案是,H.323系统的多媒体会话穿越NAT设备的方法,包括以下步骤:
1)主叫终端向注册服务器发起RAS(ARQ)信令,该信令中同时包含主叫终端与被叫终端的号码;
所述注册服务器包含各终端的注册信息;
2)注册服务器向主叫终端返回的RAS(ACF)信令,其中携带转发服务器的Q.931信令地址与端口;
3)主叫终端向转发服务器发送Q.931(Setup)信令,该信令中携带被叫终端的号码与转发服务器的Q.931地址与端口;
4)转发服务器收到Q.931(Setup)信令后,向注册服务器发出两路RAS(ARQ)信令,分别要求与主叫终端与被叫终端建立会话,同时转发服务器向主叫终端回应Q.931(Connect)信令,该信令携带转发服务器的H.245地址与端口;
5)注册服务器向转发服务器返回两路RAS(ACF)信令,同时向被叫终端发出私有信令,通知被叫终端呼叫转发服务器;
6)主叫终端收到Q.931(Connect)信令后,向转发服务器发出H.245信令,与之交互,直至建立RTP/RTCP媒体通道传输媒体流;
7)被叫终端收到了通知自己呼叫转发服务器的私有信令后,按参照前面第1)——6)步中主叫终端与注册服务器和转发服务器间的交互过程,建立RTP/RTCP媒体通道传输媒体流;
8)转发服务器将收到的来自主叫终端的信令和媒体流转发给被叫终端,将收到的来自被叫终端的信令和媒体流转发给主叫终端。
在各终端之间进行通信之前,各终端定期向注册服务器发送RAS注册包进行注册,RAS注册包的应用层与IP包头均包含了IP地址。注册服务器根据收到的RAS注册包的应用层与IP报头携带的IP地址是否相同,判断H.323终端处于公网还是私网:若相同则为公网,若不同则为私网。
在有私网终端参加的会话时,注册服务器向主叫终端与被叫终端均返回转发服务器的地址;在没有私网终端参加的会话时,注册服务器返回主叫或被叫终端的地址。
在转发服务器与私网终端之间建立RTP/RTCP通道的过程中,转发服务器在收到私网终端发出的打开通道请求回复后,采用所收到的打开通道请求回复信令携带的地址,发出打开通道请求回复。
本发明的有益效果是,不需要改造现有的NAT/防火墙设备,只需在小幅度改造H.323终端与注册服务器(即GK),并在局端设置专门的转发服务器,就可以在保障安全的基础上实现H.323系统的多媒体会话穿越NAT设备,从而为H.323多媒体通信系统的普及扫除阻碍。
以下结合具体实施方式和附图对本发明作进一步的说明。
附图说明
图1为自动判断终端公私网功能的实现的示意图。
图2为有私网终端参与的会话的流程图。
具体实施方式
本发明的实现分为两大功能模块:
(1)自动判断H.323多媒体终端处于私网还是公网;
(2)在局端设置专门的转发服务器,对来自或发向H.323多媒体终端的Q.931/H.245信令流与RTP/RTCP媒体流进行转发;该转发服务器主要具有类似于MCU的、同时建立多路会话的功能。
本发明实施的具体步骤是:
(1)H.323注册服务器(即GK)收到H.323终端定期发送的RAS注册包,收到的RAS注册包的应用层与IP包头均包含了IP地址:
当终端直接位于Internet时,应用层与IP包头包含的均是H.323终端的公网地址,二者相同;
当终端位于NAT设备背后时,应用层包含的是H.323终端的地址,IP包头包含的却是NAT设备的公网地址,二者不同;
H.323注册服务器(即GK)根据收到的RAS注册包的应用层与IP报头携带的IP地址是否相同,自动判断H.323终端处于公网还是私网。
(2)当一个H.323终端向另一个H.323终端发起呼叫时,按照含有GK的H.323系统中呼叫建立的标准流程,主叫终端首先会向H.323注册服务器(即GK)发起RAS(ARQ)信令,该信令中同时包含了主叫终端与被叫终端的号码,H.323注册服务器(即GK)根据这两个号码以及第1步中的信息得知两个终端分别处于公网还是私网;
(3)当两个终端中有不少于一个终端处于私网时,GK会在向主叫终端返回的RAS(ACF)信令中携带转发服务器的Q.931信令地址与端口;
当两个终端均处于公网时,GK会在向主叫终端返回的RAS(ACF)信令中携带被叫终端的Q.931信令地址与端口,后面就采用标准的H.323流程了,在此不作详述;
以下仅对两个终端中有不少于一个终端处于私网的情形进行叙述;
(4)主叫终端向转发服务器发送Q.931(Setup)信令,该信令中携带被叫终端的号码与转发服务器的Q.931地址与端口;
(5)转发服务器收到Q.931(Setup)信令后,向GK发出两路RAS(ARQ)信令,分别要求与主叫终端与被叫终端建立会话,同时转发服务器向主叫终端回应Q.931(Connect)信令,该信令携带转发服务器的H.245地址与端口;
(6)GK向转发服务器返回两路RAS(ACF)信令,同时向被叫终端发出私有信令,通知被叫终端呼叫转发服务器;
(7)主叫终端收到Q.931(Connect)信令后,向转发服务器发出H.245信令(包括主从判断、能力交换、打开通道等),与之交互,直至建立RTP/RTCP媒体通道传输媒体流;
(8)被叫终端收到了通知自己呼叫转发服务器的私有信令后,与GK和转发服务器进行类似于前面第2-7步中主叫终端与GK和转发服务器间的RAS/Q.931/H.245交互过程,直至建立RTP/RTCP媒体通道传输媒体流;
(9)转发服务器将收到的来自主叫终端的信令和媒体流转发给被叫终端,同时将收到的来自被叫终端的信令和媒体流转发给主叫终端。
本发明中的Q.931/H.245信令流采用TCP数据包格式。
本发明中的RTP/RTCP媒体流采用UDP数据包格式,该媒体流承载的内容可以包括但不限于语音、视频、文本数据等。
图1描述的是H.323注册服务器(即GK)自动判断H.323终端处于公网还是私网的功能。
本发明针对GK收到的RAS注册包进行分析,在GK端对H.323终端处于公网还是私网进行判断。
公网H.323终端发出RAS注册包,该包的IP包头与应用层地址均为H.323终端的地址(一般是公网地址)。这样,GK收到的来自公网终端的RAS注册包的IP包头与应用层地址也都是这样,二者是相同的。
私网H.323终端发出RAS注册包时,该包的IP包头与应用层地址均为H.323终端的地址(一般是私网地址),但经过NAT设备时,NAT设备会将该包的IP包头修改为NAT设备的地址。于是GK收到的来自私网H.323终端的RAS注册包,其IP包头是NAT设备的地址(一般是公网地址),而其应用层地址则是H.323终端的地址(一般是私网地址),二者是不同的。
利用上述特点,GK很容易就判断出H.323终端处于公网还是私网,并将该信息与H.323终端的号码对应起来。从而在终端之间进行会话时,参照该信息,进行下述智能判断:
在有私网终端参加的会话时,GK向主叫终端与被叫终端均返回转发服务器的地址;
在没有私网终端参加的会话时,GK向主叫终端(或被叫终端)返回被叫终端(或主叫终端)的地址。
如图2所示,描述的是有私网终端参与的会话中,系统的主要工作流程。该工作流程涵盖公网终端呼叫私网终端、私网终端呼叫公网终端、私有终端呼叫另一私网终端的情形。
特别的,本发明需要强调的部分是:
(1)当主叫终端发起呼叫时,它首先要向GK发出RAS(ARQ)信令,该信令中携带了主叫号码与被叫号码,GK从中读出主叫号码与被叫号码,如果二者中有一个对应网络类型是私网,GK就在向主叫终端返回的RAS(ACF)信令中携带转发服务器的Q.931地址;
(2)GK采用私有信令,通知被叫终端,告诉它将要加入一个有私网终端参与的会话,同时让其呼叫转发服务器;
(3)在转发服务器与私网终端之间建立RTP/RTCP通道的过程中,转发服务器必须在收到私网终端发出的打开通道请求回复(OpenLogicalChannelAck)后,再采用所收到的打开通道请求回复信令携带的地址,发出打开通道请求回复(OpenLogicalChannelAck),这样就利用了NAT设备能够记忆私网终端的私网地址与公网地址的映射关系的特性,从而有效避免从转发服务器发向私网终端的媒体流被NAT设备拦截,确保媒体流双向发送。
本文中,信令的两种表示方式含义一致,例如,Q.931-Setup与Q.931(Setup)含义相同。

Claims (5)

1.H.323系统的多媒体会话穿越NAT设备的方法,包括以下步骤:
1)主叫终端向注册服务器发起RAS-ARQ信令,该信令中同时包含主叫终端与被叫终端的号码;
所述注册服务器包含各终端的注册信息;
2)注册服务器向主叫终端返回的RAS-ACF信令,其中携带转发服务器的Q.931信令地址与端口;
3)主叫终端向转发服务器发送Q.931-Setup信令,该信令中携带被叫终端的号码与转发服务器的Q.931地址与端口;
4)转发服务器收到Q.931-Setup信令后,向注册服务器发出两路RAS-ARQ信令,分别要求与主叫终端与被叫终端建立会话,同时转发服务器向主叫终端回应Q.931-Connect信令,该信令携带转发服务器的H.245地址与端口;
5)注册服务器向转发服务器返回两路RAS-ACF信令,同时向被叫终端发出私有信令,通知被叫终端呼叫转发服务器;
6)主叫终端收到Q.931-Connect信令后,向转发服务器发出H.245信令,与之交互,直至建立RTP/RTCP媒体通道传输媒体流;
7)被叫终端收到了通知自己呼叫转发服务器的私有信令后,按参照前面第1)-6)步中主叫终端与注册服务器和转发服务器间的交互过程,建立RTP/RTCP媒体通道传输媒体流;
8)转发服务器将收到的来自主叫终端的信令和媒体流转发给被叫终端,将收到的来自被叫终端的信令和媒体流转发给主叫终端。
2.如权利要求1所述的H.323系统的多媒体会话穿越NAT设备的方法,其特征在于,各终端定期向注册服务器发送RAS注册包进行注册,RAS注册包的应用层与IP包头均包含了IP地址。
3.如权利要求2所述的H.323系统的多媒体会话穿越NAT设备的方法,其特征在于,注册服务器根据收到的RAS注册包的应用层与IP报头携带的IP地址是否相同,判断H.323终端处于公网还是私网:若相同则为公网,若不同则为私网。
4.如权利要求2所述的H.323系统的多媒体会话穿越NAT设备的方法,其特征在于,在有私网终端参加的会话时,注册服务器向主叫终端与被叫终端均返回转发服务器的地址;在没有私网终端参加的会话时,注册服务器返回主叫或被叫终端的地址。
5.如权利要求2所述的H.323系统的多媒体会话穿越NAT设备的方法,其特征在于,在转发服务器与私网终端之间建立RTP/RTCP通道的过程中,转发服务器在收到私网终端发出的打开通道请求回复后,采用所收到的打开通道请求回复信令携带的地址,发出打开通道请求回复。
CNB200510022479XA 2005-12-30 2005-12-30 H.323系统的多媒体会话穿越nat设备的方法 Expired - Fee Related CN100384168C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200510022479XA CN100384168C (zh) 2005-12-30 2005-12-30 H.323系统的多媒体会话穿越nat设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200510022479XA CN100384168C (zh) 2005-12-30 2005-12-30 H.323系统的多媒体会话穿越nat设备的方法

Publications (2)

Publication Number Publication Date
CN1832437A CN1832437A (zh) 2006-09-13
CN100384168C true CN100384168C (zh) 2008-04-23

Family

ID=36994451

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510022479XA Expired - Fee Related CN100384168C (zh) 2005-12-30 2005-12-30 H.323系统的多媒体会话穿越nat设备的方法

Country Status (1)

Country Link
CN (1) CN100384168C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075594B (zh) * 2011-01-30 2016-03-02 中兴通讯股份有限公司 网络环境的识别方法、接入方法和基站
CN107566671B (zh) * 2017-10-12 2020-09-25 上海华客信息科技有限公司 网络语音通信方法及其系统、存储介质、电子设备
CN113079144B (zh) * 2021-03-24 2022-11-18 上海井星信息科技有限公司 一种穿透DMZ网络的SIP WebRTC网关系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071717A2 (en) * 2000-12-14 2002-09-12 Vocaltec Communications Ltd. Traversing firewalls and nats
CN1444815A (zh) * 2000-07-28 2003-09-24 瑞吉威系统及软件有限公司 带有防火墙和网络地址转换的音频-视频电话
CN1540952A (zh) * 2003-11-03 2004-10-27 中兴通讯股份有限公司 多媒体系统静态地址转换方法
CN1735055A (zh) * 2004-08-13 2006-02-15 中兴通讯股份有限公司 一种两个私网内的多媒体终端点对点呼叫的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444815A (zh) * 2000-07-28 2003-09-24 瑞吉威系统及软件有限公司 带有防火墙和网络地址转换的音频-视频电话
WO2002071717A2 (en) * 2000-12-14 2002-09-12 Vocaltec Communications Ltd. Traversing firewalls and nats
CN1540952A (zh) * 2003-11-03 2004-10-27 中兴通讯股份有限公司 多媒体系统静态地址转换方法
CN1735055A (zh) * 2004-08-13 2006-02-15 中兴通讯股份有限公司 一种两个私网内的多媒体终端点对点呼叫的方法

Also Published As

Publication number Publication date
CN1832437A (zh) 2006-09-13

Similar Documents

Publication Publication Date Title
CN100539504C (zh) 一种网络地址转换和/或防火墙穿越平台、系统及其方法
US8082324B2 (en) Method of establishing a tunnel between network terminal devices passing through firewall
US8166533B2 (en) Method for providing media communication across firewalls
JP3872477B2 (ja) ローカルipネットワークを通した多重通話システム及び方法
US7257837B2 (en) Firewall penetration system and method for real time media communications
CN100477636C (zh) 客户端主应用部件与目标服务器间进行通信的装置和方法
CN101431511B (zh) 一种穿透防火墙在网络终端装置间建立联机信道的方法
US20050066038A1 (en) Session control system, communication terminal and servers
CN105721570B (zh) 数据点对点传输方法及装置
CN105681445B (zh) 数据的点对点传输路径选择方法及装置
US7948890B2 (en) System and method for providing a communication channel
CN104683730A (zh) 传输视频会议数据方法及视频会议系统
CN100583814C (zh) 一种实现多媒体业务nat穿越的方法
US7542475B2 (en) Communication between users located behind a NAT device
EP1726140B1 (en) Method and apparatus for enhanced internet telephony
CN106506506A (zh) 一种跨网通信的方法
US7298747B2 (en) Method of setting up communications in a packet switching system
CN100384168C (zh) H.323系统的多媒体会话穿越nat设备的方法
CN100493048C (zh) 穿越网络地址转换和防火墙的多媒体通信代理系统及方法
CN1645861A (zh) 一种软交换网络穿越防火墙的方法
US20060190992A1 (en) Facilitating Bi-directional communications between clients in heterogeneous network environments
CN111432163B (zh) 一种实现ims系统与云视讯会议系统互联互通的方法
CN101013997B (zh) 多媒体网关转发信令与媒体流的方法
US7116775B2 (en) Apparatus and method for managing BLF information in an inter-networking system
US7865621B1 (en) Open settlement protocol bridge for multi-network voice connections

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080423

Termination date: 20201230

CF01 Termination of patent right due to non-payment of annual fee