Hi Zhenyu,

Please check the section 17 of RFC3261.
There is a note:

     The reason for this separation is rooted in the importance of
     delivering all 200 (OK) responses to an INVITE to the UAC.  To
     deliver them all to the UAC, the UAS alone takes responsibility
     for retransmitting them (see Section 13.3.1.4), and the UAC alone
     takes responsibility for acknowledging them with ACK (see Section
     13.2.2.4).  Since this ACK is retransmitted only by the UAC, it is
     effectively considered its own transaction.


According to these, you can consider ACK has its own transaction: ACK transaction.

> BTW, the major function of transaction layer is for retransimition, is it right? This is not true. When a reliable transport is used, there is no retransmition.


Regards,
David

Zhenyu Wu wrote:

Hi David,

I agree with you after looking up RFC3261 again. There is another question which
is about ACK transaction or even SIP transaction.

Thers is such a sentence in RFC3261: "If the request is INVITE and the final response is a non-2xx, the transaction also includes an ACK to the response. The Ack for a 2xx resopnse to an INVITE request is a separate transaction." I agree
with the first part, but, how to make clear the second sentence? Is it a
transaction? But there is no transaction layer for ACK.

BTW, the major function of transaction layer is for retransimition, is it right?

Thanks,
Regards,
Zhenyu


>Hi Zhenyu,
>
> No transaction for ACK is not exactly true.
> For 3xx~6xx response, ACK request is part of the INVITE transaction.
> For 2xx response, ACK is generate and send by the UAC core, and no
> transaction is created.
>
> Regards,
> David
>
> Zhenyu Wu wrote:
>
> > Hello,
> >
> > We know, there is no transaction for ACK request. But in section 13.1
> > of RFC3261,
> > there is such a statement: "For final responses between 300 and 699,
> > the ACK
> > processing is done in the transaction layer and follows one set of
> > rules (See
> > Section 17). For 2xx responses, the ACK is generated by the UAC core".
> >
> > why the ACK processing is done in the transaction layer, as there is no
> > transaction for ACK request?
> >
> > Thanks,
> >
> > Zhenyu
> >
> >
> > _______________________________________________
> > Sip-implementors mailing list
> > [email protected]
> > http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
> >
>
>
>



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

Reply via email to