Asterisk是用在作為sip語音伺服器的使用。通常可以搭配FXO卡,作為可以連接傳統電話的方式進行網路電話的撥打。如果沒有,那麼也可以搭配軟體在網路上撥打。相對應還有OpenSER,差別只是一個是B2BUA,後者是單純的sip proxy,差異可以看這裡。
在這裡,我們的目的就是要架設一台asterisk server並可以可利用VoIP軟體進行撥打。
安裝方式如下
1. 安裝套件,有內建可以下載直接安裝   
sudo apt-get install asterisk
2. zaptel, libpri安裝   
這部分我覺得是要搭配卡才可以用到,所以可以選擇不裝。若有需要可以同樣apt-get取得
3.設定分機   
這裡將設定兩個分機可以測試,分別是102和202。編輯sip.conf。    
sudo vi /etc/asterisk/sip.conf 
在最後的部分加上以下資訊。
[102]   
username=102    
type=friend    
secret=102    
qualify=yes    
nat=yes    
host=dynamic    
dtmfmode=rfc2833    
context=internal    
canreinvite=no 
[202]   
username=202    
type=friend    
secret=202    
qualify=yes    
nat=yes    
host=dynamic    
dtmfmode=rfc2833    
context=internal    
canreinvite=no
4. 設定接通   
即是之前context內容所對應的動作"internal"。
開啟文件   
sudo /etc/asterisk/extensions.conf
在最後加入以下internal定義。
[internal]   
exten => _X.,1,Dial(SIP/${EXTEN}|30)    
exten => _X.,n,Hangup()
接著就可以用軟體去測試是否正常了。這裏使用ZoIPER和X-lite兩套作為交互使用。
最後,按下號碼撥號就通啦。
參考資料:   
[1] 免費的SIP Server:Asterisk -唉呦~MIS先生    
[2] 簡易sip proxy設定-吳老師的教學日誌     
[3] Asterisk –archlinux    
[4] [轉貼]Asterisk HOME IP PBX架設經驗分享談
 
1 則留言:
你好~
在Asterisk/1.8.28-cert5的版本
以下這行會出錯,不支援|
exten => _X.,1,Dial(SIP/${EXTEN}|30)
錯誤訊息是pbx_exec: The application delimiter is now the comma, not the pipe.
要改成用逗號分隔才能正常運作
exten => _X.,1,Dial(SIP/${EXTEN},30)
謝謝~
張貼留言