Accessibility

TechNote (Archived)

Issues with RTMP tunneling through proxy servers

Flash Communication Server uses the RTMP protocol (Real Time Message Protocol), which is Macromedia's proprietary TCP/IP protocol for streaming and data services. RTMP uses stateful TCP connections as opposed to the HTTP protocol, which has many stateless connections. Because of this, clients behind proxy servers cannot use the RTMP protocol natively. Flash Communication Server supports HTTP tunneling to get around this issue and extends services to the users behind proxy servers.

There are several issues to be aware of when setting up a Proxy Server to allow RTMP connections to tunnel through. Due to the nature of Flash Communication Server services, its connection should be persistent, which is different from stateless HTTP protocol. In order to support a persistent connection, HTTP keep-alive connections should be used to get proper and best performed Flash Communication Server services.

Here are configurations that may affect these keep-alive connections.

Flash Communication Server configuration

Since most proxy servers allow access to the regular webserver port, which is 80, Flash Communication Server should be setup and listening on port 80. When you set up port 80 with Flash Communication Server, you need to make sure there is no other service or application using the same port, for example a web server, unless you can configure different IPs for them.

In order to add this port to Flash Communication Servers listening ports, open the Adaptor.xml configuration file and add the port to the <HostPort> config tag.

Proxy server configuration

Proxy server configuration varies from vendor to vendor. Some provide a simple proxy service, while others have more sophisticated filtering mechanisms that check each HTTP packet.

  • Keep-alive option
    As explained above, Flash Communication Server requires a persistent connection for streaming and data services. The keep-alive option should be enabled, allowing a persistent connection to be maintained between the Flash Communication Server and the client.
  • Connection timeout setting
    If the proxy server has a timeout option for long running connections, this should be adjusted for the maximum amount of time a Flash Communication Server client may be connected to the server. For example, if your client is viewing a four minute streaming video, the value for this setting should minimally be four minutes.
  • MIME type setting
    If a proxy server is filtering based on HTTP MIME type, add the following MIME type for the Flash Communication Server streaming service.

    application/x-fcs
  • File download size option
    If the proxy server has an option to control the file download size, it should be adjusted for maximum data usage of Flash Communication Server streaming or data services. For example, if a client is expected to get a streaming service for a maximum of 20MB FLV streaming, the proxy server should be adjusted to allow this amount of data to be downloaded.

Additional Information


AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

Search Support

Document Details

ID:1ccfec30

Products Affected:

flashmediaserver