ウェブサイト検索

CentOS/RHEL 8/7 に Asterisk をインストールする方法


アスタリスクは、通信アプリケーションの構築に使用されるオープンソース フレームワークです。これを使用して、ローカル コンピューターまたはサーバーを通信サーバーに切り替えることができます。 IP PBX システム、VoIP ゲートウェイ、会議サーバー、その他のソリューションに電力を供給するために使用されます。世界中のあらゆる種類の組織で使用されており、最終的にではありませんが、無料のオープンソースになりました。

このチュートリアルでは、CentOS 8/7Asterisk をインストールする方法を説明します (この手順は RHEL 8/7 でも機能します)。 , ただし、 インストール後にアスタリスクをスムーズに実行できるように、開始する前にいくつかの準備をする必要があります。

ステップ 1: CentOS で SELinux を無効にする

これを行うには、システムに SSH で接続し、お気に入りのコマンド ライン テキスト エディタを使用して /etc/selinux/config を開き、SELINUX を無効にします。

vim /etc/selinux/config

SELinux 行は次のようになります。

SELINUX=disabled

ここでシステムを再起動します。戻ってきたら、そのシステムに再度 SSH 接続します。

ステップ 2: 必要なパッケージをインストールする

アスタリスクには、インストールする必要がある要件がかなりあります。次の yum コマンドを使用して、示されているように必要なパッケージをインストールできます。

yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel

先に進む前に、「アスタリスク」という sudo 権限を持つ新しいユーザーを作成します。このユーザーを使用してシステムにアスタリスクを設定します。

adduser asterisk -c "Asterisk User"
passwd asterisk 
usermod -aG wheel asterisk
su asterisk

次に、PJSIP をインストールします。これは、SIP、SDP、RTP、STUN、TURN、ICE などの標準ベースのプロトコルを実装する、無料のオープンソース マルチメディア通信ライブラリです。通話の明瞭さを向上させるのはアスタリスク SIP チャネル ドライバーです。

最新バージョンを入手するには、まずソースからパッケージをビルドする一時ディレクトリを作成しましょう。

mkdir ~/build && cd ~/build

次に、PJSIP ダウンロード ページに移動してパッケージを取得するか、次の wget コマンドを使用してパッケージをターミナルに直接ダウンロードします。

この記事の執筆時点での最新バージョンは 2.8 ですが、将来変更される可能性があるため、必ず最新バージョンを使用してください。

wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2

ダウンロードが完了したら、ファイルを抽出してそのディレクトリに移動します。

tar xvjf pjproject-2.9.tar.bz2
cd pjproject-2.9

次のステップは、コンパイルするパッケージを準備することです。次のコマンドを使用できます。

./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

エラーや警告は表示されないはずです。すべての依存関係が満たされていることを確認します。

make dep

これで、次のようにライブラリのインストールとリンクを完了できます。

make && sudo make install && sudo ldconfig

最後に、すべてのライブラリがインストールされ、存在していることを確認します。

ldconfig -p | grep pj

次の出力が得られるはずです。

libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
	libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
	libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
	libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
	libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
	libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
	libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
	libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
	libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
	libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
	libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
	libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
	libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
	libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
	libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
	libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
	libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
	libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
	libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
	libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
	libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
	libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
	libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
	libpj.so (libc6,x86-64) => /lib64/libpj.so

ステップ 3: CentOS 8/7 にアスタリスクをインストールする

これで、Asterisk のインストールを開始する準備が整いました。 ~/build ディレクトリに戻ります。

cd ~/build

Asterisk ダウンロード ページに移動して最新バージョンを取得するか、次の wget コマンドを使用してターミナルにファイルをダウンロードできます。

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

このチュートリアルの執筆時点では、Asterisk の最新バージョンは16です。この手順に従うときは、Asterisk の最新バージョンをダウンロードしていることを確認してください。

次に、アーカイブを抽出し、新しく作成したディレクトリに移動します。

tar -zxvf asterisk-16-current.tar.gz
cd asterisk-16.5.1

ここで言及しておきますが、クライアントが保留中に音楽を再生するために mp3 サポートを有効にしたい場合は、さらにいくつかの依存関係をインストールする必要があります。これらの手順はオプションです。

sudo yum install svn
sudo ./contrib/scripts/get_mp3_source.sh

2 番目のステップの後、次のような出力が得られるはずです。

A    addons/mp3
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
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
Exported revision 202.

まず、configure スクリプトを実行して、パッケージをコンパイルする準備をします。

sudo contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-jansson-bundled

不足している依存関係がある場合は、それらをインストールします。私の場合、次のエラーが発生しました。

configure: error: patch is required to configure bundled pjproject

これを回避するには、次のコマンドを実行するだけです。

yum install patch 

そして、configure スクリプトを再実行します。エラーが発生せずにすべてが完全に完了した場合は、次のスクリーンショットが表示されます。

それでは、ビルドプロセスを開始しましょう。

make menuselect

数秒後、有効にする機能のリストが表示されます。

保留音機能を使用しようとする場合は、「アドオン 」セクションから「format_mp3 」機能を有効にする必要があります。リストを保存し、次のコマンドを実行します。

make && sudo make install

サンプル構成ファイルをインストールするには、以下のコマンドを使用します。

sudo make samples

ブート時に Asterisk を開始するには、次を使用します。

sudo make config

次のディレクトリとファイルの所有権を更新します。

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

最後に、次のコマンドを使用してインストールをテストしましょう。

sudo service asterisk start
sudo asterisk -rvv

次のような出力が表示されるはずです。

Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email >
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.
=========================================================================
Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020)
centos8-tecmint*CLI>

使用可能なコマンドのリストを表示したい場合は、次のように入力します。

asterisk*CLI> core show help

アスタリスク プロンプトを終了するには、次のように入力します。

asterisk*CLI> exit

アスタリスクは引き続きバックグラウンドで実行されます。

結論

これでアスタリスクサーバーが実行され、電話機と内線番号の接続を開始し、必要に応じて設定を調整できるようになりました。これを実現する方法の詳細については、Asterisk Wiki ページを使用することをお勧めします。ご質問やご意見がございましたら、以下のコメント欄にご記入ください。