- 作者:james.zhu(james.zhu@hiastar.com) www.hiastar.com 微信公眾號:asterisk-cn
- Asterisk課堂-如何通過(guò)源代碼安裝方式安裝Asteisk/dahdi
- Asterisk課堂-系統部署環(huán)境要求
- Asterisk課堂-Asterisk技術(shù)架構
- Asterisk課堂-撥號規則基礎
- Asterisk課堂-創(chuàng )建第一個(gè)撥號規則
- Asterisk課堂-撥號規則中的Contexts
- Asterisk課堂-撥號規則中變量的使用
- Asterisk課堂-撥號規則中的Extensions用法
- Asterisk課堂-撥號規則中匹配模式
- Asterisk課堂-IAX2 介紹
- Asterisk課堂-IAX2 呼叫流程
- Asterisk課堂-SIP介紹

本章節主要介紹asterisk中經(jīng)常使用的SIP協(xié)議,包括SIP協(xié)議的基本概念,SIP協(xié)議所支持的設備終端,SIP的存在的問(wèn)題,Asterisk在SIP實(shí)現中扮演的角色,SIP技術(shù)細節(SIP,SDP,RTP)。視頻中我們簡(jiǎn)單介紹了以上幾個(gè)方面的要點(diǎn):
現在我們簡(jiǎn)單介紹一下這幾個(gè)方面的內容:
SIP協(xié)議是標準通信協(xié)議,當初設計的目的不僅僅是實(shí)現對語(yǔ)音通信的支持,更多是為了一般標準通信協(xié)議所設計,支持的媒體類(lèi)型包括了文本,語(yǔ)音和視頻。

SIP在A(yíng)sterisk中或者其他的軟交換中扮演著(zhù)非常重要的角色,支持很多設備類(lèi)型,基本上在目前市場(chǎng)上主流軟交換都支持了SIP協(xié)議。支持SIP協(xié)議的周邊終端設備包括了物理SIP話(huà)機,基于PC的軟電話(huà),手機APP,電話(huà)會(huì )議系統,對講系統,物理服務(wù)器,語(yǔ)音網(wǎng)關(guān),當然還有Asterisk本身。通過(guò)不同類(lèi)型的設備互相通信,把整個(gè)Asterisk周邊接口都連接在了一起。

SIP 在OSI 模型中的使用和存在的問(wèn)題,因為SIP設計采用了應用層和網(wǎng)絡(luò )層來(lái)控制整個(gè)呼叫流程,所以在實(shí)際使用過(guò)程中需要借助很多第三方來(lái)實(shí)現完整的語(yǔ)音驗證,端口轉發(fā),媒體通信。用戶(hù)在公網(wǎng)實(shí)現中可能需要考慮很多專(zhuān)業(yè)的設備或者軟件來(lái)解決SIP NAT問(wèn)題,例如SBC。SBC不僅僅支持了拓撲隱藏,防攻擊,編碼轉換,同時(shí)支持了PSTN逃生功能,支持了模擬和數字接口。


Asterisk是一個(gè)SIP的背靠背代理,不是一個(gè)proxy。這一點(diǎn)大家要非常注意。這也是很多人通常犯的最基本的錯誤。簡(jiǎn)單來(lái)說(shuō),就是通過(guò)背靠背的方式,把兩個(gè)SIP終端連接到了一起,并且通過(guò)Asterisk實(shí)現一些對呼叫的業(yè)務(wù)控制。為了實(shí)現對呼叫復雜的業(yè)務(wù)控制,Asterisk必須分別創(chuàng )建兩個(gè)通道來(lái)響應兩個(gè)不同的SIP終端。所以Asterisk可以對SIP終端實(shí)現號碼變換,實(shí)現呼叫錄音或者通過(guò)應用模塊來(lái)終止這個(gè)呼叫流程(例如簡(jiǎn)單播放IVR,直接hangup)。這樣,asterisk就會(huì )實(shí)現非常復雜的業(yè)務(wù)功能。相對Proxy來(lái)說(shuō),它基本上不會(huì )對終端進(jìn)行處理,僅僅是簡(jiǎn)單的轉發(fā)功能。這里關(guān)于背靠背代理和proxy,我們不做更加深入的解釋?zhuān)脩?hù)可以從互聯(lián)網(wǎng)獲得很多資料。

SIP技術(shù)細節包括了SIP控制協(xié)議本身,SDP協(xié)議,和RTP協(xié)議。它們分別控制著(zhù)呼叫發(fā)起,呼叫描述和語(yǔ)音傳輸的功能。在這三個(gè)協(xié)議中,經(jīng)常可能需要檢查SIP端口,RTP端口,語(yǔ)音編碼類(lèi)型。這些因素影響語(yǔ)音的正常通話(huà)。另外,注意的是,Asterisk-12以上版本,用戶(hù)會(huì )切換到PJSIP協(xié)議,所以端口配置文件發(fā)生了變化。另外,如果要解決公網(wǎng)注冊的問(wèn)題,路由器需要開(kāi)啟的RTP端口范圍。

在以上的內容中,我們簡(jiǎn)單描述了SIP的基本概念,SIP在使用環(huán)境中的問(wèn)題,還有所支持的SIP設備,Asterisk是一個(gè)SIP背靠背代理,在業(yè)務(wù)處理方面發(fā)揮的作用,最后介紹了三個(gè)基本協(xié)議SIP本身,SDP,RTP所各自負責的工作和端口設置。