第二章、 文獻探討
2.4. SIP會議的建立與終結
2.4.1. SIP 會議
在 SIP 網路元件中,二個 UA 與一個代理伺服器就可組成一個基本的網路電 話環境,每個 UA 在使用網路電話前必須先發送註冊(REGISTER)訊息到 SIP 代 理伺服器,此時伺服器會對 UA 進行認證並且將 UA 的傳輸路徑記錄下來,往後 伺服器將使用此傳輸路徑與 UA 交換訊息。
圖 12 SIP Session
如圖 12為一個完整的SIP會議建立與終結,當邀請者(630)要與受邀者(640)
通話時,由於邀請者不知受邀者的傳輸路徑,因此邀請者會發送邀請(INVITE) 訊息到代理伺服器上,由伺服器擔任訊息轉送的任務,UA所使用的語音或影像 編碼(codec)會在會議的建立過程中決定,當SIP會議建立完成後UA會使用所決定 的語音/影像編碼傳輸RTP資訊,在傳輸的過程中可分為點對點與主從式二種傳輸 的模式,而傳輸的模式由邀請訊息與 200 OK中的SDP所決定,當任何一方UA掛 上電話時,會傳送結束(BYE)的訊息,直到接收 200 OK後表示SIP會議的結束。
SIP 會議建立與結束流程如下:
1.
邀請:當邀請者(630)傳送 INVITE 訊息到伺服器時,會告知伺服器受邀者的名稱,
並帶有邀請者的 SDP 訊息,表示在傳送 RTP 訊息時的 IP 位址、連接埠與使用的 語音/影像編碼,此時伺服器會回覆 100 Trying 訊息給邀請者表示訊息處理中,
並由伺服器代為尋找受邀者傳輸路徑,將 INVITE 訊息轉送到受邀者電話。
2.
響鈴(180):受邀者接收到 INVITE 訊息時會回覆 180 Ringing,表示受邀者已接收到邀請 訊息,此時受邀者的電話會發出響鈴,等待使用者的接聽,同時代理伺服器會轉 果使用主從式的傳輸模式如 B2BUA(Back to Back User Agent),支援編碼轉換的 能力,則雙方 UA 不需要使用相同的編碼方式仍然可通話。
6.
結束(BYE):任何一方掛上電話時會送出 BYE 的訊息到代理伺服器表示結束通話,並結 束 RTP 的傳輸,與收回 RTP 傳輸時所使用的連接埠資源,直到代理伺服器回覆 200 OK 後會議才算完整結束。
2.4.2. RTP 傳輸模式 1.
點對點(Peer to Peer)如圖 13由SIP Proxy作為與客戶端之間連接的主要伺服器,其中包括代理伺 服器(proxies server)、註冊伺服器(registrars server)與轉址伺服器(redirect server) 的功能,用來處理客戶端之間會議的建立、協調與終止,並藉由Location Server 來儲存客戶端所需相關資訊,而代理伺服器只處理SIP訊號控制的功能,因此處 理語音方式則是由客戶端雙方自行溝通。此種傳輸模式好處在於伺服器負擔輕,
由代理伺服器處理多媒體會議的建立,之後語音訊息由雙方進行點對點傳輸,
RTP資訊無需經由代理伺服器轉送因此可減少伺服器的網路負擔,但缺點在於客 戶端必須擁有相同語音編碼才可進行對話,且無法通過NAT或防火牆等裝置。
圖 13 Peer to Peer mode
2.
主從式(Client Server)如圖 14為使用主從式(Client Server)架構的傳輸模式,與代理伺服器不同的 是伺服器維護SIP的初始訊息(INVITE)、語音資訊(RTP Stream)到結束(BYE)為 止,此傳輸模式可支援NAT或防火牆後的UA互相溝通,並且修改通過NAT後SIP 訊息的欄位,使得UA可正確的穿越NAT或防火牆,且支援客戶端不同語音編碼
的轉換,適合用於語音儲存、監控等,然而缺點在於採用主從式架構,伺服器之 網路負擔與使用者通話品質將隨著使用人數的增加而降低。
圖 14 Client Server mode