Subject: RE: [Sip] Some thoughts about CANCEL for specific legs, together with SIPextensions

From: Jonathan Rosenberg <[email-masked]>
Date: Fri, 3 Aug 2001 10:44:16 -0400

Attempting to catch up in prep for IETF....

Comments below.

> -----Original Message-----
> From: Christer Holmberg [mailto:[email-masked]]
> Sent: Wednesday, June 27, 2001 1:14 AM
> To: Bob Penfield
> Cc: [email-masked]
> Subject: Re: [Sip] Some thoughts about CANCEL for specific legs,
> together with SIPextensions
> 
> > > > Conclusion:
> > > >
> > > > So, I don't know if we are talking about changes, or simple
> > > > clarifications, in the spec, but the issues are:
> > > >
> > > > 1. Should we allow CANCEL for a specific call-leg, IF 
> we have received a
> > > > To-tag and Contact in the provisional response?
> > > >
> > 
> >I personally like the idea.
> 
> I think it can be useful also in other areas, for example when we talk
> about EARLY MEDIA and media address/port verification. For example, if
> the UAC receives multiple 18x, with multiple different session
> descriptions, it can choose which leg to use and cancel the 
> others - and
> the good thing is that all this can be done before the call is
> established.
>  
> Another scenario is when we send pre-call INFOs. If we have received
> multiple provisonal responses, representing different 
> call-legs, the UAC
> may not know to which server it should send the INFOs, or if it has to
> send the INFO to all servers, OR if the INFOs should be sent like the
> original INVITE (and currently also like CANCEL), ie without any tags,
> routes and other leg information. This problem was also mentioned in a
> mail by Jonathan a few days ago, I think.
> 
> >>>2. Should we allow BYE for an established call-leg, even 
> if the whole
> >>>call is yet not setup (the UAC is waiting for another 
> final response)?
> > 
> >If by "established call-leg", you mean one that has received 
> a 2xx response,
> >sending BYE is just for that leg is just fine.
> > 
> >Section 6 of bis-03 says we SHOULD NOT send a BYE to 
> terminate a request
> >that has not recieved either a final or provisional 
> response. Does that mean
> >we can send BYE if we have received a provisional response? 
> A UAS is suppose
> >to cancel a call-leg that it has not generated a final 
> response for if it
> >gets a BYE. Is it legal (and desireable) to terminate a 
> provisional call-leg
> >with BYE?
> 
> This has been discussed alot, and the decission was that it 
> IS allowed.
> However, I guess that we still have the same issue that we have with
> CANCEL: are we allowed to BYE a specific call-leg before we have
> received a final response for that leg, or is the BYE supposed to
> terminate all call-leg setups?

I do not like the idea of CANCEL for a specific call leg. I think we need to
be able to terminate a specific leg before it is answered (i.e., after 1xx),
and I think BYE does a far better job at this than CANCEL. One of the
reasons is that its e2e as opposed to purely between each hop, as CANCEL is.

So, my proposal is that a 1xx with tags and record-routes establish an
"early call leg". Within that early call leg, you can send non-INVITE
requests, including PRACK, INFO, BYE, etc. as you would for an answered call
leg. This covers all of the cases that Christer has raised. I'll be talking
about this one during IETF.

-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://www.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