Asterisk extensions.conf

Asteriskの中核となるextensions.confの解説です。
Asterisk_サンプル設定ファイルを元に解説しています。
Extension道場も参照ください。

目次

extensions.conf

Asteriskから外線へ発信(着信)するときや、内線同士の発着信を行う際の処理など
発着信の処理方法を定めたのが、extensions.confというファイルとなります。
内線電話機→内線電話機
内線電話機→外線(050や0AB~J回線など)
外線(050や0ABJ回線など)→外線(着信転送)
どの番号がダイヤルされたらどこに繋ぐのか。着信(発信)をどのように扱うか。
という処理の流れを定義しています。

各項目の説明

[general]

extensions.confの頭に必ずある項目です。
ダイヤルプランの総合的な動き方を定めます。
基本的にはデフォルト値で問題ないでしょう。

サンプル

[general]
writeprotect=no
priorityjumping=no

[globals]

[general]の次にある項目です。
各コンテキスト(後述)で頻繁に使う番号を変数(グローバル変数)に代入します。
例えば、SPEAKINGCLOCK=317と設定しておき、下記のように記述しておくと、
${SPEAKINGCLOCK}という項目には317という番号が代入されます。

exten => ${SPEAKINGCLOCK},1,Answer()
exten => ${SPEAKINGCLOCK},n,Wait(1)
exten => ${SPEAKINGCLOCK},n,Set(FutureTime=$[${EPOCH} + 5])
exten => ${SPEAKINGCLOCK},n,SayUnixTime(${FutureTime},Japan,YbdAPHM)
exten => ${SPEAKINGCLOCK},n,Playback(jp-desu)
exten => ${SPEAKINGCLOCK},n,playback(beep)
exten => ${SPEAKINGCLOCK},n,Hangup

サンプル

[globals]
USEVOICEMAIL=YES
SPEAKINGCLOCK=317
ECHOTEST=333
;For Hikari Denwa
MYNUMBER=03XXXXXXXX
;G-LEX
MYGLEXNUM=XXXXXXXX

[default]

[globals]の次に来ることの多い項目(コンテキスト)です。
ダイヤルされた番号に従った処理方法を記述します。

[default]は、必須項目では無いようですが、記述されていることが多いようです。

sip.confやiax.confで context=default と書いてあるチャネル(内線/外線)は、[default]コンテキストの内容に沿ったダイヤルプランとなります。

サンプル

200とダイヤルされたら、内線201~204が一斉着信

; Ring 201-204 phones
exten => 200,1,Dial(SIP/201&SIP/202&SIP/203&SIP/204)
exten => 200,n,Hangup

[Other-Context]

[default]とは別個の項目(コンテキスト)を作成することもできます。
着信専用のコンテキストと外線発信専用のコンテキストを分けて作っておき、それぞれ違った処理を行う事も出来ます。

サンプル

03-0000-0000とダイヤルされたら、内線201~204が一斉着信(よくある外線着信)

[default]
; incoming call
exten => 0300000000,1,Goto(gaichaku,0300000000,1)

[gaichaku]
exten => _X.,1,Dial(SIP/201&SIP/202&SIP/203&SIP/204) ←とりあえず内線全部鳴らす設定
exten => _X.,n,Hangup

外部リンク