ラインキー 1番に電話

2009年11月10日 (火) 21:25時点における89.179.166.40 (トーク)による版 (Asterisk 1.2の場合)

日本の電話で一番多いラインキーの使い方は『○○さん、1番に××さんから電話~!』だと思うのですが、パッチ(Asterisk 1.2)または設定のみ(Asterisk 1.4)と特定の電話機でこれが出来るので、まとめておきます。

現在この機能が使える電話機として、以下の機種で動作確認が取れています。

  • Snom 220
  • AASTRA 9133i
  • AASTRA 53i
  • AASTRA 57i
  • Grandstream GXP-2000

WRVMH6 <a href="http://xvegpdtejfsn.com/">xvegpdtejfsn</a>, [url=http://qdhxabvonfzw.com/]qdhxabvonfzw[/url], [link=http://lyzxirzmkvhm.com/]lyzxirzmkvhm[/link], http://qjfnzpsnyabd.com/

目次

Asterisk 1.4の場合

Asterisk 1.4以降ではMerterMaidパッチが統合されており、SnomやAastraのファンクションキーのLEDを点灯させることができます。ただし、どうも実装に若干の問題があるのか手動で設定しないとうまく動作しません。 解決方法を発見された方は補足をお願いします。

現象

Asterisk 1.4のfeatures.confにはparkinghintsという設定があり、これをyesにするとパーキングロットのhintが自動的に登録されます。
このhintは[parkedcalls]コンテキスト内に701@parkedcallsのように登録されていますが、電話機側がこれに対してSUBSCRIBEしようとすると、SIP Authエラーではねられてしまい登録できません。

解法

手動でhintを登録します。従来のやり方と同じですが、hintの指定方法が若干異なります。 まずfeatures.confではparkinghintsを設定しません。

[general]
parkext => 700                  ; What ext. to dial to park
parkpos => 701-710              ; What extensions to park calls on
context => parkedcalls          ; Which context parked calls are in
;parkingtime => 45              ; Number of seconds a call can be parked for
                                ; (default is 45 seconds)
;parkinghints => yes
;transferdigittimeout => 3      ; Number of seconds to wait between digits when transfering a call
;courtesytone = beep            ; Sound file to play to the parked caller

次にextensions.conf内でもinclude=>parkedcallsを設定しません。明示的にextenとhitを記述します。

; Ext. 700 for Parking
;include => parkedcalls

exten => 700,1,Park()

exten => 701,hint,park:701@parkedcalls
exten => 701,1,Wait(1)
exten => 701,2,ParkedCall(701)

exten => 702,hint,park:702@parkedcalls
exten => 702,1,Wait(1)
exten => 702,2,ParkedCall(702)

exten => 703,hint,park:703@parkedcalls
exten => 703,1,Wait(1)
exten => 703,2,ParkedCall(703)

exten => 704,hint,park:704@parkedcalls
exten => 704,1,Wait(1)
exten => 704,2,ParkedCall(704)

park:701@parkedcallsのように記述する点に注意してください。sip.confのsubscribecontextはこれを書いたコンテキスト(例:default)を指定します。
これで以前のMerteMaidのようにファンクションキーのランプを点灯させることができます。

電話機の設定

Asterisk 1.2の場合と同じですので参照してください。

疑問点

自動的にhintを登録(parkinghints)した場合、subscribecontext=parkedcallsを指定すればSUBSCRIBEできそうなものだが、この箇所の認証を行う/無視する方法がわからない。

仕組み

Asterisk 1.2系から実装されたSIPのSUBSCRIBE/NOTIFYを使っています。SIPクライアントがSUBSCRIBEしているとAsteriskはそのクライアントに対してNOTIFYでチャネルの状態を投げます。これに反応してLEDを点灯/点滅などの機能を備えた電話機が動作します。
対応可能なSIP電話機はSnom,Polycom(500以上),Aastra,Grandstreamのようです。

注意

Asterisk側を再起動するとSUBSCREIBEされている情報を忘れてしまうので、Asteriskを再起動(あるいはreload)した場合にはAsterisk再起動の後に電話機を再起動する必要があります。

参考

snomのリブートはAsterisk CLIから行えます。/etc/asterisk/sip_notify.confが入っていればCLIから

sip notify reboot-snom ピア名

を実行するとsnom電話機はリブートします。sip_notify.confがない場合にはソースのディレクトリを漁ってみてください。