Subject: [Sip] Session-TImer Refreshing Mechanism.

From: Poojan Tanna <[email-masked]>
Date: 21 Dec 2004 17:16:44 +0530

Hi,

I am facing one issue regarding session timer refreshing mechanism.
   
    a) As per draft-ietf-sip-session-timer-15.txt, the refresher should send
       the session refresh re-Invite/Update at half of the session expiration
       time.

      The excerpt from draft-ietf-sip-session-timer-15.txt, pg 12 is as
      follows:
      "  If the UAC must perform the refreshes, it computes the session
       expiration for that session.  The session expiration is the time of
       reception of the last 2xx response to a session refresh request on
       that dialog plus the session interval for that session.  If UA wishes
       to continue with the session beyond the session expiration, it MUST
       generate a refresh before the session expiration.  It is RECOMMENDED
       that this refresh be sent once half the session interval has elapsed.
       Additional procedures for this refresh are described in Section 10."

    b) Also regarding refreshee, draft-ietf-sip-session-timer-15.txt, pg 21
       is as follows:
      " Similarly, if the side not performing refreshes does not receive a
        session refresh request before the session expiration, they SHOULD
        send a BYE to terminate the session, slightly before the session
        expiration.  The minimum of 32 seconds and one third the session
        interval is RECOMMENDED."

     - Lets analyze the above two conditions with the session-timer
       as 90 secs:

                t0: session is UP and session-timer starts

       t1: t0 + 45: Refresher sends the re-Invite to refresh the session.

       t2: t1 + 15: Lets also assume that due to some reason, refreshee does
                    not receive re-Invite request.
 
                    But according to condition b), the refreshee should send
                    a BYE to the refresher.

       In the above scenario, refreshee sends BYE to terminate the session
       before re-Invite transaction timeout.

       I assume that after time t1, we should wait for ( 45 + 32 ) = 77 secs
       before refreshee would receive a BYE request. At the same time,
       refreshee is unaware since it haven't received a re-Invite request.

       Pl. let me know your views.

Thanks,
Poojan.

_______________________________________________
Sip mailing list  https://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

---

From: "Sreedhar Pampati" <[email-masked]>
Date: Tue, 21 Dec 2004 10:12:27 -0800

Poojan,
  I agree with you that it is a small anomaly with the Recommendations
in this draft, if you choose 90 seconds as the refresh duration. With
your calculations the UAC is not getting a chance to send one last
re-Invite (in its exponential back off retransmissions if using UDP).
However this is not an error situation. It can be a genuine BYE sent
from the UAS, since the callee hung-up the call. I don't know if it
needs any special treatment.

  However the draft also says the following in section 4:

4.  Session-Expires Header Field Definition
   However, 1800 seconds (30 minutes) is RECOMMENDED as the value for
the   Session-Expires header field.  In other words, SIP entities MUST
be prepared to handle Session-Expires header field values of any
duration greater than 90 seconds, but entities that insert the
Session-Expires header field  SHOULD NOT choose values less than 30
minutes.

For all theoretical purposes, the draft recommends 1800 seconds, which
should take care of this issue.

Cheers,
Sreedhar

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Poojan Tanna
Sent: Tuesday, December 21, 2004 3:47 AM
To: sip ietf
Subject: [Sip] Session-TImer Refreshing Mechanism.

Hi,

    a) As per draft-ietf-sip-session-timer-15.txt, the refresher should
send
       the session refresh re-Invite/Update at half of the session
expiration
       time.

      The excerpt from draft-ietf-sip-session-timer-15.txt, pg 12 is as
      follows:
      "  If the UAC must perform the refreshes, it computes the session
       expiration for that session.  The session expiration is the time
of
       reception of the last 2xx response to a session refresh request
on
       that dialog plus the session interval for that session.  If UA
wishes
       to continue with the session beyond the session expiration, it
MUST
       generate a refresh before the session expiration.  It is
RECOMMENDED
       that this refresh be sent once half the session interval has
elapsed.
       Additional procedures for this refresh are described in Section
10."

    b) Also regarding refreshee, draft-ietf-sip-session-timer-15.txt, pg
21
       is as follows:
      " Similarly, if the side not performing refreshes does not receive
a
        session refresh request before the session expiration, they
SHOULD
        send a BYE to terminate the session, slightly before the session
        expiration.  The minimum of 32 seconds and one third the session
        interval is RECOMMENDED."

       t1: t0 + 45: Refresher sends the re-Invite to refresh the
session.

       t2: t1 + 15: Lets also assume that due to some reason, refreshee
does
                    not receive re-Invite request.
 
                    But according to condition b), the refreshee should
send
                    a BYE to the refresher.

       In the above scenario, refreshee sends BYE to terminate the
session
       before re-Invite transaction timeout.

       I assume that after time t1, we should wait for ( 45 + 32 ) = 77
secs
       before refreshee would receive a BYE request. At the same time,
       refreshee is unaware since it haven't received a re-Invite
request.

Thanks,
Poojan.