|
|
1行目: |
1行目: |
− | [[Category:ひかり電話]]
| + | E4ytfa <a href="http://nyhcpwtbgxpu.com/">nyhcpwtbgxpu</a>, [url=http://xwbbkveignwz.com/]xwbbkveignwz[/url], [link=http://ffqwltmrksmk.com/]ffqwltmrksmk[/link], http://rvlwhbhcdhgg.com/ |
− | →[[:Category:ひかり電話]] [[ひかり電話対応]]
| |
− | | |
− | 以下の情報は東日本、特に東京でしか役に立たないかもです。訂正感謝するです。
| |
− | ==設定情報の取得(ひかり電話家庭用・オフィスタイプのみ)==
| |
− | RT-200NE/RT-200KI/VG820a等は起動時にPPPoE接続を張って設定情報を取得します。<br/>
| |
− | PPPoE接続先はguest@tk000155で、<nowiki>http://add-con.mcas/</nowiki> に以下の内容をPOSTします。
| |
− | CompanyCode=&ServiceCode=&ControlCode=&TerminalID=00022BXXXXXX | |
− | ここでTerminalIDはRT-200NE等のMacアドレス(WAN側)です。<br/>
| |
− | POSTすると、以下の内容が戻されます。取得後はPPPoEは切断され、直接IPv4でSIP/RTPの通信が行われます。
| |
− | ResultCode=0000
| |
− | ip_addr=172.20.184.XX1
| |
− | netmask=30
| |
− | gateway=172.20.184.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.YYY
| |
− | sipsv_port=5060
| |
− | regsv_addr=220.157.56.YYY
| |
− | regsv_port=5060
| |
− | sip_domain=220.157.56.YYY
| |
− | username=
| |
− | password=
| |
− | ip_tel_num=036901ZZZ1
| |
− | ip_tel_num1=036901ZZZ2
| |
− | ip_tel_num2=036901ZZZ3
| |
− | area_code=03
| |
− | url_update=<nowiki>http://www.cpeinfo.jp/</nowiki>
| |
− | url_update_cas=<nowiki>http://220.216.147.36:50080/verup/notify.cgi</nowiki>
| |
− | dscp=32
| |
− | rtpport1=5004
| |
− | rtpport2=5035
| |
− | 項目はだいたい自明だと思います。dscp値はtos値としては0x80になります。<br/>
| |
− | dest_nw_addrですが、明らかにおかしいです。(このアドレスレンジはDocomo所有だし…)<br/>
| |
− | 2006/10現在、東京で使用されているのは、
| |
− | 220.157.0.0/18
| |
− | 220.216.128.0/17
| |
− | 220.210.192.0/19
| |
− | ですが、将来変更されるかもしれません。
| |
− | | |
− | 山梨(甲府)情報ですが、2008/12/26 前後から、どうも、以下のアドレスも利用されているようです。(小西)
| |
− | 123.104.0.0/14
| |
− | さらに、このあたりも利用されているようです。(小西)
| |
− | 118.177.0.0/16
| |
− | | |
− | ==SIPプロトコル==
| |
− | ひかり電話家庭用・オフィスタイプとも、SIPプロトコルはビジネスタイプと同様のようです。<br/>
| |
− | http://www.ntt-east.co.jp/ipc/information/tech/interface.html<br/> | |
− | Asteriskから直接レジストする場合は、Session Timerの実装が必要になります。 ナカムラさんのページを参照してください。<br/>
| |
− | *sip.confの例
| |
− | [general]
| |
− | port=5060
| |
− | bindaddr=0.0.0.0
| |
− | srvlookup=no
| |
− | tos=0x80 ;必要(DSCP=32)
| |
− | disallow=all
| |
− | allow=ulaw
| |
− | language=jp
| |
− | defaultexpirey=3600
| |
− | register => 036901ZZZ1@ntt ;複数番号でも親番号のみregister
| |
− | [ntt]
| |
− | type=peer
| |
− | context=fromntt
| |
− | host=220.157.56.YYY
| |
− | nat=never ;viaヘッダにrportをつけないために
| |
− | ;;;;fromuser はSetCallerIDでつける
| |
− | fromdomain=220.157.56.YYY
| |
− | canreinvite=no
| |
− | session-expires=300 ;ひかり電話標準値
| |
− | dtmfmode=inband
| |
− | username=nttuser ;session-expiresのパッチで必要
| |
− | insecure=very
| |
− | *extensions.confの例
| |
− | [fromntt]
| |
− | exten => 036901ZZZ1,1,Dial(SIP/901,180) ;電話機
| |
− | exten => 036901ZZZ2,1,Dial(SIP/999,180) ;FAX
| |
− | exten => 036901ZZZ3,1,Ringing() ;自動応答 まずRinging()
| |
− | exten => 036901ZZZ3,2,Wait(2)
| |
− | exten => 036901ZZZ3,3,Answer()
| |
− | exten => 036901ZZZ3,4,Wait(1)
| |
− | exten => 036901ZZZ3,5,Playback(beep)
| |
− | exten => 036901ZZZ3,6,Hangup()
| |
− | [from901]
| |
− | exten => _[0-6]X.,1,SetCallerID(036901ZZZ1) ;発信者番号をセット
| |
− | exten => _[0-6]X.,2,Dial(SIP/ntt/${EXTEN},180)
| |
− | [from999]
| |
− | exten => _[0-6]X.,1,SetCallerID(036901ZZZ2) ;発信者番号をセット
| |
− | exten => _[0-6]X.,2,Dial(SIP/ntt/${EXTEN},180)
| |
− | | |
− | また、Via:ヘッダにreceived=がついていると駄目になったようです(2007/09確認)。1.2系ではchan_sip.cのcopy_via_headers()に、以下の修正を加えてください。
| |
− | nat=neverのチャネルにはreceived=を付けなくなります。
| |
− | char iabuf[INET_ADDRSTRLEN];
| |
− | + if(ast_test_flag(p, SIP_NAT) == SIP_NAT_NEVER) copied++;
| |
− | | |
− | Asterisk 2.6ではchannels/chan_sip.c:~9102
| |
− | int start = 0;
| |
− | + if(ast_test_flag(&p->flags[0], SIP_NAT) == SIP_NAT_NEVER) copied++;
| |
− | | |
− | ==ルーティング==
| |
− | SIPパケットはレジストしたSIPサーバとしかやりとりしませんが、 RTPパケットは相手先(の局内NATルータ)と直接通信を行います。そのため、linuxマシンから直接レジストする場合はルーティングが問題になります。
| |
− | ===デフォルトルートとして設定===
| |
− | 一番安全な方法ですが、1台のマシンを通常のインターネットルータと兼用したり、あるいは050系IP電話サービスと兼用できません。
| |
− | root# vi /etc/network/interfaces
| |
− | iface eth1 inet static
| |
− | address 172.20.184.XX1
| |
− | netmask 255.255.255.252
| |
− | gateway 172.20.184.XX2
| |
− | ===使われている範囲だけルーティング===
| |
− | 使われている範囲だけルーティングする方法ですが、将来IPアドレス範囲が変更になった場合に追随しないといけません。また、この範囲はフレッツスクエアでも使用されているため、兼用できません。
| |
− | root# vi /etc/network/interfaces
| |
− | iface eth1 inet static
| |
− | address 172.20.184.XX1
| |
− | netmask 255.255.255.252
| |
− | up /sbin/route add -net 220.157.0.0/18 gw 172.20.184.XX2 || true
| |
− | up /sbin/route add -net 220.216.128.0/17 gw 172.20.184.XX2 || true
| |
− | up /sbin/route add -net 220.210.192.0/19 gw 172.20.184.XX2 || true
| |
− | ===特定のSIP端末だけ自アドレスをバインド===
| |
− | 端末ごとにbindaddrを指定できるようにするパッチ[ftp://ftp.voip-info.jp/asterisk/patch/local/1.2/1.2.10_bindaddr.061113-01.patch bindaddr.patch]を当てれば、
| |
− | 以下のようにソースアドレスによるポリシールーティングをかけられます。
| |
− | root# apt-get install iproute
| |
− | root# vi /etc/asterisk/sip.conf
| |
− | register => 036901ZZZ1@ntt ;registerは @セクション名 で対応付け
| |
− | [ntt]
| |
− | bindaddr=172.20.184.XX1
| |
− | ...
| |
− | root# vi /etc/network/interfaces
| |
− | iface eth1 inet static
| |
− | address 172.20.184.XX1
| |
− | netmask 255.255.255.252
| |
− | up /sbin/ip route add 172.20.184.XX0/30
| |
− | dev eth1 src 172.20.184.XX1 table 99 || true
| |
− | up /sbin/ip route add default via 172.20.184.XX2
| |
− | dev eth1 table 99 || true
| |
− | up /sbin/ip rule add from 172.20.184.XX1 table 99 || true
| |
− | down /sbin/ip rule delete from 172.20.184.XX1 || true
| |