2010/3/25 Iñaki Baz Castillo ibc@aliax.net:
Anyhow, there should be (IMHO) a in-built way to determine if the 408 occurs after "fr_timer" or "fr_inv_timer".
What I suggest is:
- Create a custom SIP status code (i.e. 498) which means "fr_timer expiration", this is: no provisional (neither final) response has been receiving within "fr_timer" seconds (typically 5-10 seconds).
This 498 really means that the server didn't reply at all !! so we must do failover or inform the client about a real problem (500/503).
- In case the expiration occurs due to "fr_inv_timer" (this is, after receiving at least a 100 or 1XX reply within "fr_timer") then an usual 408 would be locally generated (as it does now).
This 408 would mean that the server hasn't replied a final response within "fr_inv_timer" (100-200 seconds), which just indicates that nobody answered or rejected the call, but the server is alive.
Opinions?