[asterisk-dev] SIP session-timers: concept, discussion

John Todd jtodd at loligo.com
Wed Jul 18 00:52:36 CDT 2007


At 6:20 PM -0700 2007/7/17, Grey Man wrote:
>  > ----- Original Message ----
>>  From: John Todd <jtodd at loligo.com>
>>  To: asterisk-dev at lists.digium.com
>>  Sent: Wednesday, 18 July, 2007 12:20:27 AM
>>  Subject: [asterisk-dev] SIP session-timers: concept, discussion
>>
>>  The issue of SIP session-timers has been raised before, and I'd like
>>  to start a discussion here if there is any interest in implementing
>>  this in Asterisk, and to solicit anyone who might think that they
>>  would be up to the task of coding such a useful extension to the code.
>>  ...
>
>This is a great idea! I wasn't aware of that SIP RFC but now having 
>read it and checked that a lot of our customer ua's are indicating 
>support for the timer (Netgear ATAs for one) it would solve a lot of 
>call disputes we have as well!
>
>I'm about to go off and explain to a customer why he was charged 
>twice for a call that he claims wasn't even picked up. I end up 
>doing this two or three times a month and invariably it's with 
>respect to international GSM networks with nice hefty call charges. 
>I've never been able to work out exactly why these calls don't 
>hangup ( we use rtptimeout and rtpholdtimeout) and at the very least 
>it's nice to know I'm not the only one :).
>
>My company would also be happy yo conrtibute to any bounty put on 
>this functionality. From my very limited knowledge of the sip 
>channel code it may not be a huge job since there is already a 
>scheduling mechanism that gets used for retransmits 
>(ast_sched_add_variable) and the same approach could be incorporated 
>for session timers.
>
>Regards,
>
>Greyman.


Any implementation of Session Timers into Asterisk, alas, will not 
cure your problems according to the limited data you've provided.  It 
sounds like the calls are being "answered" at the far end, and then 
audio continues to flow between the endpoints (since you're already 
using rtptimeout, I assume you're handling media.)

I expect your international carriers are not providing adequate 
answer supervision or disconnect supervision.  This can't be solved 
by any code in Asterisk - it requires clubbing your carriers with a 
threat of moving to a better network.

The Session Timers will resolve other, more subtle problems, like a 
carrier network or a SIP UA that has lost it's mind or has lost it's 
network.  We already keep state in Asterisk - this just forces the 
state to be refreshed, and if that fails, hang up.  It won't cure 
problems with calls that "look" normal, at least as far as Asterisk 
can see.


JT



More information about the asterisk-dev mailing list