2016/02/02

Asterisk : The Cookbook 食譜 024 - 在 Ubuntu 下的簡易安裝

Q024: 在 Ubuntu 下不想自己編譯 source code,有沒有更簡單的安裝方法?

是的,目前 Ubuntu  15.10 系統預設的 asterisk 套件版本是 13.1.0, 是可以直接透過安裝套件來達到目的,底下是簡單的指令:

1. 安裝套件
  $ sudo apt-get install asterisk asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-* asterisk-modules asterisk-moh-opsound-g722 asterisk-moh-opsound-gsm asterisk-moh-opsound-wav asterisk-mp3 asterisk-mysql asterisk-ooh323 asterisk-voicemail

2. 修改設定檔
  請按照 Q023 的設定檔,修改 asterisk.conf  extensions.conf  manager.conf  modules.conf  sip.conf

如果您啟動 asterisk 之後不知道原因無法連線的話,最需要檢查的三個檔是 extensions.conf, sip.conf 及 modules.conf
之所以會特別加這一段話,主要就是因為我在我的電腦 15.10 中工作,所以常常亂裝些套件,更動了不知道什麼設定之後,幾年來又常常把它更新到最新的 Ubuntu 版本。所以我在前前後後幾次裝 Asterisk 都失敗,嘗試了自己編譯或是 Ubuntu 內建套件安裝都無果,也就是我一直搞不懂失敗原因。也因為這樣的機緣,所以我才打算翻譯這本食譜,那時我還不認為我的電腦能夠解決問題,本打算重新安裝試試呢。
在寫這篇食譜之前,我用一台小筆電裝過是成功的,那本是用 FreePBX, 後來用虛擬機用 ubuntu 14.04 Server 安裝也是成功的,那台是用編譯的 Asterisk。
後來在寫這一則食譜(Q023)的時候,我剛剛好照著文件上的做(不是我寫的部份)其實是錯的,因為照原文的話是 ./configure --libdir=/lib64,造成系統找不到 modules, 但是反而能夠連通。也因為這樣的機緣,才讓我找到主要原因是 modules.conf 的問題。原文提到的設定,應該是在 asterisk.conf 中將 astdatadir 設成 /lib64/asterisk 才對。只有純粹的 ./configure 才會將模組裝在預設的 /var/lib/asterisk 下。

如果您發現 SIP client 跟 Asterisk 不通,而你又覺得設定檔都已經照著教學修改了卻仍然不通的話,很有可能是 modules 的設定。以上一則的範例來說,我是把所有 PJSIP 模組都拿掉了才通的。

總之,不是把所有模組都載入才是最好的,而是適合自己的才是最好的。

0 意見: