如何在Ubuntu 20.04上安装Asterisk

Asterisk是一个流行的开源PBX平台,用于开发通信应用程序,例如会议服务器和VoIP网关。 世界各地的个人,小型企业,大型企业和政府都使用它。

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

本教程说明了如何在Ubuntu 20.04上安装Asterisk。

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

先决条件

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

sudo apt updatesudo 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-linuxcd dahdi-linuxsudo makesudo make install
cd /usr/src/sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-toolscd dahdi-toolssudo autoreconf -isudo ./configuresudo make installsudo make install-configsudo dahdi_genconf modules

运行以下命令来构建LibPRI:

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

安装星号

在星号中克隆星号源 /usr/src 目录:

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

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

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

cd asterisk-18/

下载构建MP3模块并在Asterisk上使用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构建MP3模块:

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

开始编译过程:

sudo make -j2

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

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

sudo make install

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

sudo make samples

或安装基本的PBX配置文件:.banner-1-multi-145 {border:none!important; display:block!important; float:none; line-height:0px; margin-bottom:15px!important; margin-left :0px!important;右边距:0px!important; margin-top:15px!important; min-height:250px; min-width:250px; text-align:center!important;}

sudo make basic-pbx

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

sudo make config

跑步也是个好主意 ldconfig 更新共享库缓存:

sudo ldconfig

创建星号用户#

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

运行以下命令以创建一个新的系统用户,名为 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 /星号

AST_USER="asterisk"
AST_GROUP="asterisk"

添加 asterisk 用户到 dialoutaudio 组:

sudo usermod -a -G dialout,audio asterisk

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

sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisksudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/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版本。

要了解有关如何配置和使用星号的更多信息,请查看官方文档和

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

ubuntu星号

Sidebar