Subject: [Sip] Open Issue #259: Proxies Honoring Expires

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 27 Dec 2001 01:32:22 -0500

<discussion on this started within the context of bug 282, which is 
about a minimum value for timer C. However, they are orthogonal>

Issue: When a proxy receives an INVITE with an Expires header, what 
should the proxy do when that expiration time arrives? Should it CANCEL 
the INVITE, or just ignore it?

Discussion: CANCELing it would give the proxy a way to clean up its 
state faster without relying on the UAs to help. The big question is 
whether or not something very robust is needed or not. Robert had posted 
a listing of four cases to consider:

If an Expires header
is present with a shorter value than what the proxy
uses for timer C one of four things will happen:

1) the receiving endpoint with 408 the request - the
    proxy's client transaction gets to enter
    the completed state
2) the requesting endpoint CANCELs and the receiving
    endpoint returns a 487 - the proxy's client transaction
    gets to enter the completed state
3) the requesting endpoint CANCELS but the receiving
    endpoint fails to return a 487 - the proxy's client
    transaction enters the terminal state after
    timer C expires
4) both endpoints (or the network infrastructure) are
    misbehaving - the proxy's client transaction enters
    the terminal state after timer C expires.

If the proxy honors Expires, case (4) will change; instead, the client 
transaction will be able the terminal state after the expiration, as 
opposed to waiting for timer C (as it seems timer C is effectively 
infinity for proxies). So, is case 4 a frequent enough case to merit 
this treatment?

An interesting point is what happens when there are multiple proxies. 
Each will CANCEL at the same time. is that bad? If you work through the 
flows, turns out its not. There is no extra messages sent beyond what 
would be sent if the UA cancels. However, it will be a race condition to 
see whether a 408 or 487 is received by the UAC (depending on whether 
the UAS generates a 408 on expiration, or the proxy CANCELs and that 
reaches the UAS first). Not clear that there is anything wrong with that.

Proposal: KISS; proxies ignore Expires

-Jonathan R.
-- 
Jonathan D. Rosenberg, Ph.D.            72 Eagle Rock Avenue
Chief Scientist                         First Floor
dynamicsoft                             East Hanover, NJ 07936
[email-masked]                 FAX: (973) 952-5050
http://www.jdrosen.net                  PH:  (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
Sip mailing list  http://www1.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