Asterisk 11

2012年12月5日 (水) 10:49時点におけるTakahashi (トーク | 投稿記録)による版

Asterisk 11.0.0が2012年10月25日(現地時間)リリースされました。
1.8系に続くLTSです。

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-11-current

目次

概要

Asterisk 11は最新のAsteriskのメジャーリリースで、Asterisk 1.8同様にLTS(Long Term Support:通常4年)になります。Asterisk 11のEOLは2017年10月が予定されています。

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

Asterisk-addonsは1.8系からAsterisk本体に統合されています。

インストール方法

  • 注意

これまではMeetMeを使用するためにDAHDIが使われていましたが、1.8からDAHDIを使用しない音声会議、Confbridgeが採用されているため、DAHDIは必ずしも必要ではありません。現在のところMeetMeがObsolateという情報はありませんが、今後の動向には注意しておいてください。

前提となるパッケージ類

GCC、G++(GNU-C++)、OpenSSL、Ncurses、bison、カーネルソース(zaptel)、libxml2
CentOS サーバインストールの場合、以下のパッケージ追加でコンパイル可能でした。
パッケージを追加

yum install gcc gcc-c++ kernel-devel ncurses-devel openssl-devel libxml2-devel

openssl-develをインストールするとkrb5-devel,zlib-develも一緒に付いて来るので別途インストールの必要はありません。
開発環境系パッケージを一括インストールしたい場合には、groupinstallを使うと便利です。

yum groupinstall "Development Libraries" "Development Tools"

format_mp3など、一部のソースはAsteriskに含まれないため別途入手しますが、この際にSubversionが必要となりますので、Subversionも入れておきます。

yum install subversion

システムを最新の状態にアップデート

yum update

カーネルが更新された場合にはリブートしておきます。
以上でインストール環境は整ったはずです。
事前にDAHDIをインストールするために環境を整えた場合にはgcc-c++とopenssl-develの追加だけでコンパイル可能になるはずです。

ソースの入手

Asterisk 11のソースは以下からダウンロードできます。

http://downloads.asterisk.org/pub/telephony/asterisk/

展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.x.x.tar.gz

入手したら展開しておきます。以降それぞれの作業は、それぞれの展開したサブディレクトリで行います。

# tar zxvf asterisk-11.x.x.tar.gz
# cd asterisk-11.x.x

Asteriskのコンパイルとインストール

基本的にconfigureしてmakeするだけです。

# ./configure
# make
# make install
# make samples
# make config

これで新規インストールは完了します。最後の make config で起動時に自動起動するようになります。
なおAsteriskでもmake menuselectがサポートされておりコンパイルするモジュールを選択したり組み込むモジュールを選択することができるようになっています。

MP3を使用する場合の注意

MP3関連(MoHなど)を使用する場合には、MP3系のソースはAsterisk本体に含まれていないため、コンパイル時にエラーになりますが、ソース入手のスクリプトが付属しています。

# ./contrib/scripts/get_mp3_source.sh

これを実行すればMP3関連のモジュールがコンパイルできるようになります。


パッチ

  • 日本語対応
11.0.1まで対応。オートパッチかダウンロードで。
http://ftp.voip-info.jp/asterisk/patch/11.0.1/
  • RT-200NE系(ひかり電話ホーム)対応パッチ
http://ftp.voip-info.jp/asterisk/patch/local/11/channels/

起動できない場合の対処

/usr/sbin/asterisk: error while loading shared libraries: libasteriskssl.so.1: cannot open shared object file: No such file or directory

このメッセージが出て起動できないのはAsterisk自体がシェアードライブラリを使うようになったためです。ldconfigを一発叩けば治ります。

T.38ゲートウェイ機能

Asterisk 1.6ではパッチが必要でしたが、Asterisk 10以降は標準でT.38のゲートウェイ機能をサポートするようになりました。 T.38ゲートウェイ機能を有効にする手順を備忘録的に記しておきます。(CentOS 4.6での例)

  • spandspのインストール
spandspをダウンロードする。http://soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz
ソースコードを展開したフォルダで下記のコマンドを実行する。
# ./configure --prefix=/usr
# make
# make install
  • Asteriskの res_fax モジュールを有効にする
Asterisk 11のソースコードを展開したディレクトリで ./configure を実行する。
make menuselect を実行し、Resorce Modules 中の res_fax を有効にする。
make install を実行しインストール。
  • sip.confの [general] 部に下記の設定を入れる
t38pt_udptl=yes,fec,maxdatagram=400
  • 着信用の extensions.conf はこんな風に。
exten => _X.,1,Noop(${EXTEN})
exten => _X.,n,Noop(${ACCOUNTCODE})
exten => _X.,n,Set(FAXOPT(gateway)=yes,10)
exten => _X.,n,Dial(SIP/${EXTEN})
exten => _X.,n,Hangup
  • ファイアーウォールの内側にAsteriskサーバがある場合、udptl.conf を変更する必要があるかも。例えば...
;udptlstart=4000
;udptlend=4999
udptlstart=30001
udptlend=31000
ちなみに、筆者のところでは上記のように設定した上で、UDP/30001~UDP/31000をAsteriskサーバにポート転送しないとFAXの送受信ができませんでした。
  • T.38対応のATA(SPA112など)をFAXにつないで実験しましょう。

参考:https://wiki.asterisk.org/wiki/display/AST/T.38+Fax+Gateway

メモ

とりあえずページ作成。