\section{Changes Made in Version 02}

\begin{itemize}
% hgs 12/07/00
\item Added ``or UAS'' in description of \header{received} headers in
Section~\ref{sec:Via}. This makes the response algorithm work
even if the last IP address in the \header{Via} is incorrect.

% hgs 11/23/00
\item Tentatively removed restriction that {\CANCEL} requests cannot
have \header{Route} headers.  (Billy Biggs)

% hgs 11/23/00
\item Tentatively added \header{Also} header for {\BYE} requests, as it
is widely implemented and a simple means to implement unsupervised call
transfer.  Subject to removal if there is protest. (Billy Biggs)

% 1999-04-19: Reported by Lucent
% Changed: hgs 11/23/00
\item If a proxy sends a request by UDP (TCP), the spec did not disallow
placing TCP (UDP) in the transport parameter of the \header{Via} field,
which it should.  Added a note that the transport protocol actually used
is included. 

% 1999-04-09: Reported by: HP
% Changed: hgs 11/23/00 
\item No default value for the \header{q} parameter in Contact is
defined.  This is not strictly needed, but is useful for consistent
behaviors at recursive proxies and at UAC's.  Now 0.5.

% hgs 11/23/00
\item Clarified that \header{To} and \header{From} tag values should be
different to simplify request matching when calling oneself.

% hgs 10/19/00
\item Removed ability to carry multiple requests in a single UDP packet
(Section~\ref{sec:Content-Length}).

% hgs 10/16/00
\item Added note that \header{Allow} {\MAY} be included in requests, to
indicate requestor capabilities for the same call ID.

% hgs 10/10/00
\item Added note to Section \ref{sec:Date} indicating that registrars
{\MUST} include the \header{Date} header to accomodate UAs that do not
have a notion of absolute time.

% hgs 10/04/00
\item Added note emphasizing that non-SIP
URIs are permissible in {\REGISTER}.

% hgs 10/01/00
\item Rewrote the server lookup section to be more precise and more like
pseudo-code, with nesting instead of ``gotos''.

\item Removed note 
\begin{quotation}
Note that the two URLs example.com and example.com:5060, while
considered equal, may not lead to the same server, as the former causes
a DNS SRV lookup, while the latter only uses the A record.
\end{quotation}
since that is no longer the case.

% hgs 09/13/00
\item Emphasized that proxies have to forward requests with unknown
methods.

% hgs 09/09/00
\item Aligned definition of call leg with URI comparison rules.

% hgs 09/04/00
\item Required that second branch parameter be globally unique, so that
a proxy can distinguish different branches in spiral scenarios similar
to the following, with record-routing in place:
\begin{verbatim}
       B  ---> P1 -------> P2 ------------> P1 ----------------> A
BYE B   B/1      P1/2,B/1    P2/3,P1/2,B/1    P1/4,P2/3,P1/2,B/1
\end{verbatim}
Here, A/1 denotes the \header{Via} entry with host A and branch
parameter 1. Also, this requires updating the definition of isomorphic
requests, since the \header{Request-URI} is the same for all {\BYE} that
are record-routed.

% hgs 09/04/00
\item Removed \header{Via} hiding from spec, for the following reasons:

\begin{itemize}
\item complexity, particularly hidden ``gotchas'' that surface at
various points (as in this instance);

\item interference with loop detection and debugging;

\item Unlike HTTP, where via-hiding makes sense since all data is
contained in the request or response, \header{Via}-hiding in SIP by
itself does nothing to hide the caller or callee, as address information
is revealed in a number of places:

\begin{itemize}
\item \header{Contact};
\item \header{Route}/\header{Record-Route};
\item SDP, including the o= and c= lines;
\item possibly accidental leakage in \header{User-Agent} header and
\header{Call-ID} headers.
\end{itemize}

\item Unless this is implemented everywhere, the feature is not likely
to be very useful, without the sender having any recourse such as
``don't route this request unless you can hide''.  It appears that
almost all existing proxies simply ignore the Hide header.
\end{itemize}

% hgs 09/03/00
\item Added \header{Error-Info} header field.

\end{itemize}
