ひかり電話HGWパッチ

2018年6月19日 (火) 08:34時点におけるTakahashi (トーク | 投稿記録)による版 (HGWの種類)

Asterisk 13以降、名前を改めひかり電話HGWパッチとします。
(もはやRT-200NEでもないでしょうから)

目次

HGWの種類

  • PR-XXX
ONU内蔵一体型(切り離しは可能)
  • RS-XXX
小型ONU対応型
  • RT-XXX
ONUなし単体型
  • 型番の200とか500の2とか5は世代(500は第五世代)
  • 後ろのKIとかMIは製造メーカー

MACアドレス認証

内線IP端末として収容する際にダイジェスト認証を使用せず、MACアドレス認証を使用すればパッチ無しで接続可能です。パッチを当てられない環境の場合にはHGWにMACアドレスを登録して使用してください。

パッチの入手

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