TW201822507A - 網路位址轉換伺服器及其網路位址轉換方法 - Google Patents

網路位址轉換伺服器及其網路位址轉換方法 Download PDF

Info

Publication number
TW201822507A
TW201822507A TW105140085A TW105140085A TW201822507A TW 201822507 A TW201822507 A TW 201822507A TW 105140085 A TW105140085 A TW 105140085A TW 105140085 A TW105140085 A TW 105140085A TW 201822507 A TW201822507 A TW 201822507A
Authority
TW
Taiwan
Prior art keywords
sip
information
user device
internal network
server
Prior art date
Application number
TW105140085A
Other languages
English (en)
Other versions
TWI639326B (zh
Inventor
陳懷恩
曾立堯
Original Assignee
財團法人資訊工業策進會
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 財團法人資訊工業策進會 filed Critical 財團法人資訊工業策進會
Priority to TW105140085A priority Critical patent/TWI639326B/zh
Priority to US15/371,166 priority patent/US20180159823A1/en
Priority to CN201611108433.4A priority patent/CN108156269A/zh
Publication of TW201822507A publication Critical patent/TW201822507A/zh
Application granted granted Critical
Publication of TWI639326B publication Critical patent/TWI639326B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2585NAT traversal through application level gateway [ALG]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種NAT伺服器及其NAT方法。NAT伺服器自使用者裝置接收包含內部網路RTP資訊之SIP訊息。隨後,NAT伺服器將SIP訊息之內部網路RTP資訊修改為外部網路RTP資訊,並於映射表中建立內部網路RTP與外部網路RTP資訊之映射記錄。NAT將SIP訊息傳送至SIP伺服器。NAT伺服器自SIP伺服器接收另一SIP訊息,並根據映射記錄判斷另一SIP訊息之外部網路RTP資訊對應於內部網路RTP資訊。NAT伺服器將另一SIP訊息之外部網路RTP資訊修改為內部網路RTP資訊,並將另一SIP訊息傳送至內部網路之另一使用者裝置。

Description

網路位址轉換伺服器及其網路位址轉換方法
本發明係關於一種網路位址轉換(Network Address Translation,NAT)伺服器及其NAT方法;更具體而言,本發明之NAT伺服器及其NAT方法用以協助同一內部網路之使用者裝置進行即時通訊。
會話發起協定(Session Initiation Protocol,SIP)是一種網路應用層之信號控制協定,其主要用來建立、更改與終結相關之各種相關之通訊服務,其中,即時傳送協定(Real-time Transport Protocol,RTP)為主要通訊服務之一。
換句話說,由於RTP之通訊建立需要雙方使用者(呼叫方以及被呼叫方)互相知道對方之進行RTP所使用之網際網路協定(Internet Protocol,IP)位址及連接埠(Port),因此,在進行RTP通訊之前,先利用SIP來達成此目的。
然而,由於無法確知SIP之RTP通訊服務相關封包於通過網路位址轉換(Network Address Translation,NAT)伺服器時,NAT伺服器不會分予RTP通訊服務之外部網路連接,因此,會有封 包無法正確傳送之問題存在。而習知之網路技術中,主要係利用具有應用層閘道(Application Layer Gateway,ALG)功能之SIP伺服器(例如:RTP代理伺服器)進行網路封包之轉譯,俾使用者裝置之SIP之RTP通訊服務網路封包於穿過NAT伺服器後,仍可正確地進行轉遞。
惟基於前述之架構,當有二使用者裝置位於同一NAT伺服器之區域網路時,若其中一使用者裝置欲與另一使用者裝置建立SIP之RTP通訊服務時,即便二使用者裝置位於同一區域網路,然RTP通訊服務之相關網路封包,仍需由使用者裝置透過NAT伺服器傳送至SIP伺服器,再由SIP伺服器傳送回NAT伺服器,隨後NAT伺服器再傳送至另一使用者裝置。期間,除了NAT伺服器,SIP伺服器同樣須需針對相關之封包進行轉譯。
如此一來,在二使用者裝置位於同一NAT伺服器之區域網路之情況下,將使得SIP之RTP通訊服務之封包傳輸效率相當低落,同時造成後端SIP伺服器之負擔。因此,如何避免前述缺點,乃業界須共同努力之目標。
本發明之主要目的係提供一種用於網路位址轉換(Network Address Translation,NAT)伺服器之NAT方法,包含:(a)令NAT伺服器自內部網路之第一使用者裝置接收第一會話發起協定(Session Initiation Protocol,SIP)邀請訊息。其中,第一SIP邀請訊息包含第一使用者裝置之第一內部網路通訊資訊、第二使 用者裝置之第一辨識資訊以及第一內部網路即時傳輸協定(Real-time Transpcrt Protocol,RTP)資訊;(b)令NAT伺服器根據映射表(mapping table)之第一映射記錄,將第一SIP邀請訊息之第一內部網路通訊資訊修改為第一外部網路通訊資訊。
進一步來說,NAT方法更包含:(c)令NAT伺服器將第一SIP邀請訊息之第一內部網路RTP資訊修改為第一外部網路RTP資訊,並於映射表中建立第一內部網路RTP資訊對應第一外部網路RTP資訊之第二映射記錄;(d)令NAT伺服器於步驟(c)後,根據第一SIP邀請訊息之連接埠資訊,將SIP邀請訊息傳送至外部網路之一SIP伺服器,俾SIP伺服器根據SIP邀請訊息之第一識別資訊存取第二使用者裝置之註冊資訊,並於根據註冊資訊將第一SIP邀請訊息之第一辨識資訊修正為第二辨識資訊後,基於第二辨識資訊將第一SIP邀請訊息傳送至NAT伺服器。
進一步來說,NAT方法更包含:(e)令NAT伺服器自SIP伺服器接收第一SIP邀請訊息,並根據第二映射紀錄,判斷第一SIP邀請訊息之第一外部網路RTP資訊對應於第一內部網路RTP資訊;(f)令NAT伺服器於步驟(e)後,根據第二映射記錄將第一SIP邀請訊息之第一外部網路RTP資訊修改為第一內部網路RTP資訊,並根據該映射表之一第三映射記錄,將該第一SIP邀請訊息之該第二識別資訊修改為該第二使用者裝置之一第三識別資訊;(g)令NAT伺服器於步驟(f)後,根據第三識別資訊將第一SIP邀請訊息傳送至內部網路之第二使用者裝置,俾第二使用者裝置根據該 第一內部網路RTP資訊回應第一使用者裝置。
為達上述目的,本發明揭露一種NAT伺服器,包含記憶體、收發介面以及處理單元。記憶體存有一映射表。收發介面用以自內部網路之第一使用者裝置接收第一SIP邀請訊息。其中,第一SIP邀請訊息包含第一使用者裝置之第一內部網路通訊資訊、第二使用者裝置之第一辨識資訊以及第一內部網路RTP資訊。
處理單元用以:根據映射表之第一映射記錄,將第一SIP邀請訊息之第一內部網路通訊資訊修改為第一外部網路通訊資訊;將第一SIP邀請訊息之第一內部網路RTP資訊修改為第一外部網路RTP資訊,並於映射表中建立第一內部網路RTP資訊對應第一外部網路RTP資訊之第二映射記錄;根據第一SIP邀請訊息之連接埠資訊,透過收發介面將SIP邀請訊息傳送至外部網路之SIP伺服器,俾SIP伺服器根據SIP邀請訊息之第一識別資訊存取第二使用者裝置之註冊資訊,並於根據註冊資訊將第一SIP邀請訊息之第一辨識資訊修正為第二辨識資訊後,基於第二辨識資訊將第一SIP邀請訊息傳送至NAT伺服器。
更進一步來說,處理單元更用以:於收發介面自SIP伺服器接收第一SIP邀請訊息後,根據第二映射紀錄,判斷第一SIP邀請訊息之第一外部網路RTP資訊對應於第一內部網路RTP資訊;根據第二映射記錄將第一SIP邀請訊息之第一外部網路RTP資訊修改為第一內部網路RTP資訊,並根據映射表之第三映射記錄,將第一SIP邀請訊息之第二識別資訊修改為第二使用者裝置之一第三 識別資訊;根據第三識別資訊,透過收發介面將第一SIP邀請訊息傳送至內部網路之第二使用者裝置,俾第二使用者裝置根據第一內部網路RTP資訊回應第一使用者裝置。
本發明另提供一種用於NAT伺服器之NAT方法,包含:(a)令NAT伺服器自內部網路之第一使用者裝置接收第一SIP邀請訊息,其中,第一SIP邀請訊息包含第一內部網路RTP資訊以及第二使用者裝置之第一外部網路辨識資訊;(b)令NAT伺服器判斷第一外部網路辨識資訊符合裝置註冊表之第一註冊記錄;(c)令NAT伺服器根據步驟(b)之結果,基於第一註冊記錄將第一SIP邀請訊息之第一外部網路辨識資訊修正為第一內部網路辨識資訊;(d)令NAT伺服器根據第一內部網路辨識資訊,將第一SIP邀請訊息傳送至第二使用者裝置,俾第二使用者裝置根據第一內部網路RTP資訊回應第一使用者裝置。
為完成前述目的,本發明更提供一種NAT伺服器,包含記憶體、收發介面以及處理單元。記憶體存有裝置註冊表。收發介面用以自內部網路之第一使用者裝置接收第一SIP邀請訊息,其中,第一SIP邀請訊息包含第一內部網路RTP資訊以及第二使用者裝置之第一外部網路辨識資訊。處理單元用以:判斷第一外部網路辨識資訊符合裝置註冊表之第一註冊記錄;基於第一註冊記錄將第一SIP邀請訊息之第一外部網路辨識資訊修正為第一內部網路辨識資訊;根據第一內部網路辨識資訊,透過收發介面將第一SIP邀請訊息傳送至第二使用者裝置,俾第二使用者裝置根據第一內 部網路RTP資訊回應第一使用者裝置。
參閱圖式及隨後描述的實施方式後,所屬技術領域具有通常知識者可更瞭解本發明的技術手段及具體實施態樣。
1、2‧‧‧NAT伺服器
11、21‧‧‧記憶體
13、23‧‧‧收發介面
15、25‧‧‧處理單元
4、5‧‧‧SIP伺服器
6、8、UA1‧‧‧第一使用者裝置
60、80‧‧‧第一SIP邀請訊息
60p‧‧‧連接埠
7、9、UA2‧‧‧第二使用者裝置
70、90‧‧‧第一SIP回應訊息
ID1‧‧‧第一辨識資訊
ID2‧‧‧第二辨識資訊
ID3‧‧‧第三辨識資訊
IN1‧‧‧第一內部網路通訊資訊
IN2‧‧‧第二內部網路通訊資訊
INR1、INRa‧‧‧第一內部網路RTP資訊
INR2、INRb‧‧‧第二內部網路RTP資訊
item1‧‧‧第一映射記錄
item2‧‧‧第二映射記錄
item3‧‧‧第三映射記錄
item4‧‧‧第四映射記錄
itemA‧‧‧第一註冊記錄
OID1‧‧‧第一外部網路辨識資訊
IID1‧‧‧第一內部網路辨識資訊
ONR1‧‧‧第一外部網路RTP資訊
ONR2‧‧‧第二外部網路RTP資訊
OUT1‧‧‧第一外部網路通訊資訊
OUT2‧‧‧第二外部網路通訊資訊
MT‧‧‧映射表
RT‧‧‧裝置註冊表
第1A圖係本發明第一實施例之NAT伺服器之操作示意圖;第1B圖係本發明第一實施例之NAT伺服器之方塊圖;第2圖係本發明第二實施例之NAT伺服器之操作示意圖;第3A-3B圖係本發明第三實施例之NAT伺服器之詳細操作示意圖;第3C圖係本發明第三實施例之映射表之示意圖;第4A圖係本發明第四實施例之NAT伺服器之操作示意圖;第4B圖係本發明第四實施例之NAT伺服器之方塊圖;第5圖係本發明第五實施例之NAT伺服器之操作示意圖;第6A-6B圖係本發明第六實施例之NAT伺服器之詳細操作示意圖;第6C圖係本發明第六實施例之裝置註冊表之示意圖;第7圖係本發明第七實施例之NAT方法流程圖;第8A-8C圖係本發明第八實施例之NAT方法流程圖;第9圖係本發明第九實施例之NAT方法流程圖;以及第10圖係本發明第十實施例之NAT方法流程圖。
以下將透過本發明之實施例來闡釋本發明。然而,該等實施例並非用以限制本發明需在如實施例所述之任何環境、應用程式或方式方能實施。因此,以下實施例的說明僅在於闡釋本發明,而非用以限制本發明。在以下實施例及圖式中,與本發明非直接相關的元件已省略而未繪示,且繪示於圖式中的各元件之間的尺寸關係僅為便於理解,而非用以限制為實際的實施比例。
請參考第1A~1B圖。第1A圖係本發明第一實施例之一網路位址轉換(Network Address Translation,NAT)伺服器1之操作示意圖,第1B圖係本發明第一實施例之NAT伺服器1之方塊圖。NAT伺服器1包含一記憶體11、一收發介面13以及一處理單元15,記憶體11存有一映射表MT。元件間具有電性連結,而其間之互動將於下文中進一步闡述。
首先,當NAT伺服器1之內部網路中之一第一使用者裝置6欲向一第二使用者裝置7要求建立會話發起協定(Session Initiation Protocol,SIP)時,第一使用者裝置6利用第二使用者裝置7之一第一辨識資訊ID1,發出一第一SIP邀請訊息60。其中,第一SIP邀請訊息60包含第一使用者裝置6之一第一內部網路通訊資訊IN1、第一辨識資訊ID1以及一第一內部網路即時傳輸協定(Real-time Transport Protocol,RTP)資訊INR1。而由於第一辨識資訊ID1之目的地係屬外部網路,因此,第一SIP邀請訊息60會先傳送到NAT伺服器1。
接著,當NAT伺服器1之收發介面13接收第一SIP邀請 訊息60後,處理單元15便針對第一SIP邀請訊息60先行調整。具體而言,由於映射表MT之一第一映射記錄item1主要係記錄第一使用者裝置6之第一內部網路通訊資訊IN1與一第一外部網路通訊資訊OUT1之對應關係(即第一使用者裝置6內部網路所使用之位址與NAT伺服器1外部網路所用之位址之對應關係)。因此,NAT伺服器1之處理單元15便可據以將第一SIP邀請訊息60之第一內部網路通訊資訊IN1修改為第一外部網路通訊資訊OUT1,以利訊息於外部網路之路由。
隨後,NAT伺服器1之處理單元15基於本身之外部網路傳輸資訊(如NAT伺服器1之網路位址),將第一SIP邀請訊息之第一內部網路RTP資訊INR1修改為一第一外部網路RTP資訊ONR1,並於映射表MT中建立第一內部網路RTP資訊INR1對應第一外部網路RTP資訊ONR1之一第二映射記錄item2。
而完成相應之調整後,NAT伺服器1之處理單元15便根據第一SIP邀請訊息60之一連接埠資訊60p,透過收發單元13將SIP邀請訊息60傳送至外部網路之一SIP伺服器5。而當第二使用者裝置7於SIP伺服器5中具有相關之註冊資訊時,SIP伺服器5便可根據SIP邀請訊息60之第一識別資訊ID1,存取第二使用者裝置7之一註冊資訊(未繪示)。其中,註冊資訊指示第二使用者裝置7係位於NAT伺服器1所處之內部網路中。
據此,SIP伺服器5便可根據註冊資訊,將第一SIP邀請訊息60之第一辨識資訊ID1修正為與NAT伺服器1相關之一第二 辨識資訊ID2。隨後,SIP伺服器5可無須進行任何即時通訊封包之轉譯動作,直接基於第二辨識資訊ID2將第一SIP邀請訊息60傳送至NAT伺服器1。
此時,收發介面13自SIP伺服器5接收第一SIP邀請訊息60後,NAT伺服器1先將其視為一般SIP邀請訊息。隨後,處理單元15根據第二映射紀錄item2,判斷第一SIP邀請訊息60之第一外部網路RTP資訊ONR1對應於第一內部網路RTP資訊INR1後,便可據以確知此第一SIP邀請訊息60係先前於NAT伺服器1內部網路之使用者裝置(即第一使用者裝置6)發出。因此,處理單元15便根據第二映射記錄item2將第一SIP邀請訊息60之第一外部網路RTP資訊ONR1修改回第一內部網路RTP資訊INR1。
接著,由於映射表MT之一第三映射記錄item3主要係記錄第二使用者裝置7之一第二內部網路資訊IN2與一第二外部網路資訊OUT2之對應關係(即第二使用者裝置7內部網路所使用之位址與NAT伺服器1外部網路所用之位址之對應關係),因此,NAT伺服器1之處理單元15便可據以將第一SIP邀請訊息60之第二識別資訊ID2修改為第二使用者裝置7之一第三識別資訊ID3。如此一來,NAT伺服器1之處理單元15便可根據第三識別資訊ID3將第一SIP邀請訊息60傳送至內部網路之第二使用者裝置7,俾第二使用者裝置7根據第一內部網路RTP資訊INR回應第一使用者裝置6。
需特別說明,前述過程中,當NAT伺服器1之處理單元15根據第二映射記錄item2將第一SIP邀請訊息60之第一外部網 路RTP資訊ONR1修改回第一內部網路RTP資訊INR1後,因為第二映射記錄item2已無功效,因此,為避免後續判斷發生錯誤,可於此將第二映射記錄item2自映射表MT中移除。
請參考第2圖,其係本發明第二實施例之NAT伺服器1之操作示意圖。其中,第二實施例與第一實施例之網路架構相似,因此符號相同之元件功能亦同,於此不再贅述。而第二實施例主要係進一步說明本發明之第二使用者裝置根據第一內部網路RTP資訊,透過NAT伺服器回應第一使用者裝置之方式。
首先,接續第一實施例,第二使用者裝置7收到第一SIP邀請訊息60並同意建立相關通訊後,第二使用者裝置7需告知第一使用者裝置6其SIP所使用之相關資訊。具體而言,於接收第一SIP邀請訊息60後,第二使用者裝置7傳送一第一SIP回應訊息70至NAT伺服器1。其中,第一SIP回應訊息70包含第二使用者裝置之第二內部網路通訊資訊IN2以及一第二內部網路RTP資訊INR2。
接著,NAT伺服器1之收發介面13自第二使用者裝置7接收第一SIP回應訊息70後,處理單元15根據映射表MT之第三映射記錄item3將第一SIP回應訊息之第二內部網路通訊資訊IN2修改為第二外部網路識別資訊OUT2。另一方面,處理單元15將第一SIP回應訊息70之第二內部網路RTP資訊INR2修改為一第二外部網路RTP資訊ONR2,並於映射表MT中建立第二內部網路RTP資訊INR2對應第二外部網路RTP資訊ONR2之一第四映射記錄item4。
隨後,收發介面13將第一SIP回應訊息70循原路由路 徑回傳至SIP伺服器5。同樣地,SIP伺服器5將第一SIP回應訊息70循原路由路徑回傳至第一使用者裝置6所屬之NAT伺服器1。
據此,當NAT伺服器1之收發介面13自SIP伺服器5接收第一SIP回應訊息70後,處理單元15便根據第四映射紀錄item4,判斷第一SIP回應訊息70之第二外部網路RTP資訊ONR2對應於第二內部網路RTP資訊INR2後,並根據第四映射記錄item4將第一SIP回應訊息70之第二外部網路RTP資訊ONR2修改為第二內部網路RTP資訊INR2。
接著,處理單元15便透過收發介面13,將第一SIP回應訊息70回傳至內部網路之第一使用者裝置6,俾第一使用者裝置6透過與前述相同之步驟回覆一確認訊息(acknowledgement)至第二使用者裝置7。如此一來,第一使用者裝置6以及第二使用者裝置7便可基於第一內部網路RTP資訊INR1以及第二內部網路RTP資訊INR2進行即時通訊。
類似地,前述過程中,當NAT伺服器1之處理單元15根據第四映射記錄item4將第一SIP回應訊息70之第二外部網路RTP資訊ONR2修改回第二內部網路RTP資訊INR2後,因為第四映射記錄item4已無功效,因此,未避免後續判斷發生錯誤,可於此將第四映射記錄item4自映射表MT中移除。
請參考第3A-3C圖。第3A-3B係本發明第三實施例之NAT伺服器之詳細操作示意圖,第3C圖係本發明第三實施例之映射表之示意圖。其中,第三實施例與前述實施例之網路架構相似, 因此,相關之硬體元件不再贅述。而第三實施例主要係進一步例示操作過程。
首先,當NAT伺服器之內部網路中之第一使用者裝置UA1欲向未知網域之第二使用者裝置UA2要求建立SIP時,第一使用者裝置UA1利用第二使用者裝置UA2之一第一辨識資訊(UA2@120.101.0.2),發出SIP邀請訊息。其中,SIP邀請訊息包含第一使用者裝置UA1之一第一內部網路通訊資訊(192.168.1.11:50453)、第一辨識資訊(UA2@120.101.0.2)以及一第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308)。而由於第一辨識資訊之目的地係屬外部網路,因此,SIP邀請訊息會先傳送到NAT伺服器。
需特別說明,SIP邀請訊息中,RTP資訊相關欄位c主要係定義為連線資訊,m欄位主要係定義為媒體種類指示(如audio,video,text,application,message等五種)以及連接使用之連接埠號。本領域技術人員應可輕易透過相關文件得知,於此不再贅述。
接著,於接收SIP邀請訊息後,NAT伺服器便針對SIP邀請訊息先行調整。於第三實施例中,由於映射表之一第一映射記錄主要係記錄第一使用者裝置UA1之第一內部網路通訊資訊(192.168.1.11:50453)與一第一外部網路通訊資訊(120.101.0.1:50453:50453)之對應關係,因此,NAT伺服器便可據以將SIP邀請訊息之第一內部網路通訊資訊(192.168.1.11:50453)修改為第一外部網路通訊資訊 (120.101.0.1:50453:50453),以利訊息於外部網路之路由。
隨後,NAT伺服器基於本身之外部網路傳輸資訊(即NAT對外部網路之網路位址120.101.0.1),將SIP邀請訊息之第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308)修改為一第一外部網路RTP資訊(c:120.101.0.1及m:audio 59308),並於映射表MT中建立第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308)對應第一外部網路RTP資訊(c:120.101.0.1及m:audio 59308)之一第二映射記錄。
而完成相應之調整後,NAT伺服器便根據SIP邀請訊息之連接埠資訊(如SIP服務常用之連接埠Port:5060),將SIP邀請訊息傳送至外部網路之SIP伺服器。而當第二使用者裝置於SIP伺服器中具有相關之註冊資訊時,SIP伺服器便可根據SIP邀請訊息之第一識別資訊(UA2@120.101.0.2),存取第二使用者裝置之一註冊資訊。其中,註冊資訊指示第二使用者裝置係位於NAT伺服器所處之內部網路中。
據此,SIP伺服器便可根據註冊資訊,將SIP邀請訊息之第一辨識資訊(UA2@120.101.0.2)修正為與NAT伺服器相關之一第二辨識資訊(UA2@120.101.0.1:59718)。隨後,SIP伺服器可無須進行任何即時通訊封包之轉譯動作,直接基於第二辨識資訊(UA2@120.101.0.1:59718)將SIP邀請訊息傳送至NAT伺服器。
此時,NAT伺服器自SIP伺服器接收SIP邀請訊息,NAT伺服器先將其視為一般SIP邀請訊息。並判斷此SIP邀請訊息之 資訊是否與映射表中項目相符。而此範例中,NAT伺服器根據第二映射紀錄,判斷SIP邀請訊息之第一外部網路RTP資訊(c:120.101.0.1及m:audio 59308)對應於第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308),並據以確知此SIP邀請訊息係先前於NAT伺服器內部網路之第一使用者裝置UA1發出。因此,NAT伺服器便根據第二映射記錄將SIP邀請訊息之第一外部網路RTP資訊(c:120.101.0.1及m:audio 59308)修改回第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308),並將第二映射記錄移除。
接著,由於映射表之一第三映射記錄記錄第二使用者裝置UA2之一第二內部網路資訊(192.168.1.12:59718)與一第二外部網路資訊(120.101.0.1:59718)之對應關係,因此,NAT伺服器便可據以將SIP邀請訊息之第二識別資訊(UA2@120.101.0.1:59718)修改為一第三識別資訊(UA2@192.168.1.12:59718)。如此一來,NAT伺服器便可根據第三識別資訊將SIP邀請訊息傳送至第二使用者裝置UA2。
隨後,第二使用者裝置UA2接收SIP邀請訊息後,傳送一SIP回應訊息至NAT伺服器。其中,SIP回應訊息包含第二使用者裝置之第二內部網路通訊資訊(192.168.1.12:59718)以及一第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)。
接著,NAT伺服器自第二使用者裝置接收SIP回應訊息後,便根據映射表之第三映射記錄將SIP回應訊息之第二內部網路通訊資訊(192.168.1.12:59718)修改為第二外部網路識別資訊 (120.101.0.1:59718)。另一方面,NAT伺服器將SIP回應訊息之第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)修改為一第二外部網路RTP資訊(c:120.101.0.1及m:audio 64978),並於映射表中建立第二內部網路RTP資訊對應第二外部網路RTP資訊之一第四映射記錄。
隨後,NAT伺服器將SIP回應訊息循原路由路徑回傳至SIP伺服器。同樣地,SIP伺服器將SIP回應訊息循原路由路徑回傳至使用者裝置UA1所屬之NAT伺服器。需特別說明,本領域技術人員應可透過圖示內容,輕易理解SIP封包之Via標頭係記錄相關之路由路徑,而由於本發明主要係著重於位址之轉換而非路由路徑之處理,因此將不贅述標頭Via之利用。
接著,當NAT伺服器自SIP伺服器接收SIP回應訊息後,便根據第四映射紀錄判斷SIP回應訊息之第二外部網路RTP資訊(c:120.101.0.1及m:audio 64978)對應於第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)後,並根據第四映射記錄將SIP回應訊息之第二外部網路RTP資訊(c:120.101.0.1及m:audio 64978)修改為第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)。同樣地,移除第四映射記錄。
接著,NAT伺服器將SIP回應訊息回傳至內部網路之第一使用者裝置UA1,如此一來,第一使用者裝置UA1便可透過與前述相同之步驟回覆確認訊息至第二使用者裝置UA2。如此一來,第一使用者裝置UA1以及第二使用者裝置UA2便可基於第一內部 網路RTP資訊(c:192.168.1.11及m:audio 59308)以及第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)進行即時通訊。
請參考第4A~4B圖。第4A圖係本發明第四實施例之一NAT換伺服器2之操作示意圖,第4B圖係本發明第四實施例之NAT伺服器2之方塊圖。NAT伺服器2包含一記憶體21、一收發介面23以及一處理單元25,記憶體21存有一裝置註冊表RT。元件間具有電性連結,而其間之互動將於下文中進一步闡述。
首先,當NAT伺服器2之內部網路中之一第一使用者裝置8欲向一第二使用者裝置9要求建立SIP時,第一使用者裝置8利用第二使用者裝置9之一第一外部網路辨識資訊OID1,發出一第一SIP邀請訊息80。其中,第一SIP邀請訊息80包含一第一內部網路RTP資訊INRa以及第二使用者裝置之第一外部網路辨識資訊OID1。
接著,由於裝置註冊表RT主要係記錄內部網路之裝置與一SIP伺服器4之註冊關係,因此,NAT伺服器2之收發介面23於接收第一SIP邀請訊息80後,處理單元25可直接根據裝置註冊表RT判斷第一外部網路辨識資訊OID1是否符合裝置註冊表RT之註冊記錄。於本實施例中,處理單元25判斷第一外部網路辨識資訊OID1符合裝置註冊表RT之一第一註冊記錄itemA。
隨後,NAT伺服器2便可基於第一註冊記錄itemA得知,第一使用者裝置8所欲連線之第二使用者裝置9係與第一使用者裝置8處於同一內部網路中,因此,處理單元25根據第一註冊記 錄itemA,將第一SIP邀請訊息80之第一外部網路辨識資訊OID1修正為一第一內部網路辨識資訊IID1,並根據第一內部網路辨識資訊IID1,透過收發介面23將第一SIP邀請訊息80傳送至第二使用者裝置9,俾第二使用者裝置9根據第一內部網路RTP資訊INRa回應第一使用者裝置8。
請參考第5圖,其係本發明第五實施例之NAT伺服器2之操作示意圖。其中,第五實施例與第四實施例之網路架構相似,因此符號相同之元件功能亦同,於此不再贅述。而第五實施例主要係進一步說明本發明之第二使用者裝置根據第一內部網路RTP資訊,透過NAT伺服器回應第一使用者裝置之方式。
首先,接續第四實施例,第二使用者裝置9收到第一SIP邀請訊息80並同意建立相關通訊後,第二使用者裝置9需告知第一使用者裝置8其SIP所使用之相關資訊。具體而言,於接收第一SIP邀請訊息80後,第二使用者裝置9傳送一第一SIP回應訊息90至NAT伺服器2。其中,第一SIP回應訊息90包含一第二內部網路RTP資訊INRb。
接著,NAT伺服器2之收發介面23於接收第一SIP回應訊息90後,處理單元25便透過收發介面23,將第一SIP回應訊息90直接傳送至第一使用者裝置8,俾第一使用者裝置8回覆一確認訊息至第二使用者裝置9,並基於第一內部網路RTP資訊INRa以及第二內部網路RTP資訊INRb進行即時通訊。
請參考第6A-6C圖。第6A-6B係本發明第六實施例之 NAT伺服器之詳細操作示意圖,第6C圖係本發明第六實施例之裝置註冊表之示意圖。其中,第六實施例與第四~五實施例之網路架構相似,因此,相關之硬體元件不再贅述。而第六實施例主要係進一步例示操作過程。
首先,當NAT伺服器之內部網路中之一第一使用者裝置UA1欲向一第二使用者裝置UA2要求建立SIP時,第一使用者裝置UA1利用第二使用者裝置UA2之一第一外部網路辨識資訊(UA2@120.101.0.2),發出一SIP邀請訊息。其中,SIP邀請訊息包含第二使用者裝置之第第一外部網路辨識資訊(UA2@120.101.0.2)以及一第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308)。
接著,由於裝置註冊表主要係記錄內部網路之裝置與SIP伺服器之註冊關係,因此,NAT伺服器於接收SIP邀請訊息後,可直接根據裝置註冊表判斷第一外部網路辨識資訊(UA2@120.101.0.2)是否符合裝置註冊表之註冊記錄。於本實施例中,NAT伺服器判斷第一外部網路辨識資訊(UA2@120.101.0.2)符合裝置註冊表之一第一註冊記錄。
隨後,NAT伺服器便可基於第一註冊記錄得知,第一使用者裝置UA1所欲連線之第二使用者裝置UA2係與第一使用者裝置UA1處於同一內部網路中,因此,NAT伺服器直接根據第一註冊記錄,將SIP邀請訊息之第一外部網路辨識資訊(UA2@120.101.0.2)修正為一第一內部網路辨識資訊 (UA2@192.168.1.12),並根據第一內部網路辨識資訊(UA2@192.168.1.12)將SIP邀請訊息傳送至第二使用者裝置UA2。
接著,第二使用者裝置UA2收到SIP邀請訊息並同意建立相關通訊後,第二使用者裝置UA2需告知第一使用者裝置UA1其SIP所使用之相關資訊。具體而言,於接收SIP邀請訊息後,第二使用者裝置UA2傳送一SIP回應訊息至NAT伺服器。其中,SIP回應訊息包含一第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)。
接著,NAT伺服器接收SIP回應訊息後,將SIP回應訊息直接傳送至第一使用者裝置UA1,俾第一使用者裝置UA1回覆一確認訊息至第二使用者裝置UA2,並基於第一內部網路RTP資訊(c:192.168.1.11及m:audio 59308)以及第二內部網路RTP資訊(c:192.168.1.12及m:audio 64978)進行即時通訊。
本發明之第七實施例為NAT方法,其流程圖請參考第7圖。第七實施例之方法係用於一NAT伺服器(例如前述實施例之NAT伺服器1)。第七實施例之詳細步驟如下所述。
首先,執行步驟701,令NAT伺服器自內部網路之一第一使用者裝置接收一第一SIP邀請訊息。其中,第一SIP邀請訊息包含第一使用者裝置之一第一內部網路通訊資訊、一第二使用者裝置之一第一辨識資訊以及一第一內部網路RTP資訊。執行步驟702,令NAT伺服器根據一映射表之一第一映射記錄,將第一SIP邀 請訊息之第一內部網路通訊資訊修改為一第一外部網路通訊資訊。
接著,執行步驟703,令NAT伺服器將第一SIP邀請訊息之第一內部網路RTP資訊修改為一第一外部網路RTP資訊,並於映射表中建立第一內部網路RTP資訊對應該第一外部網路RTP資訊之一第二映射記錄。執行步驟704,令NAT伺服器根據第一SIP邀請訊息之一連接埠資訊,將SIP邀請訊息傳送至外部網路之一SIP伺服器。
據此,SIP伺服器便可根據SIP邀請訊息之第一識別資訊存取第二使用者裝置之一註冊資訊,並於根據註冊資訊將第一SIP邀請訊息之第一辨識資訊修正為一第二辨識資訊後,基於第二辨識資訊將第一SIP邀請訊息傳送至NAT伺服器。隨後,執行步驟705,令NAT伺服器自SIP伺服器接收第一SIP邀請訊息,並根據第二映射紀錄,判斷第一SIP邀請訊息之第一外部網路RTP資訊對應於第一內部網路RTP資訊。
執行步驟706,令NAT伺服器根據第二映射記錄,將第一SIP邀請訊息之第一外部網路RTP資訊修改為第一內部網路RTP資訊,並根據映射表之一第三映射記錄,將第一SIP邀請訊息之第二識別資訊修改為第二使用者裝置之一第三識別資訊。最後,執行步驟707,令NAT伺服器根據第三識別資訊,將第一SIP邀請訊息傳送至內部網路之第二使用者裝置,俾第二使用者裝置根據第一內部網路RTP資訊回應第一使用者裝置。
本發明之第八實施例為NAT方法,其流程圖請參考第8A-8C圖。第八實施例之方法係用於一NAT伺服器(例如前述實施例之NAT伺服器1)。第八實施例之詳細步驟如下所述。
首先,執行步驟801,令NAT伺服器自內部網路之一第一使用者裝置接收一第一SIP邀請訊息。其中,第一SIP邀請訊息包含第一使用者裝置之一第一內部網路通訊資訊、一第二使用者裝置之一第一辨識資訊以及一第一內部網路RTP資訊。執行步驟802,令NAT伺服器根據一映射表之一第一映射記錄,將第一SIP邀請訊息之第一內部網路通訊資訊修改為一第一外部網路通訊資訊。
接著,執行步驟803,令NAT伺服器將第一SIP邀請訊息之第一內部網路RTP資訊修改為一第一外部網路RTP資訊,並於映射表中建立第一內部網路RTP資訊對應該第一外部網路RTP資訊之一第二映射記錄。執行步驟804,令NAT伺服器根據第一SIP邀請訊息之一連接埠資訊,將SIP邀請訊息傳送至外部網路之一SIP伺服器。
據此,SIP伺服器便可根據SIP邀請訊息之第一識別資訊存取第二使用者裝置之一註冊資訊,並於根據註冊資訊將第一SIP邀請訊息之第一辨識資訊修正為一第二辨識資訊後,基於第二辨識資訊將第一SIP邀請訊息傳送至NAT伺服器。隨後,執行步驟805,令NAT伺服器自SIP伺服器接收第一SIP邀請訊息,並根據第二映射紀錄,判斷第一SIP邀請訊息之第一外部網路RTP資訊對 應於第一內部網路RTP資訊。
執行步驟806,令NAT伺服器根據第二映射記錄,將第一SIP邀請訊息之第一外部網路RTP資訊修改為第一內部網路RTP資訊,並根據映射表之一第三映射記錄,將第一SIP邀請訊息之第二識別資訊修改為第二使用者裝置之一第三識別資訊。執行步驟807,令NAT伺服器將第二映射紀錄自映射表中移除。
接著,執行步驟808,令NAT伺服器根據第三識別資訊,將第一SIP邀請訊息傳送至內部網路之第二使用者裝置。執行步驟809,令NAT伺服器自第二使用者裝置接收一第一SIP回應訊息。其中,第一SIP回應訊息包含第二使用者裝置之一第二內部網路通訊資訊以及一第二內部網路RTP資訊。
執行步驟810,令NAT伺服器根據映射表之第三映射記錄,將第一SIP回應訊息之第二內部網路通訊資訊修改為一第二外部網路識別資訊。執行步驟811,令NAT伺服器將第一SIP回應訊息之第二內部網路RTP資訊修改為一第二外部網路RTP資訊,並於映射表中建立第二內部網路RTP資訊對應第二外部網路RTP資訊之一第四映射記錄。
隨後,執行步驟812,令NAT伺服器將第一SIP回應訊息回傳至SIP伺服器。如此,SIP伺服器便能將第一SIP回應訊息回傳至第一使用者裝置所屬之NAT伺服器。執行步驟813,令NAT伺服器自SIP伺服器接收第一SIP回應訊息,並根據第四映射紀錄,判斷第一SIP回應訊息之第二外部網路RTP資訊對應於第二內部網路 RTP資訊。
執行步驟814,令NAT伺服器根據第四映射記錄,將第一SIP回應訊息之第二外部網路RTP資訊修改為第二內部網路RTP資訊。執行步驟815,令NAT伺服器將第四映射紀錄自映射表中移除。最後,執行步驟816,令NAT伺服器將第一SIP回應訊息回傳至內部網路之第一使用者裝置。如此,第一使用者裝置便可回覆一確認訊息至第二使用者裝置,並基於第一內部網路RTP資訊以及第二內部網路RTP資訊進行即時通訊。
本發明之第九實施例為NAT方法,其流程圖請參考第9圖。第九實施例之方法係用於一NAT伺服器(例如前述實施例之NAT伺服器2)。第九實施例之詳細步驟如下所述。
首先,執行步驟901,令NAT伺服器自內部網路之一第一使用者裝置接收一第一SIP邀請訊息。其中,第一SIP邀請訊息包含一第一內部網路RTP資訊以及一第二使用者裝置之一第一外部網路辨識資訊。執行步驟902,令NAT伺服器判斷第一外部網路辨識資訊符合一裝置註冊表之一第一註冊記錄。
接著,執行步驟903,令NAT伺服器基於第一註冊記錄,將第一SIP邀請訊息之第一外部網路辨識資訊修正為一第一內部網路辨識資訊。最後,執行步驟904,令NAT伺服器根據第一內部網路辨識資訊,將第一SIP邀請訊息傳送至第二使用者裝置,俾第二使用者裝置根據第一內部網路RTP資訊回應第一使用者裝置。
本發明之第十實施例為NAT方法,其流程圖請參考 第10圖。第十實施例之方法係用於一NAT伺服器(例如前述實施例之NAT伺服器2)。第十實施例之詳細步驟如下所述。
首先,執行步驟1001,令NAT伺服器自內部網路之一第一使用者裝置接收一第一SIP邀請訊息。其中,第一SIP邀請訊息包含一第一內部網路RTP資訊以及一第二使用者裝置之一第一外部網路辨識資訊。執行步驟1002,令NAT伺服器判斷第一外部網路辨識資訊符合一裝置註冊表之一第一註冊記錄。
接著,執行步驟1003,令NAT伺服器基於第一註冊記錄,將第一SIP邀請訊息之第一外部網路辨識資訊修正為一第一內部網路辨識資訊。執行步驟1004,令NAT伺服器根據第一內部網路辨識資訊,將第一SIP邀請訊息傳送至第二使用者裝置,俾第二使用者裝置根據第一內部網路RTP資訊回應第一使用者裝置。
執行步驟1005,令NAT伺服器自第二使用者裝置接收一第一SIP回應訊息。其中,第一SIP回應訊息包含一第二內部網路RTP資訊。最後,執行步驟1006,令NAT伺服器將第一SIP回應訊息直接傳送至第一使用者裝置,俾第一使用者裝置回覆一確認訊息至第二使用者裝置,並基於第一內部網路RTP資訊以及第二內部網路RTP資訊進行即時通訊。
綜合上述,本發明之NAT伺服器及其NAT方法,主要可在二使用者裝置位於同一NAT伺服器之區域網路之情況下,利用映射關係完成SIP之RTP通訊服務之封包路由對應,藉以提升傳輸效率,同時可避免後端SIP伺服器之負擔。
惟上述實施例僅為例示性說明本發明之實施態樣,以及闡釋本發明之技術特徵,並非用來限制本發明之保護範疇。任何熟悉此技藝之人士可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,本發明之權利保護範圍應以申請專利範圍為準。

Claims (12)

  1. 一種用於網路位址轉換(Network Address Translation,NAT)伺服器之NAT方法,包含:(a)令該NAT伺服器自內部網路之一第一使用者裝置接收一第一會話發起協定(Session Initiation Protocol,SIP)邀請訊息,其中,該第一SIP邀請訊息包含該第一使用者裝置之一第一內部網路通訊資訊、一第二使用者裝置之一第一辨識資訊以及一第一內部網路即時傳輸協定(Real-time Transport Protocol,RTP)資訊;(b)令該NAT伺服器根據一映射表(mapping table)之一第一映射記錄,將該第一SIP邀請訊息之該第一內部網路通訊資訊修改為一第一外部網路通訊資訊;(c)令該NAT伺服器將該第一SIP邀請訊息之該第一內部網路RTP資訊修改為一第一外部網路RTP資訊,並於該映射表中建立該第一內部網路RTP資訊對應該第一外部網路RTP資訊之一第二映射記錄;(d)令該NAT伺服器於步驟(c)後,根據該第一SIP邀請訊息之一連接埠資訊,將該SIP邀請訊息傳送至外部網路之一SIP伺服器,俾該SIP伺服器根據該SIP邀請訊息之該第一識別資訊存取該第二使用者裝置之一註冊資訊,並於根據該註冊資訊將該第一SIP邀請訊息之該第一辨識資訊修正為一第二辨識資訊後,基於該第二辨識資訊將該第一SIP邀請訊息傳送至該NAT伺服器;(e)令該NAT伺服器自該SIP伺服器接收該第一SIP邀請訊息,並根據該第二映射紀錄,判斷該第一SIP邀請訊息之該第一外部網路RTP資訊 對應於該第一內部網路RTP資訊;(f)令該NAT伺服器於步驟(e)後,根據該第二映射記錄將該第一SIP邀請訊息之該第一外部網路RTP資訊修改為該第一內部網路RTP資訊,並根據該映射表之一第三映射記錄,將該第一SIP邀請訊息之該第二識別資訊修改為該第二使用者裝置之一第三識別資訊;(g)令該NAT伺服器於步驟(f)後,根據該第三識別資訊將該第一SIP邀請訊息傳送至內部網路之該第二使用者裝置,俾該第二使用者裝置根據該第一內部網路RTP資訊回應該第一使用者裝置。
  2. 如請求項1所述之NAT方法,其中,步驟(f)後更包含:(f1)令該NAT伺服器將該第二映射紀錄自該映射表中移除。
  3. 如請求項1所述之NAT方法,其中,步驟(g)後更包含:(h)令該NAT伺服器自該第二使用者裝置接收一第一SIP回應訊息,其中,該第一SIP回應訊息包含該第二使用者裝置之一第二內部網路通訊資訊以及一第二內部網路RTP資訊;(i)令該NAT伺服器根據該映射表之該第三映射記錄,將該第一SIP回應訊息之該第二內部網路通訊資訊修改為一第二外部網路識別資訊;(j)令該NAT伺服器將該第一SIP回應訊息之該第二內部網路RTP資訊修改為一第二外部網路RTP資訊,並於該映射表中建立該第二內部網路RTP資訊對應該第二外部網路RTP資訊之一第四映射記錄;(k)令該NAT伺服器於步驟(j)後,將該第一SIP回應訊息回傳至該SIP伺服器,俾該SIP伺服器將該第一SIP回應訊息回傳該第一使用者裝置所屬之該NAT伺服器; (l)令該NAT伺服器自該SIP伺服器接收該第一SIP回應訊息,並根據該第四映射紀錄,判斷該第一SIP回應訊息之該第二外部網路RTP資訊對應於該第二內部網路RTP資訊;(m)令該NAT伺服器於步驟(l)後,根據該第四映射記錄將該第一SIP回應訊息之該第二外部網路RTP資訊修改為該第二內部網路RTP資訊;(n)令該NAT伺服器於步驟(m)後,將該第一SIP回應訊息回傳至內部網路之該第一使用者裝置,俾該第一使用者裝置回覆一確認訊息(acknowledgement)至該第二使用者裝置,並基於該第一內部網路RTP資訊以及該第二內部網路RTP資訊進行即時通訊。
  4. 如請求項3所述之NAT方法,其中,步驟(m)後更包含:(m1)令該NAT伺服器將該第四映射紀錄自該映射表中移除。
  5. 一種用於網路位址轉換(Network Address Translation,NAT)伺服器之NAT方法,包含:(a)令該NAT伺服器自內部網路之一第一使用者裝置接收一第一會話發起協定(Session Initiation Protocol,SIP)邀請訊息,其中,該第一SIP邀請訊息包含一第一內部網路即時傳輸協定(Real-time Transport Protocol,RTP)資訊以及一第二使用者裝置之一第一外部網路辨識資訊;(b)令該NAT伺服器判斷該第一外部網路辨識資訊符合一裝置註冊表之一第一註冊記錄;(c)令該NAT伺服器根據步驟(b)之結果,基於該第一註冊記錄將該第一SIP邀請訊息之該第一外部網路辨識資訊修正為一第一內部網路 辨識資訊;(d)令該NAT伺服器根據該第一內部網路辨識資訊,將該第一SIP邀請訊息傳送至該第二使用者裝置,俾該第二使用者裝置根據該第一內部網路RTP資訊回應該第一使用者裝置。
  6. 如請求項5所述之NAT方法,更包含:(e)令該NAT伺服器自該第二使用者裝置接收一第一SIP回應訊息,其中,該第一SIP回應訊息包含一第二內部網路RTP資訊;(f)令該NAT伺服器將該第一SIP回應訊息直接傳送至該第一使用者裝置,俾該第一使用者裝置回覆一確認訊息(acknowledgement)至該第二使用者裝置,並基於該第一內部網路RTP資訊以及該第二內部網路RTP資訊進行即時通訊。
  7. 一種網路位址轉換(Network Address Translation,NAT)伺服器,包含:一記憶體,存有一映射表(mapping table);一收發介面;以及一處理單元;其中,該收發介面用以自內部網路之一第一使用者裝置接收一第一會話發起協定(Session Initiation Protocol,SIP)邀請訊息,其中,該第一SIP邀請訊息包含該第一使用者裝置之一第一內部網路通訊資訊、一第二使用者裝置之一第一辨識資訊以及一第一內部網路即時傳輸協定(Real-time Transport Protocol,RTP)資訊;該處理單元用以:根據該映射表之一第一映射記錄,將該第一SIP邀請訊息之該第 一內部網路通訊資訊修改為一第一外部網路通訊資訊;將該第一SIP邀請訊息之該第一內部網路RTP資訊修改為一第一外部網路RTP資訊,並於該映射表中建立該第一內部網路RTP資訊對應該第一外部網路RTP資訊之一第二映射記錄;根據該第一SIP邀請訊息之一連接埠資訊,透過該收發介面將該SIP邀請訊息傳送至外部網路之一SIP伺服器,俾該SIP伺服器根據該SIP邀請訊息之該第一識別資訊存取該第二使用者裝置之一註冊資訊,並於根據該註冊資訊將該第一SIP邀請訊息之該第一辨識資訊修正為一第二辨識資訊後,基於該第二辨識資訊將該第一SIP邀請訊息傳送至該NAT伺服器;於該收發介面自該SIP伺服器接收該第一SIP邀請訊息後,根據該第二映射紀錄,判斷該第一SIP邀請訊息之該第一外部網路RTP資訊對應於該第一內部網路RTP資訊;根據該第二映射記錄將該第一SIP邀請訊息之該第一外部網路RTP資訊修改為該第一內部網路RTP資訊,並根據該映射表之一第三映射記錄,將該第一SIP邀請訊息之該第二識別資訊修改為該第二使用者裝置之一第三識別資訊;根據該第三識別資訊,透過該收發介面將該第一SIP邀請訊息傳送至內部網路之該第二使用者裝置,俾該第二使用者裝置根據該第一內部網路RTP資訊回應該第一使用者裝置。
  8. 如請求項7所述之NAT伺服器,其中,該處理單元更用以於將該第一SIP邀請訊息之該第一外部網路RTP資訊修改為該第一內部網路RTP資訊後, 將該第二映射紀錄自該映射表中移除。
  9. 如請求項7所述之NAT伺服器,其中,該收發介面更用以自該第二使用者裝置接收一第一SIP回應訊息,該第一SIP回應訊息包含該第二使用者裝置之一第二內部網路通訊資訊以及一第二內部網路RTP資訊,該處理單元更用以:根據該映射表之該第三映射記錄,將該第一SIP回應訊息之該第二內部網路通訊資訊修改為一第二外部網路識別資訊;將該第一SIP回應訊息之該第二內部網路RTP資訊修改為一第二外部網路RTP資訊,並於該映射表中建立該第二內部網路RTP資訊對應該第二外部網路RTP資訊之一第四映射記錄;透過該收發介面將該第一SIP回應訊息回傳至該SIP伺服器,俾該SIP伺服器將該第一SIP回應訊息回傳該第一使用者裝置所屬之該NAT伺服器;於該收發介面自該SIP伺服器接收該第一SIP回應訊息後,根據該第四映射紀錄,判斷該第一SIP回應訊息之該第二外部網路RTP資訊對應於該第二內部網路RTP資訊;根據該第四映射記錄將該第一SIP回應訊息之該第二外部網路RTP資訊修改為該第二內部網路RTP資訊;透過該收發介面將該第一SIP回應訊息回傳至內部網路之該第一使用者裝置,俾該第一使用者裝置回覆一確認訊息(acknowledgement)至該第二使用者裝置,並基於該第一內部網路RTP資訊以及該第二內部網路RTP資訊進行即時通訊。
  10. 如請求項9所述之NAT伺服器,其中,該處理單元更用以於將該第一SIP回應訊息之該第二外部網路RTP資訊修改為該第二內部網路RTP資訊後,將該第四映射紀錄自該映射表中移除。
  11. 一種網路位址轉換(Network Address Translation,NAT)伺服器,包含:一記憶體,存有一裝置註冊表;一收發介面;以及一處理單元;其中,該收發介面用以自內部網路之一第一使用者裝置接收一第一會話發起協定(Session Initiation Protocol,SIP)邀請訊息,其中,該第一SIP邀請訊息包含一第一內部網路即時傳輸協定(Real-time Transport Protocol,RTP)資訊以及一第二使用者裝置之一第一外部網路辨識資訊;該處理單元用以:判斷該第一外部網路辨識資訊符合該一裝置註冊表之一第一註冊記錄;基於該第一註冊記錄將該第一SIP邀請訊息之該第一外部網路辨識資訊修正為一第一內部網路辨識資訊;根據該第一內部網路辨識資訊,透過該收發介面將該第一SIP邀請訊息傳送至該第二使用者裝置,俾該第二使用者裝置根據該第一內部網路RTP資訊回應該第一使用者裝置。
  12. 如請求項11所述之NAT伺服器,其中,該收發介面更用以:自該第二使用者裝置接收一第一SIP回應訊息,其中,該第一SIP回應訊息包含一第二內部網路RTP資訊,該處理單元更用以: 將該第一SIP回應訊息直接傳送至該第一使用者裝置,俾該第一使用者裝置回覆一確認訊息(acknowledgement)至該第二使用者裝置,並基於該第一內部網路RTP資訊以及該第二內部網路RTP資訊進行即時通訊。
TW105140085A 2016-12-05 2016-12-05 網路位址轉換伺服器及其網路位址轉換方法 TWI639326B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105140085A TWI639326B (zh) 2016-12-05 2016-12-05 網路位址轉換伺服器及其網路位址轉換方法
US15/371,166 US20180159823A1 (en) 2016-12-05 2016-12-06 Network address translation server and network address translation method thereof
CN201611108433.4A CN108156269A (zh) 2016-12-05 2016-12-06 网络地址转换服务器及其网络地址转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105140085A TWI639326B (zh) 2016-12-05 2016-12-05 網路位址轉換伺服器及其網路位址轉換方法

Publications (2)

Publication Number Publication Date
TW201822507A true TW201822507A (zh) 2018-06-16
TWI639326B TWI639326B (zh) 2018-10-21

Family

ID=62244214

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105140085A TWI639326B (zh) 2016-12-05 2016-12-05 網路位址轉換伺服器及其網路位址轉換方法

Country Status (3)

Country Link
US (1) US20180159823A1 (zh)
CN (1) CN108156269A (zh)
TW (1) TWI639326B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835885B (zh) * 2020-07-15 2023-04-07 杭州迪普科技股份有限公司 一种网络地址转换方法、装置和设备
CN111885219B (zh) * 2020-07-28 2023-04-07 杭州迪普科技股份有限公司 一种基于sip媒体协商的通信方法、装置和nat设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023847B2 (en) 2003-01-15 2006-04-04 Thomson Licensing Network address translation based mobility management
CN100539504C (zh) * 2006-02-28 2009-09-09 诺基亚西门子通信系统技术(北京)有限公司 一种网络地址转换和/或防火墙穿越平台、系统及其方法
US8638790B2 (en) 2008-06-23 2014-01-28 Qualcomm Incorporated Method and apparatus for managing data services in a multi-processor computing environment
TW201002018A (en) 2008-06-26 2010-01-01 D Link Corp Method for predicting port number of NAT apparatus based on two STUN server inquiry results
CN101552848B (zh) * 2009-05-20 2012-02-01 杭州华三通信技术有限公司 一种基于会话初始协议的会话方法及设备
TWI404387B (zh) * 2010-08-13 2013-08-01 Chunghwa Telecom Co Ltd 在網路位址轉換環境下使用對話啟動協定的通訊方法與系統
CN102413111A (zh) * 2010-09-26 2012-04-11 中华电信股份有限公司 使用会话初始协议的通讯方法与系统
CN103944795B (zh) * 2013-01-18 2017-10-27 正文科技股份有限公司 虚拟私有网络通信系统、路由装置及其方法
CN103516729A (zh) * 2013-10-25 2014-01-15 深圳创维-Rgb电子有限公司 一种流媒体传输方法以及系统
TWI565261B (zh) * 2014-04-17 2017-01-01 財團法人資訊工業策進會 用於即時通訊的網路位址轉換穿透系統與方法
CN106131084B (zh) * 2016-08-30 2019-07-02 迈普通信技术股份有限公司 Rtp媒体流穿越方法、sip服务器和sip通信系统

Also Published As

Publication number Publication date
CN108156269A (zh) 2018-06-12
TWI639326B (zh) 2018-10-21
US20180159823A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
US10536490B2 (en) Apparatus and method for communications involving a legacy device
US8082324B2 (en) Method of establishing a tunnel between network terminal devices passing through firewall
US8767590B2 (en) Multimedia conference system and method which enables communication between private network and internet
US8917311B1 (en) Establishing a connection for a video call
US8650312B2 (en) Connection establishing management methods for use in a network system and network systems using the same
TW201002018A (en) Method for predicting port number of NAT apparatus based on two STUN server inquiry results
EP2018756B1 (en) Address translation in a communication system
US20100040057A1 (en) Communication method
US8429279B2 (en) Method and device for connecting packet-oriented communication terminals
US20120099599A1 (en) Method and Apparatus for Relaying Packets
TWI527407B (zh) 會談感知的網路位址轉換穿透方法
US20130007291A1 (en) MEDIA INTERWORKING IN IPv4 AND IPv6 SYSTEMS
JP5777830B2 (ja) 第1の通信装置の物理的な位置を表す位置情報を第1の通信装置からサーバに通知するための方法、該方法を実行するためのコンピュータプログラム及び位置情報を通知するための第1の通信装置
US20160308930A1 (en) Method and System to Add Video Capability to any Voice over Internet Protocol (Vo/IP) Session Initiation Protocol (SIP) Phone
TWI639326B (zh) 網路位址轉換伺服器及其網路位址轉換方法
WO2007112640A1 (fr) Procédé et appareil de remplacement de l'identification de session, serveur d'application et procédé de remplacement de session
WO2016095751A1 (zh) 一种域名解析方法及装置
TWI508495B (zh) Method of exchanging distributed network messages
JP2010011120A (ja) Uni接続におけるnat変換装置およびnat変換プログラム
KR20020055300A (ko) 브이오아이피 게이트웨이에서 네트워크 주소 변환 서버를통한 음성 패킷 전달 방법
KR101344270B1 (ko) 클라우드 환경을 위한 통신 장치 및 통신 장치 운영 방법
TWI397308B (zh) Internet telephone system
WO2017221919A1 (ja) 通信接続管理装置、ipマルチメディアサブシステム、登録装置、通信接続管理方法、プログラムが記録された記録媒体
TW201616844A (zh) 解決網路位址轉譯器之連線限制的網路連線系統及其方法
TW201545502A (zh) 網路連線策略管理裝置及方法