[Kamailio-Users] [Kamailio-Devel] drop() and tm timers.
Aurelien Grimaud
gstelzz at yahoo.fr
Thu Dec 18 21:20:07 CET 2008
Daniel-Constantin Mierla a écrit :
> Hello,
>
> On 12/18/08 13:18, Aurelien Grimaud wrote:
>> Hi,
>> In my openser, I had to not relay any provisional which is < 180.
>> I used drop in reply route to do this.
>> No provisional < 180 is sent to caller.
>>
>> Unfortunately, dropping 100 seems to make the transaction module not
>> disarming its fr_timer.
>>
> 100 is disabling the retransmission timer. fr_timer is the duration to
> wait until a final response is received, not related to retransmission
> and 100 reply.
>
- fr_timer is armed when INVITE is t_relayed and disarmed *only* when a
final response is received.
- fr_inv_timer is armed whenever a provisional (100 - 199) is received,
disarmed on final response .
Well, fr_timer also has to be disarmed when fr_inv_timer is armed right ?
So any provisional (100-199) disarm fr_timer and arm fr_inv_timer.
But you have not to drop it in reply_route.
In my case, the reply_route I set drops any provisional < 180.
This means that the 100 response will not make tm module switch fr_timer
to fr_inv_timer as it would be if not dropped.
Well this is not a problem, I only dropped provisional from 101 to 180,
and all went back to normal.
Since 100 is not forwarded (because of t_relay already generated one),
this makes no difference for end users.
I did not expect drop() statement to change anything for timers.
Thanks.
Aurelien
> Cheers,
> Daniel
>
>> The 180 has been waited for more time than my fr_timer so request
>> failed and failure_route was called.
>> In fact, there is no 180, only a 200 ok.
>>
>> Can anyone confirm that disarming timer is *not* done if 100 is
>> dropped ?
>>
>> This is openser 1.2.1
>>
>> Regards.
>> Aurelien
>>
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel at lists.kamailio.org
>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/devel
>>
>>
>
More information about the Users
mailing list