Hello dear community.
We use a presence module with the enabled option "timeout_rm_subs". And we face issues that subscriptions remove too early. We expect that it will be removed after the fr_timer, but it is removed after 1 second.
We I can see in log (i'm add additional logs): when we send NOTIFY: tm [timer.c:491]: retr_buf_handler(): timer retr_buf_handler @1436309038 (timer_ln 0x7f4708f45bd0 -> rbuf 0x7f4708f45bb0 -> [0x7f4708f458a0 <-> 11592:145228 527]) tm [timer.c:492]: retr_buf_handler(): fr_expire 1436309054 T1 4000 T2 4000 fr_timeout 80 tm [timer.c:536]: retr_buf_handler(): new interval 4000 ms / 64 ticks (max 4000 ms)
when timer expire: tm [timer.c:491]: retr_buf_handler(): timer retr_buf_handler @1436309054 (timer_ln 0x7f4708f45bd0 -> rbuf 0x7f4708f45bb0 -> [0x7f4708f458a0 <-> 11592:145228 527]) tm [timer.c:492]: retr_buf_handler(): fr_expire 1436309054 T1 4000 T2 4000 fr_timeout 80 tm [timer.c:367]: final_response_handler(): transaction [0x7f4708f458a0 <-> 11592:145228527] scheduled for deletion tm [timer.c:424]: final_response_handler(): stop retr. and send CANCEL (0x7f4708f458a0)
and then subscription remove.
As we can see the fr_expire variable was set to ticks+16 ( 1 second). And another strange thing that T1 and T2 timers are the same.
So the question is if this behaviour is correct, how can we configure the presence module fr_timer as an expiration value for the answer to notify? And can we use it without retransmissions?
Hello,
you can configure the „fr_timer” with tm parameters/functions. Are you setting this already in your cfg?
Cheers,
Henning
-- Henning Westerholt – https://skalatan.de/blog/ Kamailio services – https://gilawa.comhttps://gilawa.com/
From: sr-users sr-users-bounces@lists.kamailio.org On Behalf Of Victor Litvinov Sent: Monday, November 9, 2020 1:09 PM To: sr-users@lists.kamailio.org Subject: [SR-Users] Expire timeout for notify message answer
Hello dear community.
We use a presence module with the enabled option "timeout_rm_subs". And we face issues that subscriptions remove too early. We expect that it will be removed after the fr_timer, but it is removed after 1 second.
We I can see in log (i'm add additional logs): when we send NOTIFY: tm [timer.c:491]: retr_buf_handler(): timer retr_buf_handler @1436309038 (timer_ln 0x7f4708f45bd0 -> rbuf 0x7f4708f45bb0 -> [0x7f4708f458a0 <-> 11592:145228 527]) tm [timer.c:492]: retr_buf_handler(): fr_expire 1436309054 T1 4000 T2 4000 fr_timeout 80 tm [timer.c:536]: retr_buf_handler(): new interval 4000 ms / 64 ticks (max 4000 ms)
when timer expire: tm [timer.c:491]: retr_buf_handler(): timer retr_buf_handler @1436309054 (timer_ln 0x7f4708f45bd0 -> rbuf 0x7f4708f45bb0 -> [0x7f4708f458a0 <-> 11592:145228 527]) tm [timer.c:492]: retr_buf_handler(): fr_expire 1436309054 T1 4000 T2 4000 fr_timeout 80 tm [timer.c:367]: final_response_handler(): transaction [0x7f4708f458a0 <-> 11592:145228527] scheduled for deletion tm [timer.c:424]: final_response_handler(): stop retr. and send CANCEL (0x7f4708f458a0)
and then subscription remove.
As we can see the fr_expire variable was set to ticks+16 ( 1 second). And another strange thing that T1 and T2 timers are the same. So the question is if this behaviour is correct, how can we configure the presence module fr_timer as an expiration value for the answer to notify? And can we use it without retransmissions?