FreePBX:10:トランク:ひかり電話(ホーム)
ひかり電話のホームゲートウェイ(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ですが、ここでは例として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制御時はfrom-pstn-toheader
- 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制御時は自分の着信番号、0312345678 のように指定するだけです。
発信設定
単純に発信させたい場合
- メニューバー -> 接続 -> アウトバンドルート
Add Routeで発信を定義します。以下の項目を設定します。なおここでは外線は0でダイヤルされるとそのまま外線発信されるものとします(プレフィクスなし0xxxxの番号は外線とみなす)。
経路設定の設定項目は以下を指定します。
- 経路名 : hikaridenwa とか適当な名前を設定します。
- ルート CID : 発信番号を選択するが、代表番号以外でもHGWで上書きされる
- 内線を上書き : はいを選択する
- 一致したルートのトランクシーケンス : この経路の行き先、つまり、ひかり電話のトランクを指定します。
Dial Patternsの設定項目は以下を指定します。 この項目は発信する際の番号パターンにより、経路を指定するためのものです。
- 一致パターン : ここでは0で始まり次が番号であれば外線(ひかり電話)に出したいので、以下の画面のように0X.を指定してあります。
発番選択したい場合
1.まずカスタムマクロmacro-dialout-trunk-predial-hookを有効にします。
PREDIAL_HOOK_RETが"BYPASS"以外の値だと、macro-dialout-trunk-predial-hookが有効になります。
- メニューバー -> アドミン -> Config Edit
Asterisk Custom Configuration Files -> extensions_custom.conf
以下を記入し、保存をクリック
[macro-dialout-trunk-custom] exten => s,1,Set(PREDIAL_HOOK_RET=)
2.macro-dialout-trunk-predial-hookでSIPヘッダーを追加する。
ntt-****の値は、NTT西日本の場合ntt-west、NTT東日本の場合ntt-east。筆者のところでは東日本は未検証。
- メニューバー -> アドミン -> Config Edit
Asterisk Custom Configuration Files -> extensions_custom.conf
以下を記入し、保存をクリック
[macro-dialout-trunk-predial-hook] exten => s,1,SIPAddHeader(P-Preferred-Identity: <sip:${CALLERID(number)}@ntt-****.ne.jp>)
3.アウトバンドルートを通る条件で発番を選択させる。
発信したい発番の数だけ条件が必要です。
- メニューバー -> 接続 -> アウトバンドルート
Add Routeで発信を定義します。以下の項目を設定します。
経路設定の設定項目は以下を指定します。
- 経路名 : hikaridenwa とか適当な名前を設定します。
- ルート CID : 発信番号を選択するが、代表番号以外でもHGWで上書きされる
- 内線を上書き : はいを選択する
- 一致したルートのトランクシーケンス : この経路の行き先、つまり、ひかり電話のトランクを指定します。
Dial Patternsの設定項目は以下を指定します。 この項目は発信する際の番号パターンにより、経路を指定するためのものです。
- 前に付与 : 例えば、頭に9を付けてダイヤルすると、この発番でダイヤルします。
- 一致パターン : ここでは0で始まり次が番号であれば外線(ひかり電話)に出したいので、以下の画面のように0X.を指定してあります。
- 発信者ID : 例えば、2XXとしておくと、内線200番台は、この発番でダイヤルします。
異常がある場合
- 発信も着信もしない
トランクの設定を見直してください
- 発信するが着信しない
メニューバー -> 接続 -> インバウンドルート -> ダイヤルイン番号を空白にしてみる。
その設定で着信したら、インバウンドルートの内容をチェックする。
着信できなかったら、HGWの着信番号の項目をチェックする。
- 着信するが発信しない
メニューバー -> 接続 -> アウトバンドルート -> Dial Patterns -> 一致パターンをX.にしてみる。
その設定で発信したら、アウトバンドルートの内容をチェックする。
- 発信番号が違う
メニューバー -> 接続 -> アウトバンドルートでアウトバンドルートの順番が正しいかチェックする。