Linux搭建astersik
一、下载
DAHDI 的源码包在 Digium 及 OpenVox 网站上均可获得。若驱
动从 Digium 官方网站下载,则需要添加补丁,因此建议用户从
OpenVox 网站上下载 DAHDI。 接下来我们详细解说软件安装过程。
从 OpenVox 官方网站上下载 DAHDI 源码包:
http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/openvox_
dahdi-linux-complete-current.tar.gz
从 Digium 网站上获取 Asterisk:
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8
.5.0.tar.gz
从 Digium 网站上获取 Libpri:
http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.
5.tar.gz
可以到我的百度云盘上进行资源下载:
链接:https://pan.baidu.com/s/1qAuNMIrSRy-H4nZHlqz-Gw
提取码:yzcp
二、安装
1.依赖包安装
在安装 DAHDI 前请先检查是否所有的依赖包都安装成功,如果依赖
包没有安装,将导致后续的软件安装无法顺利进行。请运行如下指令
逐个检查。
yum install bison
yum install bison-devel
yum install ncurses
yum install ncurses-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
yum install gnutls-devel
yum install gcc
yum install gcc-c++
yum install libxml2
yum install libxml2-devel
执行如下指定升级到最新的稳定内核版本:
yum install kernel kernel-devel
如果系统没有安装 kernel-devel,用户需要运行如下指令
安装与现有内核相匹配的kernel-devel:
yum install kernel-devel-`uname –r`
如果更新源中没有找到匹配的kernel-devel,那么就需要下载匹配的
RPM 包手动安装,或者执行如下指定升级到最新的稳定内核版本:
yum install kernel kernel-devel
安装完后重启系统应用新的内核,在新内核上继续后面的操作。
在上述依赖包的检测过程中,如果该依赖包已经安装,系统会提示已
经安装,不会继续安装这个包,用户可以运行下一条指令安装其它包;
如果没有安装,则会自动安装直到系统提示安装成功。
2.安装dahdi
将路径转换到 dahdi-linux-complete-XX 源码包目录下 (XX 代表
DAHDI 版本),运行如下指令安装 DAHDI:
cd /usr/src/dahdi-linux-complete-XX
make
make install
make config
3.安装asterisk
解压上传的asterisk安装包,运行以下命令进行安装:
cd asterisk-1.8.0
./configure
make
make install
make samples
三、配置
编译通过后,请运行下述指令加载驱动:
1.加载驱动
# modprobe dahdi
# modprobe wct4xxp
# dahdi_genconf
在运行完 “modprobe dahdi” 和"modprobe wct4xxp “两
条指令后,如果没有任何提示信息输出,则表示加载驱
动成功。” wct4xxp " 为D210P/DE210P的驱动模块,
正常情况下,执行指令 "dahdi_genconf"后, 系统会自
动生成 /etc/dahdi/system.conf 和 etc/asterisk/dahdi-channels.conf 两
个文件。检查生成的配置文件是否符合您的需求,您也可以手动修改相关参数。值得注意的是,确认dahdi-channels.conf 包含在
chan_dahdi.conf中,若没有,请运行指令:
echo ";include dahdi-channels.conf" >> /etc/asterisk/chan_dahdi.conf
2.修改国家制式
为了匹配国家通信制式,需要修改一些参数。例如,在中国,请修改
参数 loadzone 和 defaultzone,如下所示:
vi /etc/dahdi/system.conf
loadzone = cn
defaultzone = cn
vi /etc/asterisk/indications.conf
country=cn
修改国家制式后请运行指令:
dahdi_cfg –vvvvvv
使用命令查看信息:
dahdi_cfg -v
3.启动astersik
asterisk -vvvvvgc
如果 Asterisk 已运行,则运行"asterisk –r"代替。
本文使用:
asterisk -rvvvvvvvvvvvvvvv
使用命令查看通道信息:
dahdi show channels
四、问题及解决方案
问题描述:
Unable to cUnable to connect to remote asterisk (does /var/run/asterisk.ctl exist?)
解决方案:
killall -9 safe_asterisk
进入/usr/bin/目录,输入:
safe_asterisk restart
asterisk restart
参考网址:
https://blog.csdn.net/mimica247706624/article/details/44547495
问题描述:
error while loading shared libraries: libfaad.so.2: cannot open shared object file: No such
解决方案:
find / -name '*libtonezone.so.2*'
修改/etc/ld.so.conf,增加/usr/lib (这里的地址是上面查询文件的位置)
ldconfig
参考网址:
https://blog.csdn.net/qq_41980563/article/details/103052824
五、asterisk相关配置
1.用户名密码配置
2.sip电话分机配置
配置文件:sip.conf
[general]
context=default
[6001]
type=friend
context=from-internal
host=dynamic
secret=unsecurepassword
disallow=all
allow=ulaw
3.拨号计划设置
配置文件:extensions.conf
[from-internal]
exten = 100,1,Answer()
same = n,Wait(1)
same = n,Playback(hello-world)
same = n,Hangup()
六、说明
- 如果是本地虚拟机安装,只需要安装asterisk就可以了。
- 安装之后按照上述2,3配置之后,登陆软电话,拨打100就会听到“hello world”语音。