SIPプロトコル用のアプリケーションレイヤーゲートウェイ
-
RFC 3261
-
RFC 3581
-
RFC 4566
-
RFC 4475
SIP ALG の仕組み
-
インバウンドリクエスト
-
アウトバウンドレスポンス
-
アウトバウンドリクエスト
-
インバウンドレスポンス
-
LSN プールの IP アドレスとポートはプライベートクライアントに代わって行われます。これにより、パブリックネットワークからこの IP アドレスとポートに到着したメッセージは SIP メッセージとして扱われます。
-
パブリッククライアントに代わってパブリック IP アドレスとポート。これにより、プライベートネットワークからこの IP アドレスとポートに到着したメッセージは SIP メッセージとして扱われます。
-
経由
-
連絡
-
Route
-
レコードルート
INVITE adam@10.102.185.156 SIP/2.0 Via: SIP/2.0/UDP 192.170.1.161:62914 From: eve@10.120.210.3 To: adam@10.102.185.156 Call-ID: a12abcde@10.120.210.3 Contact: adam@10.102.185.156 Route: <sip:netscreen@10.150.20.3:5060> Record-Route: <sip:netscreen@10.150.20.3:5060>
-
c= (接続情報)このフィールドは、セッションレベルまたはメディアレベルで表示できます。次の形式で表示されます。c=
<network-type><address-type><connection-address>宛先 IP アドレスがユニキャスト IP アドレスの場合、SIP ALG は m= フィールドで指定された IP アドレスとポート番号を使用してピンホールを作成します。 -
m= (メディアアナウンス)このフィールドはメディアレベルで表示され、メディアの説明が含まれます。次の形式で表示されます。m=
<media><port><transport><fmt list> -
a=
(information about the media field)このフィールドは、セッションレベルまたはメディアレベルで、次の形式で表示できます。a=<attribute>a=<attribute>:<value>
| インバウンドリクエスト (パブリックからプライベートへ) | 変更後: | なし |
| From | なし | |
| Call-ID | なし | |
| 経由 | なし | |
| Request-URI | LSN プールの IP アドレスをプライベート IP アドレスに置き換える | |
| 連絡先 | なし | |
| レコードルート | なし | |
| ルート | なし | |
| アウトバウンドレスポンス(プライベートからパブリックへ) | 変更後: | なし |
| From | なし | |
| Call-ID | なし | |
| 経由 | なし | |
| Request-URI | プライベート IP アドレスを LSN プール IP アドレスに置き換える | |
| 連絡先 | プライベート IP アドレスを LSN プール IP アドレスに置き換える | |
| レコードルート | なし | |
| ルート | なし | |
| アウトバウンドリクエスト (プライベートからパブリックへ) | 変更後: | なし |
| From | なし | |
| Call-ID | なし | |
| 経由 | プライベート IP アドレスを LSN プール IP アドレスに置き換える | |
| Request-URI | なし | |
| 連絡先 | プライベート IP アドレスを LSN プール IP アドレスに置き換える | |
| レコードルート | なし | |
| ルート | なし | |
| インバウンドレスポンス (公開から非公開へ) | 変更後: | なし |
| From | なし | |
| Call-ID | なし | |
| 経由 | LSN プールの IP アドレスをプライベート IP アドレスに置き換える | |
| Request-URI | なし | |
| 連絡先 | パブリック IP アドレス (存在する場合) を保存 | |
| レコードルート | なし | |
| ルート | なし |
SIP ALG の制限事項
-
SDP ペイロードのみがサポートされます。
-
以下はサポートされていません:
-
マルチキャスト IP アドレス
-
暗号化された SDP
-
TLS をスキップ
-
FQDN トランスレーション
-
SIP レイヤー認証
-
TD/partitioning
-
マルチパートボディ
-
IPv6 ネットワーク経由の SIP メッセージ
-
ラインフォールディング
-
テスト済みの SIP クライアントとプロキシサーバー
-
SIPクライアント: エックスライト、ゾイパー、エキガ。Avaya
-
プロキシサーバー:OpenSIPS
LSN SIP シナリオ:プライベートネットワーク (パブリックネットワーク) 外の SIP プロキシ
SIP クライアント登録
発信コール
着信コール
通話終了
同じネットワーク内のクライアント間のコール
その他の LSN SIP シナリオ:プライベートネットワーク内の SIP プロキシ
-
プライベート SIP プロキシのスタティック LSN マッピングを設定します。詳細については、 スタティック LSN マップの設定を参照してください。NAT ポートが SIP ALG プロファイルで設定されているポートと同じであることを確認します。
-
非武装地帯 (DMZ) 内に SIP プロキシサーバを設定します。
-
シナリオ 1:プライベートネットワークの SIP クライアントは、同じネットワーク内の SIP プロキシサーバに登録されます。SIP クライアントと SIP プロキシサーバは同じネットワークにあるため、ALG 操作は実行されません。
-
シナリオ 2:パブリックネットワークの SIP クライアントは、プライベートネットワークの SIP プロキシサーバに登録されます。パブリックSIPクライアントからのREGISTERメッセージは、アプライアンス上で構成された静的LSNマッピングを使用してNetScalerアプライアンスに送信され、アプライアンスはさらにSIP操作を行うためのピンホールを作成します。
-
シナリオ 3:SIP 着信コールフローSIP 着信コールは、外部ネットワークから内部ネットワークへの SIP INVITE メッセージで開始されます。NetScalerアプライアンスは、NetScalerアプライアンスで構成された静的LSNマップを介して、外部ネットワークにあるSIPクライアントC2からINVITEメッセージを受信します。アプライアンスはピンホールを作成し、INVITE メッセージを SIP プロキシに転送します。次に、SIP プロキシは INVITE メッセージを内部ネットワークの SIP クライアント C1 に転送します。次に、SIPクライアントC1は180件と200件のOKメッセージをSIPプロキシに送信し、SIPプロキシはそのメッセージをNetScalerアプライアンスを介してSIPクライアントC2に転送します。 内部SIPクライアントC1から送信された200 OK応答メッセージがNetScalerに到着すると、SIP ALGはVia、Contact、Route、Record-RouteのSIPヘッダーフィールドとSDPフィールドのIPアドレスとポート番号にNATを実行し、それらをLSNプールのIPアドレスとポート番号に置き換えます。次に、SIP ALG は応答メッセージを SIP クライアント C2 に転送し、送信方向にピンホールを開いてさらにの SIP 通信を行います。
監査ログのサポート
-
タイムスタンプ
-
SIP メッセージのタイプ (SIP 要求など)
-
SIP クライアントの送信元 IP アドレスとポート
-
SIP プロキシの宛先 IP アドレスとポート
-
NAT IP アドレスとポート
-
SIP メソッド
-
シーケンス番号
-
SIP クライアントが登録されているかどうか
-
発信者のユーザー名とドメイン
-
受信者のユーザー名とドメイン
07/19/2013:09:49:19 GMT Informational 0-PPE-0 : default ALG ALG_SIP_INFO_PACKET_EVENT 169 0 : Infomsg: "SIP request" - Group: g2 - Call_ID: NTY0YjYwMTJmYjNhNDU5ZjlhMmQxOTM5ZTE3Zjc3NjM. - Transport: TCP - Source_IP: 192.169.1.165 - Source_port: 57952 - Destination_IP: 10.102.185.156 - Destination_port: 5060 - Natted_IP: 10.102.185.191 - Natted_port: 10313 - Method: REGISTER - Sequence_Number: 3060 - Register: YES - Content_Type: - Caller_user_name: 156_pvt_1 - Callee_user_name: 156_pvt_1 - Caller_domain_name: - Callee_domain_name: -
07/19/2013:09:49:19 GMT Informational 0-PPE-0 : default ALG ALG_SIP_INFO_PACKET_EVENT 170 0 : Infomsg: "SIP response" - Group: g2 - Call_ID: NTY0YjYwMTJmYjNhNDU5ZjlhMmQxOTM5ZTE3Zjc3NjM. - Transport: TCP - Response_code 200 - Source_IP: 10.102.185.156 - Source_port: 5060 - Destination_IP: 192.169.1.165 - Destination_port: 57952 - Natted_IP: 10.102.185.191 - Natted_port: 10313 - Sequence_Number: 3060 - Content_Type: - Caller_user_name: 156_pvt_1 - Callee_user_name: 156_pvt_1 - Caller_domain_name: - Callee_domain_name: -
SIP ALG の設定
-
LSN アプリケーションプロファイルを追加する際に、次のパラメータを設定します。
-
IP プーリング = ペアリング
-
アドレスとポートのマッピング = エンドポイントに依存しない
-
フィルタリング = エンドポイントに依存しない
-
add lsn appsprofile app_tcp TCP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT
-
SIP ALG プロファイルを作成し、送信元ポート範囲または宛先ポート範囲のいずれかを定義していることを確認します。
add lsn sipalgprofile sipalgprofile_tcp -sipsrcportrange 1-65535 -sipdstportrange 5060 -openViaPinhole ENABLED -openRecordRoutePinhole ENABLED –sipTransportProtocol TCP
-
LSN グループの作成時に、SIP ALG = ENABLED に設定します。
add lsn group g1 -clientname c1 -sipalg ENABLED
-
SIP ALG プロファイルを LSN グループにバインドします。
add lsn pool p1
Done
bind lsn pool p1 10.102.185.190
Done
add lsn client c1
Done
bind lsn client c1 -network 192.170.1.0 -netmask 255.255.255.0
Done
add lsn appsprofile app_tcp TCP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT
Done
add lsn appsprofile app_udp UDP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT
Done
bind lsn appsprofile app_tcp 1-65535
Done
bind lsn appsprofile app_udp 1-65535
Done
add lsn sipalgprofile sipalgprofile_tcp -sipdstportrange 5060 -openViaPinhole ENABLED -openRecordRoutePinhole ENABLED –sipTransportProtocol TCP
Done
add lsn sipalgprofile sipalgprofile_udp -sipdstportrange 5060 -openViaPinhole ENABLED -openRecordRoutePinhole ENABLED -sipTransportProtocol UDP
Done
add lsn group g1 -clientname c1 -sipalg ENABLED
Done
bind lsn group g1 -poolname p1
Done
bind lsn group g1 -appsprofilename app_tcp
Done
bind lsn group g1 -appsprofilename app_udp
Done
bind lsn group g1 -sipalgprofilename sipalgprofile_tcp
Done
bind lsn group g1 -sipalgprofilename sipalgprofile_udp
Done