| *** Asterisk を 試すメモシリーズ *** / ひかり電話を直接レジスト…を試す | |||||||||||||
|
はじめにひかり電話とAsteriskの連動はかなりスムース。しかしながら、ONU以下に直接接続する方法でやっている人が意外と多いみたいで、その辺りを試してみることにしました。 設定情報をゲット ネットで検索してみると ID: guest@tk000155 PASSWORD: guest という形でPPPoE接続を行うことができるそうです。 http://add-con.mcas/?CompanyCode=&ServiceCode=&ControlCode=&TerminalID=000D02XXXXXX HTTP/1.0 という形をコピペしておきます。上記の 000D02XXXXXX 部分は、ひかりルータの側面に張られている
MACアドレスを入力します。 telnet add-con.mcas 80 と、入力すると画面がクリアされ、カーソルが点滅した状態になります。 http://add-con.mcas/?CompanyCode=&ServiceCode=&ControlCode=&TerminalID=000D02XXXXXX HTTP/1.0 (改行) (改行) と入力すると設定が見えてきます。 HTTP/1.1 200 OK Set-Cookie: BIGipServeraddcon_http=xxxxxxxxx.xxxxx.xxxxx; expires=DDD, DD-MMM-YYYY HH:MM:SS GMT; path=/ Date: DDD, DD MMM YYYY HH:MM:SS GMT Server: Apache/2.0.49 (Unix) mod_jk/1.2.5 Content-Length: 487 Connection: close Content-Type: text/plain ResultCode=0000 ip_addr=172.22.228.XX1 netmask=30 gateway=172.22.228.XX2 dest_nw_addr=220.210.59.0/22&220.210.63.0/24&220.210.32.0/24&220.210.33.0/22 sipsv_addr=220.157.56.41 sipsv_port=5060 regsv_addr=220.157.56.41 regsv_port=5060 sip_domain=220.157.56.41 username= password= ip_tel_num=03XXXXYYYY ip_tel_num1=03XXXXZZZZ area_code=03 url_update=http://www.cpeinfo.jp/ url_update_cas=http://220.216.147.36:50080/verup/notify.cgi dscp=32 rtpport1=5004 rtpport2=5035 ホストとの接続が切断されました。 なーるほど。RT-200NEはこの情報を得て接続をしていたのだね。 sip.conf Asterisk側の設定をしましょう。 tos=128 register => 03XXXXYYYY@ntt を、generalのセクションに追加。それ以外はいままでのまま。 chan_sip.c:16742 reload_config: tos value at line 19 is deprecated. See doc/ip-tos.txt for more information. tos_sipとかにすればいいってことらしい。読めってことなんで眺めよう。 The tos* parameters also take numeric values. The lowdelay, throughput, reliability, mincost, and none values are deprecated because they set the IP TOS using the outdated "IP precedence" model as defined in RFC 791 and RFC 1349. They still work in this version of Asterisk, but will be removed in future releases. =========================================== Configuration Parameter Recommended File Setting ------------------------------------------- sip.conf tos_sip cs3 sip.conf tos_audio ef sip.conf tos_video af41 ------------------------------------------- iax.conf tos ef ------------------------------------------- iaxprov.conf tos ef =========================================== 将来削除されてからでもいいよね?(今はこのままいかせて欲しいっす。やってみるのは簡単なのに…) [ntt] type=peer context=fromntt host=220.157.56.41 nat=never fromdomain=220.157.56.41 canreinvite=no session-expires=300 dtmfmode=inband username=nttuser insecure=very というそのままにしました。220.157.56.41 はさらしちゃまずいんだっけ? defaultrouter="172.22.228.XX1" ifconfig_vr0="inet 172.22.228.XX2 netmask 255.255.255.252" として記述します。(ちなみに、このページに出てきているこの部分のアドレスは実態のものとは変えて記述しています)) イメージとしては上記の感じ。Bフレッツ網を通して、2つのIPアドレスがあるネットワーク(/30
なので前後あわせれば4つ)。 Retransmitting #4 (no NAT) to 220.157.56.41:5060: REGISTER sip:220.157.56.41 SIP/2.0 Via: SIP/2.0/UDP *:5060;branch=* From: <sip:03XXXXYYYY@220.157.56.41>;tag=* To: <sip:03XXXXYYYY@220.157.56.41> Call-ID: *@220.157.56.41 CSeq: 258 REGISTER User-Agent: Asterisk PBX Max-Forwards: 70 Expires: 3600 Contact: <sip:*> Event: registration Content-Length: 0 とりあえず、こっち側のMACアドレスもネットの対抗側にも見えるわけで、これをこっちのRT-200NEのMACアドレスに同じものにみえるようにします。 # ifconfig vr0 ether 000D02XXXXXX
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.22.228.145 netmask 0xfffffffc broadcast 172.22.228.147
ether 00:0d:02:xx:xx:xx
media: Ethernet autoselect (none)
status: no carrier
こんな感じ。「User-Agent: Asterisk PBX」となっているのは気持ちが悪いので、変えるべきかも。 ;useragent=Asterisk PBX の部分を変更すればいいだけなんだけど、どのように内容になっていたのかは未確認。(誰かわかります?) 2007/06/01 06:00:00 VoIP レジスタ要求 2007/06/01 06:00:00 VoIP レジスタ成功 200OK 2007/06/01 06:30:00 VoIP レジスタ要求 2007/06/01 06:30:00 VoIP レジスタ成功 200OK とか、30分に1回のタイミングでレジスタ要求しているみたいだ。 sterisk*CLI> sip show peers Name/username Host Dyn Nat ACL Port Status 5131/5131 192.168.10.21 D N 5060 OK (51 ms) ntt/nttuser 220.157.56.41 5060 Unmonitored どっちにもいけちゃっていますねぇ。 extensions.conf sip.conf のcontextには fromntt というセクションを期待するように書いてある。 .
.
[fromntt]
; Line 1
exten => 03XXXXYYYY,1,Dial(SIP/5131,60)
; Line 2
exten => 03XXXXZZZZ,1,Dial(SIP/5131,60)
[from5131]
exten => _[0]X.,1,Set(CallerID(num)=03XXXXYYYY)
exten => _[0]X.,2,Dial(SIP/ntt/${EXTEN},60)
という風に。 dest_nw_addr=220.210.59.0/22&220.210.63.0/24&220.210.32.0/24&220.210.33.0/22 ということなので、この範囲向けのネットワークはそっちに向くように書けばいいだけ。 static_routes="0 1 2 3 4" route_0="-net default 192.168.10.1" route_1="-net 220.210.59.0/22 172.22.228.XX2" route_2="-net 220.210.63.0/24 172.22.228.XX2" route_3="-net 220.210.32.0/24 172.22.228.XX2" route_4="-net 220.210.33.0/22 172.22.228.XX2" としてあげればいいだけのはず。そのうちにオフィスで試してみよう、と思う。 2007/6/1 にページを公開しました。若干修正を入れて 2007/6/3に更新しました。 |
||||||||||||
|
|
|||||||||||||