還有一些實體,幫助SIP創(chuàng)建網(wǎng)絡。在SIP內(nèi)每個網(wǎng)絡元件被標識SIP URI(統(tǒng)一資源標識符),它是像一個地址或標識。下面是網(wǎng)絡元素:
它是端點和SIP網(wǎng)絡中最重要的網(wǎng)絡元件中的一個。端點可以啟動,修改或終止會話。用戶代理的SIP網(wǎng)絡的最智能設備或網(wǎng)絡元件。它可能是一個軟件電話,移動電話或平板電腦。
用戶代理在邏輯上分成兩部分:
用戶代理客戶端(UAC) - 發(fā)送請求和接收響應的實體。
用戶代理服務器(UAS)- 接收一個請求,并發(fā)送應答的實體。
SIP是基于客戶端 - 服務器架構,其中來電者的電話作為其發(fā)起呼叫,被叫方的電話作為其響應呼叫服務器的客戶端。
它是采用一個請求從用戶代理,并將其轉發(fā)給另一個用戶的網(wǎng)絡元件。
基本上是一個代理服務器的作用是很象一個路由器。
它具有一定的智能,以了解一個SIP請求,并將其推進,在URI的幫助下推送。
代理服務器位于兩個用戶代理之間。
有可能是在源和目的地之間,最大能有70個代理服務器。
有兩種類型的代理服務器:
無狀態(tài)代理服務器 - 它簡單地轉發(fā)接收到的消息。這種類型的服務器不存儲呼叫或事務處理信息。
狀態(tài)代理服務器- 這種類型的代理服務器的跟蹤每個請求和響應的接收,并可以根據(jù)需要在將來使用。它可重發(fā)的請求時,如果沒有從在時間上響應另一側。
在注冊服務器接受來自用戶代理的注冊請求。它可以幫助用戶在自己的網(wǎng)絡中進行身份驗證。它存儲的URI和用戶數(shù)據(jù)庫的位置在同一域內(nèi)幫助其他SIP服務器。
看看下面的例子,顯示SIP注冊的過程。
在這里,主叫方想要向TMC域名注冊。所以它發(fā)送一個REGISTER請求TMC的注冊服務器和服務器返回200 OK響應,因為它授權客戶端。
重定向服務器接收請求,并期待在由注冊商創(chuàng)建的位置數(shù)據(jù)庫請求的接收人。
重定向服務器使用數(shù)據(jù)庫獲取的位置信息,并響應使用3xx(重定向響應)給用戶。我們將在本教程后面討論響應代碼。
定位服務器提供了對來電者的可能位置的重定向和代理服務器的信息。
只有一個代理服務器或重定向服務器可以聯(lián)系一個位置服務器。
下圖描述了每個網(wǎng)絡元素在建立會話所扮演的角色。
SIP被構造為分層協(xié)議,這意味著它的行為是在一組相當獨立的處理階段來描述與每個階段之間只有松散耦合。
SIP的最下層是它的語法和編碼。它的編碼是用擴充Backus-Naur 范式語法(BNF)指定。
在第二個層次是傳送層。它定義了一個客戶端發(fā)送請求和接收響應以及一個服務器如何接收請求和發(fā)送響應通過網(wǎng)絡。所有的SIP元素包含一個傳輸層。
接下來是處理層。事務是由一個客戶端的事務(使用傳輸層)發(fā)送一個請求到服務器事務,連同所有響應從服務器事務回客戶端發(fā)送的請求。通過一系列的交易,一個用戶代理客戶端(UAC)完成任何任務發(fā)生。無狀態(tài)代理不包含事務層。
事務層以上的層稱為事務用戶。每個SIP實體,除了無狀態(tài)代理,都是一個事務用戶。