Subject: [SIP] Expires header vs expires Contact param

From: Neil Deason <[email-masked]>
Date: Thu, 11 May 2000 13:46:03 +0100

I think there could be scope for minor confusion over the intended use
of Expires header and Contact expires param in responses to REGISTER
requests.

In the response to a REGISTER section 4.2.6 of the bis draft states that
an Expires header or expires Contact Param should be used to indicate
the time at which the registration will be dropped. To me this can be
taken to mean the two can be interchangeable and so presumably we are
are talking about the time a new Contact contained in the REGISTER will
be dropped. However, in section 6.22 it says that the Expires header is
used in the the response to a REGISTER to indicate the earliest expiry
time of all registrations.

Furthermore is it correct to say that in the response to a REGISTER,
where active registrations already existed, the Expires header cannot be
used to indicate the time the new registration will be dropped and so an
expire Contact param has to be used. If so what is the point in a server
which adds expires Contact params to all active Contacts also adding an
Expires header to indicate the earliest expiry time of all
registrations.

Cheers,
Neil.
--
Ubiquity Software Corporation           http://www.ubiquity.net

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

---

From: Anders Kristensen <[email-masked]>
Date: Thu, 11 May 2000 16:46:23 +0100

My understanding of this is that the Expires header, if present, applies
to all Contacts in a REGISTER request or response, UNLESS an expires
parameter is present for that Contact, in which case the expires param
takes precedence as it is more specific.

Anders

-- 
Anders Kristensen <[email-masked]>,
http://www-uk.hpl.hp.com/people/ak/
Hewlett-Packard Labs, Bristol, UK

---

From: Neil Deason <[email-masked]>
Date: Thu, 11 May 2000 18:20:01 +0100

> takes precedence as it is more specific.

Thanks. Looking again 6.13 of the bis draft does state that in a REGISTER 2xx
response if a Contact entry does not have an optional expires param, the value
of the Expires header is used. If neither mechanism is used, the expiration
time specified in the request, explicitly or default, is used.

Is this compatible with using the Expires header to indicate the earliest
expiry time of all registrations (6.22). Imagine a user registers from a
location supplying no expiry time. The server assumes 1 hour and returns a 2xx
response which includes this new registration and another longstanding
registration. Isn't it possible that the new Contact could contain no expires
param and the Expires header be set to the duration of the long standing
registration?

Is there a reason why servers shouldn't be made to use the expires Contact
param for every Contact? This would avoid the potential for any confusion and
make the need for the Expires header to state the earliest expiry time of all
registratations largely redundant.

Cheers,
Neil

---

From: Shail Bhatnagar <[email-masked]>
Date: Thu, 11 May 2000 13:36:35 -0400

I think the registrar should return the expires parameter in each
Contact in
the 200 OK, specifying the GMT time at which this
registration/Contact will expire. The Expires header in the 200 OK would
specify the earliest of these expiration time(s).

Comments ??
Shail

---

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 11 May 2000 13:58:14 -0400

Neil Deason wrote:
> expiry time of all registrations (6.22).

Yes. The header has clear meaning. Its only confusing if you interpret
it to mean the expiration time of all Contact headers, rather than the
earliest expiry.

 Imagine a user registers from a
> param and the Expires header be set to the duration of the long standing

Then the registrar screwed up. The expires parameter and Expires header
have clear definitions in the response. In this example, the registrar
set it wrong.

> registratations largely redundant.

I would definitely recommend using the expires parameters for every
contact header. Its an implementation decision, though. 

-Jonathan R.

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

---

From: Neil Deason <[email-masked]>
Date: Thu, 11 May 2000 19:03:25 +0100

> it to mean the expiration time of all Contact headers, rather than the

Thanks Jonathan, this was the source of my confusion. What is the thinking behind
setting the Expires header to the time when the first of a users active registration
runs out. I had mistakenly thought it was the time they all ran out as this would be
significant in that then the user wouldn't be registered anywhere.

Cheers,
Neil.