4,721
回編集
差分
→WIP
exten => _X.,n(nogo),Hangup
==SIPメッセージング==
;
; SIPメッセージング処理
;
[sipmsg]
exten => s,1,NoOp(メッセージング)
exten => s,n,NoOp(${MESSAGE(from)})
;Toの中身取り出し
exten => s,n,Set(MSGTO=${MESSAGE(to)})
exten => s,n,Set(DEST=${CUT(MSGTO,@,2)})
;エンドポイントから内線番号を求める
;Fromは内線番号を表示させるのでまずエンドポイント取得
exten => s,n,Set(MSGFRM=${CUT(MESSAGE(from),:,2)})
exten => s,n,Set(MSGFRM=${CUT(MSGFRM,@,1)})
;エンドポイントから内線を求める
exten => s,n,Gosub(sub-endpoint2ext,s,1(${MSGFRM}))
;Fromを内線番号でセット
exten => s,n,Set(MFROM=${T_EXTEN})
;変数で引き渡された送信先を取得
exten => s,n,Set(D_EXT=${MTARGET})
;MESSAGE(to)を内線番号ではなくエンドポイントにセットしなおす
exten => s,n,Set(D_ENDP=${DB(MYPBX/EXT/${D_EXT})})
;SIPメッセージングで送信
exten => s,n,MessageSend(pjsip:${D_ENDP},${MFROM},sip:${D_ENDP}@${DEST})
;送ったら切断
exten => s,n,Hangup
内線発信部の最初で処理したものです。ここへジャンプすることでSIPによるメッセージング機能をサポートします。ブラウザフォンでメッセージの送受ができると便利なので付けています。要はチャットですよね。<br>
ダイヤルして通話を成立させるのではなく、相手のエンドポイントを求めてMessageSend()でテキストメッセージを送信します。
=WIP=