- Application Layer Gateway for FTP, ICMP, and TFTP Protocols
- Application Layer Gateway for PPTP Protocol
- Application Layer Gateway for SIP Protocol
- Application Layer Gateway for RTSP Protocol
Real Time Streaming Protocol (RTSP) is an application-level protocol for the transfer of real-time media data. Used for establishing and controlling media sessions between end points, RTSP is a control channel protocol between the media client and the media server. The typical communication is between a client and a streaming media server.
Streaming media from a private network to a public network requires translating IP addresses and port numbers over the network. NetScaler functionality includes an Application Layer Gateway (ALG) for RTSP, which can be used with Large Scale NAT (LSN) to parse the media stream and make any necessary changes to ensure that the protocol continues to work over the network.
How IP address translation is performed depends on the type and direction of the message, and the type of media supported by the client-server deployment. Messages are translated as follows:
The RTSP ALG does not support the following:
The following figure shows an RTSP SETUP request flow. Typically, a SETUP request specifies how a single media stream must be transported. The request contains the media stream URL and a transport specifier. This specifier typically includes one local port for receiving RTP data (audio or video), and another for receiving RTCP data (meta information). The server reply usually confirms the chosen parameters and fills in the missing parts, such as the server's chosen ports. Each media stream must be configured by using the SETUP command before an aggregate play request can be sent.
In a typical RTSP communication, the media client in the public network sends a SETUP request to the media server in the private network. RSTP ALG intercepts the request and, in the media stream, replaces the public IP address and port number with the LSN pool IP address and LSN port number. The following figure shows the translation performed by a NetScaler appliance in the media stream for an outbound request:
The media server in the private network uses the LSN pool IP address and LSN port number to send a 200 OK response to the media client in the public network. The NetScaler RTSP ALG intercepts the response and replaces the LSN pool IP address and LSN port number with the public IP address and port number of the media client. The following figure shows the translation performed by a NetScaler appliance in the media stream for an inbound response:
Configure RTSP ALG as part of the LSN configuration. For instructions on configuring LSN, see Configuration Steps for LSN. While configuring LSN, make sure that you:
>enable ns feature WL SP LB CS LSN Done >set lsn parameter -memLimit 2100 Done >add lsn pool pool1 -nattype DETERMINISTIC Done >bind lsn pool pool1 10.102.218.246 Done >add lsn client client1 Done >bind lsn client client1 -network 220.127.116.11 -netmask 255.255.255.0 Done >add lsn appsprofile app1 TCP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT Done >add lsn appsprofile app2 UDP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT Done >bind lsn appsprofile app1 1-65535 Done >bind lsn appsprofile app2 1-65535 Done >add lsn rtspalgprofile rtspalgprofiledefault -rtspIdleTimeout 1000 -rtspportrange 554 Done >add lsn group group1 -clientname client1 -nattype DETERMINISTIC -portblocksize 512 -rtspalg ENABLED Done >bind lsn group group1 -poolname pool1 Done >bind lsn group group1 -appsprofilename app1 Done >bind lsn group group1 -appsprofilename app2 Done >bind lsn group group1 -rtspalgprofilename rtspalgprofiledefault Done