Asterisk コールパーキング
Asteriskにおけるコールパーキング機能とその活用方法。
なおこの説明は新しい(res_parkingを使う)ものについて説明します。
基本のコールパーキング
Asteriskでの基本的なコールパーキングは動的スロット式です。よく使用される番号は700,701~なのでこれを例に説明します。
コールパーキングではパーク用番号とパークされた呼を『取り戻す』ロット番号があります。
通話---転送--> 700 (パーク用番号) | |ロット番号割り当て +--> 701
現在通話中の呼をパーク用番号に転送すると空いているロット番号が自動的に割り当てられて、呼はそこに『パーク』されます。
パークされた呼は保留状態でロット番号に置かれます。この呼と繋ぐにはロット番号をダイヤルします。
内線など--ダイヤル--> 701(ロット番号)
空いている番号からロット番号にダイヤルすると保留されていた呼を「取り戻す」ことができます。
ロット番号は動的割り当てなので、使用されているロット番号があるとAsteriskは次の空きロット番号を割り当てます。
設定
基本のコールパーキングの設定を説明します。includeする設定ではなくextenにベタ書きする例を示します。
res_parking.conf
[general] ;デフォルトのパーキングロット [default] context => parkedcalls ;パークさせる番号は700 parkext => 700 ;パークされる位置は701-708 parkpos => 701-708 ;パーキングのhintを自動生成する parkinghints => yes ;タイムアウトしたら元を呼び返す設定 parkingtime => 60 comebacktoorigin => yes
パーク用の番号を700、ロット番号を701~708の7個とします。パーキング用のhintは自動生成されます。パークされたまま放置されると60秒で呼び戻しが行われます。
extenには以下の例のように書きます。内線が到達できるcontext内に書きます。
extensions.conf
;コールパーク exten => 700,1,Goto(parkedcalls,700,1) exten => _70X,1,Goto(parkedcalls,${EXTEN},1)
コールパークの番号は@parkedcallsというcontextにありますので内線からそれぞれの番号がダイヤルされた場合にはGotoでジャンプさせます。700がダイヤルされた場合にパーク、パークされた呼を取り戻すには701~708をダイヤルします。
電話機
特殊なキーを持たない電話機でもコールパーキングを使用することができます。パークする場合には転送を使うかfeatures.confの設定でDTMFを使ってパークすることが可能です。パークされた呼を取得するには該当する内線番号をダイヤルするだけです。
ですがBLF機能を持つ電話機を使用することでより便利に使うことができます。ここではGrandstream GRP-2604Pを例に説明します。ただしBLF押下時の挙動はメーカーによって若干異なることがありますので注意してください。
GXP-2604Pの『多目的キー』設定で行います。この例では本体右下のキー部分の左側、5個のキーを使用します。一番上のキーがパーク用、2番目から4つをロット用に割り当てます。
extensions.conf
先ほどのパーク用exteに加えて電話機(BLF)が参照するためのhintを設けます。
;コールパーク exten => 700,1,Goto(parkedcalls,700,1) exten => _70X,1,Goto(parkedcalls,${EXTEN},1) ;コールパークhints exten => 701,hint,park:701@parkedcalls exten => 702,hint,park:702@parkedcalls exten => 703,hint,park:703@parkedcalls exten => 704,hint,park:704@parkedcalls
res_parkingの設定でhintは自動生成されていますが、これを内線のcontextから参照(SUBSCRIBE)できるようにします。
BLF(電話機)設定
画面のように多目的キーを設定します。パーク用キーは『転送』、それぞれの番号はビジーランプフィールド(BLF)で設定します。なお、この例では"アカウント2"を使っていますが、自分が使用しているSIPアカウントに対応するアカウントを選択してください。