\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, which is new. All UAs must now
support this mechanism.

% 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 \header{Require} and \header{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 \header{Content-Type} to indicate that it can be present
even if the body is empty.

%jdr 5/25/01
\item \header{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 the SIP
element in \header{From} field can register address-of-record in the
\header{To} header 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}
