\section{The \header{Resource-Priority} and
\header{Accept-Resource-Priority} SIP Header Fields}
\label{sec:header}

This document defines the \header{Resource-Priority} and
\header{Accept-Resource-Priority} SIP header fields.  The
\header{Resource-Priority} header field marks a SIP request as desiring
prioritized resource access, as described in the introduction.  

In responses, the \header{Resource-Priority} header fields indicates the
actual resource priority that was granted to the request.  While it is
usually the same value contained in the request, implementations {\MAY}
insert a different value based on local policy.

The SIP element behavior is described for UACs in Section~\ref{sec:uac},
for UAS in Section~\ref{sec:uas}, for proxies in
Section~\ref{sec:proxy}.  The syntax of the \header{Resource-Priority}
header field is as follows:

\begin{syntax}
Resource-Priority  & = & "Resource-Priority" HCOLON \\
                   &   & (*COMMA Resource-value)\\
Resource-value     & = & namespace "." priority\\
namespace          & = & alphanum / "-"\\
priority           & = & alphanum / "-"\\
\end{syntax}

An example header field is:

\begin{verbatim}
Resource-Priority: q735.1
\end{verbatim}

The \header{Resource-value} parameter in the \header{Resource-Priority}
header indicates the resource priority desired by the request
originator.  Since a request may traverse multiple administrative
domains with multiple different namespaces, it is necessary to be able
to enumerate several different namespaces.  However, each namespace
{\MUSTNOT} appear more than once in a SIP message.

Each resource value is formatted as ``namespace'' ``.'' ``priority
value''.  The value is drawn from the namespace identified by the
\header{namespace} token.  Namespaces and priorities are
case-independent ASCII.  Each namespace has at least one priority value. 
Namespaces and priority values within each namespace are registered with
IANA (Section~\ref{sec:iana}); some initial namespaces are described in
Section~\ref{sec:namespace}. 

There may be multiple resource values or, equivalently, multiple
\header{Resource-Priority} header fields.

The \header{Accept-Resource-Priority} response header field indicates
what resource values the SIP element supports.  The syntax of the
\header{Accept-Resource-Priority} header field is as follows:

\begin{syntax}
Accept-Resource-Priority  &=& "Accept-Resource-Priority" HCOLON \\
                   & & Resource-value (*COMMA Resource-value)
\end{syntax}

Example:

\begin{verbatim}
Accept-Resource-Priority: dsn.flash-override,
  dsn.flash, dsn.immediate, dsn.priority, dsn.routine
\end{verbatim}

\begin{flushleft}
\begin{tabular}{lcccccccc}
Header field                  & where & proxy &INV&UPD&MES&OPT&NOT&SUB\\
\hline
\header{Resource-Priority}        & R   & amd & o & o & o & - & o & o \\
\header{Resource-Priority}        & 200 & -   & o & o & o & - & o & o \\
\header{Accept-Resource-Priority} & 200 & -   & o & o & - & o & - & - \\
\header{Accept-Resource-Priority} & 417 & -   & m & m & m & - & m & m \\
\header{Accept-Resource-Priority} & 420 & -   & m & m & m & - & m & m \\
\end{tabular}
\end{flushleft}

Use of the header fields in requests with methods such as {\ACK},
{\BYE}, {\CANCEL}, {\INFO}, {\PRACK} and {\REGISTER} are unlikely to be
meaningful and the header field {\MAY} be ignored by recipients of such
requests.  (Other request methods {\MAY} define their own handling
rules; unless otherwise specified, recipients {\MAY} ignore these header
fields.) \header{Accept-Resource-Priority} is only returned in 420 (Not
Supported) responses if the element supports the resource priority
mechanism, but does not support the particular namespace or priority
value.

There is no requirement that all requests within a SIP dialog or call
use the \header{Resource-Priority} header field.
