Hi -
I am using 1.2.1-notls. When using t_relay() to INVITE a call, I assume that the timeout before returning a 408 would be governed by fr_inv_timer and fr_inv_timer_avp. Although the 1.2 documentation states that the default for fr_inv_timer is 120 seconds I seem to get a timeout at 60 seconds and neither fr_inv_timer or fr_inv_timer_avp seems to have any effect. Have a made an error in interpreting the docs? How should I be varying this timeout?
Thanks, Mark
El Sábado, 23 de Febrero de 2008, Mark Sayer escribió:
Hi -
I am using 1.2.1-notls. When using t_relay() to INVITE a call, I assume that the timeout before returning a 408 would be governed by fr_inv_timer and fr_inv_timer_avp. Although the 1.2 documentation states that the default for fr_inv_timer is 120 seconds I seem to get a timeout at 60 seconds and neither fr_inv_timer or fr_inv_timer_avp seems to have any effect. Have a made an error in interpreting the docs? How should I be varying this timeout?
That timeout just mean how long OpenSer stores transacction information in order to match repies and retransmissions, no more.
If you want OpenSer to generate a CANCEL (to the callee) and a 408 (to the caller) when that timer expires you must enable this parameter:
modparam("tm", "noisy_ctimer", 1)
Regards.
Hi,
I think the original question was not about generating CANCEL (to the callee) or not. It was about the length of the timer. Please read the description of the ft_timer timeout. After INVITE is sent to the callee, only ft_timer is set. When a provisional response is received (1xx) then fr_timer is removed and fr_inv_timer is set. The default value for the fr_timer is 60 seconds. This is why you are getting the timeout of 60 seconds no matter what value for the fr_inv_timeout you set.
By the way, the "408 Request Timeout" reply to the caller is always generated when one of the timers expires, it does not matter if noisy_ctimer parameter is set or not.
Regards, Anatoly.
El Sábado, 23 de Febrero de 2008, Mark Sayer escribió:
Hi -
I am using 1.2.1-notls. When using t_relay() to INVITE a call, I assume that the timeout before returning a 408 would be governed by fr_inv_timer and fr_inv_timer_avp. Although the 1.2 documentation states that the default for fr_inv_timer is 120 seconds I seem to get a timeout at 60 seconds and neither fr_inv_timer or fr_inv_timer_avp seems to have any effect. Have a made an error in interpreting the docs? How should I be varying this timeout?
That timeout just mean how long OpenSer stores transacction information in order to match repies and retransmissions, no more.
If you want OpenSer to generate a CANCEL (to the callee) and a 408 (to the caller) when that timer expires you must enable this parameter:
modparam("tm", "noisy_ctimer", 1)
Regards.
Actually the original question was simply trying to control the length of time that caller had to wait before being transferred to voicemail. I have now tried setting:
modparam("tm", "fr_timer", 10)
but the phone still rings for a full 60 seconds. The docs for 1.2 state that the default is 30 seconds. Any more ideas. Mark
At 03:26 a.m. 24/02/2008, you wrote:
Hi,
I think the original question was not about generating CANCEL (to the callee) or not. It was about the length of the timer. Please read the description of the ft_timer timeout. After INVITE is sent to the callee, only ft_timer is set. When a provisional response is received (1xx) then fr_timer is removed and fr_inv_timer is set. The default value for the fr_timer is 60 seconds. This is why you are getting the timeout of 60 seconds no matter what value for the fr_inv_timeout you set.
By the way, the "408 Request Timeout" reply to the caller is always generated when one of the timers expires, it does not matter if noisy_ctimer parameter is set or not.
Regards, Anatoly.
El Sábado, 23 de Febrero de 2008, Mark Sayer escribió:
Hi -
I am using 1.2.1-notls. When using t_relay() to INVITE a call, I assume that the timeout before returning a 408 would be governed by fr_inv_timer and fr_inv_timer_avp. Although the 1.2 documentation states that the default for fr_inv_timer is 120 seconds I seem to get a timeout at 60 seconds and neither fr_inv_timer or fr_inv_timer_avp seems to have any effect. Have a made an error in interpreting the docs? How should I be varying this timeout?
That timeout just mean how long OpenSer stores transacction information in order to match repies and retransmissions, no more.
If you want OpenSer to generate a CANCEL (to the callee) and a 408 (to the caller) when that timer expires you must enable this parameter:
modparam("tm", "noisy_ctimer", 1)
Regards.
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
-- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.20.9/1293
- Release Date: 22/02/2008 9:21 AM
Mark,
did you look at the OpenSER logs and/or did you use tcpdump/grep to find out what is going on? Did OpenSER receive the 100 Trying reply from the phone, if yes, when? Did OpenSER generate 408 Request Timeout reply to the caller, if yes, when?
If OpenSER really receives 100 Trying reply from the called phone, then it sets up the fr_inv_timeout timer. After fr_inv_timeout timer expires OpenSER generates 408 Request Timeout reply to the caller, but it does not send CANCEL to the called phone, unless the noisy_ctimer parameter is set, so the phone continues ringing. May be your phone itself has some setting to stop ringing after 60 seconds if the user does not pick up the phone.
Regards, Anatoly.
Actually the original question was simply trying to control the length of time that caller had to wait before being transferred to voicemail. I have now tried setting:
modparam("tm", "fr_timer", 10)
but the phone still rings for a full 60 seconds. The docs for 1.2 state that the default is 30 seconds. Any more ideas. Mark
At 03:26 a.m. 24/02/2008, you wrote:
Hi,
I think the original question was not about generating CANCEL (to the callee) or not. It was about the length of the timer. Please read the description of the ft_timer timeout. After INVITE is sent to the callee, only ft_timer is set. When a provisional response is received (1xx) then fr_timer is removed and fr_inv_timer is set. The default value for the fr_timer is 60 seconds. This is why you are getting the timeout of 60 seconds no matter what value for the fr_inv_timeout you set.
By the way, the "408 Request Timeout" reply to the caller is always generated when one of the timers expires, it does not matter if noisy_ctimer parameter is set or not.
Regards, Anatoly.
El Sábado, 23 de Febrero de 2008, Mark Sayer escribió:
Hi -
I am using 1.2.1-notls. When using t_relay() to INVITE a call, I assume that the timeout before returning a 408 would be governed by fr_inv_timer and fr_inv_timer_avp. Although the 1.2 documentation states that the default for fr_inv_timer is 120 seconds I seem to get a timeout at 60 seconds and neither fr_inv_timer or fr_inv_timer_avp seems to have any effect. Have a made an error in interpreting the docs? How should I be varying this timeout?
That timeout just mean how long OpenSer stores transacction information in order to match repies and retransmissions, no more.
If you want OpenSer to generate a CANCEL (to the callee) and a 408 (to the caller) when that timer expires you must enable this parameter:
modparam("tm", "noisy_ctimer", 1)
Regards.
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
-- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.20.9/1293
- Release Date: 22/02/2008 9:21 AM
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
El Sábado, 23 de Febrero de 2008, Mark Sayer escribió:
Actually the original question was simply trying to control the length of time that caller had to wait before being transferred to voicemail. I have now tried setting:
modparam("tm", "fr_timer", 10)
but the phone still rings for a full 60 seconds. The docs for 1.2 state that the default is 30 seconds. Any more ideas. Mark
No, for get that behaviour you need to add:
modparam("tm", "fr_timer", 10) modparam("tm", "fr_inv_timer", 20) modparam("tm", "noisy_ctimer", 1)
If the callee rings then the transaction will be in memory (of OpenSer) for 20 seconds. After 20 seconds OpenSer will generate a 408 for caller and CANCEL for called.
In case there is a transport error or UAS connection error there won't be a 100 Trying from the callee so OpenSer just will wait 10 seconds until he discards the transaction data.
But if you don't set the noisy_timer then OpenSer won't send a CANCEL and 408.
El Sábado, 23 de Febrero de 2008, Anatoly Pidruchny escribió:
By the way, the "408 Request Timeout" reply to the caller is always generated when one of the timers expires, it does not matter if noisy_ctimer parameter is set or not.
Sorry, it's strange, I've tested now and OpenSer generates the CANCEL and 408 even if "noisy_ctimer" is 0. I can sure that time ago I tryed it and just generated them if that parameter wa set to 1. ¿?¿
Iñaki,
Did you test fr_timer or fr_inv_timer? I just re-tested the fr_timer with the default noisy_ctimer (that is 0), and then with noisy_ctimer set to 1. In both cases OpenSER generated 408 reply to the caller, but did not generate CANCEL to the called party. May be, if you were testing fr_inv_timer, then OpenSER generated both 408 and CANCEL regardless of the setting of the noisy_ctimer. Should we open a bug report about this?
Regards, Anatoly.
El Sábado, 23 de Febrero de 2008, Anatoly Pidruchny escribió:
By the way, the "408 Request Timeout" reply to the caller is always generated when one of the timers expires, it does not matter if noisy_ctimer parameter is set or not.
Sorry, it's strange, I've tested now and OpenSer generates the CANCEL and 408 even if "noisy_ctimer" is 0. I can sure that time ago I tryed it and just generated them if that parameter wa set to 1. ¿?¿
El Monday 25 February 2008 16:43:01 Anatoly Pidruchny escribió:
Iñaki,
Did you test fr_timer or fr_inv_timer? I just re-tested the fr_timer with the default noisy_ctimer (that is 0), and then with noisy_ctimer set to 1. In both cases OpenSER generated 408 reply to the caller, but did not generate CANCEL to the called party. May be, if you were testing fr_inv_timer, then OpenSER generated both 408 and CANCEL regardless of the setting of the noisy_ctimer. Should we open a bug report about this?
A UAC or proxy shouldn't generate a CANCEL if it hasn't receive a 100 Trying. fr_timer is the time OpenSer will wait for a first provisional reply from UAS (commonly the 100 Trying), so OpenSer shouldn't generate a CANCEL if fr_timer expries.
BTW, the other case (100 Trwying is received but fr_inv_timer expires) then OpenSer should generate a CANCEL just if noisy_ctimer is enabled:
1.3.7. noisy_ctimer (integer) If set, on FR timer INVITE transactions will be explicitly canceled if possible, silently dropped otherwise. Preferably, it is turned off to allow very long ringing. This behavior is overridden if a request is forked, or some functionality explicitly turned it off for a transaction (like acc does to avoid unaccounted transactions due to expired timer). Default value is 0 (false).
Do you say that it generates CANCEL even if that parameter is off?
Iñaki Baz Castillo wrote:
A UAC or proxy shouldn't generate a CANCEL if it hasn't receive a 100 Trying. fr_timer is the time OpenSer will wait for a first provisional reply from UAS (commonly the 100 Trying), so OpenSer shouldn't generate a CANCEL if fr_timer expries.
You are right about the CANCEL. But then the question is about the "408 Request Timeout" reply to the caller. When fr_timer expires, 408 reply is sent to the caller no matter if noisy_ctimer is set or not. Is this the correct behavior or not? I thought that it is correct, but in one of your previous posts you wrote:
if you don't set the noisy_timer then OpenSer won't send a CANCEL and 408.
BTW, the other case (100 Trwying is received but fr_inv_timer expires) then OpenSer should generate a CANCEL just if noisy_ctimer is enabled:
1.3.7. noisy_ctimer (integer) If set, on FR timer INVITE transactions will be explicitly canceled if possible, silently dropped otherwise. Preferably, it is turned off to allow very long ringing. This behavior is overridden if a request is forked, or some functionality explicitly turned it off for a transaction (like acc does to avoid unaccounted transactions due to expired timer). Default value is 0 (false).
Do you say that it generates CANCEL even if that parameter is off?
My testing shows that it generates 408 even if noisy_ctimer is off. But I only tested fr_timer. Why are you even asking me this question. In one of the previous posts you wrote:
Sorry, it's strange, I've tested now and OpenSer generates the CANCEL and 408 even if "noisy_ctimer" is 0. I can sure that time ago I tryed it and just generated them if that parameter wa set to 1. ¿?¿
So, you tested fr_inv_timeout and OpenSER generated both 408 and CANCEL even if the noisy_ctimer parameter is off. If you confirm that CANCEL is sent even if noisy_ctimer is off then we need to open a bug report on the tracker. But I am not sure about the 408 reply to the caller. I really do not know if 408 reply is supposed to be always sent to the caller or only when noisy_ctimer parameter is set to 1.
Regards, Anatoly.
El Monday 25 February 2008 18:50:45 Anatoly Pidruchny escribió:
Iñaki Baz Castillo wrote:
A UAC or proxy shouldn't generate a CANCEL if it hasn't receive a 100 Trying. fr_timer is the time OpenSer will wait for a first provisional reply from UAS (commonly the 100 Trying), so OpenSer shouldn't generate a CANCEL if fr_timer expries.
You are right about the CANCEL. But then the question is about the "408 Request Timeout" reply to the caller. When fr_timer expires, 408 reply is sent to the caller no matter if noisy_ctimer is set or not. Is this the correct behavior or not? I thought that it is correct, but in one of
your previous posts you wrote:
if you don't set the noisy_timer then OpenSer won't send a CANCEL and 408.
Ok, I understand you. I was wrong when I said that "408" depends on noisy_ctimer parameter. Not at all.
408 should be sent to caller if fr_timer or fr_inv_timer expires, even if noisy_ctimer is on or off.
My testing shows that it generates 408 even if noisy_ctimer is off. But I only tested fr_timer. Why are you even asking me this question. In one
of the previous posts you wrote:
Sorry, it's strange, I've tested now and OpenSer generates the CANCEL and 408 even if "noisy_ctimer" is 0. I can sure that time ago I tryed it and just generated them if that parameter wa set to 1. ¿?¿
So, you tested fr_inv_timeout and OpenSER generated both 408 and CANCEL even if the noisy_ctimer parameter is off. If you confirm that CANCEL is sent even if noisy_ctimer is off then we need to open a bug report on the tracker.
Yes, ok, let me try it tomorrow again. If I say nothing please reminder me ;)
Iñaki Baz Castillo wrote:
Sorry, it's strange, I've tested now and OpenSer generates the CANCEL and 408 even if "noisy_ctimer" is 0. I can sure that time ago I tryed it and just generated them if that parameter wa set to 1. ¿?¿
So, you tested fr_inv_timeout and OpenSER generated both 408 and CANCEL even if the noisy_ctimer parameter is off. If you confirm that CANCEL is sent even if noisy_ctimer is off then we need to open a bug report on the tracker.
Yes, ok, let me try it tomorrow again. If I say nothing please reminder me ;)
Iñaki, did you try to re-test it?
Regards, Anatoly.
El Wednesday 27 February 2008 15:13:08 Anatoly Pidruchny escribió:
Iñaki Baz Castillo wrote:
Sorry, it's strange, I've tested now and OpenSer generates the CANCEL and 408 even if "noisy_ctimer" is 0. I can sure that time ago I tryed it and just generated them if that parameter wa set to 1. ¿?¿
So, you tested fr_inv_timeout and OpenSER generated both 408 and CANCEL even if the noisy_ctimer parameter is off. If you confirm that CANCEL is sent even if noisy_ctimer is off then we need to open a bug report on the tracker.
Yes, ok, let me try it tomorrow again. If I say nothing please reminder me ;)
Iñaki, did you try to re-test it?
Yes, I've done it just now and can confirm that OpenSer SVN 3706 generates a CANCEL to the called after "fr_inv_timer" even if "noisy_ctimer" is 0 or 1.
I can sure (98%) that in previous version it didn't work, the CANCEL just was generated by OpenSer if "noisy_ctimer" was 1.
So if you want please report the bug, I will give feedback to it.
Best regards.
Iñaki Baz Castillo wrote:
Yes, I've done it just now and can confirm that OpenSer SVN 3706 generates a CANCEL to the called after "fr_inv_timer" even if "noisy_ctimer" is 0 or 1.
I can sure (98%) that in previous version it didn't work, the CANCEL just was generated by OpenSer if "noisy_ctimer" was 1.
So if you want please report the bug, I will give feedback to it.
Hi, Iñaki, I created a new bug report for this issue. Please add feedback to it. I am not sure what version of OpenSER "SVN 3706" is, so, I created the bug report for the development version for now. http://sourceforge.net/tracker/index.php?func=detail&aid=1903333&gro...
Thanks, Anatoly.