Transaction timeouts

Andrew T Gin <[email protected]> Mon, 26 Feb 2007 18:24:21 +1300
Newsgroups gmane.comp.voip.nist-sip
Organization University of Canterbury | Te Whare Wananga o Waitaha
Message-ID <[email protected]>
Hi
This question may have been answered before, but I cant seem to be able 
to find a search function; "google site:" does not work as a password is 
required to access the archives! Is  a search function available?

I have two questions:
1. When using UDP, is it possible for the application to be notified 
when retransmissions are sent? I understand that there is a 
Timeout.RETRANSMIT timeout type, however my processTimeout(TimeoutEvent 
timeOutEvent) method only ever receives Timeout.TRANSACTION timeout 
events. How do I make it so my application is notified of retransmit 
timeouts? Are they received at processTimeout?

When the destination host is unreachable, the application gets ICMP 
unreachable replies to each UDP retransmission. Is it possible to be 
notified *immediately* when the destination is unreachable? ie Do I 
*have* to wait the full t1*64 before being notified that something is wrong?

2. When using TCP, processTimeout(TimeoutEvent timeOutEvent) is called 
after 32 seconds (assuming T1 is 500ms). In RFC3261, it states (on page 
125):

"The value of 64*T1 is equal to the amount of time required to send 
seven requests in the case of an unreliable transport."

In the case of TCP, a reliable transport, is it necessary to wait the 
full 32 seconds? Is there a way to be notified immediately that the host 
on the otherside is not responding instead of waiting 32 seconds?

Thanks for your help, I'm usually a bit sceptical of mailing lists, as 
questions usually go unanswered, so even if I happen to  find someone 
else with the exact same problem, sometimes there are no replies!

Thanks
Andrew