FreePBX と NTT ひかり電話の接続

Asterisk は NTT ひかり電話と接続することができます。ただし、NTT からレンタルするルーターによります。

NTT ひかり電話ルーターの設定

最初に、ブラウザーから NTT ひかり電話ルーターへアクセスして、Asterisk が接続するための内線設定をします。

  1. 左メニューの電話設定にある内線設定をクリックします。
  2. Asterisk の接続に使用する内線番号 (3-7 のいづれか) をクリックします。(ここでは “3” を使用します。)
  3. ニックネームに Asterisk サーバーの名前など任意の文字を入力します。
  4. Asterisk サーバーが接続するためのユーザー ID とパスワードを入力します。
  5. NTT の追加番号サービス「マイナンバー」を利用している場合は、[ 電話番号 ] で発信する時の通知番号と着信番号をチェックします。
  6. [設定] ボタンを押します。

Asterisk の設定 (Asterisk 11 以下の場合)

Asterisk に CUI で /etc/asterisk/sip_general_additional.conf に次の行を追記します。

defaultexpirery=3600

Asterisk を再起動します。

NAT の設定 (Asterisk 16 以上の場合)

メニューの [設定]-[Asterisk SIP 設定] を選択して、環境に合わせて NAT設定を変更します。NAT を使用しない場合はすべて空にします。

トランクの追加

FreePBX で NTT ひかり電話ルーターと接続するためのトランクを追加します。

chan_pjsip の場合

インバウンドルートをひかり電話の着信番号によって制御する場合は、コンテキストを作る必要があります。

 

  1. メニューの [アドミン]-[Config Edit] を選択します。
  2. extensions_custom.conf を選択して、次の行を入力します。
    [from-pjsip-custom]
    exten => _.,1,Goto(from-pstn,${CUT(CUT(PJSIP_HEADER(read,To),@,1),:,2)},1)
  3. [保存] ボタンを押します。

次に NTT ひかり電話ルーターと接続するためのトランクを追加します。

  1. メニューの [接続]-[トランク] を選択します。
  2. [ +トランクを追加 ] ボタンを押して、[ +SIP (chan_pjsip) トランクを追加 ] を選択します。
  3. General タブのトランク名に任意の名前を入力します。
  4. pjsip 設定タブをクリックします。
  5. ユーザー名にひかり電話ルーターに設定したユーザー ID を入力します。
  6. Secret にひかり電話ルーターに設定したパスワードを入力します。
  7. SIP Server にひかり電話ルーターの IP アドレスを入力します。
  8. 先ほど、コンテキストを作成した場合は、コンテキストに from-pjsip-custom を入力します。
  9. 高度な設定タブをクリックします。
  10. DTMF Mode をバンド内にします。
  11. From User にひかり電話ルーターで選択した内線番号を入力します。
  12. クライアントURIに sip:[ひかり電話ルーターで選択した内線番号]@[ひかり電話ルーターの IP アドレス] を入力します。(例: sip:2@192.168.0.1)
  13. [送信] ボタンを押します。
  14. 右上の [変更を適用] ボタンを押します。

chan_sip の場合

  1. メニューの [接続]-[トランク] を選択します。
  2. [トランクを追加] ボタンを押して、[SIP (chan_sip) トランクを追加] を選択します。
  3. General タブのトランク名に任意の名前を入力します。
  4. General Settings のOutbound Caller ID に任意の文字を入力します。
  5. Outgoing Settings の Trunk Name に General Settings の Trunk Name に入力した文字を入力します。
  6. Outgoing Settings の PEER Details に次の文字を入力します。
    host=[NTT ルーターの IP アドレス]
    fromuser=[NTT ルーターでクリックした内線番号]
    username=[NTT ルーターに設定したユーザー ID]
    secret=[NTT ルーターに設定したパスワード]
    type=friend
    insecure=invite,port
  7. USER Context にひかり電話の電話番号を入力します。
  8. USER Details に context=from-trunk-sip-[Trunk Name に入力した文字] を入力します。
  9. Register String に次の値を入力します。
    [内線番号]:[パスワード]:[ユーザー ID]@[IP アドレス]/[USER Context]
  10. [ Submit Changes ] ボタンを押します。

インバウンドルートの設定

ひかり電話で着信した時の設定をします。

  1. メニューの [接続]-[インバウンドルート] をクリックします。
  2. [ +インバウンドルートを追加 ] ボタンを押します。
  3. ダイヤルイン番号にひかり電話の電話番号を入力します。
  4. 宛先をセットに着信した時の動作を選択します。
  5. [ 送信 ] ボタンを押します。

宛先をセットに内線や着信グループを選択した時の注意

宛先をセットに設定した内線もしくは着信グループの内線すべてがオフラインの場合、着信が切断されてしまいます。NTT ルーターにアナログ端末を接続していれば、宛先をセットで選択した内線や着信グループの Destination if no answer を設定したトランクにすることで、呼び出しを継続することができます。

アウトバウンドルートの設定

ひかり電話で発信する時の設定をします。

  1. メニューの [接続]-[アウトバウンドルート] をクリックします。
  2. [ +アウトバウンドルートを追加 ] ボタンを押します。
  3. 経路名に任意の文字を入力します。
  4. ルート CID にひかり電話の電話番号を入力します。
  5. 一致したルートのトランクシーケンスでトランク設定で追加したトランクを選択します。
  6. Dial Patterns タブにひかり電話で発信する時の発信先電話番号のパターンを入力します。
    例1: 警察や救急車など 1 で始まる3桁の番号 : 1XX
    例2: 0 で始まる10桁の日本国内の固定電話 : 0XXXXXXXXX
    例3: 0 で始まる11桁の携帯電話番号 : 0XXXXXXXXXX
  7. [ 送信 ] ボタンを押します。

すべての設定が完了したら、[設定反映] ボタンを押します。

接続の確認

Asterisk と NTT ルーターの接続は次の項目を確認します。

  • FreePBX System Status の FreePBX Statistics にある IP Trunk Registrations と IP Trunks Online の背景が緑色になっている。
  • FreePBX の Panel タブに設定した Trunk の左側に緑色のアイコンがある。
  • NTT ルーターの内線番号一覧の登録状態が “登録済み” になっている。

繋がらない場合、[設定]-[Asterisk SIP 設定] の SIP Settings [chan_pjsip] タブにある Allow Transports Reload を一時的にはいにすると、接続できることがあります。

作成者: コネタねこ

上から読んでも『コネタねこ』、下から読んでも『コネタねこ』。贈り物に悩んだら、コネタねこの小ネタ帳。欲しくなっちゃうプレゼント、そんなアイデアのぞきにきてね♪

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です