ひかり電話 プロトコルのソースを表示
←
ひかり電話 プロトコル
移動先:
案内
、
検索
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、以下のグループのいずれかに属する利用者のみが実行できます:
登録利用者
、
管理者
。
このページは編集や他の操作ができないように保護されています。
このページのソースの閲覧やコピーができます。
[[Category:ひかり電話]] →[[:Category:ひかり電話]] [[ひかり電話対応]] 以下の情報は東日本、特に東京でしか役に立たないかもです。訂正感謝するです。 ==設定情報の取得(2014年3月までに移行)== NGNへの統合のためフレッツ回線の場合でも、DHCPを用いた設定情報の取得に変更になりつつあるようです。<br/> http://www.soumu.go.jp/main_content/000165834.pdf<br/> 割り当てられていたIPv4アドレスにも変更があるようです。このあたり詳細わかりましたらお願いします。<br/> --->DHCP discover DHCP offer<--- --->DHCP request DHCP ack<--- アドレス情報 SIPサーバ情報(option 120) ==設定情報の取得(ひかり電話家庭用・オフィスタイプのみ)== 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
ひかり電話 プロトコル
に戻る。
案内メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
その他
検索
VoIp-Info.jp
案内
メインページ
最近の更新
全ページ
おまかせ表示
ヘルプ
要望
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
便利ツール
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ユーザ登録
ログイン/登録
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報