Asterisk は NTT ひかり電話と接続することができます。ただし、NTT からレンタルするルーターによります。
NTT ひかり電話ルーターの設定
最初に、ブラウザーから NTT ひかり電話ルーターへアクセスして、Asterisk が接続するための内線設定をします。
- 左メニューの電話設定にある内線設定をクリックします。
- Asterisk の接続に使用する内線番号 (3-7 のいづれか) をクリックします。(ここでは “3” を使用します。)
- ニックネームに Asterisk サーバーの名前など任意の文字を入力します。
- Asterisk サーバーが接続するためのユーザー ID とパスワードを入力します。
- NTT の追加番号サービス「マイナンバー」を利用している場合は、[ 電話番号 ] で発信する時の通知番号と着信番号をチェックします。
- [設定] ボタンを押します。
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 の場合
インバウンドルートをひかり電話の着信番号によって制御する場合は、コンテキストを作る必要があります。
- メニューの [アドミン]-[Config Edit] を選択します。
- extensions_custom.conf を選択して、次の行を入力します。
[from-pjsip-custom]
exten => _.,1,Goto(from-pstn,${CUT(CUT(PJSIP_HEADER(read,To),@,1),:,2)},1) - [保存] ボタンを押します。
次に NTT ひかり電話ルーターと接続するためのトランクを追加します。
- メニューの [接続]-[トランク] を選択します。
- [ +トランクを追加 ] ボタンを押して、[ +SIP (chan_pjsip) トランクを追加 ] を選択します。
- General タブのトランク名に任意の名前を入力します。
- pjsip 設定タブをクリックします。
- ユーザー名にひかり電話ルーターに設定したユーザー ID を入力します。
- Secret にひかり電話ルーターに設定したパスワードを入力します。
- SIP Server にひかり電話ルーターの IP アドレスを入力します。
- 先ほど、コンテキストを作成した場合は、コンテキストに
from-pjsip-custom
を入力します。 - 高度な設定タブをクリックします。
- DTMF Mode をバンド内にします。
- From User にひかり電話ルーターで選択した内線番号を入力します。
- クライアントURIに sip:[ひかり電話ルーターで選択した内線番号]@[ひかり電話ルーターの IP アドレス] を入力します。(例:
sip:2@192.168.0.1
) - [送信] ボタンを押します。
- 右上の [変更を適用] ボタンを押します。
chan_sip の場合
- メニューの [接続]-[トランク] を選択します。
- [トランクを追加] ボタンを押して、[SIP (chan_sip) トランクを追加] を選択します。
- General タブのトランク名に任意の名前を入力します。
- General Settings のOutbound Caller ID に任意の文字を入力します。
- Outgoing Settings の Trunk Name に General Settings の Trunk Name に入力した文字を入力します。
- Outgoing Settings の PEER Details に次の文字を入力します。
host=[NTT ルーターの IP アドレス]
fromuser=[NTT ルーターでクリックした内線番号]
username=[NTT ルーターに設定したユーザー ID]
secret=[NTT ルーターに設定したパスワード]
type=friend
insecure=invite,port - USER Context にひかり電話の電話番号を入力します。
- USER Details に context=from-trunk-sip-[Trunk Name に入力した文字] を入力します。
- Register String に次の値を入力します。
[内線番号]:[パスワード]:[ユーザー ID]@[IP アドレス]/[USER Context] - [ Submit Changes ] ボタンを押します。
インバウンドルートの設定
ひかり電話で着信した時の設定をします。
- メニューの [接続]-[インバウンドルート] をクリックします。
- [ +インバウンドルートを追加 ] ボタンを押します。
- ダイヤルイン番号にひかり電話の電話番号を入力します。
- 宛先をセットに着信した時の動作を選択します。
- [ 送信 ] ボタンを押します。
宛先をセットに内線や着信グループを選択した時の注意
宛先をセットに設定した内線もしくは着信グループの内線すべてがオフラインの場合、着信が切断されてしまいます。NTT ルーターにアナログ端末を接続していれば、宛先をセットで選択した内線や着信グループの Destination if no answer を設定したトランクにすることで、呼び出しを継続することができます。
アウトバウンドルートの設定
ひかり電話で発信する時の設定をします。
- メニューの [接続]-[アウトバウンドルート] をクリックします。
- [ +アウトバウンドルートを追加 ] ボタンを押します。
- 経路名に任意の文字を入力します。
- ルート CID にひかり電話の電話番号を入力します。
- 一致したルートのトランクシーケンスでトランク設定で追加したトランクを選択します。
- Dial Patterns タブにひかり電話で発信する時の発信先電話番号のパターンを入力します。
例1: 警察や救急車など 1 で始まる3桁の番号 : 1XX
例2: 0 で始まる10桁の日本国内の固定電話 : 0XXXXXXXXX
例3: 0 で始まる11桁の携帯電話番号 : 0XXXXXXXXXX - [ 送信 ] ボタンを押します。
すべての設定が完了したら、[設定反映] ボタンを押します。
接続の確認
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 を一時的にはいにすると、接続できることがあります。