README about RTSP Proxy
-----------------------

The RTSP proxy is an application-specific proxy which would normally be 
run in a border zone or perimeter network.  It is used to give client 
machines within a protected network access to streaming servers outside 
that network, in the case when the firewall blocks RTSP connections or 
RTP/UDP data flow.  The firewall perimeter network is usually configured 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
   
The proxy usually sits within the perimeter network, between an 'inner 
skin' and 'outer skin', which have different configurations, of course, to 
allow the flows above.
      
Note that RTSP runs over TCP; the normal connection port is 554 (but see 
below).  Note that 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.

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 safety, do not restrict 
port number access to the RTSP proxy; use only the IP address.

Note that this proxy handles standard RTSP controlling standard RTP;  RTSP 
can be used to control other media protocols, and is used by a number of 
companies to control proprietary media protocols.  This proxy does not 
attempt to proxy those other protocols.  For more information on these 
protocols, consult the Internet Engineering Task Force documentation:

RTSP <http://info.internet.isi.edu:80/in-notes/rfc/files/rfc2326.txt>
RTP  <http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1889.txt>


Platforms
---------

The RTSP Proxy has been built for a variety of platforms, including
	IRIX 6.x
	Solaris 2.x
	RedHat Linux 5.0 x86
	Cobalt Linux mips
	
	
License
-------

The proxy is supplied to you by Apple Computer under license.  The license 
is included in the download, and can be inspected by clicking here.  You 
must agree to the license in order to build and use the proxy.


	
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. 


How To Use
----------
The application must reside on a machine that can see both the Internet, and
your internal network. This would be your Bastion Host, or another machine
in your Perimeter Network.

Install the RTSP Proxy in a reasonable place on your machine.
Edit the qts_proxy.conf file and put in the appropriate place for your
machine (see below).
Launch the application.

For your client machines: Open the QuickTime (Win32) or QuickTime Settings (Mac)
control panel. Select <Proxy> from the popup menu and then select the
[ ] Use Proxy checkbox. Type in the name of your proxy server in the Name:
field, and the port you configured in the qts_proxy.conf file (or 554 as a default).


	Put qts_proxy.conf in the /etc/ folder.
	Launch the rtsp_proxy application (ie. #/sbin/rtsp_proxy)
	Use the -s command line option for constantly updating status.
	Use the -h command line option for a description of the other command
	line options.
	NOTE: You must run as root to enable the default port 554 for reception.


How It Works
------------

The RTSP 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 RTSP Proxy will only relay data that comes from a server that the data was
requested from.

How To Build
------------

	cd proxy_unix
	make [sun|sgi|linux|rhap]

