CN113099056B - 基于kamailio实现VoIP的NAT穿越的方法 - Google Patents
基于kamailio实现VoIP的NAT穿越的方法 Download PDFInfo
- Publication number
- CN113099056B CN113099056B CN202110312266.XA CN202110312266A CN113099056B CN 113099056 B CN113099056 B CN 113099056B CN 202110312266 A CN202110312266 A CN 202110312266A CN 113099056 B CN113099056 B CN 113099056B
- Authority
- CN
- China
- Prior art keywords
- kamailio
- ippbx
- user agent
- nat
- call
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1053—IP private branch exchange [PBX] functionality entities or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0075—Details of addressing, directories or routing tables
Abstract
本发明涉及基于kamailio实现VoIP的NAT穿越的方法,注册,NAT后的用户代理,需注册时,Kamailio对注册信息进行身份验证;电话的注册信息请求触发Kamailio发送注册信息请求给IPPBX,IPPBX自动向Kamailio发送在线电话邀请,所有从IPPBX中发送的邀请信息通过用户地址处理后发送给目标用户;呼叫,用户代理启动呼叫,当一新呼叫到达并通过身份验证时,Kamailio将其转发给IPPBX,如被呼叫者在线,IPPBX将呼叫发送给Kamailio,Kamailio进行地址查找并发送给呼叫者;NAT后用户代理的保活机制,向NAT后面的用户代理发送SIP请求,用户代理发回应答。
Description
技术领域
本发明涉及一种基于kamailio实现VoIP的NAT穿越的方法。
背景技术
Kamailio的nat_traversal模块提供SIP信息的远端NAT处理的功能,模块包含检测在NAT后面的用户代理,修改SIP的报文头使用户代理在NAT后面也能透明的工作,向NAT后面的用户代理发送保活信息使得其在网络上可见。模块能够处理像在一级NAT网络环境中一样处理用户代理在多级NAT网络环境中的情况。模块设计可用于复杂环境,例如多个SIP代理可能参与处理注册和路由,并且传入和传出路径不一定相同,或者路由路径甚至可能在连续的对话之间发生变化。
本发明就是利用Kamailio中的NAT穿越功能实现IPPBX的用户代理在NAT后的可见。
发明内容
本发明的目的是克服现有技术存在的不足,提供一种基于kamailio实现VoIP的NAT穿越的方法。
本发明的目的通过以下技术方案来实现:
基于kamailio实现VoIP的NAT穿越的方法,包括以下步骤:
1)注册
NAT后的用户代理,需进行注册时,Kamailio对注册信息进行身份验证,如果成功,用一个新的注册信息通知IPPBX,在Kamailio中对注册信息进行身份验证;
电话的注册信息请求触发Kamailio发送注册信息请求给IPPBX,通过用户全局参数配置的Kamailio的IP和端口:kamailio.bindip、kamailio.bindport作为联系信息在注册信息中发送给IPPBX;所有电话发送的邀请信息被验证后发送给IPPBX;因IPPBX中的注册信息是Kamailio的IP和端口,所以IPPBX自动向Kamailio发送在线电话邀请,所有从IPPBX中发送的邀请信息通过用户地址处理后发送给目标用户;
2)呼叫
用户代理启动呼叫,呼叫验证在Kamailio中处理,当一新的呼叫到达并通过身份验证时,Kamailio将其转发给IPPBX,如果被呼叫者在线,IPPBX将呼叫发送给Kamailio,然后Kamailio进行地址查找并发送给呼叫者;
3)NAT后用户代理的保活机制
保活机制是向NAT后面的用户代理发送SIP请求,使用户代理发回应答,让数据包从NAT内部经常发送到代理服务器,防止NAT超时连接;许多NAT不考虑从NAT的外部到内部传输的数据包来重置连接过期计时器,因此保持用户代理的活动,需从其触发一个应答;
需发送保活信息的情况包括:
1)注册请求,为已注册的用户代理保留其对传入呼叫的可见性,为注册请求触发保活的情况;
2)订阅请求,用于订阅某些事件以保持其接收通知的可见性,为订阅请求触发保活的情况;
3)对话状态,用于已启动传出呼叫的用户代理,以保持其可见性,进一步接收对话中的消息,为传出邀请请求触发保活的情况。
进一步地,上述的基于kamailio实现VoIP的NAT穿越的方法,其中,电话的路由信息由IPPBX管理,与呼叫无关的SIP消息的路由在Kamailio中处理,利用Kamailio的脚本语言进行配置和扩展。
进一步地,上述的基于kamailio实现VoIP的NAT穿越的方法,其中,Kamailio维持NAT后的用户代理的保活状态,维持用户代理的网络可访问性。
进一步地,上述的基于kamailio实现VoIP的NAT穿越的方法,其中,在公网中使用Kamailio搭建IPPBX的代理服务器,使私网中的用户代理可以访问IPPBX。
本发明与现有技术相比具有显著的优点和有益效果,具体体现在以下方面:
本发明尽量使用现有的默认IPPBX配置信息,电话的路由信息由IPPBX管理,与呼叫无关的SIP消息的路由在Kamailio中处理,利用Kamailio的脚本语言进行配置和扩展;
Kamailio维持NAT后的用户代理的保活状态,维持用户代理的网络可访问性;
在公网中使用Kamailio搭建IPPBX的代理服务器,使私网中的用户代理可以访问IPPBX。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明具体实施方式了解。本发明的目的和其他优点可通过在所写的说明书中所特别指出的结构来实现和获得。
附图说明
图1:本发明的流程示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现详细说明具体实施方案。
如图1所示,基于kamailio实现VoIP的NAT穿越的方法,包括以下步骤:
1)注册
NAT后的用户代理,需进行注册时,Kamailio对注册信息进行身份验证,如果成功,用一个新的注册信息通知IPPBX,在Kamailio中对注册信息进行身份验证;
电话的注册信息请求触发Kamailio发送注册信息请求给IPPBX,通过用户全局参数配置的Kamailio的IP和端口:kamailio.bindip、kamailio.bindport作为联系信息在注册信息中发送给IPPBX;所有电话发送的邀请信息被验证后发送给IPPBX;因IPPBX中的注册信息是Kamailio的IP和端口,所以IPPBX自动向Kamailio发送在线电话邀请,所有从IPPBX中发送的邀请信息通过用户地址处理后发送给目标用户;
2)呼叫
用户代理启动呼叫,呼叫验证在Kamailio中处理,当一新的呼叫到达并通过身份验证时,Kamailio将其转发给IPPBX,如果被呼叫者在线,IPPBX将呼叫发送给Kamailio,然后Kamailio进行地址查找并发送给呼叫者;
3)NAT后用户代理的保活机制
保活机制是向NAT后面的用户代理发送SIP请求,使用户代理发回应答,让数据包从NAT内部经常发送到代理服务器,防止NAT超时连接;许多NAT不考虑从NAT的外部到内部传输的数据包来重置连接过期计时器,因此保持用户代理的活动,需从其触发一个应答;
需发送保活信息的情况包括:
1)注册请求,为已注册的用户代理保留其对传入呼叫的可见性,为注册请求触发保活的情况;
2)订阅请求,用于订阅某些事件以保持其接收通知的可见性,为订阅请求触发保活的情况;
3)对话状态,用于已启动传出呼叫的用户代理,以保持其可见性,进一步接收对话中的消息,为传出邀请请求触发保活的情况。
尽量使用现有的默认IPPBX配置信息,电话的路由信息由IPPBX管理,与呼叫无关的SIP消息的路由在Kamailio中处理,利用Kamailio的脚本语言进行配置和扩展。
Kamailio维持NAT后的用户代理的保活状态,维持用户代理的网络可访问性。
在公网中使用Kamailio搭建IPPBX的代理服务器,使私网中的用户代理可以访问IPPBX。
需要说明的是:以上所述仅为本发明的优选实施方式,并非用以限定本发明的权利范围;同时以上的描述,对于相关技术领域的专门人士应可明了及实施,因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在申请专利范围中。
Claims (4)
1.基于kamailio实现VoIP的NAT穿越的方法,其特征在于:包括以下步骤:
1)注册
NAT后的用户代理,需进行注册时,Kamailio对注册信息进行身份验证,如果成功,用一个新的注册信息通知IPPBX,在Kamailio中对注册信息进行身份验证;
电话的注册信息请求触发Kamailio发送注册信息请求给IPPBX,通过用户全局参数配置的Kamailio的IP和端口:kamailio.bindip、kamailio.bindport作为联系信息在注册信息中发送给IPPBX;所有电话发送的邀请信息被验证后发送给IPPBX;因IPPBX中的注册信息是Kamailio的IP和端口,所以IPPBX自动向Kamailio发送在线电话邀请,所有从IPPBX中发送的邀请信息通过用户地址处理后发送给目标用户;
2)呼叫
用户代理启动呼叫,呼叫验证在Kamailio中处理,当一新的呼叫到达并通过身份验证时,Kamailio将其转发给IPPBX,如果被呼叫者在线,IPPBX将呼叫发送给Kamailio,然后Kamailio进行地址查找并发送给呼叫者;
3)NAT后用户代理的保活机制
保活机制是向NAT后面的用户代理发送SIP请求,使用户代理发回应答,让数据包从NAT内部经常发送到代理服务器;保持用户代理的活动,需从其触发一个应答;
需发送保活信息的情况包括:
1)注册请求,为已注册的用户代理保留其对传入呼叫的可见性,为注册请求触发保活的情况;
2)订阅请求,用于订阅某些事件以保持其接收通知的可见性,为订阅请求触发保活的情况;
3)对话状态,用于已启动传出呼叫的用户代理,以保持其可见性,进一步接收对话中的消息,为传出邀请请求触发保活的情况。
2.根据权利要求1所述的基于kamailio实现VoIP的NAT穿越的方法,其特征在于:电话的路由信息由IPPBX管理,与呼叫无关的SIP消息的路由在Kamailio中处理,利用Kamailio的脚本语言进行配置和扩展。
3.根据权利要求1所述的基于kamailio实现VoIP的NAT穿越的方法,其特征在于:Kamailio维持NAT后的用户代理的保活状态,维持用户代理的网络可访问性。
4.根据权利要求1所述的基于kamailio实现VoIP的NAT穿越的方法,其特征在于:在公网中使用Kamailio搭建IPPBX的代理服务器,使私网中的用户代理可访问IPPBX。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312266.XA CN113099056B (zh) | 2021-03-24 | 2021-03-24 | 基于kamailio实现VoIP的NAT穿越的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312266.XA CN113099056B (zh) | 2021-03-24 | 2021-03-24 | 基于kamailio实现VoIP的NAT穿越的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113099056A CN113099056A (zh) | 2021-07-09 |
CN113099056B true CN113099056B (zh) | 2022-07-22 |
Family
ID=76669385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110312266.XA Active CN113099056B (zh) | 2021-03-24 | 2021-03-24 | 基于kamailio实现VoIP的NAT穿越的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113099056B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588922A (zh) * | 2004-09-28 | 2005-03-02 | 王安生 | Sip软交换系统中呼叫控制与媒体流穿越私网的方法 |
CN1678005A (zh) * | 2004-03-31 | 2005-10-05 | 国际商业机器公司 | 多个虚拟电话共用单一物理地址的设备、系统和方法 |
CN102487546A (zh) * | 2010-12-01 | 2012-06-06 | 中兴通讯股份有限公司 | 一种会话初始化协议终端的注册方法及系统 |
US9473452B1 (en) * | 2013-01-02 | 2016-10-18 | 8X8, Inc. | NAT traversal in VoIP communication system |
CN106131084A (zh) * | 2016-08-30 | 2016-11-16 | 迈普通信技术股份有限公司 | Rtp媒体流穿越方法、sip服务器和sip通信系统 |
CN106506711A (zh) * | 2015-09-06 | 2017-03-15 | 北京京东尚科信息技术有限公司 | Genesys环境中SIP消息的NAT穿越的方法及装置 |
-
2021
- 2021-03-24 CN CN202110312266.XA patent/CN113099056B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1678005A (zh) * | 2004-03-31 | 2005-10-05 | 国际商业机器公司 | 多个虚拟电话共用单一物理地址的设备、系统和方法 |
CN1588922A (zh) * | 2004-09-28 | 2005-03-02 | 王安生 | Sip软交换系统中呼叫控制与媒体流穿越私网的方法 |
CN102487546A (zh) * | 2010-12-01 | 2012-06-06 | 中兴通讯股份有限公司 | 一种会话初始化协议终端的注册方法及系统 |
US9473452B1 (en) * | 2013-01-02 | 2016-10-18 | 8X8, Inc. | NAT traversal in VoIP communication system |
CN106506711A (zh) * | 2015-09-06 | 2017-03-15 | 北京京东尚科信息技术有限公司 | Genesys环境中SIP消息的NAT穿越的方法及装置 |
CN106131084A (zh) * | 2016-08-30 | 2016-11-16 | 迈普通信技术股份有限公司 | Rtp媒体流穿越方法、sip服务器和sip通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113099056A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9131006B2 (en) | Method and system for extending services to cellular devices | |
US7333492B2 (en) | Firewall proxy system and method | |
US8125888B2 (en) | Session initiation protocol survivable server | |
KR101458336B1 (ko) | Sip를 이용하는 기업 네트워크의 생존성을 위한 백업 sip 서버 | |
EP2111701B1 (en) | System and method for reestablishing, with a client device, a signaling session associated with a call in progress | |
US7983660B2 (en) | Mobile telephone device identifying whether incoming wireless call anchored by an enhanced services server | |
US20080117839A1 (en) | Method and system for managing integrated media group communications | |
US7995737B2 (en) | Accommodation of two independent telephony systems | |
US7411917B1 (en) | Method and system for providing registration-based SIP NAT traversal | |
JP4757438B2 (ja) | ネットワーク、構内交換機及びそれに用いるマルチプロトコル通信端末制御方法 | |
US7751536B1 (en) | Line appearance reservation for SIP endpoints | |
KR20050076414A (ko) | 음성 서비스 시스템 및 그 접속 방법 | |
RU2608673C2 (ru) | Обработка сообщений протокола инициирования сеансов в телекоммуникационном устройстве беспроводной связи | |
US8374178B2 (en) | Apparatus and method for supporting NAT traversal in voice over internet protocol system | |
JP2014535209A (ja) | Sipプロキシ・フェイルオーバ方法 | |
US7787373B2 (en) | Method and apparatus for providing secure blast calls | |
US8351593B2 (en) | Emergency recording during VoIP session | |
CN113099056B (zh) | 基于kamailio实现VoIP的NAT穿越的方法 | |
US20150004965A1 (en) | System and method for separation of call origination and call delivery techniques | |
KR101080383B1 (ko) | 브이오아이피 호설정 방법 및 이를 수행하는 브이오아이피 통신 시스템 | |
JP5158588B2 (ja) | SIP電話機、VoIPシステム及びそれらに用いる同一ネットワーク内通信方法並びにそのプログラム | |
JP2006352543A (ja) | Sip電話交換システム | |
JP7452084B2 (ja) | 通話システム、通話端末、通信制御装置、通話プログラム、通信制御プログラム、及び、通話方法 | |
US9628298B2 (en) | Routing technique | |
JP2022129789A (ja) | 通話システム、通話端末、通信制御装置、通話プログラム、通信制御プログラム、及び、通話方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |