Please see my inline comments below.

> -----Original Message-----
> From: Bala Neelakantan [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, April 25, 2007 1:26 PM
> To: Song, Youngsun; [email protected]
> Subject: RE: [Sip-implementors] Question on Session timer for 
> Re-INVITE
> 
> See inline.
> 
> Thanks,
> Neel
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] 
> > [mailto:sip-implementors- [EMAIL PROTECTED] On 
> Behalf Of Song, 
> > Youngsun
> > Sent: Wednesday, April 25, 2007 12:07 PM
> > To: [email protected]
> > Subject: [Sip-implementors] Question on Session timer for Re-INVITE
> > 
> > Hi,
> > 
> > Suppose the following case:
> > 
> > UA-A has established a session with UA-B and there is a 
> > dialog-stateful proxy, P1, in the signaling path.
> > UA-A and P1 support session timer but UA-B doesn't.
> > The initial session timer is established by P1 requesting UA-A to 
> > refresh the session (i.e., by inserting the Session-Expires and 
> > Require headers appropriately in the 2xx response for the INVITE).
> > 
> > After some time before a session refresh, UA-B sends a 
> Re-INVITE with 
> > an offer SDP to place the session on hold. Since UA-B 
> doesn't support 
> > session timer, the Re-INVITE doesn't have a Session-Expires header. 
> > When
> > P1 receives the Re-INVITE, P1 inserts a Session-Expires header and 
> > Require header to request UA-A to refresh the session (P1 
> can safely 
> > insert the Require header with timer because P1 knows that UA-A 
> > supports timer via initial session establishment). When 
> UA-A receives 
> > the Re-INVITE, UA-A sends a 2xx provided no failure 
> occurred and the 
> > 2xx includes an answer SDP and the Session-Expires header. When P1 
> > receives the 2xx, P1 updates the session timer and forwards 
> the 2xx to UA-B.
> 
> Per RFC 4028, adding Require is not recommended.
> 
> If the request did not contain a Supported header field
>    with the value 'timer', the proxy MAY insert a Require header field
>    with the value 'timer' into the request.  However, this is NOT
>    RECOMMENDED.  

Well, then, let me change the processing at P1 (proxy) such that P1
inserts only the Session-Expires header (with the current session
interval value), not the Require header, in the Re-INVITE. By doing
this, P1 is requesting a session timer as part of this Re-INVITE. I
believe this is allowed and from P1 perspective, this would be
consistent with the initial INVITE processing. 

> 
> Since Session Timer support needs only one endpoint to 
> support, I don't see a reason why would a proxy add Require 
> on Re-INVITE.  For this call, already Session timer is enabled.

My understanding is that the session timer is renegotiated for each
Re-INVITE and UPDATE regardless of what purpose these requests are
generated for.

If P1 didn't insert the Session-Expires header in the Re-INVITE, UA-A
may not include a Session-Expires header in a 2xx for the Re-INVITE
which will result in "turning-off" the session timer. UA-A may send a
new Re-INVITE for session-refresh immediately after the Re-INVITE for
session hold, but P1 can't know it for sure.

Any thoughts?

Thanks,
YoungSun

> 
> One issue, is the UA-A has no idea, whether the Require in 
> Re-INVITE is added by the UA-B or Proxy.  What if UA-A wants 
> the UA-B to do session refresh.  In this case, the call could fail.
> 
> > I think the above Re-INVITE processings by P1 and UA-A are valid as 
> > per RFC4028, but can any of you please verify?
> > 
> > One question on UA-A processing in the above.
> > If UA-A sends a 422 response for the Re-INVITE and P1 
> forwards it to 
> > UA-B, UA-B wouldn't know what to do as it won't understand the 422 
> > response. For this reason and maybe others, should P1 not insert the
> 
> You are right, this is another failure scenario.
> 
> > Session-Expires header and Require header in the Re-INVITE and wait 
> > for UA-A to issue another Re-INVITE for session refresh after the 
> > Re-INVITE for session hold is completed?
> 
> > Or if P1 still inserts those headers, should UA-A not send a 422 
> > response for the Re-INVITE for session hold and send 
> another Re-INVITE 
> > for session refresh immediately after the Re-INVITE for 
> session hold 
> > is completed?
> > Any thoughts?
> > 
> 
> 422 response is due to local policy.  The logic should not 
> depend on P1 adding Require: timer or not.  This will make 
> call processing logic ugly.



> 
> > Thanks,
> > YoungSun
> > 
> > _______________________________________________
> > Sip-implementors mailing list
> > [email protected]
> > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> 

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to