2010/4/9 Juha Heinanen jh@tutpro.com:
Iñaki Baz Castillo writes:
> Unfortunatelly such 408 is painful as the examples above show. This is > the reason I propose TM to generate a local 503 if no response at all > is received for a UDP requests (when fr_timer expires).
inaki,
from rfc3261:
21.4.9 408 Request Timeout The server could not produce a response within a suitable amount of time, for example, if it could not determine the location of the user in time.
1.5.4 503 Service Unavailable The server is temporarily unable to process the request due to a temporary overloading or maintenance of the server.
if there is no response from server, there is no way for the proxy to know that the server is "temporarily overloaded or under maintenance". it seems that 503 needs to come from the server itself. so in this case 408 looks a more appropriate response to me.
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?