The Darwin Streaming Proxy is an application-specific proxy that would normally be run in a border zone or perimeter network. It is used to give an intranet access to external streaming servers when a firewall would otherwise block RTSP connections or RTP/UDP data flow. The network is usually set up to allow:
- RTSP connections from within the network, as long as the destination is the proxy.
- RTSP connections to outside the network, as long as the source is the proxy.
- RTP datagrams to and from the proxy to the inner network.
- RTP datagrams to and from the proxy to the outside.
On the perimeter network, an "inner skin" and "outer skin" may use differing configurations to allow the flows above.
Notes:
1. RTSP runs over TCP, and the normal connection port is 554.
2. If the URL supplied by the client to the proxy includes a port number, then the proxy will attempt to connect to the server using that port number rather than the default 554.
3. RTP runs over UDP, and a range of ports may be used. Client-side ports are usually in a restricted range (starting at 6970), but servers cannot so easily restrict what ports they use. For best results, do not restrict port number access to the proxy; use only the IP address.
4. This proxy handles standard RTSP controlling standard RTP. RTSP can be used to control other media protocols, and a number of companies use it to control proprietary media protocols. This proxy does not attempt to proxy those other protocols. For more information on these protocols, please see:
To learn more about these specifications, see documentation from the
Internet Engineering Task Force
and search for the following:
- Real-Time Streaming Protocol (RTSP) - Article 2326
- Real-Time Transport Protocol (RTP) - Article 1889
License
The Darwin Streaming Server and Streaming Proxy is distributed under the terms of the Apple Public Source License. For more information, refer to the license terms at
http://www.publicsource.apple.com/ . The Apple Public Source License does not allow you to use the terms "QuickTime" or "QuickTime Streaming Server" in descriptions of products developed using Darwin Streaming Server or Streaming Proxy open source code, nor to use any Apple trademarks or logos associated with QuickTime and QuickTime Streaming Server.
How To Use
The application must reside on a computer that can access both the Internet and your intranet. This could be either your bastion host or another computer in your perimeter network. Follow these steps:
1. Install the Streaming Proxy in a reasonable place on your computer, such as: /usr/local/sbin
2. Edit the streamingproxy.conf file and place it in the /etc directory.
3. Launch the StreamingProxy application:
#/usr/local/sbin/StreamingProxy -c /etc/streamingproxy.conf
Notes:
You can launch the StreamingProxy application using the -h command line option for a description of the other command line options. The root user is required to enable default port 554 for reception.
Setting Up Clients
1. Open the QuickTime Settings control panel.
2. Select Streaming Proxy from the pop-up menu.
3. Click the checkbox to select RTSP Proxy Server.
4. Type in the IP address or domain name of your proxy server in the corresponding field. In the port field, you may enter either the default of 554 or another port that you designated in the streamingproxy.conf file.
How It Works
The Streaming Proxy listens on ports you specify for a RTSP command sequence. It parses the commands and redirects the command to the desired server. It also rewrites the RTSP commands to reflect the new set of port numbers that the proxy must use.
The Streaming Proxy only relays data that comes from a server from which data was requested.
Credits
This proxy includes software developed by the University of California, Berkeley, and its contributors. That included software is the regular expression code developed by Henry Spencer.