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できる。