「ラインキー 1番に電話」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(Aastra 9113iの場合)
(「ラインキー 1番に電話」を保護しました ([編集=管理者のみ許可] (無期限) [移動=管理者のみ許可] (無期限)))
 
(6人の利用者による、間の16版が非表示)
1行目: 1行目:
 +
[[Category:Asterisk]]
 +
[[Category:ラインキー]]
 
日本の電話で一番多いラインキーの使い方は『○○さん、1番に××さんから電話~!』だと思うのですが、パッチ(Asterisk 1.2)または設定のみ(Asterisk 1.4)と特定の電話機でこれが出来るので、まとめておきます。
 
日本の電話で一番多いラインキーの使い方は『○○さん、1番に××さんから電話~!』だと思うのですが、パッチ(Asterisk 1.2)または設定のみ(Asterisk 1.4)と特定の電話機でこれが出来るので、まとめておきます。
  
現在この機能が使える電話機として、以下の機種で動作確認が取れています。
+
現在この機能が使える電話機として、以下の機種で動作確認が取れています。<br>
Snom 220<br>
+
*Snom 220
AASTRA 9133i<br>
+
*AASTRA 9133i
Grandstream GXP-2000<br>
+
*AASTRA 53i
 +
*AASTRA 57i
 +
*Grandstream GXP-2000
 
==Asterisk 1.2の場合==
 
==Asterisk 1.2の場合==
 
Asterisk 1.2系の場合にはMeterMaidと呼ばれるパッチが必要です。パッチ適用後に再コンパイルしてインストールしなおします。
 
Asterisk 1.2系の場合にはMeterMaidと呼ばれるパッチが必要です。パッチ適用後に再コンパイルしてインストールしなおします。
11行目: 15行目:
 
ここからmertermaid v3を落とします。書かれているようにAsterisk 1.2.7.1(1.2.11まではパッチ可能なことを確認しています)にpatch -p0 でパッチをかけると1箇所、パッチに失敗しますので手動パッチします。
 
ここからmertermaid v3を落とします。書かれているようにAsterisk 1.2.7.1(1.2.11まではパッチ可能なことを確認しています)にpatch -p0 でパッチをかけると1箇所、パッチに失敗しますので手動パッチします。
  
--res/res_features.c
+
--res/res_features.c
 
         parking_start = 701;
 
         parking_start = 701;
 
         parking_stop = 750;
 
         parking_stop = 750;
18行目: 22行目:
 
         parkaddhints = 0;    <--パッチ後の2095行目のはず
 
         parkaddhints = 0;    <--パッチ後の2095行目のはず
 
   
 
   
        transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT;
+
        transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT;
         featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;一旦、make cleanしてからmakeでAsteriskをビルドし直し、make installします。
+
         featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;
 +
一旦、make cleanしてからmakeでAsteriskをビルドし直し、make installします。
 +
 
 
===extensions.confの設定===
 
===extensions.confの設定===
 
extensions.confにinclude => parkedcallsを指定してはいけません。自分でextenを記述します。サンプルは次の通りです。
 
extensions.confにinclude => parkedcallsを指定してはいけません。自分でextenを記述します。サンプルは次の通りです。
36行目: 42行目:
 
この例の場合キーの一番下(P5)を押すとワンタッチでコールパークに飛ばします。P1とP2を押すとそれぞれ、701または702にパーキングされている呼と接続します。パーキングの数がもっと欲しい場合にはextensions.confに設定を追加し、snomのキー設定も追加します。<br>
 
この例の場合キーの一番下(P5)を押すとワンタッチでコールパークに飛ばします。P1とP2を押すとそれぞれ、701または702にパーキングされている呼と接続します。パーキングの数がもっと欲しい場合にはextensions.confに設定を追加し、snomのキー設定も追加します。<br>
 
そして、ここがミソ。701または702にコールパークがあるとキーのLEDが光ります。点灯状態でそのキーを押せば、パーキングされているものと繋がるわけです。<br>
 
そして、ここがミソ。701または702にコールパークがあるとキーのLEDが光ります。点灯状態でそのキーを押せば、パーキングされているものと繋がるわけです。<br>
===Aastra 9113iの場合===
+
===Aastra 9133iの場合===
 
Snom220等と同様にこの機能でラインキーっぽくコールパーキング機能を使うことができます。
 
Snom220等と同様にこの機能でラインキーっぽくコールパーキング機能を使うことができます。
  
58行目: 64行目:
 
  canreinvite=no
 
  canreinvite=no
 
このときSubscribecontextには701,hint,...のように、パーキングロットのhintを記述したextensions.confのコンテキストを記述しておきます。
 
このときSubscribecontextには701,hint,...のように、パーキングロットのhintを記述したextensions.confのコンテキストを記述しておきます。
 +
 +
===GXP-2000の場合===
 +
他の電話機と同様に、この機能でラインキーっぽくコールパーキング機能を使うことができます。
 +
下記の設定にします。<BR>
 +
キーの7番(一番下)あたりの設定を"Park"で700に設定しておくと、コールパーキングに飛ばせます。
 +
;Key Mode:Busy Lamp Field (BLF)に変更します。
 +
;Account:特に設定を変更する必要はありません。デフォルト値は"Account 1"です。
 +
;Name:LCDディスプレイに表示する「パークの番号」を入力します
 +
;UserID:パークの番号を入力します
 +
他の電話機とは若干操作が異なり、下記の手順でコールパーキング機能を使います。
 +
#電話をかける(受ける)
 +
#TRNFキーを押す
 +
#"Park"で700に割り当てたキーを押す。(見本では一番下のキー)
 +
[[画像:GXP2000 Basic Setting-2.png|240px]]
 +
 +
==Asterisk 1.4の場合==
 +
Asterisk 1.4以降ではMerterMaidパッチが統合されており、SnomやAastraのファンクションキーのLEDを点灯させることができます。ただし、どうも実装に若干の問題があるのか手動で設定しないとうまく動作しません。
 +
解決方法を発見された方は補足をお願いします。
 +
===現象===
 +
Asterisk 1.4のfeatures.confにはparkinghintsという設定があり、これをyesにするとパーキングロットのhintが自動的に登録されます。<br>
 +
この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)を指定します。<br>
 +
これで以前のMerteMaidのようにファンクションキーのランプを点灯させることができます。
 +
 +
===電話機の設定===
 +
Asterisk 1.2の場合と同じですので参照してください。
 +
<br>
 +
===疑問点===
 +
自動的にhintを登録(parkinghints)した場合、subscribecontext=parkedcallsを指定すればSUBSCRIBEできそうなものだが、この箇所の認証を行う/無視する方法がわからない。
  
 
==仕組み==
 
==仕組み==

2017年11月18日 (土) 17:50時点における最新版

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

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

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

Asterisk 1.2の場合

Asterisk 1.2系の場合にはMeterMaidと呼ばれるパッチが必要です。パッチ適用後に再コンパイルしてインストールしなおします。

パッチ

http://bugs.digium.com/view.php?id=5779
ここからmertermaid v3を落とします。書かれているようにAsterisk 1.2.7.1(1.2.11まではパッチ可能なことを確認しています)にpatch -p0 でパッチをかけると1箇所、パッチに失敗しますので手動パッチします。

--res/res_features.c
       parking_start = 701;
       parking_stop = 750;
       parkfindnext = 0;
       adsipark = 0;
       parkaddhints = 0;    <--パッチ後の2095行目のはず

        transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT;
       featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;

一旦、make cleanしてからmakeでAsteriskをビルドし直し、make installします。

extensions.confの設定

extensions.confにinclude => parkedcallsを指定してはいけません。自分でextenを記述します。サンプルは次の通りです。

exten => 700,1,Park()

exten => 701,1,ParkedCall(701)
exten => 701,hint,Local/701@parkedcalls

exten => 702,1,ParkedCall(702)
exten => 702,hint,Local/702@parkedcalls

exten => は必要な数だけ記述します。

snom 220の場合

snom 220でテスト(バージョンは3.56y ALS)しました。360でも大丈夫だそうです。以下の例を参考に設定します。 Snom220func.jpg
各設定は700とか701と書けば後はsnomの設定が勝手に補完しますので、sip:とかIPアドレスは書かなくてもかまいません。
この例の場合キーの一番下(P5)を押すとワンタッチでコールパークに飛ばします。P1とP2を押すとそれぞれ、701または702にパーキングされている呼と接続します。パーキングの数がもっと欲しい場合にはextensions.confに設定を追加し、snomのキー設定も追加します。
そして、ここがミソ。701または702にコールパークがあるとキーのLEDが光ります。点灯状態でそのキーを押せば、パーキングされているものと繋がるわけです。

Aastra 9133iの場合

Snom220等と同様にこの機能でラインキーっぽくコールパーキング機能を使うことができます。

まず9133i側の設定ではプログラマブルキーを"BLF"(Busy Lamp Field)に割り当て、Valueにはパーキングロットの番号(701,702..)を割り当てます。このときのLineの設定は、パーキングロットにダイアルする際の発信ラインを設定します。
キーの7番(一番下)あたりの設定を"Park"で700に設定しておくと、ワンタッチでコールパーキングに飛ばせます。 9133i-w1.jpg

Asterisk側の設定は以下の例のようにsip.confにSubscribecontextを入れます。

[501]
Subscribecontext=default
type=friend
username=501
secret=password
context=default
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=501
canreinvite=no

このときSubscribecontextには701,hint,...のように、パーキングロットのhintを記述したextensions.confのコンテキストを記述しておきます。

GXP-2000の場合

他の電話機と同様に、この機能でラインキーっぽくコールパーキング機能を使うことができます。 下記の設定にします。
キーの7番(一番下)あたりの設定を"Park"で700に設定しておくと、コールパーキングに飛ばせます。

Key Mode
Busy Lamp Field (BLF)に変更します。
Account
特に設定を変更する必要はありません。デフォルト値は"Account 1"です。
Name
LCDディスプレイに表示する「パークの番号」を入力します
UserID
パークの番号を入力します

他の電話機とは若干操作が異なり、下記の手順でコールパーキング機能を使います。

  1. 電話をかける(受ける)
  2. TRNFキーを押す
  3. "Park"で700に割り当てたキーを押す。(見本では一番下のキー)

GXP2000 Basic Setting-2.png

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がない場合にはソースのディレクトリを漁ってみてください。