ACKing 3xx responses

Ryan Mitchell <[email protected]> Sat, 12 May 2007 00:40:28 -0700
Newsgroups gmane.comp.voip.nist-sip
Message-ID <[email protected]>
I was looking at the case where the stack gets a 302 response to an
invite via intermediate proxies, and had trouble getting the ACK the
stack creates/sends automatically to route properly to the UAS.

In createAck() method of SIPClientTransaction, the route set & request
uri for the new ACK is created using the route set from the previous
response & Contact header if present.

In this case the last response is a 3xx redirect that comes with its own
Contact header referring to the new location, which then ends up as the
new request URI (or in Route headers if strict routing) .  So the ACK
ends up being sent to the redirected new location, instead of the UAS
that sent the 3xx, with the effect that the UAS keeps resending the 3xx.

Shouldn't createAck() not use the Contact header from the previous
response if it was 3xx?

thanks,
Ryan

-- 
Ryan Mitchell <[email protected]>
Telecom Logic, LLC