[SIPForum-discussion] forwarding more than one 2xx in a proxy server

Young-Geun Park zeroroot at tmax.co.kr
Sat Feb 3 03:42:57 UTC 2007

             Thanks for you answer. 


             For a proxy to forward the second and any subsequent 2xx

should it work in both stateful and stateless mode ? 


anyway, while a proxy can forward the second and any subsequent 2xx

a UAC that sent the INVITE can not receive these responses subsequently 

because the INVITE client transaction transition to 'terminated' already.

This is right?


In that case the following service scenario is impossible. Is that right?

A UAC sends a INVITE that searches for any service to a proxy and want to
receive available all services.

The proxy will fork the INVITE to many targets(UAS) and several UASs return
a response that service is available.

Then the UAC receives those responses and then determine one service.


Best regards, 




-----Original Message-----
From: Robert Sparks [mailto:rjsparks at nostrum.com] 
Sent: Saturday, February 03, 2007 12:39 AM
To: Young-Geun Park
Cc: discussion at sipforum.org
Subject: Re: [SIPForum-discussion] forwarding more than one 2xx in a proxy


The text as written was intended to cause the proxy to forward the second
and any subsequent 2xx responses statelessly

(search for the word statelessly in that section).


MANY proxy implementors have written code that does the correct thing here
(if you are not sure what the correct thing

to do is, we can walk through it off-list). 


Now, I have to point out that there is a known bug with moving that
transition to terminated (see http://bugs.sipit.net/show_bug.cgi?id=769).

>From that bug report:


The current text in 3261 instructs a UAS to destroy an INVITE transaction

instant it sends a 200.


This has the unintended consequence that any retransmissions of the INVITE

request that arrive after that destruction will be treated as a new request.


This interacts both with endpoints and proxies (the deletion of the server

transaction combined with stateless forwarding of responses without matching

transactions provided forwarding of multiple 200s to forked INVITES).


The fix will involve having the server transaction continue to exist long

enough to drain any retransmissions of the INVITE and related changes to

the UAS handling of retransmitting the 200s, and proxies handling multiple

200s/stray responses.




On Feb 2, 2007, at 6:21 AM, Young-Geun Park wrote:

Hi, all


The following is described in 16.7.5, RFC3261(p110):

After a final response has been sent on the server transaction,

the following responses MUST be forwarded immediately:

- Any 2xx response to an INVITE request


This step, combined with the next, ensures that a stateful

proxy will forward exactly one final response to a non-INVITE

request, and either exactly one non-2xx response or *one or more*

2xx responses to an INVITE request.


The server tx's state would transition to 'terminated' state because of
first 200 OK.

So I think that it is impossible for second 200Ok to be forwarded by the
same server tx.


I don't know why it is possible.


Best regards, 



This is the SIP Forum discussion mailing list

TO UNSUBSCRIBE, or edit your delivery options, please visit

Post to the list at discussion at sipforum.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sipforum.org/pipermail/discussion/attachments/20070203/a5c80632/attachment-0002.html>

More information about the discussion mailing list