随着Asterisk 13认证分支的发布,Asterisk培训团队现在决定提供一套简短的“从源代码安装”说明。以下是我安装Asterisk 13的三步程序。如果您对早期版本的Asterisk有经验,则需要考虑一些更改,即由PJSIP SIP堆栈驱动的新SIP通道驱动程序。最初的Chan_SIP通道驱动程序已移至扩展支持,默认情况下不会在Certified Asterisk 13中编译。
第一步是安装构建PJSIP库和Asterisk 13所需的依赖项。使用CentOS yum软件包管理器,我们将所有当前安装的软件包更新到其最新版本,然后为Asterisk和PJSIP安装一些最常见的依赖项。
#yum update
我们接下来安装的kernel-devel包可能稍微领先于系统上实际使用的内核。这就是我们首先进行yum更新的原因。如果内核已更新,请确保在继续之前重新启动。有关CentOS可用的内核开发包的更多信息,请参见 此处CENTOS官网链接。以下命令将安装编译和安装PJSIP和Asterisk所需的多个软件包。
# yum install -y epel-release dmidecode gcc-c ++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel
注意:如果您在解决依赖关系时遇到问题,请查看Asterisk tarball附带的install_prereq工具。位于Asterisk源目录的contrib / scripts目录中,该目录将在步骤4中解压缩。
接下来,您将直接从pjsip.org下载并安装pjproject sip库。但首先我们将更改目录以在/ usr / src目录中工作。
# cd /usr/src # wget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2 # tar -jxvf pjproject-2.3.tar.bz2
这将创建pjproject-2.3目录。切换到此目录并运行以下命令集以构建和安装pjproject sip库。
# cd pjproject-2.3 # ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
使用32位操作系统时,必须修改此命令。只需--libdir=/usr/lib64从命令中删除该选项即可。其他选项可能会有所不同,具体取决于您希望如何使用Asterisk。有关这些选项的更多信息可以通过运行命令找到./configure --help。
接下来的四个命令将构建,安装和链接pjsip库。
# make dep # make # make install # ldconfig
最后,下一个命令将验证pjsip库是否已动态链接。
# ldconfig -p | grep pj
您的输出应如下所示:
下载DAHDI并解压:
# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz # tar -zxvf dahdi-linux-complete-current.tar.gz编译安装:
# cd dahdi-linux-complete-2.10.2+2.10.2/ make make install make config
现在我们将从源代码下载并安装最新的Certified-Asterisk 13.1分支。首先,我们将目录更改为一级/usr/src。
# cd ..
然后我们将使用wget命令从downloads.asterisk.org下载tarball 。
# wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/certified-asterisk-13.1-current.tar.gz
接下来,tar命令会将Asterisk源代码解压缩到一个名为的新目录中certified-asterisk-13.1-certified。然后我们将转到新目录。
# tar -zxvf certified-asterisk-13.1-current.tar.gz # cd certified-asterisk-13.1-cert1
下一组命令将构建并安装Asterisk。请记住跳过--libdir=/usr/lib64 32位版本的CentOS选项。在这种情况下,只需运行命令./configure。
# ./configure --libdir=/usr/lib64
接下来,您将运行make menuselect命令。此步骤将验证是否已成功安装pjsip通道驱动程序依赖项。
# make menuselect
使用箭头键导航到左列中的“资源模块”,大约在列表的一半。按向右箭头键,然后向下滚动,直到看到以“res_pjsip_”开头的模块列表。如果这些模块名称左侧有“XXX”,则表示尚未满足依赖关系。您需要返回/ usr / src / pjproject目录,运行“ make distclean ”命令并重新开始仔细查找任何错误消息并从那里继续。如果您看到[*]而不是XXX,则表示已满足res_pjsip模块的依赖关系,您可以继续执行后续步骤。您的menuselect屏幕应如下所示:
退出菜单后,选择屏幕,下一组命令将构建并安装Asterisk以及一组示例配置文件。
# make && make install # make samples
如果希望Asterisk在引导时启动,请使用以下命令设置Asterisk服务。
# make config
最后,运行命令“service asterisk start”立即启动Asterisk服务,而无需重启。