「Asterisk 16」の版間の差分
(→Asteriskのコンパイルとインストール) |
(CentOS 8の記載を追加) |
||
(他の1人の利用者による、間の15版が非表示) | |||
27行目: | 27行目: | ||
==注意== | ==注意== | ||
将来的にSIPチャネルはPjSipが標準となる模様です。なるべくはやい時期にchan_sipからPjSipへの移行をお勧めします。Asterisk 16からはconfigureのオプションなしでもbundledでpjsipをダウンロードするようです。→ [[Asterisk pjsip]]<br> | 将来的にSIPチャネルはPjSipが標準となる模様です。なるべくはやい時期にchan_sipからPjSipへの移行をお勧めします。Asterisk 16からはconfigureのオプションなしでもbundledでpjsipをダウンロードするようです。→ [[Asterisk pjsip]]<br> | ||
− | Macroが廃止予定にされているので注意が必要です。Macroを多用している場合には早い時期にGosub/Returnへの書き換えが必要です。 | + | なおAsterisk 16ではPjSIPはstatsdに依存しています。上のページの注意点をよく読んで設定してください。<br> |
+ | <br> | ||
+ | Macroが廃止予定にされているので注意が必要です。Macroを多用している場合には早い時期にGosub/Returnへの書き換えが必要です。<BR> | ||
+ | '''単純にmake installしてしまうとMacro()もDialのMも動かなくなるのでハマりますよ!''' | ||
==日本語音声の扱い== | ==日本語音声の扱い== | ||
34行目: | 37行目: | ||
==インストール== | ==インストール== | ||
===前提となるパッケージ類=== | ===前提となるパッケージ類=== | ||
− | GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース( | + | GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel uuid-devel、json-c、json-c-devel<br> |
− | CentOS | + | CentOS 7 minimalからインストールする場合、以下の手順でコンパイル環境を整えます。<br> |
+ | CentOS 8 minimalからインストールする場合で、yum installで必要なパッケージが無い旨のエラーが出たときは「--enablerepo=PowerTools」を付与して実行すると上手くいきます。<br> | ||
Asterisk 16からlibeditがパッケージで必要となったため追加しておく必要があります。<br> | Asterisk 16からlibeditがパッケージで必要となったため追加しておく必要があります。<br> | ||
− | + | 開発環境系パッケージを一括インストールしておきます。 | |
yum groupinstall "Development Libraries" "Additional Development" | yum groupinstall "Development Libraries" "Additional Development" | ||
パッケージを追加<br> | パッケージを追加<br> | ||
48行目: | 52行目: | ||
newt-develがないとmenuselectがフルスクリーンコントロールになりません。テキストベースになります。<br> | newt-develがないとmenuselectがフルスクリーンコントロールになりません。テキストベースになります。<br> | ||
<br> | <br> | ||
+ | CentOSのminimalだと足りないツール類がいくつかあるので入れておきます。 | ||
+ | yum install wget bzip2 patch | ||
format_mp3など、一部のソースはAsteriskに含まれないため別途入手しますが、この際にSubversionが必要となりますので、Subversionも入れておきます。 | format_mp3など、一部のソースはAsteriskに含まれないため別途入手しますが、この際にSubversionが必要となりますので、Subversionも入れておきます。 | ||
yum install subversion | yum install subversion | ||
76行目: | 82行目: | ||
基本的にconfigureしてmakeするだけです。 | 基本的にconfigureしてmakeするだけです。 | ||
# ./configure | # ./configure | ||
− | *16でjanssonをbundleインストールするには以下を実行します | + | *16でjanssonをbundleインストールするには以下を実行します(通常はこの方法) |
# ./configure --with-jansson-bundled | # ./configure --with-jansson-bundled | ||
日本語音声ファイルをインストールする場合には./configureの後 make menuselectを実行します。 | 日本語音声ファイルをインストールする場合には./configureの後 make menuselectを実行します。 | ||
# make menuselect | # make menuselect | ||
− | メニュー画面から '''Core Sound Packages'''で'''CORE_SOUND-JA-....'''の必要なフォーマットのファイルを選択し、[Save & Exit] | + | メニュー画面から '''Core Sound Packages'''で'''CORE_SOUND-JA-....'''の必要なフォーマットのファイルを選択し、[Save & Exit]でmenuselectを終了します。<BR> |
+ | extenでMacro()を使用している場合、デフォルトではコンパイルされなくなったので注意してください。make menuselectでappのMacroを明示的にON指定してください(deprecatedの下にあります)。<BR> | ||
+ | <BR> | ||
+ | 以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。<BR> | ||
+ | mv /usr/lib/asterisk/module /usr/lib/asterisk/module.13.bak | ||
+ | |||
+ | あとはコンパイルとインストールを行うだけです。 | ||
# make | # make | ||
# make install | # make install | ||
# make samples | # make samples | ||
+ | *make configはCentOS 7では注意 | ||
+ | :[[Asterisk Startup systemd]]<br> | ||
+ | CentOS 7以前のOSならばmake configしておくと自動起動します。 | ||
# make config | # make config | ||
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。<br> | これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。<br> | ||
===MP3を使用する場合の注意=== | ===MP3を使用する場合の注意=== | ||
+ | MP3関連(MoHなど)を使用する場合には、MP3系のソースはAsterisk本体に含まれていないため、コンパイル時にエラーになりますが、ソース入手のスクリプトが付属しています。 | ||
+ | # ./contrib/scripts/get_mp3_source.sh | ||
+ | これを実行すればMP3関連のモジュールがコンパイルできるようになります。 | ||
+ | |||
===SIPチャネルとしてPjsipを使う場合=== | ===SIPチャネルとしてPjsipを使う場合=== | ||
Asterisk 16からPjSIPはデフォルトでbundled扱いでダウンロード/コンパイルが行われます。このためconfigureを実行するだけでPjSIPも組み込まれます。 | Asterisk 16からPjSIPはデフォルトでbundled扱いでダウンロード/コンパイルが行われます。このためconfigureを実行するだけでPjSIPも組み込まれます。 | ||
==サンプル設定ファイル== | ==サンプル設定ファイル== | ||
+ | 単純な使用ならばAsterisk 13用の設定ファイルが使えます。<BR> | ||
+ | :[[Asterisk 13 サンプル設定ファイル]] | ||
+ | PjSIPを使用して電話機を収容したい場合には以下のファイルを使ってください。<BR> | ||
+ | :PjSIP用サンプル設定ファイル https://www.voip-info.jp/images/8/87/Conf-sample-pj.zip | ||
+ | |||
==ひかり電話ホームの使用== | ==ひかり電話ホームの使用== | ||
+ | *chan_sipの今後のサポートが怪しいので、PjSIPを使ってください。 | ||
+ | :[[pjsip ひかり電話HGW]]を参照してください。 | ||
+ | :chan_sipをどうしても使いたい場合にはMACアドレス認証を使ってください。 | ||
+ | :<del>パッチを作るかどうかはお悩み中</del> | ||
+ | :今後はパッチは提供しません。chan_sipが廃止方向にあるのでpjsipを使ってください。 |
2020年8月3日 (月) 14:25時点における最新版
Asterisk 16.0.0が2018年10月9日(現地時間)リリースされました。
- メンテナンス終了は2022年10月
- セキュリティフィックス提供終了は2023年10月
目次
概要
Asterisk 16は最新のAsteriskのメジャーリリースで、Asterisk 13同様にLTS(Long Term Support:通常4年)になります。
Asterisk 13からの変更点で重要なもの
- app_faxは廃止予定
- res_faxへ移行のこと
- app_macroは廃止予定
- デフォルトではapp_macroはコンパイルされない
- app_stack(Gosub)へ移行のこと → extension_Macro_To_Gosub
- AMI/ARIのイベントにいくつか変更あり
- libjanssonは2.11以上のバージョンが必要
- cdr_syslogは廃止予定
- デフォルトではコンパイルされない
- res_config_sqliteは廃止予定
- デフォルトではres_config_sqliteはコンパイルされない
- res_config_sqlite3に移行のこと
- res_monitorは廃止予定
- app_mixmonitorに移行のこと
- libeditは組み込みでは提供されなくなったのでOSのパッケージでインストールのこと
注意
将来的にSIPチャネルはPjSipが標準となる模様です。なるべくはやい時期にchan_sipからPjSipへの移行をお勧めします。Asterisk 16からはconfigureのオプションなしでもbundledでpjsipをダウンロードするようです。→ Asterisk pjsip
なおAsterisk 16ではPjSIPはstatsdに依存しています。上のページの注意点をよく読んで設定してください。
Macroが廃止予定にされているので注意が必要です。Macroを多用している場合には早い時期にGosub/Returnへの書き換えが必要です。
単純にmake installしてしまうとMacro()もDialのMも動かなくなるのでハマりますよ!
日本語音声の扱い
core sound packageでJAが使用可能ですが、Asterisk 16で変更された音声に対応しているかどうかは不明です。
インストール
前提となるパッケージ類
GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(DAHDIを使う場合)、libxml2、SQLite3、libuuid-devel uuid-devel、json-c、json-c-devel
CentOS 7 minimalからインストールする場合、以下の手順でコンパイル環境を整えます。
CentOS 8 minimalからインストールする場合で、yum installで必要なパッケージが無い旨のエラーが出たときは「--enablerepo=PowerTools」を付与して実行すると上手くいきます。
Asterisk 16からlibeditがパッケージで必要となったため追加しておく必要があります。
開発環境系パッケージを一括インストールしておきます。
yum groupinstall "Development Libraries" "Additional Development"
パッケージを追加
yum install gcc gcc-c++ yum install libxml2 libxml2-devel openssl-devel ncurses-devel sqlite-devel newt-devel libuuid-devel uuid-devel libedit-devel yum install json-c json-c-devel
openssl-develをインストールするとkrb5-devel,zlib-develも一緒に付いて来るので別途インストールの必要はありません。
Asteriskは現在のバージョンではBerkley DBではなくSQLite3をDBとして使用しますので、SQLite3と開発環境が必要です。
newt-develがないとmenuselectがフルスクリーンコントロールになりません。テキストベースになります。
CentOSのminimalだと足りないツール類がいくつかあるので入れておきます。
yum install wget bzip2 patch
format_mp3など、一部のソースはAsteriskに含まれないため別途入手しますが、この際にSubversionが必要となりますので、Subversionも入れておきます。
yum install subversion
Asteriskは10以降でMySQLサポートが"非常に"制限されています。このためCDRをMySQLで管理するような場合にはODBCが必要となるため、AsteriskのODBCサポート(res_odbc)を有効にする場合には以下も必要です。
yum install unixODBC unixODBC-devel mysql-connector-odbc yum install libtool-ltdl libtool-ltdl-devel
システムを最新の状態にアップデート
yum update
カーネルが更新された場合にはリブートしておきます。
janssonのインストール
個別インストールせずbundledインストールが可能です。configureのオプションで指定してください。
./configure --with-jansson-bundled
Asteriskソースの入手
Asterisk 16のソースは以下からダウンロードできます。なお asterisk-16-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。
http://downloads.asterisk.org/pub/telephony/asterisk/
展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。
# cd /usr/src # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。
# tar zxvf asterisk-16-current.tar.gz # cd asterisk-16.x.x
Asteriskのコンパイルとインストール
基本的にconfigureしてmakeするだけです。
# ./configure
- 16でjanssonをbundleインストールするには以下を実行します(通常はこの方法)
# ./configure --with-jansson-bundled
日本語音声ファイルをインストールする場合には./configureの後 make menuselectを実行します。
# make menuselect
メニュー画面から Core Sound PackagesでCORE_SOUND-JA-....の必要なフォーマットのファイルを選択し、[Save & Exit]でmenuselectを終了します。
extenでMacro()を使用している場合、デフォルトではコンパイルされなくなったので注意してください。make menuselectでappのMacroを明示的にON指定してください(deprecatedの下にあります)。
以前のバージョンからアップグレードを行う場合、変更されたモジュール類が多いので、一旦、以前のモジュールをディレクトリごと名前変更してバックアップしてからインストールしてください。
mv /usr/lib/asterisk/module /usr/lib/asterisk/module.13.bak
あとはコンパイルとインストールを行うだけです。
# make # make install # make samples
- make configはCentOS 7では注意
CentOS 7以前のOSならばmake configしておくと自動起動します。
# make config
これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。
MP3を使用する場合の注意
MP3関連(MoHなど)を使用する場合には、MP3系のソースはAsterisk本体に含まれていないため、コンパイル時にエラーになりますが、ソース入手のスクリプトが付属しています。
# ./contrib/scripts/get_mp3_source.sh
これを実行すればMP3関連のモジュールがコンパイルできるようになります。
SIPチャネルとしてPjsipを使う場合
Asterisk 16からPjSIPはデフォルトでbundled扱いでダウンロード/コンパイルが行われます。このためconfigureを実行するだけでPjSIPも組み込まれます。
サンプル設定ファイル
単純な使用ならばAsterisk 13用の設定ファイルが使えます。
PjSIPを使用して電話機を収容したい場合には以下のファイルを使ってください。
- PjSIP用サンプル設定ファイル https://www.voip-info.jp/images/8/87/Conf-sample-pj.zip
ひかり電話ホームの使用
- chan_sipの今後のサポートが怪しいので、PjSIPを使ってください。
- pjsip ひかり電話HGWを参照してください。
- chan_sipをどうしても使いたい場合にはMACアドレス認証を使ってください。
パッチを作るかどうかはお悩み中- 今後はパッチは提供しません。chan_sipが廃止方向にあるのでpjsipを使ってください。