> From: Tamar Barzuza
> 
> As depicted by the 'INVITE server transaction' state-machine 
> (Figure 7),
> the invite server transaction MUST move to the 'Terminated' state upon
> sending 2xx. Moreover, section 17.2.1 instructs that "once the
> transaction is in the 'Terminated' state, it MUST be destroyed
> immediately".

The confusion arises because the description in section 17.2.1 applies only
to the "transaction state" layer of the processor.  Below that layer is the
"message state" layer.  It is the message state layer that is responsible
for retransmitting responses to duplicate requests.  So when the first
INVITE arrives and the 2xx is sent, the message state layer remembers that
the INVITE has a response of 2xx.  The transaction layer above it goes to
the Terminated state immediately, but the message state layer must remember
the information for the maximum retransmission interval.

When the second INVITE arrives, the message state layer determines that it
is a duplicate request and sends an exact copy of the 2xx response.  It does
not pass the INVITE to the transaction state layer, and so no new
transaction is created.

How else would you expect it to work?

Dale
_______________________________________________
Sip-implementors mailing list
[email protected]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to