\section{Changes Made in Version 03}

\begin{itemize}
% hgs 12/30/00
\item Description of \header{Route} and \header{Record-Route} moved to
separate section, Section~\ref{sec:rr}, which is new. All UAs must now
support this mechanism (Section~\ref{sec:minimal}).

% hgs 12/09/00
\item Removed status code 411, since it cannot occur (Jonathan
Rosenberg, James Jack).

% hgs 12/03/00
\item Rewrote \header{Record-Route} section to reflect new mechanism. In
particular, requests from callee to caller now use the same path as in
the opposite direction, without substituting the \header{From} header
field values. The \header{maddr} parameter is now optional.

% hgs 12/03/00
\item Disallowed SIP URLs that only have a password, without a user
name. The prototype from RFC 1738 also doesn't allow this.

% hgs 03/14/010
\item Allow registrar to set the expiration time.

% hgs 03/15/00
\item \header{CSeq} (Section~\ref{sec:CSeq}) is counted within a call
leg, not a call.

% hgs 03/15/00
\item Removed wording that connection closing is equivalent to {\CANCEL}
or 500. This does not work for connections that are used for multiple
transactions and has other problems.

%jdr 5/19/01
\item Cleaned up CSeq section. Removed text about inserting
\header{CSeq} method when it is absent. Clarified that CSeq increments
for all requests, not just invite. Clarified that all out of order
requests, not just out of order INVITE, are rejected with a 400 class
response. Clarified the meaning of ``initial'' sequence
number. Clarified that after a request forks, each 200 OK is a
separate call leg, and thus, separate CSeq space. Clarified that CSeq
numbers are independent for each direction of a call leg.

%jdr 5/19/01
\item Massive reorganization and cleanup of the SDP
section. Introduced the concept of the offer-answer model. Clarified
that set of codecs in m line are usable all at the same time. Inserted
size restriction on representation of values in o line. Explicitly
describe forked media. New media lines for adding streams appear at
the bottom of the SDP (used to say append).

%jdr 5/19/01
\item Removed Also.

%jdr 5/20/01
\item Added text to Require and Proxy-Require sections, making it a
SHOULD to retry the request without the unsupported extension.

%jdr 5/20/01
\item Added text to section on 415, saying that UAC 
SHOULD retry the request without the unsupported body.

%jdr 5/20/01
\item Added text to section on CANCEL and ACK, clarifying much of the
behavior.

%jdr 5/22/01
\item Modified Content-Type to indicate that it can be present even if
the body is empty.

%jdr 5/25/01
\item From tags mandatory

%jdr 5/25/01
\item Old text said that if you hang up before sending an {\ACK}, you
need not send the {\ACK}. That is wrong. Text fixed so that an {\ACK} is
always sent.

%jdr 5/25/01
\item Old text said that if you never got a response to an {\INVITE}, the
UAC should send both an {\INVITE} and {\CANCEL}. This doesn't make
sense. Rahter, it should do nothing and consider the call terminated.

%jdr 5/25/01
\item Added text that says pending requests are responded to with a
487 if a {\BYE} is received.

%jdr 5/25/01
\item Updated section 2.2, so that its clear that \header{Contact} is
not used with {\BYE}.

%jdr 5/25/01
\item Clarified Via processing rules. Added text on handling loops
when proxies route on headers besides the request URI. Added text on
handling case when sent-by contains a domain name. Added text to 6.47
on opening TCP connections to send responses upstream.

%hgs ??
\item Clarified that a 1xx with an unknown xx is not the same as the
100 response.

%jdr 5/29/01
\item Removed usage of \header{Retry-After} in {\REGISTER}.

%jdr 5/29/01
\item Clarified usage of persistent connections.

%jdr 5/29/01
\item Clarified that servers supporting HTTP basic or digest in
rfc2617 {\MUST} be backwards compatible with RFC 2069.

%jdr 5/29/01
\item Clarified that {\ACK} contains the same branch ID as the request
its acknowledging.

%jdr 5/29/01
\item Added definitions for spiral, B2BUA.

%jdr 5/29/01
\item Rephrased definitions for UAC, UAS, Call, call-leg, caller,
callee, making them more concrete. 

%jdr 5/29/01
\item URL comparison ignores parameters not present in both URLs only
for unknown parameters.

%jdr 5/29/01
\item Clarified that * in \header{Contact} is used only in {\REGISTER} with
\header{Expires} header zero. Mentioned * case in section on
\header{Contact} syntax.  

%jdr 5/29/01
\item Removed text that says a UA can insert a \header{Contact} in 2xx
that indicates the address of a proxy. Not likely to work in general.

%jdr 5/30/01
\item Removed SDP text about aligning media streams within a media
type to handle certain crash and restart cases. 

%jdr 5/28/01
\item Receiving a 481 to a mid-call request terminates that call
leg. Agreed upon at IETF 49.

%jdr 5/28/01
\item Introduced definition of regular transaction - non-{\INVITE}
excepting {\ACK} and {\CANCEL}.

%jdr 5/28/01
\item Clarified rules for overlapping transactions.

%jdr 5/28/01
\item Forking proxies {\MUST} be stateful (used to say
{\SHOULD}). Proxies that send requests on multicast {\MUST} be
stateful (used to say nothing)

%jdr 5/28/01
\item Text added recommending that registrars authorize that entity in
\header{From} field can register address-of-record in the \header{To}
field.

%jdr 5/28/01
\item Forwarding of non-100 provisionals upstream in a proxy changed
from {\SHOULD} to {\MUST}.

%jdr 5/28/01
\item Removed PGP.


\end{itemize}
