Brekeke SIP Server の NATトラバーサル機能(NAT越え)
Brekeke SIP Server は、Near-End NATトラバーサル、Far-End NATトラバーサルの両方をサポートしています。
構築例:
Brekeke SIP Server
- Server A – グローバルIPアドレスを持つ。
- Server B – 2つのNIC を持っている。 一つの NICは、グローバルIPアドレスを持ち、もう一つの NIC は、ローカルIPアドレスを持つ。
- Server C – 一つのローカルIPアドレスを持つ。Router Y は、UDPの SIPポート(5060) と RTPポート (10000-29999) をこのサーバの IPアドレスにポートフォワーディングしている。
ルーター
- Router X, Router Y – それぞれのローカルエリアネットワークのルーター
SIP UA
- UA 1, UA 2 – グローバルIPアドレスを持つ。
- UA 3, UA 4 – ローカルIPアドレスを持つ。Server B を経由して、外部と SIP接続する。
- UA 5, UA 6 – ローカルIPアドレスを持つ。Router Y を経由して、外部と SIP接続する。
- UA 7, UA 8 – ローカルIPアドレスを持つ。Router X を経由して、外部と SIP接続する。
概要:
Brekeke SIP Server は、Near-End NATトラバーサルと、Far-End NATトラバーサルの両方をサポートしています。上の構成図のすべての UA は、他のどのSIPサーバに対しても REGISTER でき、同じサーバに REGISTER されている UA同士は、SIP-RTP セッションを確立することができます。
例えば、UA 1 と UA 5 が Server B に REGISTER されている時、UA 1 と UA 5 は、お互いに INVITE による呼び出しを行うことができ、RTPを交換しコミュニケーション可能です。もし、UA 3 と UA 6 が、Server C に REGISTERされているのであれば, UA 3 と UA 6 は、コミュニケーション可能です。また、それぞれの Brekeke SIP Server に対して、相互に適切なルーティング設定を行えば、異なる Server に REGISTER されている UA 同士もコミュニケーション可能です。
Brekeke SIP Server は、ほとんどのネットワーク環境に適用可能です。複数の Brekeke SIP Servers は、柔軟な設定により連携が可能です。また、Brekeke SIP Server は、多くのメジャーな他社製 SIPサーバとの相互接続も可能です。
Near-End NATトラバーサル
SIP UA が、Brekeke SIP Server と同じネットワーク上に存在するとき、Brekeke SIP Server が Near-End NATトラバーサルを行うことで、そのUAが、インターネット上の(もしくは、異なるネットワーク上の)SIP UA との SIP-RTP セッションを確立できます。
上記の構成図では、UA 3、もしくは UA 4 が、Server B を通じて外部との接続を行うとき、UA 5、もしくは UA 6 が、Server C.を通じて外部との接続を行うときに、Server B、 Server C は、Near-End NATトラバーサルを行います。
Far-End NATトラバーサル
ローカルネットワーク上の SIP UA が、そのローカルネットワークの外にある Brekeke SIP Server を通じて、他の UA と接続されるとき、Brekeke SIP Server は、Far-End NATトラバーサルを行います。
上の構成図では、Server A は、ローカルネットワークにある UA (UA 3, 4, 5, 6, 7, 8) のいずれかと接続を処理するとき、Far-End NATトラバーサルを行います。 Server B は、UA 5, 6, 7, 8 のいずれかと接続を処理するとき、Server C は、3, 4, 7, 8 のいずれかと接続を処理するとき、Far-End NATトラバーサルを行います。
注意:
SIP UA が、STUN や UPnP など、UAとしての NATトラバーサルを行うとき、Brekeke SIP Server 側では、Far-End NATトラバーサルを行いません。よって、SIP UAの NATトラバーサル機能がうまく機能しない場合は、UAの設定で NATトラバーサルを無効にすることで、問題が解決できる場合があります。
※ Brekeke SIP Server 自身は、STUNサーバとしての機能は持っていません。基本的に Brekeke SIP Server を使う場合に、STUNを使う必要性はありませんが、STUNを用いる場合は、他社製のSTUNサーバやサービスを利用してください。