如何在Ubuntu 20.04 | 18.04上安装Asterisk 17

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Asterisk是一个免费的开源框架 珊瑚芝麻 为小型企业和大型用例构建通信应用程序。 Asterisk是基于软件的解决方案,它将一台旧计算机转变为为IP PBX系统,VoIP网关,会议服务器和其他自定义解决方案供电的通信服务器。该解决方案由Asterisk构建,可为全球的呼叫中心,运营商和政府机构提供动力。

这篇博客文章涵盖在Ubuntu 20.04 | 18.04服务器上安装Asterisk 17。在撰写本文时,Asterisk的最新版本是17。此外,它不是长期发行版本,不应用于需要对Digium长期支持的生产部署中。

星号的关键点是:

在Ubuntu 20.04 | 18.04上安装Asterisk 17

请按照下一部分中的步骤在您的Ubuntu 20.04 | 18.04 Linux系统上安装Asterisk 17。星号是模块化的,因此在安装后添加其他功能并不困难。您可以轻松。

步骤1:更新您的Ubuntu系统

要开始安装,请更新APT软件包索引并升级系统上安装的所有软件包。我们建议您在新系统上执行此安装,以避免运行服务时出现问题。

sudo apt update
sudo apt -y upgrade

如果升级过程成功,则可以重新启动系统。

sudo systemctl reboot

步骤2:安装构建依赖项

重启系统后,登录并安装在Ubuntu 20.04 | 18.04 Linux机器上构建Asterisk所需的所有依赖项。

sudo apt update
sudo add-apt-repository universe
sudo apt -y install git curl wget libnewt-dev libssl-dev libncurses5-dev subversion  libsqlite3-dev build-essential libjansson-dev libxml2-dev  uuid-dev

有了良好的Internet连接,安装只需几分钟。

步骤3:下载Asterisk 17压缩文件

在官方系统存储库中找不到最新版本的Asterisk。您必须手动下载压缩包并从源代码构建应用程序。

对于Ubuntu 20.04,APT存储库中的可用版本为16。

$ sudo apt policy asterisk
asterisk:
  Installed: (none)
  Candidate: 1:16.2.1~dfsg-2ubuntu1
  Version table:
     1:16.2.1~dfsg-2ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        500 http://mirror.hetzner.de/ubuntu/packages focal/universe amd64 Packages

使用wget命令下载存档文件。

cd ~
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz

用tar解压缩文件。

tar xvf asterisk-17-current.tar.gz

运行以下命令,将mp3解码器库下载到源代码树。

cd asterisk-17*/
contrib/scripts/get_mp3_source.sh

预期的命令执行输出:

A    addons/mp3
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
A    addons/mp3/Makefile
A    addons/mp3/README
A    addons/mp3/decode_i386.c
A    addons/mp3/dct64_i386.c
A    addons/mp3/MPGLIB_TODO
A    addons/mp3/mpg123.h
A    addons/mp3/layer3.c
A    addons/mp3/mpglib.h
A    addons/mp3/decode_ntom.c
A    addons/mp3/interface.c
Exported revision 202.

确保所有依赖项都已解决。

sudo contrib/scripts/install_prereq install

最后,显示成功消息。

#############################################
## install completed successfully
#############################################

步骤4:在Ubuntu 20.04 | 18.04上构建并安装Asterisk 17

安装依赖项后,您就可以从下载的源中构建Asterisk 17。

我会做的 配置,设置 满足构建依赖关系的脚本。

./configure

如果成功,您将看到类似于以下内容的输出:

.....
configure: creating ./config.status
config.status: creating makeopts
config.status: creating autoconfig.h
configure: Menuselect build configuration successfully completed

               .$$$$$$$$$$$$$$$=..
            .$7$7..          .7$$7:.
          .$$:.                 ,$7.7
        .$7.     7$$$$           .$$77
     ..$$.       $$$$$            .$$$7
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7
$$$       .7$$$$$$$$$$$$$$$$      :$$$.
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.
$$$        $$$   7$$$7  .$$$    .$$$.
$$$$             $$$$7         .$$$.
7$$$7            7$$$$        7$$$
 $$$$$                        $$$
  $$$$7.                       $$  (TM)
   $$$$$$$.           .7$$$$$$  $$
     $$$$$$$$$$$$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 :

运行以下命令来设置菜单选项:

make menuselect

使用箭头键移动, 进入 选择的关键。

选择加载项并启用它。

启用要使用的核心声音模块。

如何在Ubuntu 20.04 | 18.04上安装Asterisk 17

您也可以添加要使用的MOH软件包。

如何在Ubuntu 20.04 | 18.04上安装Asterisk 17

对Extra Sound Packages做同样的事情。

如何在Ubuntu 20.04 | 18.04上安装Asterisk 17

您还可以使用其他菜单选择最适合您的用例的选项。

完成后,运行以下命令在Ubuntu 20.04 | 18.04上构建Asterisk 17。

make

这是我成功的构建输出:

.....
TROLEnc.o ooh323cDriver.o -> chan_ooh323.so
   [CC] format_mp3.c -> format_mp3.o
   [CC] mp3/common.c -> mp3/common.o
   [CC] mp3/dct64_i386.c -> mp3/dct64_i386.o
   [CC] mp3/decode_ntom.c -> mp3/decode_ntom.o
   [CC] mp3/layer3.c -> mp3/layer3.o
   [CC] mp3/tabinit.c -> mp3/tabinit.o
   [CC] mp3/interface.c -> mp3/interface.o
   [LD] format_mp3.o mp3/common.o mp3/dct64_i386.o mp3/decode_ntom.o mp3/layer3.o mp3/tabinit.o mp3/interface.o -> format_mp3.so
   [CC] res_config_mysql.c -> res_config_mysql.o
   [LD] res_config_mysql.o -> res_config_mysql.so
Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+

这是您要在Ubuntu 20.04上安装Asterisk 17的命令。

sudo make install

输出示例:

....
make[1]: Entering directory '/home/jkmutai/asterisk-17.6.0/sounds'
make[1]: Leaving directory '/home/jkmutai/asterisk-17.6.0/sounds'
find rest-api -name "*.json" | while read x; do 
	/usr/bin/install -c -m 644 $x "/var/lib/asterisk/rest-api" ; 
done
 +---- 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    +
 +-------------------------------------------+

您可以选择安装文档:

sudo make progdocs

最后,安装配置和示例。

sudo make samples
sudo make config
sudo ldconfig

步骤5:在Ubuntu 20.04 | 18.04上启动Asterisk服务

创建另一个将运行Asterisk服务的用户和组,并为其分配正确的权限。

sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk

星号默认用户 星号:

$ sudo vim /etc/default/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.

进行更改后,重新启动Asterisk服务。

sudo systemctl restart asterisk

当系统启动时,允许星号服务启动。

sudo systemctl enable asterisk

检查服务的状态以查看其是否正在运行。

$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
     Loaded: loaded (/etc/init.d/asterisk; generated)
     Active: active (running) since Fri 2020-08-14 12:04:41 CEST; 9s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 82 (limit: 4567)
     Memory: 44.6M
     CGroup: /system.slice/asterisk.service
             └─54142 /usr/sbin/asterisk -U asterisk -G asterisk

确保您可以连接到Asterisk命令行界面。

$ sudo asterisk -rvv
Asterisk 17.6.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
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 17.6.0 currently running on ubuntu (pid = 54142)
ubuntu*CLI>

如果您有活动的ufw防火墙,请打开http端口和端口5060,5061。

sudo ufw allow proto tcp from any to any port 5060,5061

现在,我已经在Ubuntu 20.04 | 18.04 Linux服务器上安装并运行了Asterisk 17。

其他VoIP指南。

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

如何在Ubuntu上安装FreeSwitch PBX

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar