在前面的講座中,我們簡(jiǎn)單介紹了SIP協(xié)議使用SIP協(xié)議的原因。現在我們將繼續介紹關(guān)于SIP的基本定義和SIP架構中的幾個(gè)基本概念。
SIP定義
根據官方RFC 3261 的定義,SIP是這樣描述的:

中文的定義大概可以解釋為:SIP是存在于應用層的控制協(xié)議,它可以實(shí)現創(chuàng )建,修改和結束多媒體會(huì )話(huà)例如會(huì )議或網(wǎng)絡(luò )呼叫。SIP可以邀請一個(gè)已存在的會(huì )話(huà)來(lái)實(shí)現媒體會(huì )議。它可以對已存在的會(huì )話(huà)中添加或移除媒體。SIP 也可以透明地支持名稱(chēng)映射和重定位的服務(wù),這樣可以支持用戶(hù)的移動(dòng)性,無(wú)論用戶(hù)在何地登錄服務(wù)器,都可以實(shí)現用戶(hù)的身份驗證。
在以上的說(shuō)明中,用戶(hù)基本上可以看到SIP可以發(fā)起呼叫,添加刪除媒體,也可以實(shí)現對名稱(chēng)驗證和映射,同時(shí)用戶(hù)可以實(shí)現在不同地點(diǎn),不同終端的登錄管理。
注意,圖例中標注了SIP通過(guò)UCP傳輸的方式,也會(huì )有一些微軟的客戶(hù)也使用TCP的傳輸方式。

關(guān)于SIP中的UAC和UAS的關(guān)系,UAC為 User Agent Client, 它負責發(fā)起呼叫;而UAS為User Agent Server, 它接收一個(gè)呼叫。UA可以是UAC或者UAS。當然在現實(shí)環(huán)境中,如果簡(jiǎn)單的呼叫的話(huà),用戶(hù)不一定需要UAS,兩個(gè)UAS 之間也可以直接通過(guò)IP進(jìn)行呼叫。


以下圖例可以解釋一個(gè)簡(jiǎn)單的UAC/UAS雙方之間的通話(huà)流程。SIP UAC 發(fā)起一個(gè)INVITE 消息,UAS回復一個(gè) 200 OK,UAC 發(fā)送一個(gè)ACK 消息確認,然后開(kāi)始正式的語(yǔ)音呼叫,雙方發(fā)送媒體流,UAS 或者UAC掛機,UAS發(fā)送一個(gè)Bye消息,最后UAC 發(fā)送一個(gè)200 OK,正式確認雙方通話(huà)結束。
SIP架構
根據rfc3261的定義,為了實(shí)現SIP所描述的功能,我們現在看看基本的SIP架構實(shí)現方式。

它包括幾個(gè)核心的要素:
- UAC,包括各種用戶(hù)終端,電腦,手機app,物理SIP電話(huà)或者軟電話(huà)等等接入終端。
- Proxy負責終端的會(huì )話(huà)管理。
- Registrar 服務(wù)器負責用戶(hù)注冊管理。
- Location 服務(wù)器負責用戶(hù)的定位管理。
- Gateway負責用戶(hù)通過(guò)落地接入PSTN網(wǎng)絡(luò )的能力處理。
這里,讀者看到的是非常具體,按照標準RFC 3261來(lái)定義的一個(gè)SIP架構實(shí)體。當然,在實(shí)際的應用環(huán)境中,我們可能看不到這些具體的每個(gè)服務(wù)器的安裝配置。很多時(shí)候,幾個(gè)服務(wù)器可能是通過(guò)同一臺服務(wù)器來(lái)實(shí)現這些功能,例如注冊服務(wù)器和定位服務(wù)器可能就是一臺服務(wù)器。很多時(shí)候,因為,我們用戶(hù)更多的應用場(chǎng)景是在一個(gè)內網(wǎng)呼叫,關(guān)注的也是一個(gè)單臺企業(yè)PBX功能,所以簡(jiǎn)單的定位或者注冊實(shí)際上都在同一臺服務(wù)器完成。
SIP格式和URL的格式相同,用戶(hù)通過(guò)SIP@domain的方式來(lái)定義用戶(hù)的唯一性。具體的表現形式如以下圖例:

通過(guò)不同的形式來(lái)體現所支持的功能。
以上章節重點(diǎn)介紹了SIP的定義,SIP的幾個(gè)基本的概念和SIP的技術(shù)架構中的幾個(gè)核心要素。這些基本的功能和核心要素構成了一個(gè)簡(jiǎn)單的SIP呼叫流程,網(wǎng)絡(luò )架構的形式,可以幫助用戶(hù)了解基本的SIP技術(shù)特點(diǎn)。筆者在未來(lái)的章節中會(huì )逐步介紹更多的技術(shù)細節。
關(guān)注公眾微信號:asterisk-cn 獲得更多有價(jià)值的企業(yè)通信行業(yè)技術(shù)分享,訪(fǎng)問(wèn)技術(shù)論壇獲得技術(shù)幫助:www.issabel.cn/forum