웹사이트 검색

CentOS 8에 별표 18 VoIP 서버를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. 필수 도구 설치\n
  4. Jansson 및 PJSIP 설치
  5. 별표 설치\n
  6. 별표 구성\n
  7. 별표 확인\n
  8. 결론

Asterisk는 오픈 소스 라이선스로 출시된 강력한 디지털 PBX 및 VoIP 서버이므로 무료로 사용할 수 있습니다. VoIP는 여러 끝점 간의 전화 통화를 설정하고 제어하는 데 사용되는 기술입니다. 전 세계 VoIP 게이트웨이, 회의 서버, 콜 센터, 통신사 및 정부 기관에서 사용됩니다. Linux, BSD 및 OS X에서 실행되며 로컬 시스템 또는 서버를 통신 서버로 전환할 수 있습니다.

이 게시물에서는 CentOS 8 서버에 Asterisk를 설치하는 방법에 대해 설명합니다.

전제 조건

  • CentOS 8을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

시작하기

기본적으로 SELinux는 CentOS 8에서 활성화되어 있으므로 먼저 비활성화해야 합니다. 비활성화하려면 SELinux 구성 파일을 편집하십시오.

nano /etc/selinux/config

다음 줄을 변경합니다.

SELINUX=disabled

파일을 저장하고 닫은 다음 시스템을 다시 시작하여 변경 사항을 적용하십시오.

필수 도구 설치

Asterisk에는 서버에 설치해야 하는 여러 패키지가 필요합니다. 먼저 다음 명령을 사용하여 EPEL 저장소를 설치합니다.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

다음으로 다음 명령을 사용하여 PowerTools 저장소를 활성화합니다.

dnf config-manager --set-enabled PowerTools

다음으로 다음 명령을 사용하여 다른 패키지 및 개발 도구를 설치합니다.

dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y
dnf groupinstall "Development Tools"

필요한 모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Jansson 및 PJSIP 설치

다음으로 시스템에 Jansson을 설치해야 합니다. 미디어 데이터 인코딩 및 디코딩에 사용됩니다.

먼저 다음 명령을 사용하여 Git 리포지토리에서 다운로드합니다.

git clone https://github.com/akheron/jansson.git

다음으로 디렉토리를 다운로드한 디렉토리로 변경하고 다음 명령을 사용하여 컴파일합니다.

cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make install

다음으로 시스템에 PJSIP를 설치해야 합니다. SIP, SDP, RTP, STUN, TURN 및 ICE 프로토콜을 구현하는 데 사용되는 라이브러리입니다.

먼저 다음 명령을 사용하여 다운로드합니다.

cd
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

완료되면 Asterisk 설치를 진행할 수 있습니다.

별표 설치

먼저 홈 디렉터리로 이동하고 다음 명령을 사용하여 최신 버전의 Asterisk를 다운로드합니다.

cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

tar -xvzf asterisk-18-current.tar.gz

그런 다음 다음 명령을 사용하여 디렉터리를 추출된 디렉터리로 변경합니다.

cd asterisk-18.4.0/

그런 다음 다음 명령을 사용하여 Asterisk를 구성합니다.

./configure --libdir=/usr/lib64

다음 출력이 표시되어야 합니다.

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 :

다음으로 Asterisk와 함께 설치하려는 추가 애드온을 설치하려면 다음 명령을 실행하십시오.

make menuselect

다음 페이지가 표시됩니다.

추가 기능을 선택하고 Enter 키를 누릅니다. 다음 페이지가 표시됩니다.

필요한 추가 기능을 선택하고 Enter 키를 눌러 선택한 다음 ESC를 눌러 기본 메뉴로 돌아갑니다.

필요한 Core 사운드 패키지를 선택하고 Enter 키를 눌러 선택하십시오. 그런 다음 ESC를 눌러 돌아가서 아래와 같이 MOH 패키지를 선택합니다.

필요한 패키지를 선택하고 Enter 키를 눌러 선택합니다. 그런 다음 ESC를 눌러 돌아가서 아래와 같이 추가 패키지를 선택합니다.

필요한 패키지를 선택하고 Enter 키를 눌러 선택합니다. 그런 다음 ESC 버튼을 누릅니다. 다음 페이지가 표시됩니다.

S를 눌러 변경 사항을 저장하고 종료합니다.

그런 다음 다음 명령을 실행하여 필요한 모든 종속성을 설치합니다.

contrib/scripts/get_mp3_source.sh

다음으로 다음 명령을 사용하여 Asterisk를 빌드합니다.

make

다음 출력이 표시되어야 합니다.

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

make install
 +---- 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    +
 +-------------------------------------------+

그런 다음 다음 명령을 사용하여 Asterisk를 설치합니다.

make samples
make config
ldconfig

별표 구성

다음으로 Asterisk를 실행할 전용 사용자를 생성해야 합니다. 다음 명령을 사용하여 사용자 및 그룹을 생성할 수 있습니다.

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

다음으로 다음 명령을 사용하여 오디오 및 다이얼아웃 사용자를 Asterisk 그룹에 추가합니다.

usermod -aG audio,dialout asterisk

그런 다음 다음 명령을 사용하여 Asterisk 디렉토리의 소유권을 별표 사용자로 설정합니다.

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

다음으로 /etc/sysconfig/asterisk 파일을 편집합니다.

nano /etc/sysconfig/asterisk

다음 줄의 주석 처리를 제거하십시오.

AST_USER="asterisk"
AST_GROUP="asterisk"

파일을 저장하고 닫은 다음 /etc/asterisk/asterisk.conf 파일을 편집합니다.

nano /etc/asterisk/asterisk.conf

다음 줄의 주석 처리를 제거하십시오.

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

완료되면 파일을 저장하고 닫습니다. 그런 다음 Asterisk 서비스를 다시 시작하여 변경 사항을 적용하십시오.

systemctl restart asterisk

그런 다음 시스템 재부팅 시 Asterisk 서비스가 시작되도록 활성화합니다.

systemctl enable asterisk

Asterisk 서비스의 상태를 확인하려면 다음 명령을 실행합니다.

systemctl status asterisk

다음 출력이 표시되어야 합니다.

? asterisk.service - LSB: Asterisk PBX
   Loaded: loaded (/etc/rc.d/init.d/asterisk; generated)
   Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
 Main PID: 70914 (asterisk)
    Tasks: 81 (limit: 25014)
   Memory: 36.8M
   CGroup: /system.slice/asterisk.service
           ??70912 /bin/sh /usr/sbin/safe_asterisk
           ??70914 /usr/sbin/asterisk -f -vvvg -c

May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX...
May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:

별표 확인

이 시점에서 Asterisk가 설치되고 구성됩니다. 이제 다음 명령을 사용하여 별표를 확인할 수 있습니다.

asterisk -rvv

모든 것이 정상이면 다음과 같은 결과가 표시됩니다.

Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <>
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 18.4.0 currently running on centos8 (pid = 70914)
centos8*CLI> 

이제 다음 명령을 실행하여 핵심 채널을 표시합니다.

centos8*CLI> core show channels

다음 출력이 표시되어야 합니다.

Channel              Location             State   Application(Data)             
0 active channels
0 active calls
0 calls processed

Asterisk 가동 시간을 표시하려면 다음 명령을 실행하십시오.

centos8*CLI> core show uptime

다음 출력이 표시되어야 합니다.

System uptime: 1 minute, 33 seconds
Last reload: 1 minute, 33 seconds

Asterisk CLI를 종료하려면 다음 명령을 실행합니다.

centos8*CLI> quit

결론

위 가이드에서는 CentOS 8 서버에서 Asterisk 버전 18을 다운로드하고 컴파일하는 방법을 배웠습니다. 이제 Asterisk를 다른 플랫폼과 통합하고 VoIP 기반 애플리케이션을 구축할 수 있습니다.