Hi 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, http://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/v126.96.36.19900 [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/188.8.131.5280 [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: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials
The Server App-V Team blog: http: http://blogs.technet.com/b/serverappv