Linksys SPA3102

SPA-3102.jpg
Sipura改めLinkSys改めCiscoのVoIPゲートウェイ。

  • WANポート×1
  • LANポート×1
  • FXSポート×1
  • FXOポート×1

SPA3102はVoIPゲートウェイ+ルータ機能を持つためWANポートが付いています。VoIPの機能的にはFXS×1,FXO×1のSPA3000とほぼ同じです。日本のナンバーディスプレイには対応していません。FXO->FXSの場合にも単純なパススルーではないのでナンバーディスプレイは動作しません。
EOLからだいぶ経過しているのですが、2018年時点で海外通販で新品として売っているのは(正常に動作はするけど)コピー品が多いようです。

目次

設定

細かい設定ができるので、とにかくヤヤコシイ。

SPA3102をVoIPゲートウェイとして使う場合

パソコンで設定する場合

ルータ機能を搭載しているため、既設のLANに接続する場合には要注意です。DHCPサーバ機能がLANポート側で動作するため、DHCPサーバを使用しているネットワークにそのまま繋ぎこまず、一旦、LANから切り離したPCで設定を行って以下のように設定を変更します。

  • パソコンはDHCPでIPアドレスを取ってきます

SPA3102のIPアドレス(ゲートウェイアドレス)にブラウザでアクセスします
Admin Login->Advancedの後、Routerタブから
WAN Setupで

Connection Type:DHCP
LAN Setupで
Networking Service:Bridge
Enable DHCP Server:no

VoiceタブからSystem設定で

Enabe Web Admin Access:yes

電話機で設定する場合

電話機を使ってもWAN側設定は可能です。この場合、既存のLANにはWAN(Internet)側ポートを接続しておき、LAN側には何も接続しません。

受話器を取って"****"をダイアル
"LinkSys Configuration..."のトーキーが聞こえる
"101#"をダイアル
"0#"をダイアルするとWAN側がDHCPモードになる
"1"を押してセーブする
"7932#"をダイアル
"1#"をダイアルするとWeb管理画面が有効になる
再起動して、"****"でメニューに入った後、"110#"でIPアドレスが確認できる。

注1) 101#のオプション設定がマニュアルと異なるようです。ファームウエアによって若干の違いがあるようなので注意してください。
注2) IPアドレスの確認は110と恐ろしい番号なので、間違ってダイアルしないようにPSTNの線は設定時には抜いておきましょう:)

以上の設定を行った後、[Subit All Changes]で保存し、WANポート側を既設LANに接続して再起動します。すると既設LANのDHCPからWANポート側にIPアドレスを取得してきますので、単なるゲートウェイとして使用可能になります。
※なおSPA3000はルータ機能がないので、このような設定は必要ありません。ゲートウェイとして使いたい場合にはSPA3000を入手する方がいいでしょう。そもそもルータ機能はまず要りませんから・・・。

回線関係の設定

以下のFXS/FXOの設定方法はSPA3000でも同じはずです
とにかくヤヤコシイので余計な箇所は触らないようにします。

FXSポートの設定

Line1(SPA3102の場合にはVoiceタブの下)がFXSポート側の設定になります。
Line1設定

Line Enable: yes
Proxy:AsteriskなどのIPアドレス
Outbound Proxy:AsteriskなどのIPアドレス
Use Outbound Proxy: yes
Register: yes
Display Name:CID名を設定
User ID:Asterisk等にRegisterするユーザ名
Password:パスワード

ここからが少し問題。単にATAとして使う場合には、デフォルトのままで使えると思いますが、FXOを外線にし内線と外線を切り替えて使用する場合にはAsterisk同様にダイアルプランの設定が必要です。

  • 全ての番号をAsterisk側へ投げる場合
(xx.)
  • 2~9で始まる番号はAsteriskで、0,1で始まる番号はFXOへ投げる場合
([2-9]x.|[01]x.<:@gw0>)

Asteriskのexten同様に変数を使ってダイアルプランを記述します。xは任意の1つの番号で、.はそれに続く任意の桁数の番号を意味します。つまりx.と書くと1桁以上の番号ならAsterisk(SIP)側へダイアルします。ただしx.だけでは1桁の番号を期待するようで、あっという間に桁間タイマーがタイムアウトしてしまうのでxx.を指定するのが良いようです。

FXOを併用する場合の設定はちょっとヤヤコシくて上の例では次のような意味になっています。

[2-9]x.

2から9の間の数字で始まる任意の桁数の番号ならばAsteriskで処理

[01]x.<:@gw0>

0または1で始まる任意の桁数の番号ならばゲートウェイ0(gw0)に呼を流す。

ここでゲートウェイ0(gw0)というのはPSTN、すなわちFXOポートのことです。たとえば201のように2で始まる内線番号がダイアルされるとAsterisk側へダイアルされますが、117や03-xxxx-xxxxのような0や1で始まる番号がダイアルされるとFXO側にダイアルされるという仕組みです。ルール間はパイプ(|)でつなぎます。

ケイデンスの設定

デフォルトの設定ではRINGがアメリカ向けのため、日本の電話機を接続するとベルが鳴らない、あるいは不規則になるという不都合があります。このためRINGケイデンスだけ設定を変更しておきます。なおトーンも全てプログラマブルなのですが、設定方法は暇があったら書きます・・・。

  • Admin->Advanced->Regionalで
Ring1 Cadence: 20(1/2)

FXOポートの設定

SPA3000/SPA3102のFXOポートは全く独立したポートで、これそのものがSIPエンティティです。このためAsterisk等で使用すると外線ゲートウェイとして使用することができます。
なお現時点ではJATE認定品ではありませんので、電話回線に直接接続しないでください。繋ぎたい場合にはISDN TAのアナログポートなどに接続して使って下さい。

単にFXS->FXOパススルーとして使う場合

SPA3000/3102の場合にはFXSとFXOがそれぞれ独立したSIPエンティティであるため、パススルーとして動作させることは出来ません。このためパススルー的に使うには、SPA内部でVoIPデータを接続するという方法を使っています。上のFXS設定でゲートウェイ0を指定したのはこのためです。
パススルー的に使う場合には設定を以下のようにします。

  • Voice->PSTN Line設定で
Line Enable: yes
VoIP-To-PSTN Gateway Enable: yes
PSTN-To-VoIP Gateway Enable: no
PSTN Ring Thru Line1: yes

以上の設定で単なるスルー的に使えるはずです。ただし、PSTNへの発信はLine1で設定したダイアルプランのルールに従います。着信の場合にはPSTN側で着信があるとLine1(FXS)の電話機が鳴ります。

外線ゲートウェイとして使用する場合

外線ゲートウェイとして使う場合には、PSTN LineをSIPエンティティとしてAsteriskへRegisterします。

  • Voice->PSTN Line設定で
Line Enable: yes
Proxy:AsteriskなどのIPアドレス
Outbound Proxy:AsteriskなどのIPアドレス
Use Outbound Proxy: yes
Register: yes
Display Name:CID名を設定
User ID:Asterisk等にRegisterするユーザ名
Password:パスワード
VoIP-To-PSTN Gateway Enable: yes
PSTN-To-VoIP Gateway Enable: yes
PSTN Ring Thru Line1: yes

なおSIP PortがLine1(FXS)とは異なった値になっていることを確認しておいてください(デフォルトでは5061)。 SPA3000/3102はPSTNからの着信に対し、PINでユーザ認証を行ってから発信させる機能を持ってます。このため自動着信し、そこでダイアルさせる場合にはユーザの設定等が必要となりますが、単にAsteriskの外線ゲートウェイとして使いたい場合には、全ての着信を特定のextenへ飛ばしてしまいます。

  • Voice->PSTN Line設定で

Dial Plan 2を以下のように設定

(S0<:着信させる番号@Asteriskサーバアドレス>)たとえば着信extenが1000ならば 
(S0<:1000@192.168.1.1>)のように記述します。

次にPSTN-To-VoIP Gateway Setupの項目にある

PSTN Caller Default DP: 2
PSTN Ring thru Line1: no

に設定します。これで回線側からの全ての着信は、着信extenへと送られます。この着信ですが、現在のファームウェア(SPA3102で3.3.6)では、Ring中はPSTNポートはオフフックせず、接続先がAnswerしてからオフフックするようになっています。
なおゲートウェイとしてPSTNへの発信に使うには Dial(SIP/電話番号@SPAのピア名)のように記述すればPSTNに対して発信できるようになります。 sip.confとかの書き方はまぁ普通に・・・

デフォルトの設定ではINVITEを送れば誰でもPSTNに発信できてしまいます(PSTN Line - VoIP-To-PSTN Gateway Setup - VoIP Caller Auth Method: none)。あまりよろしくないので、PSTN Line - SIP Settings - Restrict Source IP: Yesにすると、Asteriskサーバ以外からのINVITEを拒否できます(proxyからのINVITEのみ信頼する。use outbound proxy:yesのときはさらにoutbound proxyも信頼する)。またはVoIP Caller Auth Method:をnoneから変更してPINかID/Passwordを使った認証も利用できます。

同様に、知らない人にLine 1を鳴らされたくないときは"Line 1 - SIP Settings - Restrict Source IP: yes"を設定します。

相互接続性

  • Asterisk
問題なし
  • RT-200NE
内線収容可能。アナログポート増設に使用可能。

日本っぽいトーンマップ(作りかけ)

Dial Tone:400@-19;10(*/0/1)
Second Dial Tone:400@-19;10(.15/.125/1)
Outside Dial Tone:420@-16;10(*/0/1)
Prompt Tone:520@-19,620@-19;10(*/0/1+2)
Busy Tone:400@-19;10(.5/.5/1)
Reorder Tone:480@-19,620@-19;10(.25/.25/1+2)   
Off Hook Warning Tone:480@-10,620@0;10(.125/.125/1+2)
Ring Back Tone:400@-19,385@-20;*(1/2/1+2)
Confirm Tone:600@-16;1(.25/.25/1)
SIT1 Tone:400@-20,384@-22;20(.5/.5/1+2,.05/.45/1,.05/.45/1,0/3/0)
SIT2 Tone:400@-20,384@-22;20(.5/.5/1+2,.05/.45/1,.05/.45/1,0/3/0)
SIT3 Tone:400@-20,384@-22;20(.5/.5/1+2,.05/.45/1,.05/.45/1,0/3/0)
SIT4 Tone:400@-20,384@-22;20(.5/.5/1+2,.05/.45/1,.05/.45/1,0/3/0)
MWI Dial Tone:400@-19;10(.2/.2/1,.2/.2/1,.2/.2/1,*/0/1)
Cfwd Dial Tone:350@-19,440@-19;2(.2/.2/1+2);10(*/0/1+2)
Holding Tone:400@-20,384@-22;20(.5/.5/1+2,.05/.45/1,.05/.45/1,0/3/0)
Conference Tone:350@-19;20(.1/.1/1,.1/9.7/1)
Secure Call Indication Tone:397@-19,507@-19;15(0/2/0,.2/.1/1,.1/2.1/2)
VoIP PIN Tone:600@-10;*(0/1/1,.1/.1/1,.1/.1/1,.1/.5/1)
PSTN PIN Tone:600@-10;*(0/.7/1,.2/.1/1,.2/.1/1,.2/.5/1)
Feature Invocation Tone:350@-16;*(.1/.1/1)
書式
周波数1,周波数2,...,周波数n;ケイデンス1;ケイデンス2;...;ケイデンスn
最大127文字、6つの周波数、6つのケイデンス
周波数は "Hz@dBm" で表す。
ケイデンスは "長さ(鳴る時間/無音時間/周波数)" で表す

例:
 Prompt Tone:520@-19,620@-19;10(*/0/1+2)
周波数1: 520 Hz @ -19 dBm
周波数2: 620 Hz @ -19 dBm
10秒間鳴らす
* 連続音
0 無音時間なし
1+2 周波数1と2の和音