CN103179091A - Sip终端穿越防火墙的方法 - Google Patents
Sip终端穿越防火墙的方法 Download PDFInfo
- Publication number
- CN103179091A CN103179091A CN2011104340973A CN201110434097A CN103179091A CN 103179091 A CN103179091 A CN 103179091A CN 2011104340973 A CN2011104340973 A CN 2011104340973A CN 201110434097 A CN201110434097 A CN 201110434097A CN 103179091 A CN103179091 A CN 103179091A
- Authority
- CN
- China
- Prior art keywords
- terminal
- address
- sip
- nat
- priority
- 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.)
- Pending
Links
Images
Abstract
本发明涉及一种SIP终端穿越防火墙的方法,包括以下步骤:在第一终端收集本地传输地址;启动NAT的UDP简单穿越;确定传输地址的优先级,所述优先级反映终端在该地址上接收媒体流的优先级别;构建初始化信息,所述初始化消息由一系列媒体流组成,每个媒体流的任意对等设备之间实现最大连通可能性的传输地址是由公网转发服务器提供的地址;在第二终端进行响应处理,包括连通性检查和地址收集过程;如果该第二终端接受,则发送接受消息;以及在该第一终端进行接受信息处理,发送命令并由SIP服务器转发至响应者。
Description
技术领域
本发明涉及一种SIP终端穿越防火墙的方法。
背景技术
下一代网络(NGN)是承载在IP网络之上,提供话音、数据和多媒体等业务的开放式网络架构,代表着未来电信网发展的方向。但是许多私有网络使用了NAT和防火墙设备,对进出的信令流和媒体流有很多约束和限制,如果不能正确规避这些约束条件,则无法进行正常通信。因此NAT(Network AddressTranslation,网络地址转换)/防火墙的穿越是多媒体通信中普遍存在的一个问题。以SIP(Session Initial Protocol,会话发起协议)穿越NAT的问题来说,IETF(Internet Engineering Task Force,互联网工程任务组)已经提出了多种解决方案。例如:ALG(Application Layer Gateways,应用层网关)、中间盒控制协议(Middlebox Control Protocol)、STUN(Simple Traversal of UDP through NAT,NAT的UDP简单穿越)、TURN(Traversal Using Relay NAT,中继方式穿越NAT)、RSIP(Realm Specific IP,域专用IP)、对称RTP(Symmetric Real-timeTransport Protocol)等。
但是以上任何一种方法都不能适合所有需要穿越的情形,单独使用其中任何一种方法都存在不适合或不完全适合当前情形的缺陷。
发明内容
本发明的目的是提出一种SIP终端穿越防火墙的方法,这一方法不需要对STUN,TURN或RSIP进行扩展就可适用于各种NAT,通过综合运用上面某几种协议,使之征最适合的情况下工作,以弥补单独使用其中任何一种所带来的固有缺陷。
本发明所提出的SIP终端穿越防火墙的方法,包括以下步骤:在第一终端收集本地传输地址;启动NAT的UDP简单穿越;确定传输地址的优先级,所述优先级反映终端在该地址上接收媒体流的优先级别;构建初始化信息,所述初始化消息由一系列媒体流组成,每个媒体流的任意对等设备之间实现最大连通可能性的传输地址是由公网转发服务器提供的地址;在第二终端进行响应处理,包括连通性检查和地址收集过程;如果该第二终端接受,则发送接受消息;以及在该第一终端进行接受信息处理,发送命令并由SIP服务器转发至响应者。
在本发明的一实施例中,在所述NAT的UDP简单穿越步骤中,通过信令协议交换用户名和密码。
在本发明的一实施例中,在第一终端收集本地传输地址的步骤包括:所述第一终端从服务器上获得主机上一个接口绑定一个端口的本地传输地址。
在本发明的一实施例中,所述优先级的取值范围是0到1之间,并按照被传输媒体流量来确定。
在本发明的一实施例中,所述终端为IP电话机。
根据本发明的方法,针对SIP呼叫流程实现穿越防火墙的功能。对于SIP终端来说,只需要定义一些SDP(Sessionescription Protoc01)附加属性即可,对于别的多媒体信令协议也需要制定一些相应的机制来实现。这种方式的优点是可以根据通讯双方所处的网络环境,选取适合穿越NAT/防火墙的方式。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1示出本发明实施例的示例性实施环境。
图2示出本发明一实施例的穿越方法流程图。
具体实施方式
图1示出本发明实施例的示例性实施环境。参照图1所示,环境中包含一个SIP服务器120和多个SIP(会话发起协议)终端101-103。这些SIP终端101-103连接到服务器120。在此,各个SIP终端101-103与SIP服务器120的连接网络之间存在多个NAT网关111-113。因此从各NAT网关111-113外部向各SIP终端101-103的通信都需要通过NAT网关和其中配置的防火墙。每一NAT网关111-113内可具有多个SIP终端,在此仅示例性的示出其中一个。在一个实施例中,SIP终端可以是IP电话机。
图2示出本发明一实施例的穿越方法流程图。参照图2所示,方法包括以下步骤:
步骤201,收集本地传输地址。会话者,例如各个SIP终端101-103从SIP服务器120上获得主机上一个物理(或虚拟)接口绑定一个端口的本地传输地址。
步骤202,启动NAT的UDP简单穿越(STUN)。STUN为传统流程,在此不再展开。值得一提的是,与传统的STUN流程不同,本实施例的用户名和密码可以通过信令协议进行交换。
步骤203,确定传输地址的优先级。优先级反映了终端在该地址上接收媒体流的优先级别。在一实施例中,优先级的取值范围0到1之间,并按照被传输媒体流量来确定。
步骤204,构建初始化信息(Initiate Message)。初始化消息由一系列媒体流组成,每个媒体流的任意对等设备之间实现最大连通可能性的传输地址是由公网转发服务器(如TURN)提供的地址。
步骤205,响应处理,在此连通性检查和执行本流程中描述的地址收集过程。
步骤206,生成接受信息(Accept Message)。若接受则发送接受消息,其构造过程与初始化信息类似。
步骤207,接受信息处理。接受过程需要发起者使用Send命令,由SIP服务器转发至响应者。
步骤208,作为一个非必须步骤,在初始化或接受消息交换过程结束后,双方可能仍将继续收集传输地址。
为了在各个SIP终端实施本发明的方法,可在SIP终端中配置完整(Full)版本或精简(Lite)版本的程序。完整版本的程序的特点包括:对网络拓扑没有特定的要求;作为发起者(Caller),将充当控制(Controlling)的角色;发起连接性检查,并响应对方的连接性检查;支持Triggered连接性检查。精简版本的程序的特点包括:直接连接到互联网;本身不搜集候选者,只有主机(host)类型的候选者;不主动发起连接性检查;响应对方的连接性检查。
在软件配置时,可以在一些SIP终端中配置完整版本的程序,而在另一些SIP终端中配置精简版本的程序。当配置有精简版本程序的终端和配置有完整版本程序的终端连接时,后者充当控制角色,前者充当被控制角色。
可以理解,在实施SIP呼叫流程之前,需要进行相关类库的初始化,分配相应的内存池,以及会话(Session)结构的初始化。
作为呼叫者,其流程如下:
A.发出INVITE:
1创建Tranport相关结构;
2候选者的生成;
3在发出的INVITE中,附加相关的信息在SDP中;
B.接收对方200OK后:
1解析200OK中SDP里包含的信息;
2根据这些信息生成check list;
3对check list进行连接性检查;
4撤销Transport相关结构;
5根据连接性检查的结果,重新创建RTP/RTCP socket,并关闭原有的socket。
另外,作为被呼叫者,其内部流程如下:
A.接受到对方的INVITE后
1解析INVITE中SDP里包含的信息;
B.发出200OK:
1创建Tranport相关结构;
2候选者的生成;
4生成check list并进行连接性检查;
5响应对方的Trigger check;
6根据连接性检查的结果重新创建RTP/RTCP socket,并关闭原有的socket。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (5)
1.一种SIP终端穿越防火墙的方法,包括以下步骤:
在第一终端收集本地传输地址;
启动NAT的UDP简单穿越;
确定传输地址的优先级,所述优先级反映终端在该地址上接收媒体流的优先级别;
构建初始化信息,所述初始化消息由一系列媒体流组成,每个媒体流的任意对等设备之间实现最大连通可能性的传输地址是由公网转发服务器提供的地址;
在第二终端进行响应处理,包括连通性检查和地址收集过程;
如果该第二终端接受,则发送接受消息;
在该第一终端进行接受信息处理,发送命令并由SIP服务器转发至响应者。
2.如权利要求1所述的方法,其特征在于,在所述NAT的UDP简单穿越步骤中,通过信令协议交换用户名和密码。
3.如权利要求1所述的方法,其特征在于,在第一终端收集本地传输地址的步骤包括:所述第一终端从服务器上获得主机上一个接口绑定一个端口的本地传输地址。
4.如权利要求1所述的方法,其特征在于,所述优先级的取值范围是0到1之间,并按照被传输媒体流量来确定。
5.如权利要求1所述的方法,其特征在于,所述终端为IP电话机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104340973A CN103179091A (zh) | 2011-12-21 | 2011-12-21 | Sip终端穿越防火墙的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104340973A CN103179091A (zh) | 2011-12-21 | 2011-12-21 | Sip终端穿越防火墙的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103179091A true CN103179091A (zh) | 2013-06-26 |
Family
ID=48638717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104340973A Pending CN103179091A (zh) | 2011-12-21 | 2011-12-21 | Sip终端穿越防火墙的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103179091A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541691A (zh) * | 2020-04-22 | 2020-08-14 | 北京盛德远景科技有限公司 | 一种基于sip呼叫的sip呼叫边界控制系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090274146A1 (en) * | 2007-03-01 | 2009-11-05 | Huawei Technologies Co., Ltd. | Method, system and device for implementing network address translation traversal |
-
2011
- 2011-12-21 CN CN2011104340973A patent/CN103179091A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090274146A1 (en) * | 2007-03-01 | 2009-11-05 | Huawei Technologies Co., Ltd. | Method, system and device for implementing network address translation traversal |
Non-Patent Citations (4)
Title |
---|
曹淼 等: "基于SIP的VoIP穿透NAT方法的研究与实现", 《网络安全技术与应用》 * |
曾立 等: "基于ICE方式SIP穿透Symmetric NAT技术研究", 《计算机工程与设计》 * |
朱光 等: "基于ICE的VOIP穿越NAT方案的研究", 《计算机应用与软件》 * |
魏立峰 等: "一种媒体流穿越NAT的算法设计与实现", 《计算机工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541691A (zh) * | 2020-04-22 | 2020-08-14 | 北京盛德远景科技有限公司 | 一种基于sip呼叫的sip呼叫边界控制系统 |
CN111541691B (zh) * | 2020-04-22 | 2022-04-01 | 北京盛德远景科技有限公司 | 一种基于sip呼叫的sip呼叫边界控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8082324B2 (en) | Method of establishing a tunnel between network terminal devices passing through firewall | |
US20190334960A1 (en) | Conferencing server | |
JP5972398B2 (ja) | Iceベースnatトラバーサル | |
US7773580B2 (en) | Apparatus and method for voice processing of voice over internet protocol (VoIP) | |
TWI357749B (zh) | ||
US20130308628A1 (en) | Nat traversal for voip | |
WO2012051047A2 (en) | System and method for a reverse invitation in a hybrid peer-to-peer environment | |
TW201014272A (en) | A method for optimizing the data transmission path between the client terminals and the device thereof | |
JP5988407B1 (ja) | 通信経路制御装置、通信経路制御システム、通信経路制御方法及び通信経路制御プログラム | |
KR100727069B1 (ko) | Sip 기반의 무선 패킷 교환망 시스템에서의 타망 연동방법 및 그 시스템 | |
US8374178B2 (en) | Apparatus and method for supporting NAT traversal in voice over internet protocol system | |
CN111800341B (zh) | 一种跨路由器终端通信方法及装置 | |
Tseng et al. | Can: A context-aware NAT traversal scheme | |
US8812694B2 (en) | Dialog establishment over a peer-to-peer architecture | |
CN106559508A (zh) | 一种服务器公私网ip地址的自动切换方法 | |
CN103179091A (zh) | Sip终端穿越防火墙的方法 | |
JP6293902B2 (ja) | ブラウザ発信プロシージャのためのモバイルデバイスベースのプロキシ | |
Lambrinos et al. | Integrating voice over IP services in IPv4 and IPv6 networks | |
KR100727067B1 (ko) | Sip 기반의 무선 패킷 교환망 시스템에서의 타망 연동방법 및 그 시스템 | |
EP2608488B1 (en) | Dialog establishment over a peer-to-peer architecture | |
WO2013097250A1 (zh) | 一种网络电话建立呼叫方法、装置和系统 | |
KR100706339B1 (ko) | Sip 기반의 무선 패킷 교환망 시스템에서의 타망 연동방법 및 그 시스템 | |
KR20090002391A (ko) | 사설 주소를 사용하는 망에서 VoIP 서비스를 제공하는방법 및 이를 구현하는 단말장치 | |
Azfar et al. | Sip mobility modes: Application layer and data link layer | |
Baharlooei et al. | A low cost VoIP architecture for private networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130626 |