[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sip-implementors
Subject:    Re: [Sip-implementors] ICMP error haandling
From:       Tarun2 Gupta <tarun2.gupta () aricent ! com>
Date:       2011-09-16 4:28:20
Message-ID: 80A9B9A571A97C4993A1772F1773524214DA23B05E () GUREXMB01 ! ASIAN ! AD ! ARICENT ! COM
[Download RAW message or body]

Hi Sunil



ICMP is used to show when a particular end point is not responding, when an IP \
network is not reachable, when a node is overloaded, when an error occurs in the IP \
header information, etc.



Refer RFC 3261



8.1.3.1 Transaction Layer Errors



In some cases, the response returned by the transaction layer will not be a SIP \
message, but rather a transaction layer error.  When a timeout error is received from \
the transaction layer, it MUST be treated as if a 408 Request    timeout) status code \
has been received. If a fatal transport error is reported by the transport layer \
(generally, due to fatal ICMP errors in UDP or connection failures in TCP), the \
condition MUST be treated as a 503 (Service Unavailable) status code.



The above section clearly states the client behavior. Following sections of 3261 and \
3263 state the server behavior.



18.4 Error Handling



Error handling is independent of whether the message was a request or response. If \
the transport user asks for a message to be sent over an unreliable transport, and \
the result is an ICMP error, the behavior depends on the type of ICMP error.  Host, \
network, port or protocol unreachable errors, or parameter problem errors SHOULD \
cause the transport layer to inform the transport user of a failure in sending. \
Source quench and TTL exceeded ICMP errors SHOULD be ignored.



Refer RFC 3263



5 Server Usage



A server, according to RFC 3261, will send a response on the connection it arrived on \
(in the case of reliable transport protocols), and for unreliable transport \
protocols, to the source address of the request, and the port in the Via header \
field.  The procedures here are invoked when a server attempts to send to that \
location and that response fails (the specific conditions are detailed in RFC 3261). \
"Fails" is defined as any closure of the transport connection the request came in on \
before the response can be sent, or communication of a fatal error from the transport \
layer.



So IMO, the server can retry sending the response till either it succeeds (after \
trying as described above) or till timer H fires. However the call might not get \
connected still. In all probability, the client is down and might not be able to \
honour the response anyways, unless it has some high availability implemented.



Regards,

Tarun Gupta

Aricent



-----Original Message-----
From: sip-implementors-bounces@lists.cs.columbia.edu \
                [mailto:sip-implementors-bounces@lists.cs.columbia.edu] On Behalf Of \
                Sunil
Sent: Thursday, September 15, 2011 11:57 AM
To: sip-implementors@lists.cs.columbia.edu
Subject: [Sip-implementors] ICMP error haandling





Hi All,



RFC 3261 mentions that if  an ICMP error is received for a Request it

should be treated as 503 error response.

But what if ICMP error is received for a response.Should we ignore the

ICMP error and retransmit the response or should the session be

terminated?.

Please let me know what action to take if we receive ICMP error for a

response.



Regards,

Sunil



_______________________________________________

Sip-implementors mailing list

Sip-implementors@lists.cs.columbia.edu

https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors




===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic