如何在Debian 9上安装 Asterisk

时间:2020-03-05 15:25:02  来源:igfitidea点击:

Asterisk是用于构建通信应用程序的最受欢迎和广泛采用的开源框架。
世界各地的个人,小型企业,大型企业和政府都在使用它。

Asterisk功能包括电话会议,语音邮件,保留音乐,调用转移,调用排队,调用记录,数据库存储/检索等等。

在本教程中,我们将向我们展示如何在Debian 9上安装Asterisk 15.

Debian软件存储库中提供了较旧版本的Asterisk(版本13),并且可以使用“ apt install asterisk”安装。

准备工作

在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。

更新Debian服务器并安装下载和构建Asterisk所需的软件包:

sudo apt update && sudo apt upgradesudo apt install wget build-essential subversion

下载 Asterisk

在撰写本文时,Asterisk的最新稳定版本是版本15.

转到“/usr/src”目录,并使用以下wget命令下载Asterisk源代码:

cd /usr/src/sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz

下载完成后,使用tar命令解压缩归档文件:

sudo tar zxf asterisk-15-current.tar.gz

在继续下一步之前,请确保我们已更改为Asterisk源目录:

cd asterisk-15.*/

安装 Asterisk依赖项

运行以下脚本以下载构建MP3模块和使用MP3文件所需的MP3源:

sudo contrib/scripts/get_mp3_source.sh

接下来,运行'install_prereq'脚本来解析Debian系统上的所有依赖关系:

sudo contrib/scripts/install_prereq install

该脚本将安装所有必需的软件包,并且在成功完成后,将打印以下消息:

sh## install completed successfully

其中我们将看到默认的ITU-T电话代码61.
但是,在我们的情况下,如果我们像我一样在北美,则需要将其更改为1.

安装 Asterisk

运行'configure'脚本,它将准备编译Asterisk代码:

sudo ./configure

成功完成后,我们将看到以下输出:

下一步是选择要编译和安装的模块。
通过键入以下内容来访问Menuselect系统:

sudo make menuselect

我们已经下载了MP3源文件,现在我们需要告诉Asterisk通过选择'format_mp3'来构建MP3模块:

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

使用“ make”命令开始编译过程:

sudo make -j2

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

构建过程完成后,将显示以下消息:

通过键入以下命令来安装Asterisk及其模块:

sudo make install

安装完成后,将显示以下消息:

现在已经安装了Asterisk,下一步是安装示例配置文件。

我们可以通过运行以下示例文档来安装通用配置文件:

sudo make samples

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

sudo make basic-pbx

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

sudo make config

我们还可以运行“ ldconfig”来更新共享库缓存:

sudo ldconfig

创建 Asterisk用户

默认情况下,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 / Asterisk

AST_USER="asterisk"
AST_GROUP="asterisk"

将“ Asterisk”用户添加到“拨号”和“音频”组:

sudo usermod -a -G dialout,audio asterisk

更改所有 Asterisk文件和目录的所有权和权限,以便用户 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

现在我们已经完成了所有设置,通过键入以下内容来启动Asterisk服务:

sudo systemctl start asterisk

要验证Asterisk是否正在运行,请键入以下内容以连接到Asterisk命令行界面(CLI):

sudo asterisk -vvvr

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

输入'exit'或者按'CTRL + C'退出Asterisk CLI。

最后一步是启用Asterisk服务以在启动时启动:

sudo systemctl enable asterisk

配置防火墙

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

iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT

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

iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

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