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.