Citrix ADC

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. Citrix ADC 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:

  • Outbound request—Private IP address to Citrix ADC owned public IP address called LSN IP address.
  • Inbound response—LSN IP address to private IP address.
  • Inbound request—No translation.
  • Outbound response—Private IP address to LSN pool IP address.


RTSP ALG is supported in a Citrix ADC standalone appliance, in a Citrix ADC high availability setup, as well as in a Citrix ADC cluster setup.

Limitations of RTSP ALG

The RTSP ALG does not support the following:

  • Multicast RTSP sessions
  • RTSP session over UDP
  • Admin partitions
  • RTSP Authentication
  • HTTP tunneling

Configuring RTSP ALG

Configure RTSP ALG as part of the LSN configuration. For instructions on configuring LSN, see Configuring Large Scale NAT64. While configuring, make sure that you:

  • Set the following parameters while adding an LSN application profile:
    • IP Pooling = PAIRED
    • Address and Port Mapping = ENDPOINT-INDEPENDENT
  • Enable RTSP ALG in the LSN group
  • Create a RTSP ALG profile and bind the RTSP ALG profile to the LSN group

To enable RTSP ALG for an LSN configuration by using the CLI

At the command prompt, type:

add lsn group <groupname> -clientname <string> [-rtspalg ( ENABLED | DISABLED )]

show lsn group <groupname>

To enable RTSP ALG for an LSN configuration by using the CLI

At the command prompt, type:

add lsn rtspalgprofile <rtspalgprofilename> [-rtspIdleTimeout <positive_integer>] -rtspportrange <port[-port]> [-rtspTransportProtocol (TCP|UDP)]

show lsn rtspalgprofile <rtspalgprofilename>

Sample RTSP ALG Configuration

The following sample large scale NAT64 configuration, RTSP ALG is enabled for TCP traffic from subscriber devices in the network 2001:DB8:1002::/96.

add lsn client LSN-NAT64-CLIENT-9
bind lsn client LSN-NAT64-CLIENT-9 -network6 2001:DB8:1002::/96
add lsn pool LSN-NAT64-POOL-9
bind lsn pool LSN-NAT64-POOL-9
add lsn ip6profile LSN-NAT64-PROFILE-9 -type NAT64 -natprefix 2001:DB8:309::/96
add lsn appsprofile LSN-NAT64-APPS-PROFILE-9 TCP -ippooling PAIRED –mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT
add lsn rtspalgprofile RTSPALGPROFILE-9 -rtspIdleTimeout 1000 -rtspportrange 554
add lsn group LSN-NAT64-GROUP-9 -clientname LSN-NAT64-CLIENT-9 -ip6profile LSN-NAT64-PROFILE-7 -rtspalg ENABLED
bind lsn group LSN-NAT64-GROUP-9 -poolname LSN-NAT64-POOL-9
bind lsn group LSN-NAT64-GROUP-9 -appsprofilename LSN-NAT64-APPS-PROFILE-9
bind lsn group LSN-NAT64-GROUP-9  -rtspalgprofilename RTSPALGPROFILE-9
Application Layer Gateway for RTSP Protocol