FreePBX:10:トランク:ひかり電話(ホーム)

提供: VoIP-Info.jp
2015年10月15日 (木) 14:59時点におけるCADoo (トーク | 投稿記録)による版 (DID制御(着番での宛先制御))
移動先: 案内検索

ひかり電話のホームゲートウェイ(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の内線番号)を指定して設定します。

Fpx018.jpg

内線番号 : 通常はHGW内の内線番号です。ここでは例として3と想定します。
ニックネーム : デフォルトのままでかまいません。
端末属性 : 音声専用端末に指定しておきます。
MACアドレス : セキュリティを向上させたいならば、FreePBXをインストールしているマシンのMACアドレスを指定します。XX:XX:XX:XX:XX:XX の形式です。指定しなくても、trunkできます。
ダイジェスト認証 : 「行う」にして下記のユーザIDとパスワードを設定しておいてください。
ユーザID : この端末のユーザIDですが、ここでは例として0003と想定します。
パスワード : この端末のパスワードですが、ここでは例としてpass1234と想定します。


FreePBX側でDIDによって着信ルートを変えない場合(キャッチオールさせる)場合には着信番号の設定はここで行います。
着信番号制御を使う場合には複数の番号をここで指定します。この場合にはダイヤルインの制御はFreePBX側で行えます。

FreePBXの設定

Trunk

以下は、指定の設定値以外は、デフォルト値でかまいません。

  • メニューバー -> 接続 -> トランク

+トランクを追加 -> +SIP(chan_pjsip)トランクを追加 で新しいトランクを設定します。
General タブの設定項目は以下を指定します。

トランク名 : トランク名を指定します(例: hikaridenwa)
アウトバンドCID : 発信用の通知番号(ひかり電話の自分の番号)を指定します。
最大チャネル数 : 1チャンネル契約なら1、2チャンネル契約なら2を指定します。

Dialed Number Manipulation Rulesタブの設定項目はここでは何も指定しません。
pjsip設定タブの中には3つのタブがあります。

General タブの設定項目は以下を指定します。
ユーザー名 : 0003(HGWのユーザID)
Secret : pass1234(HGWのパスワード)
SIP Server : 192.168.1.1(HGWのIPアドレス)
コンテキスト : from-pstn(下記のDID制御を行う場合はhgw-customなどに変更)
Advanced タブの設定項目は以下を指定します。
DTMF Mode : inband
クライアントURI : sip:3@192.168.1.1(sip:HGWの内線の1桁番号@HGWのIPアドレス)
コーデック タブの設定項目は以下を指定します。
ulaw のみチェックを入れ後は外す。

着信設定

単純に着信させたい場合

  • メニューバー -> 接続 -> インバウンドルート

Add Incoming Routeで新しい着信ルートを設定します。FreePBXでは発信と着信は"別な"設定として定義されます。
とりあえず以下の項目だけ設定できれば着信するようになります。
(注意:事前に内線電話機の登録と設定を行っておいてください-> FreePBX:内線設定)

説明 : この経路の名前を指定します。hikari-inなど適当な名前を指定しておきます。
ダイヤルイン番号 : (要注意箇所) 通常はここには着信する番号(DID)を指定するのですが、ひかり電話ホームのルータの場合には着番号は落ちてこず、sエクステンションに落ちてくるため、ここにはsを指定してください。

注:FreePBX 12以降と思われますが全てのDIDを受け付ける場合には's'を指定せず空白にしておけば全てキャッチします。
あとはページの下の方にある宛先をセットを設定します。ここでは左のプルダウンから内線を選択し、着信させたい内線番号を右のプルダウンから選んでおいてください。
以上で、ひかり電話に着信があると内線電話機が鳴動するようになります。
この方法は一番簡単な方法で、カスタムのextenを書く必要もありませんが、もし他にも着番(DID)なしで着信してくるような回線を併用していると、着信経路が明確ではなくなってしまうため着信の経路制御がうまくいかなくなります。

DID制御(着番での宛先制御)

ひかり電話のホームの場合、ルータからはDIDは渡されず登録している内線に紐付けられている番号で着信するだけです。このため、ひかり電話のHGWを使って着番を制御を行うには少しトリックが必要です。
上記の単なる着信の場合と同じに設定すると大混乱を招きますので、併用してはいけません!

1.まずカスタムのコンテキストを作成します。
このカスタムコンテキストを通ると、DIDとしてSIPヘッダから取得した宛先の着番に変換されます。

  • メニューバー -> アドミン -> Config Edit

Asterisk Custom Configuration Files -> extensions_custom.conf

[hgw-custom]
exten => s,1,Set(DESTNUM=${PJSIP_HEADER(read,To)})
exten => s,n,NoOp(${DESTNUM})
exten => s,n,Set(DESTNUM=${DESTNUM:1:10})
exten => s,n,Goto(from-pstn,${DESTNUM},1)

電話番号の桁数が異なる場合には 1:10 の部分を調整してください。1文字目から10文字の意味です。

2.着信した呼をhgw-customコンテキストへ送る

  • メニューバー -> 接続 -> トランク


  • メニューバー -> 接続 -> インバウンドルート

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.を指定してあります。
Fpx019.jpg
最後に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で修正してください。

HGWの内線を使いたい場合

FreePBX:5:トランク:ひかり電話(ホーム):内線

次のステップ

FreePBX:5:184/186コール
FreePBX:5:RingGroups