<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>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.</div><div><br></div><div>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.</div><div><br></div><div>For (non-proxy) Servers:</div><div>====================</div><div>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:</div><div>           "RTSPServer::registerStream()"</div><div>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.</div><div><br></div><div>For Proxy Servers:</div><div>===============</div><div>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</div><div>         "RTSPServerWithREGISTERProxying"</div><div>rather than a usual "RTSPServer".</div><div>(see "liveMedia/include/RTSPServer.hh").</div><div>(For an illustration of this, note how we implement the new '-R' command-line option for the "LIVE555 Proxy Server".)</div><div><br></div><div>For Client Applications:</div><div>===================</div><div>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</div><div>         "HandlerServerForREGISTERCommand"</div><div>object, by calling</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>"HandlerServerForREGISTERCommand::createNew()"</div><div>(see "liveMedia/include/RTSPClient.hh").</div><div>(For an illustration of this, note how we implement the new '-R' command-line option for the "openRTSP" application.)</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>