Re: Transaction timeouts

"M. Rangnathan" <[email protected]> Mon, 26 Feb 2007 16:31:13 -0500
Newsgroups gmane.comp.voip.nist-sip
Message-ID <[email protected]>
Amos K wrote:

> Hi Andrew,
>
> Pls let me know if you ever find solutions to these problems. I had 
> the same problems last year and searched for answers but was unable to 
> get one. 


Will try to address this.

> I am presently using my application like this since the "destination 
> unreachable" rarely occur in my application.
>
> Thanks.
>
>
> Hi Andrew,
>
> Pls let me know if you ever find solutions to these problems. I had 
> the same problems last year and searched for answers but was unable to 
> get one. I am presently using my application
>
> On 2/25/07, *Andrew T Gin* <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     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
>

You can be informed of retransmission alerts on the Server transaction. 
See ServerTransaction.enableRetransmissionAlerts. On the client side of 
the transaction, there is no retransmission alert.

>     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?
>
Let me think of this a bit. I could use the public void 
processIOException(IOExceptionEvent exceptionEvent)   event notification 
mechansm for this.  How does the UDP socket see this. I think I would 
have to use  SOCTL to enable ICMP  packets to be seen right ?. Is the 
feature available on J1.42 ? If not it becomes a J 5 only thing which I 
want to avoid if possible. I will take a look to see if I can hook this 
in but some hacking from you would speed the process. See if you can 
hack UDPMessageChannel to get notifications for ICMP packets. Call a 
dummy method when you get the necessary notificaiton. I'll take it from 
there.

>     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?
>

That would be in violation of the SIP transaction state machine - 
something that I want to avoid. You can try implementing the 
setBaseTimer on SipProvider ( currently disabled  -- throws 
UnsupportedOperation).

>
>     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!
>

Have faith. :-)

Ranga

>
>     Thanks
>     Andrew
>     _______________________________________________
>     nist-sip mailing list
>     [email protected] <mailto:[email protected]>
>     http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>nist-sip mailing list
>[email protected]
>http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
>  
>


-- 
M. Ranganathan 

Advanced Networking Technologies Division,
National Institute of Standards and Technology (NIST),
100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. 
tel:301 975 3664 , fax:301 590 0932 http://w3.antd.nist.gov/
Advanced Networking Technologies For the People!