2010/4/9 Iñaki Baz Castillo <ibc(a)aliax.net>et>:
I understand your point, but it would make more sense
if 408 is just
caused when a transaction fails due to fr_timer (no provisional
response from destination). But this is not the case as TM generates
408 when fr_inv_timer expires (maybe 60-120 seconds after receiving a
provisional response). So the 408 is a confussing response:
- In the first case (fr_timer expires) there has been a real error (alarm).
- In the second case (fr_inv_timer) there has been no problem, just
the call progress took so long that the proxy has decided to cancel
it.
Perhaps in the second case the proxy should generate a 480 and leave
the 408 just for fr_timer expiration?
For example, RFC 3398 (SIP-ISUP mapping) states this mapping:
Response received Cause value in the REL
408 Request timeout 102 Recovery on timer expiry
ISUP Cause value SIP response
102 recovery of timer expiry 504 Gateway timeout
Humm, perhaps TM should generate a 504 when fr_inv_timer expires if
the INVITE has no Expires header?:
RFC 3261
21.5.5 504 Server Time-out
The server did not receive a timely response from an external server
it accessed in attempting to process the request. 408 (Request
Timeout) should be used instead if there was no response within the
period specified in the Expires header field from the upstream
server.
But the above leaves the door open for a 408 even if the proxy
receives provisiona responses...
Humm, I will open a thread in sip-implementors about it.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>