「FreePBX:10:トランク:ひかり電話(ホーム)」の版間の差分
(→ひかり電話ルータ(HGW)の設定) |
(→Trunk) |
||
33行目: | 33行目: | ||
==FreePBXの設定== | ==FreePBXの設定== | ||
===Trunk=== | ===Trunk=== | ||
− | *'''MenuBar -> | + | 以下は、指定の設定値以外は、デフォルト値でかまいません。 |
− | + | ||
− | + | *'''MenuBar -> 接続 -> トランク'''<br> | |
− | :''' | + | +トランクを追加 -> +SIP(chan_pjsip)トランクを追加 で新しいトランクを設定します。<br> |
− | :''' | + | <br> |
− | :''' | + | '''Generalタブ''' の設定項目は以下を指定します。<br> |
− | Dialed Number Manipulation | + | :'''トランク名''' : トランク名を指定します(例: hikaridenwa) |
− | ''' | + | :'''アウトバンドCID''' : 発信用の通知番号(ひかり電話の自分の番号)を指定します。 |
− | :''' | + | :'''最大チャネル数''' : 1チャンネル契約なら1、2チャンネル契約なら2を指定します。 |
− | :''' | + | <br> |
− | + | '''Dialed Number Manipulation Rulesタブ'''の設定項目はここでは何も指定しません。<br> | |
− | + | <br> | |
− | + | '''pjsip設定タブ'''の中の'''Generalタブ''' の設定項目は以下を指定します。<br> | |
− | + | :'''ユーザー名''' : 0003 | |
− | + | :'''Secret''' : pass1234 | |
− | + | :'''SIP Server''' : 192.168.1.1(HGWのIPアドレス) | |
− | + | :'''コンテキスト''' : from-pstn(下記のDID制御を行う場合はhgw-customなどに変更) | |
− | + | <br> | |
− | + | '''pjsip設定タブ'''の中の'''Advancedタブ''' の設定項目は以下を指定します。<br> | |
− | + | :'''DTMF Mode''' : inband | |
− | + | :'''クライアントURI''' : sip:3@192.168.1.1(sip:HGWの内線の1桁番号@HGWのIPアドレス) | |
− | + | <br> | |
− | + | '''pjsip設定タブ'''の中の'''コーデックタブ''' の設定項目は以下を指定します。<br> | |
+ | :'''ulaw''' のみチェックを入れ後は外す | ||
===着信設定=== | ===着信設定=== |
2015年10月15日 (木) 14:24時点における版
ひかり電話のホームゲートウェイ(HGW)をFreePBXのトランク(FXO)として使用します。ビジネス/オフィス/直収のページではありません。
目次
方針
Chan_SIPでは、ひかり電話のゲートウェイ(ルータ)の認証がAsteriskではうまくできないためにAsterisk本体用のパッチを用意していました。ところがFreePBXの場合にはAsterisk自体にパッチをあてることができないので、別なアプローチをとっていました。
以下、参照
FreePBX:5:トランク:ひかり電話(ホーム)
FreePBX Distro 6からはChan_PJSIPが使えるため、Asterisk+PJSIPを使いひかり電話HGWへtrunkするのと同様の設定をFreePBXで行います。
Asterisk+PJSIPでのひかり電話HGWへのtrunk方法
Pjsip_ひかり電話HGW
ひかり電話ルータ(HGW)の設定
以下の例はRT-200NEのものですが、最近のルータでも同様の設定があるはずです。電話設定から内線設定を開き、FreePBXで使いたい内線番号(HGWの内線番号)を指定して設定します。
- 内線番号 : 通常はHGW内の内線番号です。ここでは例として3と想定します。
- ニックネーム : デフォルトのままでかまいません。
- 端末属性 : 音声専用端末に指定しておきます。
- MACアドレス : セキュリティを向上させたいならば、FreePBXをインストールしているマシンのMACアドレスを指定します。XX:XX:XX:XX:XX:XX の形式です。指定しなくても、trunkできます。
- ダイジェスト認証 : 「行う」にして下記のユーザIDとパスワードを設定しておいてください。
- ユーザID : この端末のユーザIDですが、ここでは例として3と想定します。
- パスワード : この端末のパスワードですが、ここでは例としてpass1234と想定します。
FreePBX側でDIDによって着信ルートを変えない場合(キャッチオールさせる)場合には着信番号の設定はここで行います。
着信番号制御を使う場合には複数の番号をここで指定します。この場合にはダイヤルインの制御はFreePBX側で行えます。
FreePBXの設定
Trunk
以下は、指定の設定値以外は、デフォルト値でかまいません。
- MenuBar -> 接続 -> トランク
+トランクを追加 -> +SIP(chan_pjsip)トランクを追加 で新しいトランクを設定します。
Generalタブ の設定項目は以下を指定します。
- トランク名 : トランク名を指定します(例: hikaridenwa)
- アウトバンドCID : 発信用の通知番号(ひかり電話の自分の番号)を指定します。
- 最大チャネル数 : 1チャンネル契約なら1、2チャンネル契約なら2を指定します。
Dialed Number Manipulation Rulesタブの設定項目はここでは何も指定しません。
pjsip設定タブの中のGeneralタブ の設定項目は以下を指定します。
- ユーザー名 : 0003
- Secret : pass1234
- SIP Server : 192.168.1.1(HGWのIPアドレス)
- コンテキスト : from-pstn(下記のDID制御を行う場合はhgw-customなどに変更)
pjsip設定タブの中のAdvancedタブ の設定項目は以下を指定します。
- DTMF Mode : inband
- クライアントURI : sip:3@192.168.1.1(sip:HGWの内線の1桁番号@HGWのIPアドレス)
pjsip設定タブの中のコーデックタブ の設定項目は以下を指定します。
- ulaw のみチェックを入れ後は外す
着信設定
単純に着信させたい場合
- Menu Bar -> Connectivity -> Inbound Routes
Add Incoming Routeで新しい着信ルートを設定します。FreePBXでは発信と着信は"別な"設定として定義されます。
とりあえず以下の項目だけ設定できれば着信するようになります。
(注意:事前に内線電話機の登録と設定を行っておいてください-> FreePBX:内線設定)
- Description : この経路の名前を指定します。hikari-inなど適当な名前を指定しておきます。
- DID Number : (要注意箇所) 通常はここには着信する番号(DID)を指定するのですが、ひかり電話ホームのルータの場合には着番号は落ちてこず、sエクステンションに落ちてくるため、ここにはsを指定してください。
注:FreePBX 12以降と思われますが全てのDIDを受け付ける場合には's'を指定せず空白にしておけば全てキャッチします。
あとはページの下の方にあるSet Destinationを設定します。ここでは左のプルダウンからExtensionsを選択し、着信させたい内線番号を右のプルダウンから選んでおいてください。
以上で、ひかり電話に着信があると内線電話機が鳴動するようになります。
この方法は一番簡単な方法で、カスタムのextenを書く必要もありませんが、もし他にも着番(DID)なしで着信してくるような回線を併用していると、着信経路が明確ではなくなってしまうため着信の経路制御がうまくいかなくなります。
DID制御(着番での宛先制御)
ひかり電話のホームの場合、ルータからはDIDは渡されず登録している内線に紐付けられている番号で着信するだけです。このため、ひかり電話のHGWを使って着番を制御を行うには少しトリックが必要です。
上記の単なる着信の場合と同じに設定すると大混乱を招きますので、併用してはいけません!
まずカスタムのコンテキストを作成します。FreePBXにssh等でログインして、extensions_custom.conf に以下のコンテキストを作成します。
[hgw-custom] exten => s,1,Set(DESTNUM=${SIP_HEADER(To)}) exten => s,n,NoOp(${DESTNUM}) exten => s,n,Set(DESTNUM=${DESTNUM:1:10}) exten => s,n,Goto(from-trunk,${DESTNUM},1)
電話番号の桁数が異なる場合には 1:10 の部分を調整してください。1文字目から10文字の意味です。
次にトランクから着信でこのコンテキストを通します。
Trunkの設定を上記のものに加えて、context= を足します。
type=peer secret=pass1234 username=0003 fromuser=3 domain=ひかり電話ルータのIPアドレス fromdomain=ひかり電話ルータのIPアドレス host=ひかり電話ルータのIPアドレス insecure=port,invite dtmfmode=inband context=hgw-custom
これでトランク(ひかり電話HGW)の着信からはhgw-customコンテキストを経由してから、トランクでの着信に制御が渡ります。
この際、DIDとしてSIPヘッダから取得した宛先の着番に変換されているので以下のように普通のインバウンドルートを設定します。
- Menu Bar -> Connectivity -> Inbound Routes
Add Incoming Routeで新しい着信ルートを設定します。FreePBXでは発信と着信は"別な"設定として定義されます。
とりあえず以下の項目だけ設定できれば着信するようになります。
(注意:事前に内線電話機の登録と設定を行っておいてください-> FreePBX:内線設定)
- Description : この経路の名前を指定します。hikari-inなど適当な名前を指定しておきます。
- DID Number : 自分の着信番号、0312345678 のように指定するだけです。
もし以前にs着信(キャッチオール)の経路を作成していた場合には必ず削除しておいてください。
発信設定
- Menu Bar -> Connectivity -> Outbaound Routes
Add Routeで発信を定義します。以下の項目を設定します。なおここでは外線は0でダイヤルされるとそのまま外線発信されるものとします(プレフィクスなし0xxxxの番号は外線とみなす)。
- Route Name : hikaridenwa とか適当な名前を設定します。
- Route CID : この番号を使ってHGWに行こうとするので内線番号(ここの例では3)を指定し、右側のOverride Extensionをチェックしておきます。
Dial Patterns that will use this Routeはこの経路を使って発信する際の番号パターンを指定するものです。ここでは0で始まり次が番号であれば外線(ひかり電話)に出したいので、以下の画面のように0X.を指定してあります。
最後にTrunk Sequence for Matched Routesで、この経路の行き先、つまり、ひかり電話のトランクを指定します。
これで、ひかり電話ホームを使って発信できるようになります。
外線発信ができない場合
内線電話機から外線発信ができない場合には内線電話機の使用するトランク設定が正しくない場合がありますのでFreePBX:5:内線設定のページを参考に使用するトランクの設定を行ってください。
注意
FreePBXのデフォルト設定では以下の警告が出ます
WARNING[2121]: chan_sip.c:23527 handle_response_register: Got 423 Interval too brief for service 3@192.168.xxx.xxx, minimum is 3600 seconds
これはお馴染みのREGISTER時間の警告なので気になる場合にはSIPのグローバルセッティングをMenuBar -> Settings -> Asterisk SIP Settingsで修正してください。