Victor Pascual Ávila wrote:
> Hi Paul,
> thanks for your comments. See responses inline.
> 
> 2009/6/11 Paul Kyzivat <pkyzi...@cisco.com>:
>> There is really no particular value in using session timers in this case.
>> Session timer is for the benefit of record-routed proxies.
> 
> Since session timer works fine even if only one of the UAs supports it
> (i.e with no proxy support), I wouldn't say that there's no particular
> value in using rfc4028 here.

The fact that it works doesn't imply that it has value.

>> If a UA suspects that there might be a problem it can test the signaling
>> path by sending an in-dialog message. It could be reINVITE, or UPDATE, or
>> OPTIONS. OPTIONS isn't a great choice because there is some ambiguity about
>> whether it should fail when sent "in dialog" and the dialog is gone. So
>> reINVITE or UPDATE are preferred choices.
>>
>> This is pretty much like session timer, but need not be negotiated, and
>> messages need not be sent on any schedule - just when one end or the other
>> has a question about the status of the session. For instance, if media has
>> stopped flowing for awhile, or ICMP messages are being received on the media
>> stream, an UPDATE can be sent to check the status of the session.
> 
> I believe it would be better to use an standard(*) mechanism
> (possibility to negotiate intervals and refresher while it eliminates
> the OPTIONS ambiguity) which does not assume the UAC/UAS to be
> handling also the media streams (e.g. B2BUA). In addition, one could
> also detect scenarios where the session has been released but the
> media streams are still flowing.
> 
> (*) SIPit23: 63% of the implementations supported rfc4028

Certainly if you want to request it in your UA, go right ahead.
That may mean that even though you want to verify the session every 5 
minutes you will end up doing it only every 5 hours because that is the 
minimum the other guy supports.

Or else you will end up doing every 5 hrs for session timer and doing 
every 5 mins on your own, independent of session timer, to satisfy your 
own requirement. You can certainly do that because there is no 
negotiation defined to limit how frequently you may send reINVITE or 
UPDATE in general.

There are few if any drawbacks to having each end manage session 
verification signaling on its own, at its own rate. If I decide I want 
to do every 5 hrs, then each time I receive a message from the other end 
I set a timer for 5 hrs. Subsequent received messages reset that timer. 
So as long as there is signaling I need not do any extra. If my 5 hr 
timer goes off, I send a reINVITE or UPDATE. If I get an acceptable 
answer to it I set another 5 hr timer. If not then the session is dead.

The other end can be doing the same thing. If he does so more often, 
then I will never need to send anything to do the verification.

The worst thing that can happen is glare if we both send at same time. 
Normally that requires backoff and retry. But if I was only sending to 
verify the connection then there is no need for me to retry. And same 
for other side.

And that assumes you want periodic checks even if things are otherwise ok.

Personally, in a UA with a real user, I think I will rely on the user to 
decide things are messed up and hang up, probably based on lack of 
media. If the media is flowing to the satisfaction of the user, then 
tearing down the call because the signaling has broken will probably not 
be appreciated.

        Thanks,
        Paul
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to