All that I
can agree to is "a proxy should not implement session expiration
procedures if neither of the UAC or UAS supports RFC 4028".
1. But as elaborated in the below mentioned scenario, P1 assumes that
UAS would support RFC 4028 and it puts Session-Expiration header and
Min-SE header in initial INVITE (RFC 4028 sec 8.1). The possible
benefit is - if UAS supports RFC 4028 and wants to apply session
expiration procedures, it would know the values of Min-SE which P1 and
P2 support.
2. P2 receives INVITE with Min-SE and Session-Expires headers (and
remembers it).
3. UAS doesn't support RFC 4028, therefore doesn't insert the session
expiration headers in 200 OK.
4. P2 receives 200 OK without Session-Expires headers but remembers (in
step 2 above) as per sec 8.2 that it received INVITE request with
Session-Expires header, therefore inserts the session expires headers.
So P2 thinks that UAC supports RFC 4028 therefore it starts timer.
In section 7.1 the RFC says -
A UAC that supports the session timer extension defined here MUST
include a Supported header field in each request (except ACK),
listing the option tag 'timer' [2]. It MUST do so even if the UAC is
not requesting usage of the session timer for this session.
But it never
explicitly mentions that proxies have to make a decision on this.
Dushyant
Pandurangan R S wrote:
That essentially means neither UAC nor UAS supports RFC 4028 but P1 and P2
run the session expiration timers as a result when the timer times out both
P1 and P2 release their calls/ resources.
This is not expected to occur as per RFC 4028. May be you should just
elaborate how you think situation occurs if RFC's guidelines are
followed.
Regards
Pandu
On Tue, Nov 24, 2009 at 5:24 PM, Dushyant Dhalia
<[email protected]> wrote:
____ _ ______ _____ _____
| UAC | ______ | P1 | _______ | P2 | _______ | UAS |
|_____| |______| |_____| |_____|
Consider the above configuration -
UAC doesn't insert Session-Expires header in Initial INVITE.
RFC 4028 section 8.1 says that "A proxy MAY insert a Session-Expires header
field in the request before forwarding it if none was present in the
request."
P1 inserts Session-Expires header.
P2 receives INVITE with Session-Expires header and forwards it to UAS.
UAS doesn't support Session-Expires so it doen't insert this header in the
response.
The response arrives at P2. Now RFC 4028 section 8.2 says "
When the final response to the request arrives, it is examined by the
proxy.
If the response does not contain a Session-Expires header field but
the proxy remembers that it requested a session timer in the request
(by inserting, modifying, or examining and accepting the
Session-Expires header field in the proxied request), this means that
the UAS did not support the session timer. If the proxy remembers
that the UAC did not support the session timer either, the proxy
forwards the response upstream normally. There is no session
expiration for this session. If, however, the proxy remembers that
the UAC did support the session timer, additional processing is
needed.
Because there is no Session-Expires or Require header field in the
response, the proxy knows that it is the first session-timer-aware
proxy to receive the response. This proxy MUST insert a
Session-Expires header field into the response with the value it
remembered from the forwarded request. It MUST set the value of the
'refresher' parameter to 'uac'.
".
That essentially means neither UAC nor UAS supports RFC 4028 but P1 and P2
run the session expiration timers as a result when the timer times out both
P1 and P2 release their calls/ resources. In certain cases this could be
potential revenue loss scenario.
Is it a bug or some gap in understanding?
Dushyant P S Dhalia
Rancore Technologies,
Gurgaon, INDIA
--
"When work is a pleasure, life is a joy! When work is duty, life is
slavery."
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
--
"When work is a pleasure, life is a joy! When work is duty, life is slavery."
|
<<attachment: dushyant_dhalia.vcf>>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors