Asterisk是一个开放源代码的软件VoIPPBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机器变成你自己的交换机,还能够当作一台企业级的商用交换机。Asterisk让人激动的事情是它在小企业预算可承受的范围内提供了商业交换机的功能和可伸缩性。你可以使用一台老式的奔腾3计算机,让你的机构看起来就同世界上的大企业一样。它支持一个宽泛的用来处理在传统电话设备传输语音的协议,包括H.323、SessionInitiation Protocol (SIP)、MediaGateway Control Protocol (MGCP)、andSkinny Client Control Protocol (SCCP)。
asterisk在ubuntu下的安装配置如下: 1.ubntu下切换用户到root,asterisk在配置时保证用户为root。 #su root 输入密码: 2.安装asterisk既可以从网上下载安装包,然后解压安装,也可以使用ubuntu的安装命令apt-get来安装,这两种方法我在配置的过程中都有使用现介绍如下: 手动下载安装包: (1)进入源码包存放文件夹 #cd /usr/local/src (2)下载源码 #wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.1.20.tar.gz (3)解压源码 #tar -xvzf asterisk-1.6.1.20.tar.gz (4)进入安装包目录 #cd asterisk.1.6.1.20 (5)环境检测预配置 #./configure (6)清楚以前的编译文件 #make clean (7)重新编译asterisk程序 #make (8)安装asterisk程序 #make install (9)安装配置模板 #make samples 利用ubuntu的命令apt-get安装saterisk #apt-get install asterisk 即可完成安装 3.asterisk的配置, (1)配置sip对象配置文件 #vim /etc/asterisk/sip.conf 主要更改ip地址以及所使用的端口号如下 bindport=5070;由于ubuntu下5060端口被占用所以更换一个端口5070,当然你也可以使用其他的未被占用的端口 bindaddr=192.168.8.108;本机ip地址 在最后添加自定义的sip用户,如下定义两个用户9001和9002 [9001] videosupport=yes type=friend username=9001 secret=9001 host=dynamic context=demo disallow=all allow=h264,speex dtmfmode=rfc2833 canreinvite=no maxcallbitrate=384 [9002] videosupport=yes type=friend username=9002 secret=9002 host=dynamic context=demo disallow=all allow=h264,speex dtmfmode=rfc2833 canreinvite=no maxcallbitrate=384 (2)配置拨号规则配置文件 #vim /etc/asterisk/extensions.conf 在demo小节中添加 exten=>_9.,1,Dial(SIP/${EXTEN},20,r) ;使得9001和9002可以互相拨打 dialplan reload 至此asterisk安装配置完成。下面介绍asterisk的使用操作 1.启动asterisk #/usr/sbin/safe_asterisk #asterisk -gcrvvvvvv;进入asterisk控制台 也可以通过/etc/init.d对服务进行启动 #cd /etc/init.d #service asterisk start #asterisk -gcrvvvvvv;进入asterisk控制台 进入控制台如下输出 == Parsing '/etc/asterisk/asterisk.conf': == Found == Parsing '/etc/asterisk/extconfig.conf': == Found Connected to Asterisk 1.6.2.9-2ubuntu2.1 currently running on ubuntu (pid = 2662) Verbosity was 0 and is now 6 ubuntu*CLI> 可以在此输入help查看相关命令 2.可以查看asterisk的进程如下 #ps -A|grep asterisk 2191 pts/0 00:00:00 safe_asterisk 2203 pts/0 00:00:01 asterisk 2325 pts/1 00:00:00 asterisk 3.查看sip用户信息如下 #ubuntu*CLI> sip show peers Name/username Host Dyn Nat ACL Port Status 9001/9001 (Unspecified) D 5060 Unmonitored 9002/9002 (Unspecified) D 5060 Unmonitored 9003/9003 (Unspecified) D 5060 Unmonitored 至此asterisk配置使用介绍完成,可以下载一个客户端连接到该服务器。 下面就碰到的问题总结下: 1.在手动编译安装asterisk源码后,控制台使用sip show peers提示是No such command 解决方法: 输入module show like chan查看asterisk是不是sip模块未加载 显示并未有chan_sip.so,即根本没有sip模块,故只能重新安装asterisk,这次选用的是apt-get安装asterisk,安装完成使用成功。若module show like chan显示有sip模块可以直接 module load chan_sip.so module reload chan_sip.so 加载sip模块即可。