Asterisk 16

2018年10月24日 (水) 16:04時点におけるTakahashi (トーク | 投稿記録)による版 (Asteriskソースの入手)


Asterisk 16.0.0が2018年10月9日(現地時間)リリースされました。

メンテナンス終了は2022年10月
セキュリティフィックス提供終了は2023年10月

目次

概要

Asterisk 16は最新のAsteriskのメジャーリリースで、Asterisk 13同様にLTS(Long Term Support:通常4年)になります。

https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

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
Macroが廃止予定にされているので注意が必要です。Macroを多用している場合には早い時期にGosub/Returnへの書き換えが必要です。

日本語音声の扱い

core sound packageでJAが使用可能ですが、Asterisk 16で変更された音声に対応しているかどうかは不明です。

インストール

前提となるパッケージ類

GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(zaptel)、libxml2、SQLite3、libuuid-devel uuid-devel、json-c、json-c-devel
CentOS 6.3 Basic Serverの場合、以下の手順でコンパイル環境を整えます。
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がフルスクリーンコントロールになりません。テキストベースになります。

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のコンパイルとインストール

MP3を使用する場合の注意

SIPチャネルとしてPjsipを使う場合

Asterisk 16からPjSIPはデフォルトでbundled扱いでダウンロード/コンパイルが行われます。このためconfigureを実行するだけでPjSIPも組み込まれます。

サンプル設定ファイル

ひかり電話ホームの使用