はんがーの備忘録

RaspberryPi 2BでのAsterisk 20の構築

Asterisk 20をラズパイ上で構築する方法があまりなかったので手順を記載

アナログ回線は使用しないのでDAHDIなどはインストールしていない

注意事項

以前から使用していたSIPチャンネルはPJSIPチャンネルに変更され、SIPチャンネルはコアサポートを受けなくなった

ver13.8.0以降はPJSIPがAsteriskにバンドルされビルドプロセス中にpjprojectのtarballをダウンロードしパッチが適用されることによって使用できるようになった バンドル以外でのpjprojectのインストールはサポートされなくなったらしい https://wiki.asterisk.org/wiki/display/AST/PJSIP-pjproject

公式サイトからver20.0.0のtarball圧縮ファイルをダウンロード https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=4817506

wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.2.0.tar.gz

展開する

tar xvf asterisk-20.2.0.tar.gz

ディレクトリを移動

cd asterisk-20.2.0

ビルド要件に必要な開発環境を整える 手動による開発環境構築も可能だが、スクリプトによる自動インストールも可能 自動での場合はパッケージマネージャを使用するので、スーパーユーザ権限が必要 https://docs.asterisk.org/Getting-Started/Installing-Asterisk/Installing-Asterisk-From-Source/Prerequisites/Checking-Asterisk-Requirements/#using-install_prereq

OSを最新の状態に更新したあと、再起動する

apt update && apt upgrade -y && apt dist-upgrade -y
reboot

再起動後ディレクトリに移動する

cd asterisk-20.2.0

依存関係を満たすための自動インストール用のスクリプトを実行

contrib/scripts/install_prereq install

手動の場合はSystem Requirementsを参考にインストールする https://wiki.asterisk.org/wiki/display/AST/System+Requirements

Asteriskをコンパイルしてインストールを開始する https://wiki.asterisk.org/wiki/display/AST/Checking+Asterisk+Requirements

要件のチェックを実行

./configure

./configureが正常に終了すると@の中に*がある様なメッセージが出力されます

通常はそのままで問題ないが、もし必要・不必要なモジュールなどがあればMenuselectを使用する (端末ウィンドウのサイズが80×27以上なければエラーメッセージがでる) https://wiki.asterisk.org/wiki/display/AST/Using+Menuselect+to+Select+Asterisk+Options

make menuselect

Asteriskをコンパイルする (オプション “-j CPUコア数” を付与するとCPUコア数分を並列でコンパイルする)

make # -j cpuコア数

コンパイルしたプログラムとモジュールをインストール

make install

必要に応じてサンプルの設定ファイルをインストールする

すべての設定ファイルをインストールする場合 https://wiki.asterisk.org/wiki/display/AST/Installing+Sample+Files

make samples

PBX関係の設定ファイのみの場合

make basic-pbx

Asteriskをデーモンとして起動させる場合はスタートアップスクリプトをインストールする https://wiki.asterisk.org/wiki/display/AST/Installing+Initialization+Scripts

make config

ログをローテーションさせる場合

make install-logrotate

ドキュメントをインストールする

make progdocs

以上

Hello world https://wiki.asterisk.org/wiki/display/AST/Hello+World

削除系

プログラムをアンインストールする場合

make uninstall

ログ及びspoolディレクトリなどもまとめて削除する場合

make uninstall-all

再度ビルドするために./configureからやり直す場合は、ビルドファイルや構成ファイルを削除する

make dist-clean