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)
謝謝~
張貼留言