为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

CentOS下安装ASTERISK-修 改(第五版)(2)

2010-01-04 25页 doc 1MB 87阅读

用户头像

is_745009

暂无简介

举报
CentOS下安装ASTERISK-修 改(第五版)(2)如何在Linux 下安装Asterisk 本文档主要由以下几个部分组成: 1、 准备工作 2、 如何安装CentOS linux系统 3、 自动安装dahdi和SynAST驱动 4、 安装Asterisk 5、 自动卸载Asterisk,SynAST和dahdi 6、 附录A——手动安装dahdi 和 SynAST驱动 7、 附录B——如何手动卸载Asterisk,SynAST和dahdi 一、准备工作 硬件:准备一台PC机器带有一个新硬盘。这里我们用的硬盘是MAXSTOR,ATA/133 HDD 40GB。三汇FX...
CentOS下安装ASTERISK-修 改(第五版)(2)
如何在Linux 下安装Asterisk 本文档主要由以下几个部分组成: 1、 准备工作 2、 如何安装CentOS linux系统 3、 自动安装dahdi和SynAST驱动 4、 安装Asterisk 5、 自动卸载Asterisk,SynAST和dahdi 6、 附录A——手动安装dahdi 和 SynAST驱动 7、 附录B——如何手动卸载Asterisk,SynAST和dahdi 一、准备工作 硬件:准备一台PC机器带有一个新硬盘。这里我们用的硬盘是MAXSTOR,ATA/133 HDD 40GB。三汇FXM3201P卡含两个外线模块和两个坐席模块,其中通道1和通道2是外线模块,通道3和通道4是坐席模块。 软件:准备CentOS 5.4(内核版本2.6.18-164.el5,gcc版本4.1.2),asterisk-1.6.0.10,dahdi和SynAst-1.4.0.0等软件。 a) CentOS 5.4 六个光盘镜像文件下载地址如下,总大小约3.7GB。 http://mirrors.163.com/centos/5.4/isos/i386/CentOS-5.4-i386-bin-1of6.iso http://mirrors.163.com/centos/5.4/isos/i386/CentOS-5.4-i386-bin-2of6.iso http://mirrors.163.com/centos/5.4/isos/i386/CentOS-5.4-i386-bin-3of6.iso http://mirrors.163.com/centos/5.4/isos/i386/CentOS-5.4-i386-bin-4of6.iso http://mirrors.163.com/centos/5.4/isos/i386/CentOS-5.4-i386-bin-5of6.iso http://mirrors.163.com/centos/5.4/isos/i386/CentOS-5.4-i386-bin-6of6.iso 将下载的镜像文件刻录成6张CD光盘,并用记号笔做好标记。 b) asterisk-1.6.0.10下载网址如下,大约22MB: http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.0.10.tar.gz c) dahdi-linux-complete-2.2.0.2+2.2.0下载网址如下,大小约1.8MB: http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz d) SynAst-1.4.0.0下载网址如下,大小约10MB: http://www.sanhuid.com/UPLOAD/DRIVER/SynAST-1.4.0.0_cn.tar.gz 二、如何安装CentOS Linux系统 这里,为了简单起见,我们把整个硬盘都用来安装linux系统,采用linux安装盘默认的分区方式自动分区,这样可以避免复杂的人工分区方式带来的不便。 1、 设置BIOS为从光驱启动。 2、 将刻录好的CentOS的第一张CD光盘放入光驱中,重启系统。 3、 电脑出现开始安装CentOS的画面,按Enter键进入图形化安装模式。 4、 弹出Choose a Language对话框,选择默认的English,回车OK。 5、 在Keyboard Type对话框中选择默认的us,回车OK。 6、 在Installation Method对话框中,选择默认的Local CDROM,回车OK。 7、 在检测CD光盘的对话框中,选择OK。 8、 选择“Test”,开始检测CD光盘,检测光盘需要一定的时间,需要耐心的等待。 9、 检测完后,回车OK。 10、 此时电脑进入CentOS安装界面,单击Next。 11、 选择Install CentOS,单击Next。 12、 选择Remove all partitions on selected drives and create default layout,单击Next。 13、 Are you sure you want to do this? 选择“Yes”。 14、 网络设置,默认,Next。 15、 时区设置,默认,Next。 16、 Next直到设置Root Password,输入root的密码(千万要记住该密码,稍后会用到)。 17、 Desktop,选择默认的Gnome,最下面选择Customize now,然后Next。 18、 选择Development,将右边方框中的选项将全部勾上,然后Next。 19、 单击Next,开始安装CentOS 5.4。 20、 弹出提示框,让你准备好剩余的五张CD光盘,选择“Continue”继续。 21、 中间会提示你插入第2、3、4、5、6张光盘,插入光盘后,单击OK即可。 22、 装好之后,单击reboot。 23、 重启后,进入CentOS的设置界面,单击Forward。 24、 Forward。 25、 Forward。 26、 Create User,建立用户账户,输入用户名和密码即可。 27、 Sound Card,默认,Forward。 28、 单击Finish完成设置。 29、 使用root用户名登陆CentOS系统。 (注意:密码为第16步输入的密码) 30、 查看内核版本和gcc版本 # cat /proc/version 说明:用不同的电脑安装时,可能检测CD的步骤会出现在最前面,然后再choose language。 三、自动安装dahdi和SynAST驱动 安装前准备: 1) 安装完Linux系统后,首先将下载好的SynAst-1.4.0,dahdi-linux-complete-2.2.0.2+2.2.0和asterisk-1.6.0.10拷贝到/opt目录下,你可以使用U盘或其他方式拷贝。如下图所示: Figure 3.1 将三个文件拷贝到/opt目录下 2) 必须确保能够上网,CentOS5.4虽然不需要另外安装网卡驱动,但是IP配置和激活网络还是要用户进行操作的。具体的设置可以在System->Administration ->Network里进行操作。配置好IP后,点击右上角的Activate将网络激活。 注意,dahdi安装需要连接digium网站去自动下载一些东西,如果不能上外网dahdi可能无法安装成功。 1. 需要的安装包。 安装dahdi和SynAST驱动我们需要用到SynAST-1.4.0.0_cn.tar.gz和dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz这两个压缩包。 2. 解压这两个压缩包。命令如下: # tar –zxvf SynAST-1.4.0.0_cn.tar.gz # tar -zxvf dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz 解压完后,会出现两个文件夹,SynAST-1.4.0.0_cn和dahdi-linux-complete-2.2.0.2+2.2.0。 Figure 3.2 解压dahdi后的界面 3. 进入SynAST-1.4.0.0_cn开始自动安装。 # cd SynAST-1.4.0.0_cn # ls # cd for_dahdi # ls # ./Setup install Figure 3.3 开始自动安装 4. Would you like to install SynAST AST package now (y/n)? 输入y。 Please enter working dahdi directory [q] (exit install) : 输入dahdi所在的目录位置,这里是/opt/dahdi-linux-complete-2.2.0.2+2.2.0。 Figure 3.4 输入dahdi目录位置 5. 装完后,会出现Install Driver Completed,这样dahdi和SynAST驱动就一起装好了。 6. 查看驱动模块是否已经加载。 输入命令:# lsmod | grep fxm 如果正确安装会得到以下结果: Figure 3.5 查看驱动是否正确安装 只要出现fxm32一行,就说明已经正确加载了。例如,上图中出现“fxm32 49056 0”这一行,表明fxm32.ko驱动已经正确加载。 四、安装asterisk 安装完SynAST和dahdi后,现在开始安装asterisk。这里我们需要asterisk-1.6.0.10.tar.gz 安装包,之前我们已经拷贝到/opt目录下了。 1、 首先,解压/opt目录下的asterisk。 # cd /opt # ls # tar –zxvf asterisk-1.6.0.10.tar.gz Figure 4.1 解压asterisk压缩包 2、 进入解压后的asterisk文件夹,开始安装asterisk。安装的步骤大致如下: # cd asterisk-1.6.0.10 #切换的astersik源码目录 # ./configure #检测你的安装平台的目标特征 # make #编译 # make install #安装asterisk # make samples #安装示例文件 Figure 4.2 进入asterisk文件夹开始安装asterisk 1) 输入:# ./configure 得到如下结果: Figure 4.3 命令configure之后 2) 输入:# make 得到如下结果 Figure 4.4 命令make之后 3) 输入:# make install 得到如下结果: Figure 4.5 命令make install之后 4) 输入:# make samples (注意,make samples会用示例文件覆盖原有的配置文件,如果通过修改配置文件应用系统已经正常运行的用户建议谨慎使用。) 得到如下结果: Figure 4.6 命令make samples之后 3、 启动Asterisk,验证Asterisk是否正确安装。 # asterisk –vvvc 正常情况下,我们可以看到如下界面。 Figure 4.7 asterisk启动界面 输入命令:CLI>stop now退出Asterisk。 4、 用自动配置工具配置Asterisk # astcfg_dahdi asterisk Figure 4.8 自动配置asterisk 5、 查看自动配置结果 # dahdi_cfg –vv Figure 4.9 查看自动配置结果 (说明:由于本系统曾经出现过自动配置失败,显示0个通道被配置的问题,我们采用先重启操作系统后再用自动配置工具配置Asterisk得到解决。如果您也遇到了相同的问题,也可以采用相同的方式进行处理。) 注意: · 上图中的FXS(座席)和FXO(外线)显示的是通道的信令,并不是指通道的类型,实际的通道类型与上面显示的信令类型刚好相反。所以,实际上通道1和通道2是外线通道,通道3和通道4是座席通道。 “端口是通过配置使用的信令进行定义的,而不会是物理端口的类型。例如,一个物理的FXO端口可以在配置中使用FXS信令定义,而FXS端口可以用FXO信令定义。在没有理解原因之前,可能有点容易混淆。FX_板卡不是通过他们是什么进行命名,而是根据他们连接的设备。因此FXS卡,是连接终端的。可见,为了做它的工作,FXS卡必须像中心局(CO)进行运转,使用FXO信令。同理,FXO卡连接CO,意味着它需要像终端进行运转,使用FXS信令。你电脑里面的调制解调器就是FXO设备的典型例子。” 说明,上述话句引用自《Asterisk,电话未来之路》中文版第80页,英文版的可以参考下面的这本书: Asterisk: The Future of Telephony, Second Edition ISBN: 0596510489 6、 正确配置以后,我们再次启动asterisk # asterisk –vvvc #启动asterisk (如果采用前一步骤中重启操作系统再自动配置的方法来解决自动配置失败问题,因为系统在重启后会自动加载asterisk,所以不需要启动asterisk,只要在系统重启后连接asterisk就可以了: 输入命令:# asterisk -r #连接asterisk服务器) Figure 4.10 连接asterisk服务器 7、 查看通道情况 # dahdi show channels Figure 4.11 查看通道情况 上图中,可以看到四个通道,通道数目与dahdi_cfg –vv命令显示的通道数目一致,说明通道已经正确配置,并且配置文件已经被asterisk正确加载了。 8、 配置拨号规则 配置拨号规则也就是修改/etc/asterisk/extensions.conf文件。 1) 首先,备份原有的/etc/asterisk/extensions.conf文件。 # mv /etc/asterisk/extensions.conf /etc/asterisk/extensions_bk.conf 2) 其次,新建/etc/asterisk/extensions.conf文件。 #vim /etc/asterisk/extensions.conf 3) 然后根据下面的几种情况添加相应的。 a) 外线拨打座席 [text] exten => s,1,Answer(); #外线打入,自动接听 exten => s,2,Dial(DAHDI/3,50); #座席通道3振铃,超时为50秒 exten => s,3,Hangup(); #50秒后没人接听,自动挂机 b) 座席拨打外线 [text] exten => 3000,1,Dial(DAHDI/1/8354,50); #座席拨打3000,外线通道1自动拨打8354号码,你也可以改成110等其他PSTN号码。 exten => 3001,1,Dial(DAHDI/2/8354,50); #座席拨打3001,外线通道2自动拨打8354号码,你也可以改成110等其他PSTN号码。 c) 座席拨打座席 [text] exten => 100,1,Dial(DAHDI/3); #座席通道4拨打100,座席3振铃 exten => 101,1,Dial(DAHDI/4); #座席通道3拨打101,座席4振铃 d) 如果要综合上述功能,可以按下图内容编写。 Figure 4.12 拨号规则的内容 [text] exten => s,1,Answer(); #外线打入,自动接听 exten => s,2,Dial(DAHDI/3,50); #座席通道3振铃,超时为50秒 exten => s,3,Hangup(); #50秒后没人接听,自动挂机 exten => 3000,1,Dial(DAHDI/1/8354,50); #座席拨打3000,外线通道1自动拨打8354号码,你也可以改成110等其他PSTN号码。 exten => 3001,1,Dial(DAHDI/2/8354,50); #座席拨打3001,外线通道2自动拨打8354号码,你也可以改成110等其他PSTN号码。 exten => 100,1,Dial(DAHDI/3); #座席通道4拨打100,座席3振铃 exten => 101,1,Dial(DAHDI/4); #座席通道3拨打101,座席4振铃 4) 保存extensions.conf退出后,重启asterisk服务器。 切换到asterisk界面,输入命令: CLI> stop now #关闭asterisk # asterisk –vvvc #启动asterisk 如果想了解具体拨号规则的编写,可以参照下面的网站: http://www.voip-info.org/wiki/view/Asterisk+config+extensions.conf 9、 测试实例 1) 搭建硬件环境 FXM3201P的通道1和通道2是模拟外线通道,接两个PSTN外线。通道3和通道4是座席通道接普通话机A和B。 2) 测试座席拨打座席 通道3的座席话机A摘机,听到拨号音,拨打101,则通道4的座席话机B振铃。通道4的座席话机B摘机即可通话。 通道4的座席话机B摘机,听到拨号音,拨打100,则通道3的座席话机A振铃。通道3的座席话机A摘机即可通话。 3) 测试座席话机拨打外线 选择任一座席A或B摘机,听到拨号音,拨打3000,则外线通道1自动拨打8354这个号码,如果你要拨打其他号码需修改/etc/asterisk/extensions.conf文件里的exten => 3000,1,Dial(DAHDI/1/8354,50)语句,将8354替换成你需要的号码即可。 选择任一座席A或B摘机,听到拨号音,拨打3001,则外线通道2自动拨打8354这个号码,如果你要拨打其他号码需修改/etc/asterisk/extensions.conf文件里的exten => 3001,1,Dial(DAHDI/2/8354,50)语句,将8354替换成你需要的号码即可。 4) 测试外线拨打座席 找一台外线PSTN话机,拨打FXM3201P的外线通道1,我这里的号码是8353,你可以根据你的外线通道1所接的号码进行拨打。外线通道1接通后自动会转向座席通道3,座席话机A振铃,座席话机A摘机即可通话。 说明:这里只写了外线通道1转向座席通道3的拨号规则,如果用户需要其他方式从外线拨打座席,可以自行修改拨号规则。 五、自动卸载Asterisk, SynAST和dahdi 1) 停止asterisk 如果asterisk正在运行,则切换到asterisk终端,用以下命令停止astersik: CLI> stop now 2) 进入Asterisk源代码目录卸载 Asterisk # cd /opt/asterisk-1.6.0.10 # make uninstall-all #删除相关的服务及文件夹 3) 进入SynAST源代码目录卸载 SynAST # cd /opt/SynAST-1.4.0.0_cn/for_dahdi #进入源码目录 # ls # ./Setup remove #卸载SynAST和dahdi驱动及SynAST文件夹 4) 移除dahdi目录及文件夹 目前的方法是用新的dahdi覆盖旧的dahdi。 六、附录A——手动安装dahdi 和 SynAST驱动 该部分主要用来代替第三部分的自动安装dahdi和SynAST驱动,其余的部分保持跟原来的一样。 如果自动安装dahdi和SynAST失败或者你想使用手动安装的方法来安装dahdi和SynAST驱动,可以参考如下步骤: Step1: 安装dahdi驱动 #cd /opt #进入存放dahdi驱动源码包目录 #tar –zxvf dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz #解压dahdi压缩包 #cd dahdi-linux-complete-2.2.0.2+2.2.0 #进入dahdi驱动源码目录 #make #编译驱动 #make install #安装驱动 #modprobe dahdi #加载驱动 #lsmod |grep dahdi #查看驱动加载是否成功 1) 进入dahdi源码目录进行编译 Figure 6.1 进入dahdi源码目录编译 2) 输入命令:# make 得到下图结果。 Figure 6.2 命令make 之后得到的截屏 3) 输入命令:# make install 得到下图结果。 Figure 6.3 命令make install之后得到的截屏 4) 输入命令: # modprobe dahdi # lsmod |grep dahdi Figure 6.4 命令lsmod查看驱动是否正确加载 Step2: 安装SynAST驱动 #cd /opt #进入存放SynAST驱动的源码包目录 #tar –zxvf SynAST-1.4.0.0.tar.gz #解压源码 #cp –rf /opt/SynAST-1.4.0.0/for_dahdi/src/fxm/fxm32 /opt/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi #拷贝fxm32驱动到dahdi目录 #cd /opt/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/fxm32 #进入dahdi中的SynAST源码目录 特别说明:在使用dahdi-2.2以上版本时需修改文件“/opt /dahdi /linux /drivers /dahdi /fxm32/Kbuild”,将Kbuild文件中的语句EXTRA_CFLAGS := -I$(src)/.. -Wno-undef -I/usr/include $(ECHOCAN)修改成为EXTRA_CFLAGS := -I$(src)/.. -Wno-undef -I/usr/include $(ECHOCAN) -DDAHDI22。(注意-DDAHDI22之前有空格) #gedit Kbuild #修改Kbuild中上述说明的的内容 #make #编译驱动 #insmod fxm32.ko #加载驱动 #lsmod |grep fxm #查看驱动是否加载成功 特别说明:如果用户使用的其他类型的AST卡,对应下表 3‑2,替换上面的命令中的fxm,fxm32等。 子系列 板卡型号 源码目录 驱动文件 备注 FXM FXM-8A/PCI fxm8apci fxm8apci.ko 如上安装例子。 FXM-16A/PCIe fxm16apcie fxm16apcie.ko 根据具体使用Synway AST语音卡型号替换值。 FXM3201P FXM3201E FXM3200P FXM3200E fxm32 fxm32.ko TEJ TEJ-1A/PCI TEJ-2A/PCI TEJ-4A/PCI tejxapci tejxapci.ko TEJ101E TEJ201E TEJ101P TEJ201P tej21 tej21.ko CDC CDC-1522A/PCI CDC-2522A/PCI CDC-3522A/PCI cdcx522apci cdcx522apci.ko Figure 6.5 板卡与驱动对应关系表 a) 输入命令:#gedit Kbuild 添加红色线框部分代码。 Figure 6.6 用gedit编辑Kbuild的界面 b) 输入命令:#make Figure 6.7 命令make成功后的截屏 c) 输入命令:# insmod fxm32.ko 加载fxm32驱动 # lsmod |grep fxm 查看fxm32驱动是否正确加载 Figure 6.8 加载和查看fxm32驱动 上图中出现“fxm32 49056 0”这一行,表明fxm32.ko驱动已经正确加载。 注意:如果insmod命令加载驱动失败,可以先用lsmod命令进行查看,检查驱动是否已经加载了,如果驱动已经加载了,那么就不用insmod命令进行加载驱动了,再用insmod加载就会出错。 七、附录B——如何手动卸载Asterisk,SynAST和dahdi 1)停止asterisk 如果asterisk正在运行,则切换到asterisk终端,用以下命令停止astersik: CLI> stop now 2)进入Asterisk源代码目录卸载 Asterisk # cd /opt/asterisk-1.6.0.10 # make uninstall-all #删除相关的服务及文件夹 3)卸载fxm32.ko驱动 停止asterisk之后,开始卸载fxm32.ko驱动。 # lsmod |grep fxm #查看加载的驱动 # rmmod fxm32 #卸载fxm32.ko 卸载完之后,可以根据下列命令确定是否已经卸载fxm32.ko这个驱动: #lsmod |grep fxm32 如果执行该命令后没有内容输出,说明fxm32.ko 驱动已经卸载了。否则,如果出现fxm32字样,说明驱动尚未卸载成功。 注意:如果卸载驱动失败,则建议先重启一下系统,保证驱动没有正在被使用,再卸载驱动。因为如果有应用程序正在使用fxm32.ko,用rmmod卸载fxm32是会出错的。 4)卸载dahdi驱动 Figure 7.1 加载和查看fxm32驱动 #rmmod dahdi #卸载dahdi,如果Dahdi正在使用其他模块,会显示上图红框内的内容,需要先卸载这些正在使用的模块,命令如下: #rmmod tej21 tejxapci fxm16apcie fxm8apci fxm32 #卸载这些模块 #rmmod cdcx522apci #先卸载cdcx522apci #rmmod dahdi_transcode #再卸载dahdi_transcode #rmmod dahdi #最后卸载dahdi 查看是否成功卸载dahdi #lsmod |grep dahdi 如果执行该命令后没有内容输出,说明dahdi 驱动已经卸载了。否则,如果出现dahdi字样,说明驱动尚未卸载成功。 5)移除文件夹 说明:卸载相关文件夹,需要根据安装时的目录手动删除。
/
本文档为【CentOS下安装ASTERISK-修 改(第五版)(2)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索