Subject: RE: [Simple] 200 vs. 202

From: "Brian Stucker" <[email-masked]>
Date: Wed, 24 Oct 2001 09:30:30 -0500

Didn't ever see that this issued was closed by this, or any other
suggestion. Where does the 200 vs. 202
debate stand?

Thanks,

Brian Stucker
Nortel Networks
-----Original Message-----
From: Stucker, Brian [NGB:B621:EXCH] 
Sent: Tuesday, October 09, 2001 9:51 AM
To: Brazier Lachlan; Moran Tim (NET/Dallas); adam.roach; James Undery; Ngo,
Dai (c); 'ext Paul Kyzivat'; Jonathan Rosenberg
Cc: simple
Subject: RE: [Simple] 200 vs. 202

I think I'm seeing the light a bit more... The events draft does state that
you need to 
be ready to get a NOTIFY before the SUBSCRIBE finished (due to dropped
packets), so I guess 
the tag matching isn't so strict on the first NOTIFY, and not having the TO
tag from the 
SUBSCRIBE response isn't considered to be a problem. 
The text that seems to be causing the confusion is in section 3: 
"...Once authorized, the presence agent sends a 202 Accepted response. It
also sends an 
immediate NOTIFY message containing the state of the presentity..." 
The -00 revision of the events draft (unless I'm missing it in my reading)
says: 
5.1.7.1: 
"A 202 response indicates that there may be a sizable delay before a
notification 
is received, pending the actual creation of the subscription." 
5.1.7.2: 
"...Upon successful creation or refreshing of a subscription, 
     notifiers MUST send a NOTIFY message as soon as practical to 
     communicate the current resource state to the subscriber...." 
"...If the response to the SUBSCRIBE message was 202, this initial 
     NOTIFY will serve as indication that the subscription has finally 
     been processed...." 
Having read it again, I think I now understand what Adam meant by a 3-way
handshake, and it 
does exist in the -00 version of the draft. I think the wording in section
5.1.7.2 does not 
apply to a NOTIFY that is empty. An empty NOTIFY does not create a
subscription (I think). 
If we look at it this way, then you can see the three-way handshake, and why
the empty NOTIFY 
after a 202 is important after all (just realizing this). 
The SUBSCRIBE is the first leg of the handshake A->B, the 2xx/empty NOTIFY
is the second leg of 
the handshake B->A, and the response to the empty NOTIFY is the third leg
A->B. 
This makes a ton more sense (at least to me). The wording is a bit vague,
but if you take the 
position that an empty NOTIFY signifies nothing regarding the subscription
status, and that the 202 
response isn't telling the subscriber that there's going to be a delay
before ANY NOTIFY is sent, but 
instead before a meaningful NOTIFY is sent, then this makes sense. 
There's even a blurb about getting a NOTIFY with expires=0 after a 202 is to
be treated as a 603 decline 
by the subscriber. So I think this was the behaviour that was intended. 
Thoughts? 
Brian