\section{Status Code Definitions}
\label{sec:status}

Where applicable, HTTP status [H10] codes are reused.  Status codes
that have the same meaning are not repeated here.  See
Table~\ref{tab:status} for a listing of which status codes may be
returned by which requests.

\subsection{Success 2xx}

\subsubsection{250 Low on Storage Space}

The server returns this warning after receiving a \header{RECORD}
request that it may not be able to fulfill completely due to
insufficient storage space.  If possible, the server should use the
\header{Range} header to indicate what time period it may still be able
to record.  Since other processes on the server may be consuming storage
space simultaneously, a client should take this only as an estimate.

\subsection{Redirection 3xx}

See [H10.3].

Within RTSP, redirection may be used for load balancing or redirecting
stream requests to a server topologically closer to the client. 
Mechanisms to determine topological proximity are beyond the scope of
this specification.

\subsection{Client Error 4xx}


\subsection{400 Bad Request}

The request could not be understood by the server due to malformed
syntax. The client SHOULD NOT repeat the request without modifications
[H10.4.1]. If the request does not have a \header{CSeq} header, the server
MUST not include a \header{CSeq} in the response.

\subsubsection{405 Method Not Allowed}

The method specified in the request is not allowed for the resource
identified by the request URI.  The response {\MUST} include an
\header{Allow} header containing a list of valid methods for the
requested resource.  This status code is also to be used if a request
attempts to use a method not indicated during {\SETUP}, e.g., if a
{\RECORD} request is issued even though the \header{mode} parameter in
the \header{Transport} header only specified {\PLAY}.

\subsubsection{451 Parameter Not Understood}

The recipient of the request does not support one or more parameters
contained in the request.

\subsubsection{452 Conference Not Found}

The conference indicated by a \header{Conference} header field is
unknown to the media server.

\subsubsection{453 Not Enough Bandwidth}

The request was refused because there was insufficient bandwidth.  This
may, for example, be the result of a resource reservation failure.

\subsubsection{454 Session Not Found}

The RTSP session identifier in the \header{Session} header is missing,
invalid, or has timed out.

\subsubsection{455 Method Not Valid in This State}

The client or server cannot process this request in its current state. 
The response {\SHOULD} contain an \header{Allow} header to make error
recovery easier.

\subsubsection{456 Header Field Not Valid for Resource}

The server could not act on a required request header.  For example, if
\header{PLAY} contains the \header{Range} header field but the stream
does not allow seeking.

\subsubsection{457 Invalid Range}

The \header{Range} value given is out of bounds, e.g., beyond the end of
the presentation.

\subsubsection{458 Parameter Is Read-Only}

The parameter to be set by \header{SET\_PARAMETER} can be read but
not modified.

\subsubsection {459 Aggregate Operation Not Allowed}
\label{sec:error459}

The requested method may not be applied on the URL in question since it
is an aggregate (presentation) URL.  The method may be applied on a
stream URL.

\subsubsection {460 Only Aggregate Operation Allowed}

The requested method may not be applied on the URL in question since it
is not an aggregate (presentation) URL.  The method may be applied on
the presentation URL.

\subsubsection {461 Unsupported Transport}

The \header{Transport} field did not contain a supported transport
specification.

\subsubsection {462 Destination Unreachable}

The data transmission channel could not be established because the
client address could not be reached.  This error will most likely be the
result of a client attempt to place an invalid \header{Destination}
parameter in the \header{Transport} field.

\subsection{Server Error 5xx}

\subsubsection {551 Option not supported}

An option given in the \header{Require} or the \header{Proxy-Require}
fields was not supported.  The \header{Unsupported} header should be
returned stating the option for which there is no support.
