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

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

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


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

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

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