ひかり電話HGWパッチ
Asterisk 13以降、名前を改めひかり電話HGWパッチとします。
(もはやRT-200NEでもないでしょうから)
目次
HGWの種類
- PR-XXX
- ONU内蔵一体型(切り離しは可能)
- RS-XXX
- 小型ONU対応型
- RT-XXX
- ONUなし単体型
- 後ろのKIとかMIは製造メーカー
パッチの入手
Asterisk 13用が以下にあります
- Chan_sip_hikarihgw
- ページ内容をコピペしてパッチファイルとしてください。
パッチ方法
Asteriskのソースディレクトリにダウンロードし
# patch -p0 < パッチファイル
で、実行してください。パッチファイルはソースのベースディレクトリからの差分になっています。
なおパッチ対象は channels/chan_sip.c と channels/sip/include/sip.h です。
使用方法
sip.confの[general]セクションにHGWのIPアドレスを書きます。
hikarihgw=192.168.0.1
複数台のHGWを接続する場合には次のように複数行で書きます。
hikarihgw=192.168.0.1 hikarihgw=192.168.0.2
なおデフォルトでは最大、4台までのHGWが登録可能です。この数を増やすにはMAX_HGWSの数値を増やしてmakeしなおしてください。資源節約のため、この値はコンパイル時オプションです。
Expireyは現在のところ以下のように3600で指定しています。
maxexpirey=3600 defaultexpirey=3600
REGISTERは普通に書きます。
;Hikari-denwa HGW register => 内線番号:パスワード:ユーザID@192.168.0.1/exten
例えばこんな感じです。
register => 3:pass:0003@192.168.0.1/1000
なおAsteriskを登録する内線番号の端末属性はHGW側で「音声端末」に設定しておく必要があります。
HGW用のセクションは次の例を参考にしてください(要らないものもあるかも)。
insecure=inviteは発信者番号を通知してこない相手からの接続を受け付けるのに必要なはずです
[192.168.0.1] type=friend secret=pass Port=5060 username=0003 fromuser=3 host=192.168.0.1 contexet=default insecure=invite dtmfmode=inband canreinvite=no disallow=all allow=ulaw pickupgroup=1
HGWが複数台ある場合には、それぞれのIPアドレスについてセクションを作成してください。
ダイアルするにはextensions.confに以下のように記述します(0で始まる場合は、ひかり電話でダイアルする例)。
exten => _0.,1,Set(CALLERID(num)=03xxxxxxxx) exten => _0.,2,Set(CALLERID(name)=03xxxxxxxx) exten => _0.,3,Dial(SIP/${EXTEN}@192.168.0.1,60,T)
念のためCaller IDを自分のひかり電話番号に設定していますが、これは要らないかもしれません。
着信番号
複数番号を契約しており、どの番号に着信したかを知るには RT-200NE を参照してください。
マイナンバー(複数番号)を使用する場合
- Registerひとつで着信番号を切り分ける方法はRT-200NE#複数番号の切り分け
CLIコマンド
CLIコマンドに sip show hikarihgwが追加されています。
*CLI> sip show hikarihgw Hikari-denwa HGW at .. - 192.168.0.1 - 192.168.0.2