Thursday, November 21, 2024

[Asterisk] Hướng dẫn cài đặt Asterisk 16 trên Centos7

-

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 có khả năng chạy tốt trên Windows, Linux, BSD, OSX. 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ỉ cần máy tính cài sẵn hệ điều hành và phần mềm Asterisk là đã có thể thiết lập tổng đài Asterisk với nhiều tính năng độc đáo. Asterisk tạo kết nối giữa các điện thoại với nhau và mở rộng kết nối với tổng đài khác, với IP Phone, dịch vụ Media Gateway, Softswitch, Voicemail, Music on hold, Conference server,…

Như các PBX khác, Asterisk cho phép các máy điện thoại gắn kết với nhau qua phần mềm này thực hiện các cuộc gọi với nhau, và cho phép kết nối với các dịch vụ điện thoại khác, trong đó có mạng điện thoại chuyển mạch công cộng (PSTN) càng tốt hơn.

1. Chuẩn bị:

Máy ảo: 1G Ram, HDD 10-20G

Hệ điều hành: Centos7

Các bước chuẩn bị trước khi cài đặt

Cập nhập hệ thống

yum -y update

Thêm epel repository – CentOS

yum  -y install epel-release

Tắt selinux

sudo setenforce 0
sudo sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config

2. Cài đặt

2.1 Bước 1- Cài đặt các tool cần thiết

yum -y install wget vim net-tools

Cài đặt các gói “Development Tools” và các gói cần thiết

yum -y groupinstall "Development Tools"
yum -y install libedit-devel sqlite-devel psmisc gmime-devel ncurses-devel libtermcap-devel sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel crontabs cronie cronie-anacron

2.2 Bước 2- Tải và cài đặt Jansson

Jansson là một thư viện C để mã hóa, giải mã và thao tác dữ liệu JSON. Tải xuống và cài đặt nó trên máy chủ CentOS 7 bằng cách chạy các lệnh bên dưới:

cd /usr/src/
git clone https://github.com/akheron/jansson.git
cd jansson
autoreconf  -i
./configure --prefix=/usr/
make && make install

2.3 Bước 3- Tải xuống và cài đặt PJSIP

PJSIP là một thư viện truyền thông đa phương tiện mã nguồn mở và miễn phí được viết bằng ngôn ngữ C thực hiện các giao thức dựa trên tiêu chuẩn như SIP, SDP, RTP, STUN, TURN và ICE. Tải về từ dự án Github, sau đó biên dịch và cài đặt.

cd /usr/src/ 
git clone https://github.com/pjsip/pjproject.git
cd pjproject
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
make dep
make
make install
ldconfig

2.4 Bước 4- Tải xuống và cài đặt Asterisk

Bây giờ chúng ta đã cài đặt tất cả các gói phụ thuộc, chúng ta đã sẵn sàng tải xuống và cài đặt Asterisk 16 trên CentOS 7.

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar xvfz asterisk-16-current.tar.gz
rm -f asterisk-16-current.tar.gz
cd asterisk-*
./configure --libdir=/usr/lib64

Nếu mọi việc thành công, bạn sẽ nhận được đầu ra tương tự như dưới đây:

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 :

2.5 Bước 5- Tùy chọn các cài đặt lựa chọn

make menuselect

chọn chan_ooh323 và format_mp3

chọn định dạng của gói Audio như bên dưới

Đối với Music On Hold, chọn các mô-đun  sau

Trên Gói âm thanh bổ sung, chọn như hình dưới đây:

Bật app_macro trong phần Ứng dụng

Bạn có thể thay đổi cấu hình khác mà bạn thấy phù hợp. Khi hoàn tất, lưu và thoát

contrib/scripts/get_mp3_source.sh

Để bắt đầu xây dựng và cài đặt Asterisk với các mô-đun đã chọn, hãy chạy các lệnh.

make
make install
make samples
make config
ldconfig

Tạo một người dùng và nhóm riêng biệt để chạy các dịch vụ Asterisk và gán quyền chính xác:

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

Đặt người dùng mặc định Asterisk:

sudo sed -i 's|;AST_USER="asterisk"|AST_USER="asterisk"|' /etc/sysconfig/asterisk
sudo sed -i 's|;AST_GROUP="asterisk"|AST_GROUP="asterisk"|' /etc/sysconfig/asterisk
sudo sed -i 's|;runuser = asterisk|runuser = asterisk|' /etc/asterisk/asterisk.conf
sudo sed -i 's|;rungroup = asterisk|rungroup = asterisk|' /etc/asterisk/asterisk.conf

Khởi động và enable tự khởi động cho dịch vụ Asterisk.

systemctl restart asterisk
systemctl enable asterisk

Kiểm tra xem bạn có thể kết nối với Asterisk CLI không:

asterisk -vvvvvr

Nếu output như dưới là bạn đã cài đặt thành công.

Asterisk 16.0.1, 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 16.0.1 currently running on centos-01 (pid = 17182)

Như vậy là mình đã hướng dẫn xong cài đặt Asterisk 16 trên Centos7. Chúc các bạn cài đặt thành công!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories