Asterisk pjsip trunk hgw


ひかり電話HGW

ひかり電話ホームゲートウェイをPjSIPで接続する方法です。PjSIPで接続する場合、MAC認証する必要はありません。普通にRegisterできます。
必要なセクションは4つです。sip.confでいうところのregister行はtype=registrationのセクションとなります。

;ひかり電話HGW
;
[hikari-hgw]
type = aor
contact = sip:3@XXX.XXX.XXX.XXX <- 内線番号@HGWのIPアドレス:内線番号はHGW内の内線番号で1桁の数字
qualify_frequency = 30
authenticate_qualify = no
outbound_proxy = sip:XXX.XXX.XXX.XXX\;lr <- HGWのIPアドレス;\lr

[hikari-hgw]
type = auth
auth_type = userpass
username = 0003 <- HGWの内線ユーザ(通常は0003とかになるもの)
password = hogepass <- HGWの内線パスワード

[hikari-hgw]
type = identify
endpoint = hikari-hgw
match = XXX.XXX.XXX.XXX <- HGWのIPアドレス

[hikari-hgw]
type = registration
transport = transport-udp <- 別途設定したtransportを指定
outbound_auth = hikari-hgw
server_uri = sip:XXX.XXX.XXX.XXX <- HGWのIPアドレス
client_uri = sip:3@XXX.XXX.XXX.XXX <- 内線番号@HGWのIPアドレス:内線番号はHGW内の内線番号で1桁の数字
retry_interval = 60

[hikari-hgw]
type = endpoint
transport = transport-udp
context = from-hikari-hgw
dtmf_mode = inband
disallow = all
allow = ulaw
direct_media = no
send_pai = yes
inband_progress = yes
from_user = 3 <- HGW内の内線番号
from_domain = XXX.XXX.XXX.XXX <- HGWのIPアドレス
outbound_proxy = sip:XXX.XXX.XXX.XXX\;lr <- HGWのIPアドレス;\lr
language = ja
outbound_auth = hikari-hgw
aors = hikari-hgw

※chan_sipから移行してそのまま使おうとすると着信できない場合がありました。HGW側が何か勘違いしているように思えます。この場合にはHGW、Asteriskともに再起動することで解決します。
※HGWをルータ兼用にしていない場合、PjSIPがメディアをデフォルトゲートウェイに投げてしまうので outbound_proxy の設定を入れました。