初投稿なので乱文失礼します。
ホームゲートウェイを使いたくなかったので、どのような動作をしているかを確認しながら、Asteriskで直接Registしてみました。
ホームゲートウェイと回線の間にSWを挟んで動きをチェック
- ひかり電話ルータのWANをSWに接続
- ONUをSWに接続
- ひかり電話ルータのWANポートをミラーリング
- ミラーしたポートをパケットキャプチャ
SWが挟めるのは3種類
- 契約時期がずれていてONUとホームゲートウェイが別々になっている
- ONU/ホームゲートウェイ一体型だけど裏側の蓋を取ると上半分とした半分がLANケーブルで接続されている
- 小型ONU
で、1番目だったので接続した時の動きがチェックできた。中を見てみるとDHCPで配布されていた
この時、DHCPとSIPのregist情報を取っておくのが必須
Your (client) IP address: 118.177.14.xxx (118.177.14.xxx)
Next server IP address: 118.177.14.yyy (118.177.14.yyy)
Relay agent IP address: 118.177.14.yyy (118.177.14.yyy)
Client MAC address: NecAcces_00:00:00 (00:3a:9d:00:00:00)
Subnet Mask: 255.255.255.252 (255.255.255.252)
Router: 118.177.14.yyy (118.177.14.yyy)
SIP Server Encoding: IPv4 Address (1)
SIP Server Address: 118.177.125.zzz (118.177.125.zzz)
Subnet/MaskWidth-Router: 118.177.0.0/16-118.177.14.yyy
SIPのRegistパケットも合わせてキャプチャしておく
REGISTER sip:ntt-east.ne.jp SIP/2.0
Via: SIP/2.0/UDP 118.177.125.zzz:5060;branch=z9hG4bK1435901013
From: <sip:0480000000@ntt-east.ne.jp>;tag=2955143756
To: <sip:0480000000@ntt-east.ne.jp>
Call-ID: 688452033@118.177.14.xxx
CSeq: 1 REGISTER
Max-Forwards: 70
Contact: <sip:234590xxxx@[2408:123:bbb:aaaa:face:cafe:beef:1234]>,<sip:652483661@118.177.14.xxx>
Expires: 3600
Allow: INVITE,ACK,BYE,CANCEL,PRACK,UPDATE,MESSAGE
Supported: path
Content-Length: 0
SIP/2.0 200 OK
・
・
・
一応、伏せておきます
設定
IPは/30
デフォルトルート、DNSは配られていない
SIPサーバのアドレスとスタティックルーティング情報は配られている
v6は電話にはつかってない
ということで、asteriskを使うCentOS7にdhcpclientを設定して情報をもらう。
ifcfg-enp2s0(出来ればnmcliで設定しよう)
HWADDR=00:aa:bb:cc:dd:ef
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=no
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=12345678-90ab-cdef-0123-4567890abcde
ONBOOT=yes
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
ZONE=flets
PEERDNS=yes
PEERROUTES=yes
これで、IPの設定はOK。繋がるとIP取得、ルーティング設定は反映されるけど、SIP関連は手動設定が必要
SIPのregistパケットキャプチャによると、以下の設定で良さそう
sip.conf(認証情報は要らないみたい)
register => 0480000000:@ntt-east.ne.jp/0480000000
[ntt]
type=peer
host=118.177.125.zzz
nat=never
canreinvite=no
caninvite=no
session-expires=300
defaultexpiry=3600
dtmfmode=inband
context=outsideline
qualify=yes
/etc/hosts(SIPサーバホスト名は念のためhostsに入れとく)
118.177.125.zzz ntt-east.ne.jp
extension.conf(こんな感じでいいと思います)
[outsideline]
exten => _0.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _0.,2,Set(CALLERID(name)=${MYNUMBER})
exten => _0.,n,Dial(SIP/${EXTEN}@ntt)
registの確認は以下のように。
# asterisk -vvvr
*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
ntt-east.ne.jp:5060 N 0480000000 3585 Registered Wed, 12 Mar 2014 00:20:02
1 SIP registrations.