ASTERISK是一个流行的开源PBX平台,用于开发通信应用程序,如会议服务器和VoIP网关。 它由个人,小企业,大型企业和全球各国政府使用。

Asterisk功能包括语音邮件,音乐持有,电话会议,呼叫排队,呼叫记录,交互式语音响应,SMS消息传递等。

本教程解释了如何在Ubuntu 20.04上安装Asterisk。

Ubuntu存储库包括旧的Asterisk版本。 我们将从源代码中安装最新的Asterisk。

先决条件

安装下载和构建Asterisk所必需的软件包:

sudo apt update
sudo apt install wget build-essential git autoconf subversion pkg-config libtool

安装DAHDI和Libpri

DAHDI是一组驱动程序,允许Asterisk与模拟和数字电话通信。 libpri库允许Asterisk与ISDN连接通信。 如果您不需要这些库,则可以跳过本节。

切换到/usr/src目录并下载并安装DAHDI:

cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
cd dahdi-linux
sudo make
sudo make install
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
cd dahdi-tools
sudo autoreconf -i
sudo ./configure
sudo make install
sudo make install-config
sudo dahdi_genconf modules

运行以下命令以构建libpri:

cd /usr/src/
sudo git clone https://gerrit.asterisk.org/libpri libpri
cd libpri
sudo make
sudo make install

安装Asterisk

克隆Asterisk源到/usr/src目录中的:

cd /usr/src/
sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18

在撰写本文时,最新版本的星号为18.x. 如果有可用的新版本,请在上面的命令中更改分支编号。

在继续下一步之前,更改为Asterisk源目录:

cd asterisk-18/

下载构建MP3模块所需的MP3源,并在星号上使用MP3文件:

sudo contrib/scripts/get_mp3_source.sh

运行install_prereq脚本以安装必要的依赖项:

sudo contrib/scripts/install_prereq install

configure脚本执行多个检查以确保系统上的所有依赖项都存在。 通过键入运行脚本:

sudo ./configure

下一步是选择要编译和安装的模块。 通过console进行访问菜单:

sudo make menuselect

选择“format_mp3”选项以告诉星号构建MP3模块:

asterisk mp3

完成后,切换到“保存和退出”按钮,然后按“Enter”。

启动编译过程:

sudo make -j2

编译可能需要一些时间,具体取决于您的系统。 您可以根据处理器中的核心数修改-j标志。

完成后,通过键入以下命令完成安装,安装Asterisk及其模块:

sudo make install

您可以通过键入以下命令的参考文档安装通用配置文件:

sudo make samples

或安装基本PBX配置文件:

sudo make basic-pbx

最后一步是通过以下命令键入来安装Asterisk init脚本:

sudo make config

运行ldconfig更新共享库缓存:

sudo ldconfig

创建Asterisk用户

默认情况下,Asterisk作为root用户运行。 我们将创建一个新的系统用户并配置星号以出于安全原因作为新创建的用户运行。

运行以下命令以创建名为asterisk的新系统用户:

sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk

配置Asterisk程序作为asterisk用户运行,打开/etc/default/asterisk文件并取消注释以下两行:

sudo nano /etc/default/asterisk

/etc/default/asterisk

AST_USER="asterisk"
AST_GROUP="asterisk"

asterisk用户添加到dialoutaudio组:

sudo usermod -a -G dialout,audio asterisk

我们还需要更改所有Asterisk文件和目录的所有权权限,因此用户Asterisk可以访问这些文件:

sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk

初始化Asterisk

请使用以下命令启动Asterisk服务:

sudo systemctl start asterisk

验证Asterisk是否正在运行,通过键入:

通过键入连接到Asterisk命令行界面(CLI)。

sudo asterisk -vvvr

你会看到默认的Asterisk CLI提示符:

Connected to Asterisk GIT-18-263f906af4 currently running on ubuntu2004 (pid = 91303)
ubuntu2004*CLI>

最后一步是启用自动启动Asterisk服务:

sudo systemctl enable asterisk

配置防火墙

防火墙将为您的服务器防止不需要的流量。

如果您的服务器上没有配置防火墙,则可以查看我们的指南关于如何使用Ubuntu上使用UFW进行防火墙

默认情况下,SIP使用UDP端口5060,打开端口运行:

sudo ufw allow 5060/udp

如果启用了实时协议(RTP),则还需要打开以下端口范围:

sudo ufw allow 10000:20000/udp

随意根据您的需求调整防火墙。

结论

我们向您展示了如何从Ubuntu 20.04上的源中安装最新的Asterisk版本。

了解有关如何配置和使用Asterisk查看官方文档

如果您遇到问题或有反馈,请在下面发表评论。