Cài đặt Asterisk 17 VoIP Server trên Ubuntu 20.04

Giới thiệu về Asterisk #

Asterisk là tổng đài điện thoại (PBX: private branch exchange) viết dưới dạng phần mềm mã nguồn mở. Asterisk cung cấp mọi tính năng cần thiết của một tổng đài điện thoại cho nội bộ công ty, doanh nghiệp. Hiện nay, rất nhiều công ty hay doanh nghiệp áp dụng hệ thống tổng đài Asterisk vào hoạt động kinh doanh. Chính vì vậy, hôm nay mình sẽ hướng dẫn bạn cách cài đặt Asterisk Server and Asterisk GUI trên Ubuntu 20.04.

Chuẩn bị môi trường #

  • Một Server chạy Ubuntu 20.04.
  • Một địa chỉ IP tĩnh được cài đặt sẵn trên Server
  • Có tài khoản User Root trên Server.

Cài đặt các gói cần thiết #

Trước tiên, hãy cập nhật Server của bạn lên version mới nhất:

apt-get update -y

Sau khi cập nhật, thực hiện cài đặt các gói cần thiết sử dụng dòng lệnh dưới đây:

apt-get install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev -y

Cài đặt Asterisk #

Bạn hãy tải về Asterisk 17 như sau theo dòng lệnh sau:

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

Sau khi tải xuống xong, bạn giải nén file với câu lệnh sau:

tar -xvzf asterisk-17-current.tar.gz

Tiếp theo, vào trong thư mục vừa giải nén, thực hiện cài đặt tất cả các module MP3:

cd asterisk-17.7.0
contrib/scripts/get_mp3_source.sh

Khi chạy xong, bạn sẽ có log ngoài màn hình như bên dưới:

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.

Tiếp theo, thực hiện cài đặt các gói cần thiết khác sử dụng câu lệnh:

contrib/scripts/install_prereq install

Bạn sẽ nhận được thông tin ngoài màn hình như sau:

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

Sau đó, bạn cần cấu hình Asterisk với câu lệnh:

./configure

Khi đó màn hình hiển thị:

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 :

Sau khi chạy xong, thực hiện cài đặt một số module cần thiết với câu lệnh dưới:

make menuselect

Khi đó, bạn sẽ được hỏi rằng sẽ cài đặt những module nào. Sử dụng các phím điều hướng để đi tới các module và dùng phím Enter để chọn như sau:

  • Mục Add-ons, bạn chọn như hình dưới:

addons-asterisk

  • Mục Core Sound Packages, bạn chọn các module như hình bên dưới:

core sound list

  • Mục MOH packages, bạn chọn các module như hình bên dưới:

MOH packages

  • Mục Extras Sound Packages, bạn chọn như sau:

extrad sound packages

Sau khi chọn xong, hãy click chọn Save & Exit để lưu thay đổi và cài đặt tất cả các module đã chọn.

Tiếp theo, bạn cần phải build với các module và gói đã cài đặt trước đó:

make

Hãy chắc chắn rằng bạn đã build thành công với màn hình hiển thị thông tin sau:

+--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+

Tiếp tục cài đặt lần lượt bằng các câu lệnh sau:

make install
make samples
make config
ldconfig

Tạo User #

Đầu tiên, chúng ta cần tạo User và Group với câu lệnh dưới:

groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk

Thêm User audio và User dialout vào Group Asterisk:

usermod -aG audio,dialout asterisk

Thay quyền sở hữu thư mục cho Group Asterisk:

chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk

Cấu hình Asterisk #

Chỉnh sửa file /etc/default/asterisk:

vi /etc/default/asterisk

Uncomment các dòng sau:

AST_USER="asterisk"
AST_GROUP="asterisk"

Lưu lại thay đổi rồi tiếp tục chỉnh sửa file /etc/asterisk/asterisk.conf:

vi /etc/asterisk/asterisk.conf

Uncomment các dòng sau:

runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.

Lưu lại thay đổi và khởi động lại dịch vụ để các cài đặt trên được áp dụng:

systemctl restart asterisk
systemctl enable asterisk

Kiểm tra lại kết nối bằng câu lệnh dưới:

asterisk -rvv

Khi đó chúng ta có màn hình như bên dưới:

Asterisk 17.7.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
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.7.0 currently running on ubuntu2004 (pid = 47965)
ubuntu2004*CLI>

Kích hoạt chức năng giao diện #

Để có thể truy cập từ trình duyệt web, bạn cần phải kích hoạt giao diện của Asterisk. Thực hiện chỉnh sửa file /etc/asterisk/http.conf như bên dưới:

enabled = yes
bindaddr = 0.0.0.0
bindport = 8088
prefix = asterisk
enable_static = yes
enablestatic = yes

redirect = / /static/config/index.html
uploads = /var/lib/asterisk/uploads/

Lưu lại thay đổi và tiếp tục chỉnh sửa file /etc/asterisk/manager.conf:

enabled = yes
webenabled = yes

port = 5038
bindaddr = 0.0.0.0

[admin]
secret = admin1234
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config,originate

Cài đặt giao diện #

Tiếp theo, bạn cần phải tải xuống bộ giao diện dành riêng cho Asterisk:

svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0

Sau khi tải xuống hoàn tất, truy cập vào thư mục đó rồi thực hiện lệnh như bên dưới:

cd 2.0/
./configure

Tiếp theo bạn cần build từ source code:

make

Nếu build thành công, bạn sẽ nhận được thông báo như bên dưới:

+------- Asterisk-GUI Build Complete -------+
 + Asterisk-GUI has successfully been built, +
 + and can be installed by running:          +
 +                                           +
 +               make install                +
 +-------------------------------------------+

Cuối cùng là cài đặt:

make install

Chờ sau khi cài đặt hoàn tất, màn hình sẽ hiển thị như bên dưới:

+---- Asterisk GUI Installation Complete ---+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk-GUI has successfully been        +
 + installed.      +
 +                                           +
 +-------------------------------------------+
 +                                           +
 +          BEFORE THE GUI WILL WORK         +
 +                                           +
 + Before the GUI will run, you must perform +
 + some modifications to the Asterisk        +
 + configuration files in accordance with    +
 + the README file.  When done, you can      +
 + check your changes by doing:              +
 +                                           +
 +               make checkconfig            +
 +                                           +
 +-------------------------------------------+

Bạn hãy khởi động lại dịch vụ để áp dụng các thay đổi bên trên:

systemctl restart asterisk

Truy cập giao diện #

Sau khi hoàn tất các bước trên, bạn đã có thể truy cập qua trình duyệt web (Google Chrome, Opera, Firefox, …). Truy cập vào địa chỉ sau: http://your-server-ip:8088/asterisk/static/config/index.html bạn sẽ được chuyển hướng tới website như hình bên dưới:

Asterisk GUI

Kết luận #

Chúc mừng bạn đã cài đặt xong Asterisk Server và Asterisk GUI trên Ubuntu 20.04. Giờ đây bạn có thể kết nối Server của bạn tới bất kì mạng PSTN để thực hiện gọi miễn phí. Cuối cùng, nếu bạn bất kì thắc mắc nào thì bình luận ở bên dưới để mình hỗ trợ nhé.

Nguồn bài viết: https://www.howtoforge.com

Mình là Tùng, hiện đang là DevOps tại Công Ty CP EcoIT. Với kinh nghiệm có được từ trong công việc, mình muốn chia sẻ cho bạn đọc cùng biết và cùng nhau học thêm nhiều điều mới trong lĩnh vực DevOps.

Powered by BetterDocs

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *