「BLF Panasonic拡張」の版間の差分
提供: VoIP-Info.jp
(ページの作成:「PanasonicのIP電話機(KX-UT,KX-HDV)でBLFを持つものは独自の属性(I-use)を持つ。<BR> これをAsteriskのdevstateで扱えるようにする。<BR> ==対...」) |
(→使用方法) |
||
(同じ利用者による、間の17版が非表示) | |||
1行目: | 1行目: | ||
PanasonicのIP電話機(KX-UT,KX-HDV)でBLFを持つものは独自の属性(I-use)を持つ。<BR> | PanasonicのIP電話機(KX-UT,KX-HDV)でBLFを持つものは独自の属性(I-use)を持つ。<BR> | ||
これをAsteriskのdevstateで扱えるようにする。<BR> | これをAsteriskのdevstateで扱えるようにする。<BR> | ||
+ | ==問題点== | ||
+ | KX-HDVではキー属性がBLFの場合に"I-use"を投げてもLEDが点灯しない。キー属性のがパークならば青点滅する。(バグ?仕様?)<BR> | ||
+ | KX-UT136ではキー属性がBLFでI-useを投げると緑点灯になる。HDVのこの挙動のドキュメントが見つからない。<BR> | ||
+ | <BR> | ||
+ | <s>現在のパッチではexten内から"IUSE"状態をreadしようとするとAsteriskが落ちるので注意。</s> 修正済<BR> | ||
==対象となるソース== | ==対象となるソース== | ||
*PBX本体(devstate)関連 | *PBX本体(devstate)関連 | ||
:main/devicestate.c | :main/devicestate.c | ||
− | : | + | :main/pbx.c |
+ | :funcs/func_extstate.c | ||
:funcs/func_devstate.c | :funcs/func_devstate.c | ||
:include/asterisk/pbx.h | :include/asterisk/pbx.h | ||
10行目: | 16行目: | ||
*チャネル | *チャネル | ||
:channels/chan_sip.c | :channels/chan_sip.c | ||
− | :pjsip対応はまだ | + | :<s>pjsip対応はまだ</s> |
+ | |||
+ | ==パッチファイル== | ||
+ | *Asterisk 13用 | ||
+ | :[[ファイル:Pana blf13.patch]] | ||
+ | *Asterisk 15用 | ||
+ | :[[ファイル:Pana blf15.patch]] | ||
+ | *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挙動== | ||
+ | {| border="1" cellspacing="0" | ||
+ | |+'''Panasonic BLF''' | ||
+ | |- style="background:#efefef;" | ||
+ | !!!colspan=2|Park!!colspan=2|BLF!! | ||
+ | |- style="background:#efefef;" | ||
+ | !<state>!!KX-UT!!KX-HDV!!KX-UT!!KX-HDV!!DEVSTATE | ||
+ | |||
+ | |- | ||
+ | !terminated || 消灯 || 消灯 || 消灯 || 消灯 || NOT_INUSE | ||
+ | |- | ||
+ | !early || 無反応 || 無反応 || 赤点滅 || 赤点滅 || RINGING | ||
+ | |- | ||
+ | !confirmed || 赤点滅 || 赤点滅 || 赤点灯 || 赤点灯 || INUSE | ||
+ | |- | ||
+ | !I-use || 緑点滅 || 青点滅 || 緑点灯 || 無反応 || IUSE | ||
+ | |||
+ | |} | ||
+ | 実機による挙動を確認。 | ||
+ | |||
+ | ==使用方法== | ||
+ | Devstateの項目として"IUSE"が使用できるようになる。<BR> | ||
+ | devstate change Custom:hoge IUSE を実行するとI-useでNOTIFYを投げる。<BR> | ||
+ | exten => 9999,hint,Custom:hoge のようにするとこのdevstateにSUBSCRIBEできる。<BR> |
2018年5月7日 (月) 11:46時点における最新版
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できる。