第三章、 研究方法
3.1. 系統規劃
3.1.1. 系統架構
由 SIP 的基本架構中,提供了點對點與主從式二種傳輸模式,因此本研究以 SIP 為主要的通訊協定,依情況動態調整使用者適合之傳輸模式。本架構使用 SIP 代理伺服器作為系統主要入口點(Master),並將 UA 的註冊訊息(Register)訊息與 傳輸路徑存入 Location 伺服器,作為日後選擇 UA 傳輸模式的依據,透過整合 Slave 伺服器可提供分散 RTP 流量或其它電話相關之功能與服務。
圖 17 系統架構圖
如圖 17為本研究之系統架構圖,當客戶端位於公開網路時,Master伺服器 將附予使用者點對點的傳輸方式,讓RTP訊息直接溝通,減少伺服器之負擔,當 任一方位於私有網路(Private Network)內時,Master伺服器將使用主從式架構的傳 輸方式讓雙方UA互通,透過主從式架構的傳輸模式可容易的解決SIP位於NAT後 所無法接收RTP訊息的問題。
SIP 代理伺服器透過 SIP 位欄位中的 Contact、所接收的 IP 位址與 UDP 層連 接埠資訊可判定使用者是否位於私有網路內,進而使用主從式架構的傳輸模式,
然而主從式架構之伺服器會因為使用者連線數的增加直接影響通話品質,因此本
研究設置 Slave 群組,將相同性質服務視為 Slave 伺服器群組(Slave Server Master具備修改UA傳送SIP訊息內容能力,透過檢查RFC 1918 [16] 所規範之私 有網路IP位址規則或比較Master所接收的實際UA來源連接埠與SIP層Via欄位所
圖 18 系統環境整合圖
3.1.3. 系統區塊模組
每個SIP邀請者直接透過Master伺服器的代理與受邀者通訊,然而Master的路 由方式依UA的網路環境、Request URI與Location資料庫之設定有所不同,由於 Slave主要由主從式架構的傳輸模式作為基礎,因此將SIP訊息轉送到Slave伺服器 前需先透過平衡負載將SIP會議分配到所設定的Slave群組中。圖 19系統區塊與 模組將介紹UA從邀請方到受邀方之間所經過的系統模組。
1. Master
A. Route Rule
邀請者傳送SIP邀請訊息到Master伺服器時,由路由規則(Route Rule)模 組負責解析UA資訊、RURI與受邀者傳輸路徑,經由路由規則(如3.2.3節)之 設定可將SIP會議分為二種方式進行。
B. Master Transaction Relay
經由路由規則的檢查,當 UA 的網路環境可直接互相通訊,且不需使用 其它額外服務時,可使用點對點的方式傳送 RTP 資訊減輕伺服器網路負擔。
C. Load Balance
經由檢查 RURI 與 Location 資料庫後,符合 NAT/防火牆或其它特殊旗 標時,由於此類型 SIP 會議將使用主從式架構的傳輸模式,因此 Master 會 先透過平衡負載模組,將 SIP 會議分配到 Slave 群組並由 Slave 負責 SIP 會 議後續的建立流程。
2. Slave
A. Client Server
藉由 SIP 轉送方式整合其它 Slave 伺服器,此類伺服器如 SIP IP PBX 預 設使用主從式架構的傳輸模式,可提供位於 NAT 或防火牆後的 UA 傳送 RTP 資訊並可藉由 PBX 能力整合其它相關電話功能。
B. Slave Transaction Relay
藉由 Slave 伺服器轉送 SIP 會議表示任一方或雙方 UA 位於 NAT/防火牆 後,透過下層 Client Server 模組將使得 SIP 會議轉換成主從式傳輸模式,雙 方 UA 透過同一個 Slave 伺服器傳輸 RTP 資訊。
C. Service Integration
透過 SIP IP PBX 可整合相關電話功能,因此服務整合模組中會分析由 Master 所傳送的 SIP RURI 資訊對應出不同的服務提供項目,如同 GSM 網 路可使用 123 進入語音信箱、學校公司單位使用 0 或 9 的字首號碼作為連接 PSTN 外線功能,這類服務由 UA 主動使用之服務模式,此外可由系統管理 者之設置將 UA 之間通話訊息記錄到伺服器中達到監聽的功能,而此類的服 務可由系統管理者設置,Master 經由路由規則之判斷可在 UA 不知情的狀況 下使用特殊的字首通知 Slave 伺服器進行通話監聽。
圖 19 系統區塊圖