如何在CentOS 7上安装Asterisk 16 PBX
欢迎来到我们的指南,了解如何在CentOS 7 Linux上安装Asterisk 16 LTS。 Asterisk是具有企业功能的功能强大的开源PBX系统,仅在商用PBX系统中可用。 Asterisk使用商品以太网硬件,并允许集成物理上分开的安装。
Asterisk PBX系统的功能
在我们最近的指南中,我们介绍了在Ubuntu Ubuntu服务器上使用FreePBX安装Asterisk。如果我们需要商业系统,可以在我们的博客上找到3CX,其中包含安装指南。
在CentOS 7服务器上开始执行Asterisk安装命令之前,请确保系统上的所有软件包都是最新的。
在CentOS 7上安装Asterisk 16
设置主机名类型:
sudo yum -y update
添加EPEL存储库
sudo hostnamectl set-hostname pbx.example.com
通过运行以下命令,将SELinux设置为许可模式:
sudo yum -y install epel-release
然后按照以下步骤在CentOS 7/Fedora服务器上安装和配置Asterisk 16.
sudo setenforce 0 sudo sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config
设置Asterisk的第一步是安装所有必需的依赖项。
安装Asterisk 16 PBX依赖项
我们还需要安装"开发工具"组软件包。
sudo yum -y install wget vim net-tools
我们需要安装的其他软件包是:
sudo yum -y groupinstall "Development Tools"
Jansson是一个C库,用于编码,解码和处理JSON数据。通过运行以下命令将其下载并安装在CentOS 7服务器上:
sudo yum -y install libedit-devel sqlite-devel psmisc gmime-devel ncurses-devel libtermcap-devel sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel crontabs cronie cronie-anacron wget vim
下载并安装Jansson
PJSIP是用C语言编写的免费和开放源代码多媒体通信库,实现了基于标准的协议,例如SIP,SDP,RTP,STUN,TURN和ICE。从Github克隆项目,然后编译并安装。
cd /usr/src/ git clone https://github.com/akheron/jansson.git cd jansson autoreconf -i ./configure --prefix=/usr/ make && make install
下载并安装PJSIP
现在我们已经安装了所有依赖包,我们应该可以在CentOS 7上下载并安装Asterisk 16了。
cd /usr/src/ export VER="2.10" wget https://github.com/pjsip/pjproject/archive/${VER}.tar.gz tar -xvf ${VER}.tar.gz cd pjproject-${VER} ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr make dep make make install ldconfig
下载并安装asterisk
如果一切顺利,我们应该获得类似于以下的输出:
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz tar xvfz asterisk-16-current.tar.gz rm -f asterisk-16-current.tar.gz cd asterisk-* ./configure --libdir=/usr/lib64
通过运行以下命令来设置菜单选项:
configure: Menuselect build configuration successfully completed .$$$$$$$$$$$$$$$=.. ... .7$:. .$$:. ,.7 .. 7$$$$ .$ ..$$. $$$$$ .$$ ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$. $$$ .7$$$. .$$$. .777. .$$$$$$$$$$$. $$$, $$$~ .7$$$$$$$$$$$$. .$$$. .$ .7$$$$$$: ?$$$. $$$ ?7$$$$$$$$$$I .$$ $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$ .$$$ .$$$. $$$$ $$$ .$$$. 7$$ 7$$$$ 7$$$ $$$$$ $$$ $$$. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : x86_64 configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu : configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
设置asterisk菜单选项
使用箭头键进行导航,然后使用Enter键进行选择。
make menuselect
在附件中选择chan_ooh323和format_mp3,如下所示
在"核心声音包"上,选择音频数据包的格式,如下所示
对于"保留音乐",请选择以下最小模块
在"额外声音包"上,选择如下所示:
在"应用程序"部分启用" app_macro"。
我们可以更改自己认为合适的其他配置。完成后,保存并退出
现在运行以下命令,将mp3解码器库下载到源代码树中。
要使用选定的模块开始构建和安装Asterisk,请运行命令。
sudo contrib/scripts/get_mp3_source.sh
输出示例:
make make install make samples make config ldconfig
将为我们创建一个系统化的星号单位文件。
---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + For generic reference documentation: + + make samples + + + + For a sample basic PBX: + + make basic-pbx + + + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+
创建一个单独的用户和组以运行星号服务,并分配正确的权限:
将星号默认用户设置为星号:
groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk usermod -aG audio,dialout asterisk chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk chown -R asterisk.asterisk /usr/lib64/asterisk
进行更改后,重新启动星号服务
$sudo vim /etc/sysconfig/asterisk AST_USER="asterisk" AST_GROUP="asterisk" $sudo vim /etc/asterisk/asterisk.conf runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
启用服务以在启动时启动:
sudo systemctl restart asterisk
测试以查看是否可以连接到Asterisk CLI:
sudo systemctl enable asterisk
我们可以确认Asterisk服务正在以userasterisk的身份运行。这是Production的推荐设置。
# asterisk -rvv Asterisk 16.0.1, Copyright (C) 1999 - 2016, Digium, Inc. and others. Created by Mark Spencer <theitroad@localhost> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Running as user 'asterisk' Running under group 'asterisk' Connected to Asterisk 16.0.1 currently running on centos-01 (pid = 17182) centos-01*CLI>
我们现在在CentOS 7服务器上有一个正在运行的Asterisk 16.