CentOS/RHEL 8/7 に Asterisk をインストールする方法
アスタリスクは、通信アプリケーションの構築に使用されるオープンソース フレームワークです。これを使用して、ローカル コンピューターまたはサーバーを通信サーバーに切り替えることができます。 IP PBX システム、VoIP ゲートウェイ、会議サーバー、その他のソリューションに電力を供給するために使用されます。世界中のあらゆる種類の組織で使用されており、最終的にではありませんが、無料のオープンソースになりました。
このチュートリアルでは、CentOS 8/7 に Asterisk をインストールする方法を説明します (この手順は 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 ページを使用することをお勧めします。ご質問やご意見がございましたら、以下のコメント欄にご記入ください。