はじめに
続けて書きます第2回です。今回は何をするかと言いますと、タイトルの通りでありまして、FreePBXでひかり電話を収容して行こうと思います。
前回も述べたとおり、NTTの提供しているフレッツでは「ひかり電話」というサービスを提供しています。そして、ひかり電話契約者にはひかり電話対応のルータもしくはONUとルータが一体化したホームゲートウェイ(HGW)が渡されます。我が家にはHGWであるPR-400MIが来ているわけですが、こいつには簡易的なSIPサーバ機能が搭載されており、HGWとIP電話対応のソフトウェアもしくは電話機があればIP電話が使えるようになっています。今回は、HGWのSIPサーバ機能を活用し、イエデンをFreePBXに収容していこうと思います。
作業をする
それでは早速作業しましょう。
HGW側の設定
楽なので、まずはHGWの設定を行います。内線設定画面にアクセスできない場合や、IP電話をつなげる設定がなければHGWを利用する方法はできないので注意してください。
- NTTのHGWには、 http://ntt.setup もしくは http://192.168.1.1 (デフォルト設定の場合)からアクセスできます。Basic認証の画面が出ますので、ユーザー名とパスワードを入力してください。
- ログインできたら、[電話設定]>[内線設定]にアクセスします。

- 内線の3番から7番待てがIP電話用に用意されている領域ですので、3番から7番までのいずれかの番号の右側にある[編集]を選択します。
- 内線番号、ユーザーID、パスワードを確認し、控えておきます。必要に応じてパスワード等は変更しましょう。

- これでおしまい!!!
【追記】ProxmoxVEを使うことにしましたの話
この後でDebian12にFreePBXをインストールした訳なんですが、運用上の都合があって構成を変更しました。PVE上にDebianのLXCコンテナを立てて、そこにFreePBXをおく形に変更しています。これは、複数の0ABJな電話番号を収容するために編み出した方法です・・・。コミュニティを解読する限りでは、FreePBXは複数の番号を収容することを想定していないようです。
FreePBXをインストール
- 鯖機にするコンピュータにDebianをインストールします。「Debian」だけに限らず、UbuntuなどのDibian系ディストリビューションなら大丈夫だと思いますが、試していないので分かりません。
- いつものおまじないをします。
sudo apt updateとsudo apt -y upgradeですね。 - 鯖機のIPアドレスを固定します。お好きな方法で固定していいと思います。私はHGWのDHCPサーバ機能の設定から固定しています。
- FreePBXにはインストールスクリプトが用意されているので確認してください。
- 上記GitHubのページにあるように
wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -O /tmp/sng_freepbx_debian_install.shとbash /tmp/sng_freepbx_debian_install.shを実行してください。 - それなりに時間がかかりますが、2時間もあればインストールが終わると思うのでそれまで待ちます。
- インストールが終了したら、鯖機のIPアドレスをお好きなブラウザに入力します。おそらくFreePBXのコンソールにアクセスできるはずです。
FreePBXの初期設定
前提として、本記事を執筆時点での最新バージョンであるFreePBX17を使用して設定していきます。
Asterliskのバージョンは20です。これは執筆時点で安定性が高いと言われていたからですが、22でいいと思います。
- ブラウザに鯖機のIPアドレスを入力し、管理画面にログイン。ID・パスは「admin」が初期設定のはずです。せめてパスワードは変えた方がいいでしょう。
- FreePBXのUIは日本語に対応してくれています。右上の言語設定から日本語に変えておきましょう。(尚、翻訳は中途半端の模様)
- 「高度な設定」で、適宜国別の設定を日本に変更します。
- 「Asterlisk SIP 設定」を調整します。
- 一般的なSIP設定>NAT設定のところで、「外部IPアドレス」と「ローカルネットワーク」を入力します。
外部IPアドレスはNATしているルーターのローカルIPを、ローカルネットワークはCIDRで入力です。 - SIP設定>SIP設定[chan_pjsip]のところで、「0.0.0.0(UDP)」の場所で、「トランスポート元のドメイン」と「ローカルネットワーク」を入力します。
「トランスポート元のドメイン」にはルーターのIPを、「ローカルネットワーク」はネットワークアドレスをCIDRを入力してください。
- 一般的なSIP設定>NAT設定のところで、「外部IPアドレス」と「ローカルネットワーク」を入力します。
- だいたいこれくらいでFreePBXの設定はおしまいです。
イエデンをFreePBXに収容する
- pjsipトランクを作成します。
- generalの項目をいい感じに調整します。
- トランク名は何でもいいでしょう。
- アウトバンドCIDには、
<{{イエデンの電話場号}}> - 最大チャネル数はお好みで。私はなんとなく3にしました。
- pjsip設定の項目にある、generalの中身をいい感じに調整します。
- 「ユーザー名」は内線番号を入力してください
- 「Auth username」は先ほどHGWの設定でメモしたユーザー名を入力してください
- 「Secret」には先ほどHGWの設定でメモしたパスワードを入力してください
- 「Authentication」はOutboundに
- 「レジストレーション」はSendに
- 「Language Code」は日本語に
- 「SIP Server」はHGWのIPを入力してください
- コーデックは、ulaw、alaw、h264、mpeg4にします
- 内線を作成します
- 必要な数の内線を作成してください
- 着スイングループを作成します(必要に応じて)
- インバウンドルートを作成します。
- 名前は何でも良いです
- 宛先は「内線」にして、適度な内線を指定すればとりあえず使えるようになります
- 「プライバシー」の項目で、非通知の着信を拒否する設定ができますのでお好みで。
- 「Other」の項目で、通話録音の設定ができます。(私は設定しました。録音は
/var/spool/asterisk/monitor/に保存されます。)
- アウトバンドルートを設定します
- 「経路名」はお好みで
- 「ルートCID」には、
<{{イエデンの電話場号}}>を入力してください。 - 「一致したルートのトランクシーケンス」には、先ほど作成したトランクを指定してください。
- 「Dial Patterns」には、
0N0XXXXXXXX、0ZZXXXXXXX、0ZZXXXXXXXX、1XX、XXXXXXを入力しました。実は何がいいのかよく知りません。 - 「詳細設定」に通話録音の項目があります。必要に応じてどうぞ。
テスト用にIP電話の設定をする
- スマートフォンでもIP電話機でも何でもいいですが、先ほど作成した内線を設定してください。
- 何かの電話でいまIP電話に収容しようとしているイエデンに電話をかけてください
- 繋がれば今回のミッションはコンプリートです
おわりに
途中で急ぎ足になりましたが、これでとりあえずイエデンをFreePBXに収容することができました。次回は、アナログ電話をFreePBXに収容します。たぶん次回も急ぎ足です。忘れそうになっているので。
参考文献
たぶん前回と同じです。