The latest version of the "LIVE555 Streaming Media" software supports a new, 
custom RTSP command: "REGISTER".  This request is currently non-standard; 
however, I will shortly be submitting an IETF Internet-Draft document that 
describes it.

This command can be used to 'advertise' a RTSP stream (given by a "rtsp://" 
URL) to a client application, or to a proxy server.  In particular, a server 
can use this command to advertise one of its own streams to a client 
application (or proxy server), which then gets to reuse the TCP connection on 
which it received the request.  This can be useful if the server is behind a 
firewall or NAT (e.g., on a mobile phone data network), but the client 
application (or proxy server) is on the public Internet.

For (non-proxy) Servers:
====================
A LIVE555-based server application can 'advertise' one of its streams - 
described by a "ServerMediaSession" object in a "RTSPServer" - by calling the 
new member function:
           "RTSPServer::registerStream()"
specifying the remote client application (or proxy server)'s name or IP 
address, and port number.  This will send a "REGISTER" request, advertising the 
stream.

For Proxy Servers:
===============
To create a proxy server that automatically accepts incoming stream 
'advertisements' (i.e., "REGISTER" requests), and proxies the advertised 
"rtsp://" URL for each such incoming request, create a
         "RTSPServerWithREGISTERProxying"
rather than a usual "RTSPServer".
(see "liveMedia/include/RTSPServer.hh").
(For an illustration of this, note how we implement the new '-R' command-line 
option for the "LIVE555 Proxy Server".)

For Client Applications:
===================
A client application can create a simple server that accepts incoming 
'advertisements' (i.e., "REGISTER" requests), and then automatically creates a 
new "RTSPClient" object to handle the "rtsp://" URL specified by each such 
incoming request.  To do this, create a
         "HandlerServerForREGISTERCommand"
object, by calling
        "HandlerServerForREGISTERCommand::createNew()"
(see "liveMedia/include/RTSPClient.hh").
(For an illustration of this, note how we implement the new '-R' command-line 
option for the "openRTSP" application.)


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to