第二章 相關研究
2.2. SIP 元件
因為我們的系夠架構在SIP的環境中,所以當我們要會議建立時必頇要用到多 個SIP元件,而其中主要有以下四個基礎元件。用戶代理(User Agent)、註冊伺服器 (Registration)、代理伺服器(Proxy Server)和重新定向伺服器( Redirect Server),以下 對這些元件做介紹。
2.2.1 用戶代理 (User Agent)
User Agents簡稱為UA,用戶端通常是硬體電話、個人電腦或手機上的軟體電 話,他代替使用者處理各協定的相關事務。UA最主要的功能為當使用者設定註冊 資訊時發出註冊請求,撥號時發出通話請求、接收到訊息時回應要求、掛上電話 時停止通話。如圖2-1所示,用戶代理在邏輯上它包含有User Agent Client (UAC) 以 及 User Agent Server (UAS) 兩種角色,當一個訊息要被傳送到其他地方時,必定 會有一個UAC和UAS,其中UAC負責發送請求(Request)以及接收UAS傳來的回應 (Response) ,而UAS負責接收UAC發送的請 求(Request) 以及依照請求發送回應 (Response)。每個UA都同時是UAC和UAS,如果UA目前處於的是呼叫者(Caller) 的位置,這時該UA就是處於UAC的位置,反之UA所處於的是接聽者(Callee)的位 置,這時該UA則處於UAS的位置。
圖 2-1 UA
UAC
UAS
UAS UAC UAS
UAC
Caller Proxy Server Callee
INVITE INVITE
BYE
2.2.2 代理伺服器 (Proxy Server)
Proxy Server是SIP運作的核心元件,為了因應需求,它同時帶有伺服器端和客 戶端雙重身分,他的工作是把UA發出的請求或是其他的Proxy Server收到的請求代 為轉送到應該傳送的位置。如圖2-2 所示,當Alice送出連線請求時並不一定知道 請求連線的對象其IP位址究竟位於何處,此時便需要將請求傳送給Proxy Server,
Proxy Server再透過查詢Location Server得知John相關位址資訊,才能轉送到正確的 John位置。從Alice發出請求連線時,有可能經由Proxy Server層層轉送後才將請求 訊息傳送到目的端的John。因此,每台Proxy Server都會預設該傳送的路由,依照 目的端傳送到對應的Proxy Server並且對請求訊息做適當的修改處理以利訊息的傳 遞。John發送回應訊息時,也是經過相同的路徑但是順序相反將回應結果給請求端 的Alice。
圖 2-2 Proxy Server
2.2.3 重定向伺服器 (Redirect Server)
重定向伺服器(如圖2-3)和Proxy Server十分類似,但他的工作卻和Proxy Server 大不相同,Redirect Server只負責為呼叫者找尋目前接聽者的位置,並把查尋結果 回傳給呼叫者,讓呼叫者知道需要將連線請求重新導向接聽者目前的位置,而不
8
位置給使用者,所以又有一說Redirect Server像是SIP中的DNS,專門回傳SIP的IP 位址。
302 Moved Temporarily John
2.2.5 位置伺服器 (Location Server)
位置伺服器(如圖2-5)就像是SIP的資料庫,負責把UA傳給Register Server 的註冊資訊儲存,其中有:URI、IP、顯示來電名稱、特性等等。接受註冊 伺服器的用戶資料,並提供給代理伺服器和轉向伺服器使用。通常位置伺服 器、註冊伺服器都是代理伺服器的一部分,少數大規模的電信等級服務設施,
才會因效能考量區分開。
圖 2-5 Location Server
Alice Registrar
Location Service
Proxy Server
REGISTER
STORE
Query
Resp
INVITE
INVITE John
10