2009年11月10日 星期二

Asterisk server架設 in Ubuntu

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兩套作為交互使用。

ZoIPER設定202
image

X-lite設定畫面
image

最後,按下號碼撥號就通啦。

參考資料:
[1] 免費的SIP Server:Asterisk -唉呦~MIS先生
[2] 簡易sip proxy設定-吳老師的教學日誌
[3] Asterisk –archlinux
[4] [轉貼]Asterisk HOME IP PBX架設經驗分享談

1 則留言:

ccwu 提到...

你好~
在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)
謝謝~