Asterisk学习旅程(一)-----安装asterisk
2012-03-04
虽然本人在callcenter系统维护方面有些年数,但是接触的电话产品实在是太太少,也就I3公司出品的CIC,最近想花点功夫学习一下asterisk。前段时间也摆弄过这玩意,不过是安装在VM上Elastix +SPA3102。为了比较深入学习,俺在淘宝网上订了一块TDM400P 附带了3FXO+1FXS。
另外买了块主板(带一个IDE口,要接一块年代久远的硬盘,2003年朋友送的,还可以用J)、CPU和机箱组装了一台PC,内存和其他配件用存货。(贪便宜,买了个便宜的百盛的机箱,钢板薄不说,那个边缘口子也太利索了,装个机器,手不知不觉中被划了2道口子,另外机箱布局太扯淡了,装光碟机要费好大劲,也可能我的动手能力太差了不符合百盛的要求啊L)。最后安装ubutun 11.04 server 操作系统。
参照Asterisk The Definitive Guide 3rd Edition
jasonsong@ubuntu:~$ sudo apt-get update && sudo apt-get upgrade && sudo reboot
jasonsong@ubuntu:~$ sudo apt-get install ntp
jasonsong@ubuntu:~$ sudo /etc/init.d/ntp restart
jasonsong@ubuntu:~$ sudo nano /etc/ntp.conf
增加或修改(如下红色标出部分)
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict -4 127.0.0.1
restrict -6 ::1
jasonsong@ubuntu:~$ sudo apt-get install build-essential libncurses5-dev libssl-dev libxml2-dev vim-nox
jasonsong@ubuntu:~$ sudo apt-get install wget
jasonsong@ubuntu:~$ mkdir ~/src/asterisk-complete/asterisk
jasonsong@ubuntu:~$ mkdir ~/src/asterisk-complete/libpri
jasonsong@ubuntu:~$ mkdir ~/src/asterisk-complete/DAHDI
jasonsong@ubuntu:~$ sudo adduser asteriskpbx
本人选的是 Asterisk 1.8.10-rc4、DAHDI Complete 2.6.0+2.6.0、LibPRI 1.4.12
a)、进入libPRI Codesource目录,编译并安装
jasonsong@ubuntu:~/src/asterisk-complete/libpri/libpri-1.4.12$ make
jasonsong@ubuntu:~/src/asterisk-complete/libpri/libpri-1.4.12$ sudo make install
b)、进入DAHDI Codesource目录,编译并安装
jasonsong@ubuntu:~/src/asterisk-complete/DAHDI/dahdi-linux-complete-2.6.0+2.6.0$ make
jasonsong@ubuntu:~/src/asterisk-complete/DAHDI/dahdi-linux-complete-2.6.0+2.6.0$ sudo make install
jasonsong@ubuntu:~/src/asterisk-complete/DAHDI/dahdi-linux-complete-2.6.0+2.6.0$ sudo make config
注意:由于该东东编译安装时依赖于系统核心代码,所以用以下命令确认安装一下
sudo apt-get install linux-headers-`uname -r`
c)、进入Asterisk Codesource目录,编译并安装
jasonsong@ubuntu:~/src/asterisk-complete/asterisk/asterisk-1.8.10.0-rc4$ make
jasonsong@ubuntu:~/src/asterisk-complete/asterisk/asterisk-1.8.10.0-rc4$ sudo make install
jasonsong@ubuntu:~/src/asterisk-complete/asterisk/asterisk-1.8.10.0-rc4$ sudo make config
jasonsong@ubuntu:$ sudo chown -R asteriskpbx:asteriskpbx /usr/lib/asterisk/
jasonsong@ubuntu:$ sudo chown -R asteriskpbx:asteriskpbx /var/lib/asterisk/
jasonsong@ubuntu:$ sudo chown -R asteriskpbx:asteriskpbx /var/spool/asterisk/
jasonsong@ubuntu:$ sudo chown -R asteriskpbx:asteriskpbx /var/log/asterisk/
jasonsong@ubuntu:$ sudo chown -R asteriskpbx:asteriskpbx /var/run/asterisk
jasonsong@ubuntu:$ sudo chown asteriskpbx:asteriskpbx /usr/sbin/asterisk
编辑/etc/udev/rules.d/dahdi.rules 文件
SUBSYSTEM=="dahdi", OWNER="asteriskpbx", GROUP="asteriskpbx", MODE="0660"
编辑或生成modules.conf文件,为了图简便,我直接加了信息:
[modules]
autoload=yes
jasonsong@ubuntu:$ cp ~/src/asterisk-complete/asterisk/1.8/configs/indications.conf.sample \
/etc/asterisk/indications.conf
jasonsong@ubuntu:$ cp ~/src/asterisk-complete/asterisk/1.8/configs/asterisk.conf.sample \
/etc/asterisk/asterisk.conf
并且修改asterisk.conf文件中的参数,设置情况如下:
runuser=asteriskpbx
rungroup=asteriskpbx
Core Sound Packages
jasonsong@ubuntu:~/src/asterisk-complete/asterisk/asterisk-1.8.10.0-rc4$ make menuselect
jasonsong@ubuntu:~/src/asterisk-complete/asterisk/asterisk-1.8.10.0-rc4$ sudo make install
jasonsong@ubuntu:~/src/asterisk-complete/asterisk/asterisk-1.8.10.0-rc4$ sudo chown -R asteriskpbx:asteriskpbx /var/lib/asterisk/sounds/
asonsong@ubuntu:~ $ sudo apt-get install libopenr2-bin
修改/etc/dahdi/system.conf,调整loadzone和defaultzone为cn,具体的可以查阅zonedata.c
另外可以参阅文档http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
可以使用dahdi_hardware 或 lsdahdi 命令查看板卡的信息,我的运行情况如下:
根据上述信息,修改/etc/dahdi/system.conf
fxsks=1-3
fxoks=4
/usr/sbin/dahdi_genconf 生成dahdi-channels.conf,详细信息如下图:
今天时间也差不多到深夜了,明天还要早起上班,改天在继续学习记录,看一下公司的数据库是否OK,就去"苏州"逛一下。