CentOS 7にアスタリスクをインストールする方法


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

このチュートリアルでは、 CentOS 7 アスタリスクをインストールする方法を説明します(手順は RHEL 7 でも機能します)。まず、インストール後にアスタリスクがスムーズに動作するように準備をする必要があります。

ステップ1:CentOS 7で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

先に進む前に、アスタリスクを使用する新しいユーザーを作成します。

# adduser asterisk -c "Asterisk User"
# 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.8/pjproject-2.8.tar.bz2

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

$ tar xvjf pjproject-2.8.tar.bz2
$ cd pjproject-2.8

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

$ ./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 7にアスタリスクをインストールする

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

$ cd ~/build

アスタリスクのダウンロードページに移動して最新バージョンを入手するか、または以下のwgetコマンドを使用してファイルをターミナルにダウンロードできます。

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

このチュートリアルの執筆時点で、最新のアスタリスクバージョンは 16 です。手順を実行しているときは、必ずアスタリスクの最新バージョンをダウンロードしてください。

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

$ tar -zxvf asterisk-16-current.tar.gz
$ cd asterisk-16.0.0

クライアントの保留中にmp3サポートを有効にして音楽を再生するには、これ以上の依存関係をインストールする必要があります。これらの手順はオプションです。

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

2番目のステップの後に、次のような出力が得られます。

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

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

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

足りないものがあればそれらをインストールしてください。私の場合は、次のようなエラーが出ました。

configure: error: patch is required to configure bundled pjproject

これを回避するには、単に実行します。

# yum install patch 

そしてconfigureスクリプトを再実行してください。それではビルドプロセスを始めましょう:

$ make menuselect

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

保留音機能を使用する場合は、[アドオン]セクションの[ format_mp3 ]機能を有効にする必要があります。リストを保存して次のコマンドを実行してください。

make && sudo make install

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

sudo make samples

起動時にアスタリスクを起動するには、次のコマンドを使用します。

sudo make config

rootユーザーとして、次のディレクトリとファイルの所有権を更新します。

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

最後に、私たちのインストールをテストしましょう。

$ sudo service asterisk start
$ sudo asterisk -rvv

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

Asterisk 16.0.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
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.0.0 currently running on asterisk (pid = 3985)
asterisk*CLI>

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

asterisk*CLI> core show help

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

asterisk*CLI> exit

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

これで、実行中のアスタリスクサーバーがあり、電話と内線の接続を開始し、ニーズに合わせて設定を調整できます。これを達成する方法の詳細については、Asterisk Wikiページを使用することをお勧めします。ご質問やご意見がございましたら、下記のコメント欄にお知らせください。