云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 20.04服务器上安装和配置Asterisk 18的方法

在Ubuntu 20.04服务器上安装和配置Asterisk 18的方法

2021-03-16 09:59:40作者:牛福昕稿源:云网牛站

Asterisk是一个流行的开源PBX平台,用于开发通信应用程序,例如会议服务器和VoIP网关。本文介绍在Ubuntu 20.04服务器上安装Asterisk 18并配置Asterisk的方法。当前Ubuntu 20.04存储库包含较旧的Asterisk版本,所以我们将从源代码中安装。

在Ubuntu 20.04服务器上安装和配置Asterisk 18的方法

 

先决条件

安装以下软件包,这些软件包是下载和构建Asterisk 18所必需的:

sudo apt update

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

 

安装DAHDI和LibPRI

DAHDI是一组驱动程序和实用程序,允许Asterisk 18与模拟和数字电话进行通信。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 18

在/usr/src目录中克隆Asterisk 18源:

cd /usr/src/

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

在写本文时,当前Asterisk的版本是18.x。如果有可用的新版本,请在上面的命令中更改分支编号。

在继续下一步之前,请转到Asterisk 18源目录:

cd asterisk-18/

下载构建MP3模块并在Asterisk 18上使用MP3文件所需的MP3源:

sudo contrib/scripts/get_mp3_source.sh

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

sudo contrib/scripts/install_prereq install

configure脚本执行多项检查,以确保系统上的所有依赖项都存在。通过输入以下命令来运行脚本:

sudo ./configure

下一步是选择要编译和安装的模块,通过输入以下命令来访问菜单选择:

sudo make menuselect

选择“format_mp3”选项,以告诉Asterisk 18构建MP3模块:

在Ubuntu 20.04服务器上安装和配置Asterisk 18的方法

完成后,切换到“保存并退出(Save and Exit)”按钮,然后按“Enter”。

开始编译过程:

sudo make -j2

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

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

sudo make install

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

sudo make samples

或安装基本的PBX配置文件:

sudo make basic-pbx

最后一步是通过输入以下命令来安装Asterisk 18初始化脚本:

sudo make config

运行ldconfig来更新共享库高速缓存也是一个好主意:

sudo ldconfig

 

创建Asterisk 18用户

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

运行以下命令以创建一个名为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:

AST_USER="asterisk"

AST_GROUP="asterisk"

将asterisk用户添加到dialout和audio组:

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 20.04服务器免受不必要的流量的攻击。

如果服务器上未配置防火墙,则可以参考Debian、Ubuntu、Linux Mint系统中的UFW防火墙入门教程

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

sudo ufw allow 5060/udp

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

sudo ufw allow 10000:20000/udp

注:可以根据需要随意调整防火墙。

到了这里,配置Asterisk的操作全部完成了。

 

相关主题

安装VoIPBL保护Asterisk和FreePBX免受VoIP欺诈和暴力攻击

精选文章
热门文章