RTX1100でSIP-NATに気がつく
ソフトフォンZoiper5のstunを確認する投稿を書いていて、インターネット上のSIPサーバーにてSIPパケットを確認していました。
stunに関してはこちらから↓
ソフトフォンでstunをオフにしてもSIPヘッダーやSDPにグローバルIPが入る
stunがオンの場合やオフの場合のSIPパケットの変化の詳細は、上の投稿をご覧ください。
stunオフの場合はソフトフォンは自分の環境のグローバルIPを知る方法がないので、SIPヘッダーやSDPにはローカルIPアドレスが入ります。
これがIP-PBXと疎通出来ない原因になる時も有るのですが、Zoiper5でstunをオフにしてもSIPサーバー側で確認するとヘッダーやSDPにはグローバルIPが入ったままでした。なぜ??
ここで気が付きました。
自宅で使っているルーター YAMAHA RTX1100がパケットを書き換えているのでは?
Rev.8.02.35 から初期値が off から on に変更になっていた
公式:YAMAHA RTXのSIP-NAT機能の詳細はこちら
http://www.rtpro.yamaha.co.jp/RT/docs/sip-nat/index.html
RTXでSIP-NAT機能が搭載されたのはRev.8.01系以降との事です。
Rev.8.02.35で初期値がoffからonに変更されています。
私のRTX1100はRev.8.03.94でした。
RTX SIP-NATの注意点
・固定グローバルIPアドレスが必要となります.
・配下に置くことが出来るVoIP機器はRT56v/RT57i/RTV700/RT58i/NVR500/NVR510/NVR700Wのみです.
他社製のVoIP-TAやSIPソフトフォン等を配下に置いてのSIP-NAT機能の動作については保証しません.
・SIP-NAT機能を用いて配下に置くことが出来るのは1台だけです.複数台を併用することは出来ません.
・SIP-NAT機能はSIPメッセージの中身のIPアドレスを書き換えるだけです.セッションで使用されるRTP/RTCPなどについては,別途静的NATや静的IPマスカレードの設定を行う必要があります.
・SIP-NAT機能で変換するSIPメッセージのポート番号は5060だけです.
ネットボランチ製品やRTV700もこのポート番号を固定で使っているので問題ありません.
・SIP-NAT機能を使用しても、NGNひかり電話端末を配下に置くことはできません.
Zoiper5などのソフトフォンを使っても動作に問題はありませんが、NAT配下に置いて動作保証されているのはYAMAHA製品のみの様です。
確かにメーカーは全てのVoIP機器の動作確認は出来ません。
SIPであれば何でも変換してくれる訳ではなく5060番ポートだけです。
SIP-NATオフにするには
本来であればstunが必要なところをルーターが担ってくれる便利な機能ですが、場合によってはこれが悪さをする時もあります。
クラウド系のPBXサービスの中には、ルーターのSIP-NAT機能をオフにする事を推奨している場合もあります。
SIP-NATをオフにする事でルーターがSIPヘッダーやSDPを書き換えなくなります。
NATは通常はIPヘッダーを書き換える
パケットがNATを超える時に、Internet Protocol Version4 (IPv4レイヤー)に書かれているソースアドレスをローカルIPアドレスからグローバルIPアドレスに書き換えます。
Session Initiation Protocol(SIP)ヘッダーやSDPまでは通常は書き換えてくれません。
まとめ
SIP-NATは家庭用ルーターには実装されていない機能です。
業務用ルーターは機能が豊富ですが思わぬ機能がデフォルトで有効になっている事があります。
ドキュメントを確認しましょう。