Subject: Re: [Sip] bis-05: use of 100 Trying

From: Jonathan Rosenberg <[email-masked]>
Date: Sat, 05 Jan 2002 02:23:41 -0500

Drage, Keith (Keith) wrote:

> Based on the CANCEL thread that is going on, I was trying to sort out the
> usage that is currently mandated for generating 100 Trying, which is
> different from bis-04.
> 
> For INVITE transactions, 
> 
> -	stateless proxies never generate it (16.9). It must pass it on no
> matter what request it relates to (section 16.9);
> 
> -	for all other servers: figure 7 (page 95) and the text in 17.2.1
> cover this. The text says MAY generate a 100 unless... The figure implies a
> MUST generate 100. 

I believe this thread led to the conclusion that the text was correct, 
and that an additional response code by the UAS instead of 100, in order 
to indicate end-to-end connectivity, was not needed in and of itself. 
However, you are correct that Figure 7 is inconsistent with the text in 
that the figure does seem to imply that 100 is always sent. I will 
correct that.

> For non-INVITE transactions,
> 
> -	stateless proxies never generate it (16.9). It must pass it on no
> matter what request it relates to (section 16.9);
> 
> -	for all other servers: figure 8 (page 105) and the text in 17.2.2
> cover this. There is no text covering the generation of any provisional
> response, not even 100 Trying. However figure 8 indicates that the TU may
> generate 1xx responses, and that the server process will then pass them on.

This is no different from INVITE transactions.

> 
> Does this mean that a TU in a proxy can independently generate 1xx responses
> (including 100), or is it an attempt to represent that if a proxy receives a
> 1xx response, it will pass it on through the TU and therefore the server
> side will generate it? 

The TU behavior in the case of a proxy is specified in a separate 
section. I believe it is clear in that section that a proxy passes on 
all non-100 provisional responses, independent of the method.

However, section 16 is indeed silent on whether a proxy can generate its 
own non-100 provisional responses for any type of transaction. I believe 
it cannot, but a physical element certainly can do that, by effectively 
proxying the request to an internal virtual UAS which generates the 
provisional response. In that case, the provisional response would have 
tags and record-routes, and establish an early dialog, effectively with 
the proxy itself (or, more correctly, with the virtual uas co-resident 
with it). Text is probably needed to clarify that.

> 
> I am unsure whether 100 Trying should be permitted or barred in the above
> case. Currently the balance of the text would imply it is precludes for
> non-INVITE which would appear to me to be fine.

I think it is probably bad, since it will cause very large delays in 
response retransmissions in the event of a loss of the response, since 
request retransmissions are needed to retrigger it. This probably 
belongs in Section 8, on general uas behavior.

-Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.            72 Eagle Rock Avenue
Chief Scientist                         First Floor
dynamicsoft                             East Hanover, NJ 07936
[email-masked]                 FAX: (973) 952-5050
http://www.jdrosen.net                  PH:  (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
Sip mailing list  http://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip