在Linux上不帶硬體安裝Asterisk(轉)

ba發表於2007-08-15
在Linux上不帶硬體安裝Asterisk(轉)[@more@]最近研究一個Open Source的PBX: Asterisk。折騰了一個禮拜,裝了N次基本安裝沒啥障礙了,總結出來給大家。
Asterisk是什麼我不想多說了,有興趣看和。也許是因為是Open Source的吧主流版本的Asterisk缺少官方檔案。所有安裝、配置、以及客戶支援技術細節都在他的Wiki和郵件列表上。所以剛上手時會有些不知所措。Asterisk目前主流版本是1.0.9,1.2.0的Bata版也已經出來了。官方聲稱Asterisk可以在任何Linux上安裝,但經過我參照若干別人的安裝筆記,用若干個Linux發行版和核心版試驗,感到安裝難易程度往往相差很大。尤其對Linux不太熟悉的朋友也許會比較困難。Asterisk很大的麻煩來自安裝第三方HFC卡。而如果不裝這些PCI卡則會簡單得多。透過不斷實踐我覺得安裝最順利的發行版是Fedora C3,Asterisk版本是1.0.9。下面我就已這兩個版本為例來說一下安裝步驟。
1。下載FC3。下載FC3的地方太多了,到去找一個比較快的伺服器下載吧,無論4張CD版本的或1張DVD版本的都可以。

2。安裝FC3。我是在VMWare上安裝FC3的,當然在裸機上安裝也沒有問題。如果磁碟空間有限,選擇元件的時候選最小安裝就可以了。安裝好之後要保證FC的網路沒有問題,因為後面我們需要從Internet上下載一些東西。用Root登陸進系統,我們需要從安裝光碟上安裝一些額外的包。把安裝光碟插入光碟機。把光碟掛載到系統上。
mkdir /mnt/cdrom
mount -t iso9660 /dev/hdc /mnt/cdrom
cd /mnt/cdrom/Fedora/RPMS
rpm -ivh cpp-3.4.2-6.fc3.i386.rpm
如果看到一個關於V3 SDA signature: NOKEY, key ID...的Warning,不用理他,不會妨礙你安裝的。繼續安裝其它RPM包。
Disk 2中:
cvs-1.11.17-3.i386.rpm
bison-1.875c-2.i386.rpm
e2fsprogs-devel-1.35-11.2.i386.rpm
krb5-devel-1.3.4-7.i386.rpm
Disk 3中:
glibc-kernheaders-2.4-9.1.87.i386.rpm
glibc-headers-2.3.3-74.i386.rpm
glibc-devel-2.3.3-74.i386.rpm
gcc-3.4.2-6.fc3.i386.rpm
zlib-devel-1.2.1.2-1.i386.rpm
openssl-devel-0.9.7a-40.i386.rpm
libidn-devel-0.5.6-1.i386.rpm(好像是在這個盤裡,記不太清楚了)

3。配置FC3。
cd /usr/src
ln -s /lib/modules/2.6.9-1.667/build/ linux-2.6
vi /etc/udev/rules.d/50-udev.rules
在該檔案最後一行之後新增如下文字:
KERNEL="zapctl", NAME="zap/ctl"
KERNEL="zaptimer", NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo", NAME="zap/pseudo"
KERNEL="zap[0-9]*", NAME="zap/%n"

4。下載Asterisk和Zaptel
cd /usr/src
export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
cvs login (密碼是anoncvs)
cvs checkout zaptel asterisk

5。安裝Asterisk和Zaptel
cd /usr/src/zaptel
make clean
make linux26
make install
cd /usr/src/asterisk
make clean
make install
make samples
modprobe zaptel

6。修改一些配置檔案。需要修改的有sip.conf和extensions.conf。
sip.conf新增如下內容,其中1498和1499是我預設的兩個電話號碼:
[1498]
type=friend
username=1498
host=dynamic
context=default
canreinvite=yes
dtmfmode=rfc2833

[1499]
type=friend
username=1499
host=dynamic
context=default
canreinvite=yes
dtmfmode=rfc2833
extensions.conf的default段修改成如下:
[default]
exten => _1XXX,1,Dial(SIP/${EXTEN},15,t)
exten => _1XXX,3,Hangup

7。啟動Asterisk
asterisk -vvvvvvvvvvvvvvvcg
執行後會出現很多提示,注意如果裡面有紅色的ERROR字樣說明有問題。如果執行成功,最後會螢幕停在:
Asterisk Ready
*CLI>

8。測試。
在另兩個機器上分別啟動一個Soft SIP phone,配置Domain和SIP Proxy地址到那個Linux的IP地址。電話號碼分別為1498和1499。這時我們應該看到這兩個Phone可以註冊到Astersik上面了。相互呼叫應該可以成功.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-959504/,如需轉載,請註明出處,否則將追究法律責任。

相關文章