1. 程式人生 > >asterisk伺服器的搭建和配置

asterisk伺服器的搭建和配置

        大約在一年前,學習過一段時間的asterisk。作為一個相對成熟的VOIP電話的伺服器,asterisk完全可以用來作為個人的一個微型電話局。反正個人有個阿里雲伺服器閒著,搭一個asterisk用來玩玩吧。

        首先,要安裝asterisk。個人建議使用apt-get進行安裝,因為asterisk需要依賴很多東西,通過apt-get安裝可以直接將需要的庫等都安裝好。

sudo apt-get install asterisk

        這樣asterisk就安裝好了。一年前剛接觸asterisk時,是通過安裝包安裝的,費了一小段時間才安裝好,因為之前的環境是一個內網虛擬機器的環境,無法連到公網,於是就在安裝過程中各種下載需要的依賴庫。但是這樣安裝的asterisk不是最新版,比如我安裝時最新版本為14,但是這樣安裝的版本卻是11,不支援很多新協議棧(如PJSIP,OSIP等)(PJSIP在版本12才開始支援),如果對版本有要求的話,最好原始碼安裝。

        接下來就是配置了。asterisk有很多的配置檔案,這些配置檔案都在/etc/asterisk資料夾下。

        如果要讓asterisk工作起來,首先需要配置使用者資訊,通過配置sip.conf檔案即可:

sudo vim sip.conf

        在檔案中新增如下內容:

[general]
context = default
tcpbindaddr = 0.0.0.0
tcpenable = yes

[1001]
type = friend
callerid = User One 
secret = 1001
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1001
disallow = all
allow = ulaw
transport = udp

[1002]
type = friend 
callerid = User Two 
secret = 1002
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1002
disallow = all
allow = ulaw
transport = udp

[1003]
type = friend 
callerid = User Three 
secret = 1003
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1003
disallow = all
allow = ulaw
transport = udp

        以上表示配置了三個使用者:1001,1002,1003.每個使用者的具體配置的每個欄位從名字來看就大概能知道。在general中有 很多伺服器的基礎配置,看一下原先檔案中的註釋即可。     接下來需要配置每個使用者打電話的相關策略,即配置extension.conf檔案:

[general]
static=yes
writeprotect=no

[default]
exten => 1001,1,Answer()
exten => 1001,n,Dial(SIP/1001,20,tr)
exten => 1001,n,Hangup

exten => 1002,1,Answer()
exten => 1002,n,Dial(SIP/1002,20,tr)
exten => 1002,n,Hangup
exten => 1003,1,Answer()
exten => 1003,n,Dial(SIP/1003,20,tr)
exten => 1003,n,Hangup

        可以在裡面配置很多策略,比如被呼振鈴時間等,都是可以配置的。這裡就相似於一種指令碼語言一樣,通過這個指令碼,可以 描述整個呼叫過程中的所有過程。 至此,整個asterisk伺服器最基本的版本就搭建好了,勉強可以用。 測試:選擇了一android系統的終端和一個windows系統的終端進行打電話,android下使用linphone,windows下使用 eyebeam,經過測試,沒有問題。             當然,asterisk有很多好玩的東西。比如使用者資訊的配置等等,還有每個使用者的打電話的策略等,都可以通unixODBC和 asterisk提供的相關模組(如realtime等)寫入MYSQL資料庫,這樣便於自己寫一個第三方操作資料庫的軟體直接對 asterisk進行配置;asterisk還可以配置cdr;還可以配置錄音等等好玩的東西。以下是當時剛開始學習asterisk時的虛擬機器的備份。

        伺服器配置好後,新問題來了,隔一段時間就有人不斷的想登陸你配置好的asterisk伺服器,嘗試了不同的號碼, Register信令和Invite信令也傳送了無數次,然而號碼都不對。遮蔽它就好。