> Given the case where local transport is unable to 
> send a request due to the failure in establishing 
> the connection to the next hop, the condition must
> be treated as 503 (Service Unavailable) status code. 
> But there is a requirement that transaction layer 
> must submit an ACK for this response as stated in 
> RFC3261, Section 17.1.1.1 Overview of INVITE Client
> transaction:

The requirement does not apply to an internally generated 503 response (or 
whatever you use to communicate unable to send INVITE).

>    When in either the "Calling" or "Proceeding" states, reception of a
>    response with status code from 300-699 MUST cause the client
>    transaction to transition to "Completed".  The client transaction
>    MUST pass the received response up to the TU, and the client
>    transaction MUST generate an ACK request, even if the transport is
>    reliable (guidelines for constructing the ACK from the response are
>    given in Section 17.1.1.3) and then pass the ACK to the transport
>    layer for transmission.
> 
> So in the case where local transport has failed, 
> there is no point in submitting an ACK request to 
> the local transport as the 503 response was
> received due to the failing local transport. 
> How would you suggest to approach this situation?

Don't send an ACK if the 503 response was internally generated (if actually 
building such a response) instead of received.


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

Reply via email to