App-V Fix: Streaming RTSP may fail with the Citrix Netscaler Load Balancer

imageHi everyone, Steve Thomas here and today I wanted to talk about a recent issue where streaming may fail when using a Netscaler load balancer. Load balancers are common when using App-V in an RTSP streaming mode (one that leverages either the management server or the streaming server), however on some third-party load balancers special adjustments may be necessary. For example, streaming RTSP using the RTSP application rules may fail with the Citrix Netscaler Load Balancer.

When this occurs, the Netscaler log (nslog) will show the following entries (or similar):

5736 0 6 rtsp_err_session_creation_failed
5737 0 6 rtsp_err_parse_fail

According to the RTSP RFC, https://www.ietf.org/rfc/rfc2326.txt (Section 12.39 Transport) a client port is an expected parameter. This parameter provides the unicast RTP/RTCP port pair on which the client has chosen to receive media data and control information. is not complying to the standards for the RTSP setup messages.

In this setup message the Netscaler Load Balancer RTSP VIP is expecting a client port after the RTP/SDCP/TCP options in the Transport field but it is not being sent. Network traces will confirm this:

SETUP RTSP://SERVER:554/DIRECTORY/PACKAGE.sft RTSP/1.0
Transport: RTP/SDCP/TCP;unicast,RTP/SDCP/TCP;interleaved=0-1;unicast
SoftricityDirectoryID: dbec6b02-ea1e-46d7-bad1-21fb31c1c09b
SoftricityFileVersion: 4
SoftricityVersionGUID: 1c03b6db-012f-4062-ac0c-f4483f518d23
Connection: Keep-Alive
User-Agent: Microsoft Application Virtualization Desktop Client/v4.6.0.20200 [Win32; Windows NT]
Client-GUID: 00000000-0000-0000-0000-000000000000
Softricity-LogID: 5179
Bandwidth: 100000000
CSeq: 5
RTSP/1.0 200 OK
Server: Microsoft Application Virtualization Server/4.5.3.19480 [Win32; Windows NT 6.1]
Date: Mon, 02 Aug 2010 18:31:50 GMT
CSeq: 5
Session: 758460554
Transport: RTP/SDCP/TCP;unicast;server_port=49162-49163

In addition, the end users will get the following error when attempting to stream using the virtual address associated with the Netscaler RTSP VIP:

The Application Virtualization Server has returned an Internal System error. Report the following error code to your System Administrator.
Error code: 4604EE8-1690140A-200001CD

While the RTSP VIP rules included with the Citrix Netscaler comply with RFC 2326, Microsoft's RTSP implementation with App-V does not. This standard was developed for real time streaming media, and it was adapted for streaming applications.

 Netscaler users will have to use the following workaround on the Netscaler configuration: 
 1.)  RTSP will have to be supported at layer 4 instead of layer 7 ( the application layer).  You can set up a layer 4 VIP on the Netscaler like the following example:

add service appv1 appv1-corp TCP * add service appv2 appv2-corp TCP * add lb vserver Appv_Streaming TCP x.x.x.x * -persistenceType SOURCEIP bind lb vserver

NOTE: x.x.x.x denotes the IP address.

Hope this helps,

Steve Thomas | Senior Support Escalation Engineer

The App-V Team blog: https://blogs.technet.com/appv/

The WSUS Support Team blog: https://blogs.technet.com/sus/

The SCMDM Support Team blog: https://blogs.technet.com/mdm/

The ConfigMgr Support Team blog: https://blogs.technet.com/configurationmgr/

The SCOM 2007 Support Team blog: https://blogs.technet.com/operationsmgr/

The SCVMM Team blog: https://blogs.technet.com/scvmm/

The MED-V Team blog: https://blogs.technet.com/medv/

The DPM Team blog: https://blogs.technet.com/dpm/

The OOB Support Team blog: https://blogs.technet.com/oob/

The Opalis Team blog: https://blogs.technet.com/opalis

The Service Manager Team blog: http: https://blogs.technet.com/b/servicemanager

The AVIcode Team blog: http: https://blogs.technet.com/b/avicode

The System Center Essentials Team blog: http: https://blogs.technet.com/b/systemcenteressentials

The Server App-V Team blog: http: https://blogs.technet.com/b/serverappv

clip_image001 clip_image002