An error response to an INVITE terminates a transaction. The error MAY occur before the INVITE reaches the actual destination. Example is a 404 generated by a proxy because it cannot route the INVITE to an actual UA. A 200 Ok for an INVITE, however, can only be generated by the destination UA. The 200 Ok does not only terminate the transaction but confirms a dialog. Thus, there should be a guaranty that the 200 Ok actually reaches the INVITE initiator (caller). To guaranty this, the ACK should only come from the actual caller and not possible proxies in the middle.
Another way of looking at it is, when an error response is sent, the sender of the error response does not really care about a dialog getting established out of the response. Thus, the only use for a transaction that ended with an error response for an ACK is to stop the transaction from retransmitting the error response. However, for a 200 Ok final response, ACK is not merely intended to stop retransmission of the 200 Ok, but to confirm that the dialog is bidirectionally established between the caller and the callee. Joegen Hema R wrote: > Hi, > > > > What is the reason for including ACK in an INVITE transaction for a > non-2xx response and making it a separate transaction for a 2xx > response? > > Is there any specific reason from the design perspective? > > > > Thanks, > > Hema. > > > > ============================================================================================================================ > > Disclaimer: > > This message and the information contained herein is proprietary and > confidential and subject to the Tech Mahindra policy statement, you may > review the policy at <a > href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> > externally and <a > href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> > internally within Tech Mahindra. > > ============================================================================================================================ > _______________________________________________ > Sip-implementors mailing list > Sip-implementors@lists.cs.columbia.edu > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors > > > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors