Nataraju A B wrote:
> -----Original Message-----
> From: Paul Kyzivat [mailto:[EMAIL PROTECTED]
> Sent: Monday, June 05, 2006 6:55 PM
> To: Nataraju A B
> Cc: 'M. Rangnathan'; 'Sip-Implementors'
> Subject: Re: [Sip-implementors] RFC 3265 : Why is subscribe not a three
> wayhandshake?
>
>
>
> Nataraju A B wrote:
>
>> Second question : what should the Subscriber do if the Subscribe
>> transaction times out but the NOTIFY arrives ? Should the dialog be
>> deleted (presumably yes as RFC 3265 may imply) ? If so, why? (
>> presumably the other end got the SUBSCRIBE and is hence sending you
>> NOTIFY ).
>>
>> [ABN] if we do like this, then we have to mention it as an exception
> to
>> statement mentioned in 3261 i.e., "every transaction will complete in
>> itself request/response". Whereas the 2543 had the similar problem
> while
>> handling INVITE and CANCEL.
>
> This does seem to be a fuzzy case. There are some scenarios where all
> could be well in this case.
>
> Suppose the SUBSCRIBE goes through a proxy that doesn't Record-Route.
> The SUBSCRIBE makes it to the UAS, which then sends a 200 and a NOTIFY.
> The 200 is sent back along the Via path, while the NOTIFY is sent
> directly to the Contact. If the proxy has crashed before it forwards the
>
> 200, then the 200 will never be received, but the NOTIFY can cause a
> quite acceptable dialog to be established between UAC and UAS.
>
> In cases when the 200 *is* received, it establishes *one* dialog, and
> there will normally be a NOTIFY received on that same dialog. But that
> NOTIFY may be received *before* the 200, and in addition if the request
> was forked, additional NOTIFYs may be received that establish other
> dialogs. When you receive the first NOTIFY of each dialog, and haven't
> yet received a 200, you have no way of knowing whether a 200 is expected
>
> on *that* dialog or not. So you don't know *which* dialog to delete.
>
> I guess it is possible to make a case either way on this, but I would be
>
> inclined to retain the dialog if I received the NOTIFY.
>
> [ABN] I almost agree with you, but in that case it would be a deviation
> from general statement "every transaction must be completed with a final
> response".
I see no exception here. The SUBSCRIBE transaction does eventually fail,
with an implied 408 if necessary. The question is what happens as a
result of that. The UAC can conclude that the (half) dialog created by
sending the SUBSCRIBE is now gone, but that doesn't impact any of the
actual dialogs established as a result of the NOTIFY(s) received.
*If* there had been a provisional response to the SUBSCRIBE, that had a
to-tag, then that would have established an early dialog. If so, and if
a NOTIFY had been received with the same to-tag (before or after), then
it might be appropriate to declare that dialog dead, and attempt to tear
it down by sending a reSUBSCRIBE with a zero expiration time. But
normally there will be no provisional responses, except perhaps a 100.
Paul
> Is this ok ???
> in that case do we need to mention this deviation in the RFC ??? or
> probably this scenario could also be included in exceptional procedures
> draft ???
>
> Paul
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors