4,758
回編集
差分
→設定
parkpos => 808-808
parkinghints => yes
パークの数を増やす場合にはロット番号を+8や+16にしてください。<br><br>extensions.conf ではパーク番号がダイヤルされた場合、すでにパークされているかどうかで処理を分けます。そのキー位置でパークされていない場合にはパークを実行、パークされている場合には呼を取り戻します。<br>また、hintを定義しますが、CallParkキーがSUBSCRIBEしてくる先はパーク用番号なので、参照する先はロットにします。 ;固定パーク exten => _80[1-4],1,NoOp(固定パーク) ;パーク番号は内線番号の最後の桁 exten => _80[1-4],n,Set(PNUM=${EXTEN:-1}) ;ロット番号はパーク番号+4の位置 exten => _80[1-4],n,Set(LOT=${MATH(${PNUM}+4,int)}) ;ロットのステートによって処理分け exten => _80[1-4],n,GotoIf($["${DEVICE_STATE(park:80${LOT}@fpark${PNUM})}"="NOT_INUSE"]?park) exten => _80[1-4],n,GotoIf($["${DEVICE_STATE(park:80${LOT}@fpark${PNUM})}"="INUSE"]?pickup) exten => _80[1-4],n,Goto(end) ;パーク実行 exten => _80[1-4],n(park),Park(fpark${PNUM}) exten => _80[1-4],n,Goto(end) ;パークされている場合は取り戻し exten => _80[1-4],n(pickup),Goto(fpark${PNUM},80${LOT},1) exten => _80[1-4],n(end),Hangup ;固定コールパークhints exten => 801,hint,park:805@fpark1 exten => 802,hint,park:806@fpark2 exten => 803,hint,park:807@fpark3 exten => 804,hint,park:808@fpark4ちょっとわかりにくいかもしれませんが、番号によって処理をそれぞれ書くのではなく、_80[1-4] で801~804までの処理を行っています。パーク番号+4をロット番号にしているので+4で計算してロット番号を決めています。