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.