BLF Panasonic拡張
PanasonicのIP電話機(KX-UT,KX-HDV)でBLFを持つものは独自の属性(I-use)を持つ。
これをAsteriskのdevstateで扱えるようにする。
目次
問題点
KX-HDVではキー属性がBLFの場合に"I-use"を投げてもLEDが点灯しない。キー属性のがパークならば青点滅する。(バグ?仕様?)
KX-UT136ではキー属性がBLFでI-useを投げると緑点灯になる。HDVのこの挙動のドキュメントが見つからない。現在のパッチではexten内から"IUSE"状態をreadしようとするとAsteriskが落ちるので注意。 修正済
対象となるソース
- PBX本体(devstate)関連
- main/devicestate.c
- main/pbx.c
- funcs/func_extstate.c
- funcs/func_devstate.c
- include/asterisk/pbx.h
- include/asterisk/devicestate.h
- チャネル
- channels/chan_sip.c
pjsip対応はまだ
パッチファイル
- Asterisk 13用
- Asterisk 15用
- Pjsip (13も15も同じ)
*** ./res/res_pjsip/presence_xml.c 2018-05-07 10:16:46.216486617 +0900 --- ./res/res_pjsip/presence_xml.c.org 2018-05-07 10:16:41.336497600 +0900 *************** *** 126,137 **** *pidfstate = "busy"; *pidfnote = "On hold"; break; + case AST_EXTENSION_IUSE: + *statestring = "I-use"; + *local_state = NOTIFY_INUSE; + *pidfstate = "busy"; + *pidfnote = "I-use"; + break; case AST_EXTENSION_NOT_INUSE: default: /* Default setting */ --- 126,131 ----
LED挙動
Park | BLF | ||||
---|---|---|---|---|---|
<state> | KX-UT | KX-HDV | KX-UT | KX-HDV | DEVSTATE |
terminated | 消灯 | 消灯 | 消灯 | 消灯 | NOT_INUSE |
early | 無反応 | 無反応 | 赤点滅 | 赤点滅 | RINGING |
confirmed | 赤点滅 | 赤点滅 | 赤点灯 | 赤点灯 | INUSE |
I-use | 緑点滅 | 青点滅 | 緑点灯 | 無反応 | IUSE |
実機による挙動を確認。
使用方法
Devstateの項目として"IUSE"が使用できるようになる。
devstate change Custom:hoge IUSE を実行するとI-useでNOTIFYを投げる。
exten => 9999,hint,Custom:hoge のようにするとこのdevstateにSUBSCRIBEできる。