Asterisk-1.4の変更点

目次

インストール要件

基本的なインストール要件はAsterisk 1.0,1.2と大きな変更はありません。当然ですが、AsteriskとZaptelおよびAddonなどの関連プログラムのバージョンに注意してください。Asterisk 1.4をインストールするためにはZaptel、libpriも1.4系にアップグレードする必要があります。PRIを使用しない場合にはlibpriは不要です。

コンパイル方法の変更

Asterisk 1.4ではコンパイル方法が大きく変わっていますので注意してください。configureを実行の後、make menuselectを行いmakeを実行します。詳しくは簡易インストールマニュアルを参照してください。

設定ファイル類の変更箇所

musiconhold.conf

ネイティブのファイルからの直接再生がデフォルトとなったようです、このため従来通りのクラス設定を行い、mpg123で再生を行う場合には以下のように記述します(mpg123のインストールをお忘れなく)。

[default]
mode=quietmp3
directory=/var/lib/asterisk/mohmp3

ファイルからの直接再生モード(mpg123等の外部プレイヤーを使わない)を使用する場合には以下のように記述します。

[default]
mode=files
directory=/var/lib/asterisk/moh

この場合には各CODECのトランスコードが発生することに注意します。ディレクトリには.wav形式(8KHzサンプリング、モノラル)を置いておけば良いでしょう。

アプリケーション、ファンクション

Set系のアプリケーションで、Asterisk 1.2で廃止予定になっていたものは廃止されました。このためSetではじまるアプリケーションに注意してください。ほとんどの場合、これらSet系アプリケーションは関数に置換されました。

廃止されたアプリケーション

  1. CheckGroup -- ${GROUP()}の比較で置換
  2. Curl -- CURL()関数に置換
  3. Cut -- CUT()関数に置換
  4. DateTime -- SayUnixTimeに置換
  5. DBget -- 1.2で廃止予定になっていたもの。1.4では削除
  6. DBput -- 1.2で廃止予定になっていたもの。1.4では削除
  7. Enumlookup -- ENUMLOOKUP()関数に置換
  8. Eval -- EVAL()関数に置換
  9. GetGroupCount -- GROUP_COUNT()関数に置換
  10. GetGroupMatchCount -- GROUP_MATCH_COUNT()関数に置換
  11. Intercom -- chan_ossモジュールを使用のこと
  12. Math -- Math()関数に置換
  13. MD5 -- MD5()関数に置換
  14. SetCIDname -- CALLERID(name)関数に置換
  15. SetCIDnum -- CALLERID(number)関数に置換
  16. SetGroup -- Set(GROUP=group)に置換
  17. SetRDNIS -- CALLERID(rdnis)関数に置換
  18. Sql_postgres -- 1.2で廃止予定。1.4では削除
  19. Txtcidname -- TXTCIDNAME関数に置換

新しい関数

  1. ARRAY()
  2. BASE_64_DECODE()
  3. BASE_64_ENCODE()
  4. CHANNEL()
  5. CURL()
  6. CUT()
  7. DB_DELETE()
  8. FILTER()
  9. GLOBAL()
  10. IFTIME()
  11. KEYPADHASH()
  12. ODBC()
  13. QUOTE()
  14. RAND()
  15. REALTIME()
  16. SHA1()
  17. SORT()
  18. SPRINTF()
  19. SQL_ESC()
  20. STAT()
  21. STRPTIME()

廃止予定

  1. LANGUAGE()
Set(CHANNEL(language)=jp)に置換

プライオリティ・ジャンプ

n+101ジャンプは基本的に使用されなくなります。n+101ジャンプを使用してextensions.confを記述している場合にはpriorityjumping=yesを明示的に指定(あるいは各アプリケーションの j オプション)します。Asterisk 1.4ではデフォルトのn+101ジャンプはオフにされました。

文字列の処理に関する注意

Asterisk 1.2まではクォート(")も1文字としてカウントされていましたが、Asterisk 1.4からカウントされなくなっています。

exten => 7700,1,Set(MV1="SAMPLE")
exten => 7700,n,Set(MYVAR=${LEN(${MV1})})

この結果は、Asterisk 1.2と1.4で結果が異なります。1.2では8になりますが、1.4では6になります。

CLIコマンド

CLIコマンドが大幅に整理されます。今後は

モジュール コマンド 引数

の形が使用されるようになります。このため、旧来のCLIコマンドを使用すると"Obsolated"のメッセージが数多く出ます。例えば

extensions reload

dialplan reload

に置換されます。