Subject: RE: [Sip] Question about version 5

From: "Chen, Xin (Xin)" <[email-masked]>
Date: Tue, 30 Oct 2001 10:54:05 -0000

Jonathan and Vijay,

Thanks for your respond. But I got confused by having different
understanding with the answers.

My understanding of what Vijay said is: The proxy needs to record-route
every request, otherwise it might be kicked off the dialog becuse the UE
will reconstruct the route set according to the lastest record-route header
it receives, for example form a 200 OK for PRACK.

My understanding of what Jonathan said is: The UE only constrcuts the route
set according to the record-route header from the INVITE, subsequent
record-route header received will be ignored. So even if a proxy doesn't
understand any method even INVITE, but because it will record-route
everything passed, so the proxy will definititly record-route the INVITE, so
it will not be kicked off the dialog.

I believe I must misundersant something here, please point them out for me,
thanks.

Xin Chen

Lucent Technologies
Tel: +44 1793 883137
Mobile: +44 7799 034668

-----Original Message-----
From: Jonathan Rosenberg [mailto:[email-masked]]
Sent: 29 October 2001 21:51
To: 'Chen, Xin (Xin)'; [email-masked]'
Subject: RE: [Sip] Question about version 5

> -----Original Message-----
> From: Chen, Xin (Xin) [mailto:[email-masked]]
> Sent: Monday, October 29, 2001 9:02 AM
> To: [email-masked]'
> Subject: [Sip] Question about version 5
> 
> 
> Question 1:
> 
> In 16.5 it says "The Record-Route process is designed to work 
> for any SIP
> request that initiates a dialog. The only such request in 
> this specification
> is INVITE. Extensions to the protocol MAY define others, and 
> the mechanisms
> described here will apply. The request that initiates a dialog and all
> refreshes (re-INVITE for example) MUST have Record-Route 
> header values added
> to them if the proxy wishes to remain in the request path."
> 
> But in table 3, Record-Route is optional for all request 
> which don't create
> a dialog excepte INVITE.
> 
> So which one takes priority, 16.5 or table 3?

I think Vijay has adequately answered this. The Record-Route in INVITE is
the only one that is useful, and the specification ONLY defines semantics
when its in an INVITE. It can be present in other methods so that a proxy
which doesn't know about methods can record-route everything, in order to be
sure it doesn't miss anything. Thats in the spirit of the sentence at line
2271. We will add a sentence that talks explicitly about other methods as
well.

> 
> Question 2:
> 
> In 17.1.1.3, it says:"The ACK request MUST NOT contain any 
> Route headers."
> 
> But in table 3: Route header is optional for ACK.
> 
> which one takes priority, 17.1.1.3 or table 3?

For ACK to non-200, ACK MUST NOT be present. That is based on the context of
section 17.1.1.3, which is only talking about this type of ACK. When talking
about ACK for 200, thats handled as for requests within a dialog, and it
does have Route. 

Table 3 needs to be updated to reflect this, and any other differences in
rules for ACK v. ACK-200.

-Jonathan R.

---
Jonathan D. Rosenberg, Ph.D.                72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.jdrosen.net                      PHONE: (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

_______________________________________________
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

---

From: Vijay Gurbani <[email-masked]>
Date: Tue, 30 Oct 2001 09:03:37 -0600

"Chen, Xin (Xin)" wrote:
> will reconstruct the route set according to the lastest record-route 
> headerit receives, for example form a 200 OK for PRACK.
> 
> My understanding of what Jonathan said is: The UE only constrcuts the 
> route set according to the record-route header from the INVITE, subsequent
> everything passed, so the proxy will definititly record-route the INVITE, 
> so it will not be kicked off the dialog.
> 

Xin:

The UE will NOT as you say above, "reconstruct the route set according to 
the lastest record-route".  The Route set is constructed once -- after
the INVITE/200 OK exchange.  Proxies insert R-R for robustness, in case
the UAS crashes.  If a UAS does NOT crash during a session, subsequent
re-INVITEs do NOT alter the Route set.

Consider, for example if a UAS crashes after establishing a session, through
one or more R-R'ing proxy.  The UAC detects the crash of the UAS and 
attempts to re-constitute the session with a backup of the crashed UAS.  
When the re-INVITE goes through the the same R-R proxies, they insert a R-R 
header anyway.  This new re-INVITE gets to the backup peer of the crashed 
UAS, which accepts the session.  Since the re-INVITE contains the same set 
of R-R headers inserted by the same set of proxies traversed, the backup 
peer now has the same Route set as its peer (modulo the last entry in the 
Route set).

- vijay
-- 
Vijay K. Gurbani  vkg@{lucent.com,research.bell-labs.com,acm.org}
Internet Software and eServices Group 
Lucent Technologies/Bell Labs Innovations, 2000 Lucent Lane, Rm 6G-440
Naperville, Illinois 60566     Voice: +1 630 224 0216   Fax: +1 630 713 0184