4,723
回編集
差分
ページの作成:「ひかり電話のホームゲートウェイ(HGW)はそれ自体が一種の交換機なので、内線を持っています。内線番号はHGW側でも設定可能...」
ひかり電話のホームゲートウェイ(HGW)はそれ自体が一種の交換機なので、内線を持っています。内線番号はHGW側でも設定可能なため、本来は番号をうまく設定すればAsteriskのシステムにもうまく組み込めるのですが、HGW、FreePBX双方の設定を合わせないと面倒なことになるので、HGW側はデフォルトのままで使う方法を解説します。<br>
なお、この方法を使うには、ひかり電話ホームからDIDで着信させる必要があるので[[FreePBX:5:トランク:ひかり電話(ホーム)]]を見て、DID着信の設定を行っておいてください。
==HGWの内線==
HGWの内線は一般的には次のように設定されているはずです(デフォルト)<br>
内線
1 -- アナログポート1
2 -- アナログポート2
3 -- IP電話機1
4 -- IP電話機2
5 -- IP電話機3
6 -- IP電話機4
7 -- IP電話機5
というわけでHGWの『中』の内線番号は数字1桁で1~7ということになります。例えばアナログポートの1からIP電話機の1にダイヤルするには"3"とダイヤルするだけです。この時のDIDは sip:3@hgw-ipaddre で、CIDは sip:1@hgw-ipaddr で着信してきます。これが前提条件になります。<br>
==作戦==
1桁内線を使うとトラブルの元になるのはわかりきっているので、これを変換することにします。<br>
FreePBX内での扱いを簡単にするために『ひかり電話の内線にダイヤルするには"999"をプレフィクスにする』という作戦を使うことにしましょう。<br>
==カスタムextenを変更する==
extensions_custom.confを以下のように修正します。<br>
[hgw-custom]
exten => s,1,Set(DESTNUM=${SIP_HEADER(To)})
exten => s,n,NoOp(${DESTNUM})
exten => s,n,GotoIf("${DESTNUM:1:1}" = [1-7]?inter)
exten => s,n,Set(DESTNUM=${DESTNUM:1:10})
exten => s,n,Goto(from-trunk,${DESTNUM},1)
exten => s,n(inter),Set(DESTNUM=999${DESTNUM:1:1})
exten => s,n,Set(CALLERID(num)=999${CALLERID(num)})
exten => s,n,Goto(from-trunk,${DESTNUM},1)
着信のDIDとして先頭に999をつけて9991や9993のようにします。またCIDの頭にも999を付けて、発信元が9991や9993であるように変換しておきます。
==着信経路==
FreePBXのGUIからInbound Routeで、ダイヤルイン番号(DID)を9993などで作ります。これは、FreePBXのトランクとして、ひかり電話に接続した際の内線番号の頭に999を付けたものにします。<br>
着信させたらどの内線を鳴らすか、あるいはリンググループ等に着信させるかなどを設定するだけです。
==発信経路==
ちょっとしたトリックが必要です。<br>
Outbound Routesで発信経路を作りますが、この時の設定を以下のようにします。
Route CIDをAsteriskがぶら下がっている1桁の内線番号(3など)にする
Override Extensionをチェック
Dial Patterns...
Prefix 999
パターンを X だけ
Trun Sequenceは当然ながら、トランクとして設定したひかり電話の経路にします。<br>
<br>
これでFreePBX側からは 999 に続けてHGWの内線番号をダイヤルするとダイヤルでき、また、HGWの内線からFreePBXを呼び出すこともできるようになります。
なお、この方法を使うには、ひかり電話ホームからDIDで着信させる必要があるので[[FreePBX:5:トランク:ひかり電話(ホーム)]]を見て、DID着信の設定を行っておいてください。
==HGWの内線==
HGWの内線は一般的には次のように設定されているはずです(デフォルト)<br>
内線
1 -- アナログポート1
2 -- アナログポート2
3 -- IP電話機1
4 -- IP電話機2
5 -- IP電話機3
6 -- IP電話機4
7 -- IP電話機5
というわけでHGWの『中』の内線番号は数字1桁で1~7ということになります。例えばアナログポートの1からIP電話機の1にダイヤルするには"3"とダイヤルするだけです。この時のDIDは sip:3@hgw-ipaddre で、CIDは sip:1@hgw-ipaddr で着信してきます。これが前提条件になります。<br>
==作戦==
1桁内線を使うとトラブルの元になるのはわかりきっているので、これを変換することにします。<br>
FreePBX内での扱いを簡単にするために『ひかり電話の内線にダイヤルするには"999"をプレフィクスにする』という作戦を使うことにしましょう。<br>
==カスタムextenを変更する==
extensions_custom.confを以下のように修正します。<br>
[hgw-custom]
exten => s,1,Set(DESTNUM=${SIP_HEADER(To)})
exten => s,n,NoOp(${DESTNUM})
exten => s,n,GotoIf("${DESTNUM:1:1}" = [1-7]?inter)
exten => s,n,Set(DESTNUM=${DESTNUM:1:10})
exten => s,n,Goto(from-trunk,${DESTNUM},1)
exten => s,n(inter),Set(DESTNUM=999${DESTNUM:1:1})
exten => s,n,Set(CALLERID(num)=999${CALLERID(num)})
exten => s,n,Goto(from-trunk,${DESTNUM},1)
着信のDIDとして先頭に999をつけて9991や9993のようにします。またCIDの頭にも999を付けて、発信元が9991や9993であるように変換しておきます。
==着信経路==
FreePBXのGUIからInbound Routeで、ダイヤルイン番号(DID)を9993などで作ります。これは、FreePBXのトランクとして、ひかり電話に接続した際の内線番号の頭に999を付けたものにします。<br>
着信させたらどの内線を鳴らすか、あるいはリンググループ等に着信させるかなどを設定するだけです。
==発信経路==
ちょっとしたトリックが必要です。<br>
Outbound Routesで発信経路を作りますが、この時の設定を以下のようにします。
Route CIDをAsteriskがぶら下がっている1桁の内線番号(3など)にする
Override Extensionをチェック
Dial Patterns...
Prefix 999
パターンを X だけ
Trun Sequenceは当然ながら、トランクとして設定したひかり電話の経路にします。<br>
<br>
これでFreePBX側からは 999 に続けてHGWの内線番号をダイヤルするとダイヤルでき、また、HGWの内線からFreePBXを呼び出すこともできるようになります。