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