4,721
回編集
差分
→sub-whoami
内線の処理は以上です。
===外線発信部===
;
; 外線発信(プレフィクス0)
;
exten => _0.,1,NoOp(外線発信)
exten => _0.,n,Gosub(sub-whoami,s,1)
;内線番号が割り当たってなければ発信させない
exten => _0.,n,GotoIf($["${MY_EXTEN}"=""]?nogo)
exten => _0.,n,Set(CALLERID(num)=${MYNUMBER})
exten => _0.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _0.,n,Dial(PJSIP/${EXTEN:1}@${MYTRUNK},,b(sub-addppi,s,1(${MYNUMBER})))
exten => _0.,n(nogo),Hangup
外線は0発信(0+03-1234-5678)で行えるようにしてあります。ただし、この場合のCIDではなく自局番号(MYNUMBER)に書き換えています。<br>
あわせてPPI(P-Prefferd-Identity)ヘッダをセットします。PJSIPでのヘッダのセットはDila()時のサブルーチンコールで行う必要があります。
==sub-whoami==
[sub-whoami]
サンプルの設定ファイルではsub-shoamiが呼び出されると、MY_EXTENに自分の内線番号がセットされるとともにCID類にも設定します。これにより「呼び出された」内線側には呼び出した内線の情報が通知されることになります。<br>
エンドポイントの名前自体はCHANNEL(endpoint)で求めることができますので、ここからAstDBを調べて割り当てられている内線番号を求めます。この処理を行っているのはsub-endpoint2extです。
==sub-endpoint2ext==
;