Subject: RE: [SIP] a stupid question on 3way handshake

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 21 Nov 2000 04:40:12 -0500

> -----Original Message-----
> From: Billy Biggs [mailto:[email-masked]]
> Sent: Monday, November 20, 2000 10:26 AM
> To: Jo Hornsby
> Cc: SIP List
> Subject: Re: [SIP] a stupid question on 3way handshake
> 
> 
> Jo Hornsby ([email-masked]):
> 
> > Okay, so maybe Billy's suggestion was better: suggest sequential
> > forking as nominal behaviour for non-INVITE.  This doesn't 
> help at all
> > with the OPTIONs case, but it's probably better for things like BYE,
> > for instance.
> 
>   That's funny, because it seems completely reasonable to me 
> to parallel
> fork a BYE.
> 
>   You would get a BYE at a proxy when the stupid UA at the other end
> didn't put in a Contact.  You want to shut down the call 
> quickly, so you
> parallel fork to all registrations knowing that all but one 
> will return
> a 481.

Excellent point. Good case for forking a non-INVITE in parallel.

Jo writes:
> I think it's OPTIONS that bothers me the most.  You try to gather
> some information on the UA you're about to call with an OPTIONS,
> and it forks.  The result of the OPTIONS could be completely
> useless, because it may well not be from the UA that you would
> actually have ended up talking to if you'd done an INVITE instead.
> 
> I don't know -- maybe it's a silly point, but forking just seems to
> slightly spoil OPTIONS.

Using OPTIONS to gather information on the UA you're about to call (beyond
that there is a UA that you can talk to) has other problems. Service logic
in a proxy may anyway dictate that the OPTIONS goes one way, and then a
followup INVITE goes a different way (some kind of randomized load
balancing). Furthermore, what would you realistically do with all the
OPTIONS responses even if you could get them all?

If you want to do something specific, like find out if there is a UA that
supports video, you are far better off sending an OPTIONS with a caller
preferences header. This way, if you get back any sucess responses, you know
there is a UA that meets your requirements.

Jo also writes:
> Jonathan Rosenberg wrote:
> >
> > Well, its not evil, but its not correct. Proxies don't initiate 
> > requests on their own, excepting the "special" ones of BYE
> 
> Do you mean CANCEL?

Yes, sorry.

-Jonathan R.

---
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 21 Nov 2000 04:42:22 -0500

Please, lets use the sip list for technical discussions. I've removed the
sip forum list from the to line.

To answer your question:

> From: "ferreiro_j"@tsm.es [mailto:"ferreiro_j"@tsm.es]
> Sent: Monday, November 20, 2000 10:59 AM
> To: [email-masked]; farhan
> Cc: [email-masked]
> Subject: Re: [SIPFORUM] Re: [SIP] a stupid question on 3way handshake
> 
> 
> 
> 
> 11/20/2000 04:58 PM
> (subscript: Javier Ferreiro Garcia@TSM)
> 
> 
> >The INVITE retransmission will stop on receiving a 
> provisional response, so
> >the ACK is needed to ensure the reliability (and stop 
> retransmission of) the
> >final response.
> 
> I´M NOT A DEVELOPER, BUT I UNDERSTAND THE ACK METHOD AS THE 
> BASIS FOR THE FORK
> FUNCTIONALITY.
> WHEN FORKING (i.e. SENDING MULTIPLE INVITE REQUESTS), THE 
> SESSION SHOULD NOT BE
> AUTOMATICALLY ESTABLISHED WHEN THE CALLER RECEIVES THE INVITE 
> RESPONSE FROM THE
> CALLEE, BUT RATHER WHEN THE CALLER ITSELF AGREES TO ESTABLISH 
> THE SESSION WITH
> ANY PARTICULAR CALLEE FROM THE ONES THAT SENT A POSITIVE 
> INVITE RESPONSE.
> IT ALLOWS IN THIS CASE THE CALLER TO SELECT ONE OF THE 
> PROPOSED LEGS, SENDING
> THE ACK TO THE SELECTED ONE(s) AND CANCELLING THE REST OF THE PENDING
> INVITATIONS.

You wouldn't use CANCEL to terminate the other ones that have responded
positively. For those, you would send BYE. CANCEL is only useful if the
other end hasn't answered.

-Jonathan R.
---