📄 timeout.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0) on Wed Nov 15 07:55:48 PST 2006 -->
<TITLE>
Timeout (JSIP API v1.2)
</TITLE>
<META NAME="keywords" CONTENT="javax.sip.Timeout class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Timeout (JSIP API v1.2)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>JSIP API v1.2<br><font size=-1>November 2006</font></b></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../javax/sip/SipStack.html" title="interface in javax.sip"><B>PREV CLASS</B></A>
<A HREF="../../javax/sip/TimeoutEvent.html" title="class in javax.sip"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?javax/sip/Timeout.html" target="_top"><B>FRAMES</B></A>
<A HREF="Timeout.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.sip</FONT>
<BR>
Class Timeout</H2>
<PRE>
java.lang.Object
<IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>javax.sip.Timeout</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public final class <B>Timeout</B><DT>extends java.lang.Object<DT>implements java.io.Serializable</DL>
</PRE>
<P>
This class contains the enumerations that define whether a timeout has occured in the underlying implementation. The application gets informed on whether a retransmission or transaction timer has expired. There are two types of Timeout, namely: <ul> <li> <A HREF="../../javax/sip/Timeout.html#RETRANSMIT"><CODE>RETRANSMIT</CODE></A> - This type is used to alert an application that the underlying retransmit timer has expired so an application can resend the message specific to a transaction. This timer is defaulted to 500ms and is doubled each time it is fired until the transaction expires <A HREF="../../javax/sip/Timeout.html#TRANSACTION"><CODE>TRANSACTION</CODE></A>. The default retransmission value can be changed per transaction using <A HREF="../../javax/sip/Transaction.html#setRetransmitTimer(int)"><CODE>Transaction.setRetransmitTimer(int)</CODE></A>. The RETRANSMIT type is exposed to the following applications as follows: <UL> <li><b>User Agent</b> - Retransmissions on Invite transactions are the responsibility of the application. This is due to the three way handshake for an INVITE Request. All other retransmissions are handled by the underlying implementation. Therefore the application will only receive this Timeout type specific to Invite transactions. <li><b>User Agent with No Retransmission</b> - an application can configure an implementation to handle all retransmissions using property characteristics of the <A HREF="../../javax/sip/SipStack.html" title="interface in javax.sip"><CODE>SipStack</CODE></A>. Therefore a Timeout of this type will not be passed to the application. The application will only get notified when the <A HREF="../../javax/sip/Timeout.html#TRANSACTION"><CODE>TRANSACTION</CODE></A> occurs. <li><b>Stateful Proxy</b> - a stateful proxy remembers transaction state about each incoming request and any requests it sends as a result of processing the incoming request. The underlying implementation will handle the retransmissions of all messages it sends and the application will not receive <A HREF="../../javax/sip/Timeout.html#RETRANSMIT"><CODE>RETRANSMIT</CODE></A> events, however the application will get notified of <A HREF="../../javax/sip/Timeout.html#TRANSACTION"><CODE>TRANSACTION</CODE></A> events. As an Invite transaction is end to end a stateful proxy will not handle the retransmissions of messages on an Invite transaction, unless it decides to respond to the Invite transaction, in essence becoming an User Agent Server and as such should behave as described by the User Agent semantics above bearing in mind the retranmission property of the underlying implementation. <li><b>Stateless Proxy</b> - as a stateless proxy acts as a simple forwarding agent, i.e. it simply forwards every message it receives upstream, it keeps no transaction state for messages. The implementation does not retransmit messages, therefore an application will not receive <A HREF="../../javax/sip/Timeout.html#RETRANSMIT"><CODE>RETRANSMIT</CODE></A> events on a message handled statelessly. If retransmission semantics are required by an application using a stateless method, it is the responsibility of the application to provide this feature, not the underlying implementation. </UL> <li><A HREF="../../javax/sip/Timeout.html#TRANSACTION"><CODE>TRANSACTION</CODE></A> - This type is used to alert an application that the underlying transaction has expired. A transaction timeout typically occurs at a time 64*T1 were T1 is the initial value of the <A HREF="../../javax/sip/Timeout.html#RETRANSMIT"><CODE>RETRANSMIT</CODE></A>, usually defaulted to 500ms. The TRANSACTION type is exposed to the following applications as follows: <UL> <li><b>User Agent</b> - All retransmissions except retransmissions on Invite transactions are the responsibility of the underlying implementation, i.e. Invite transactions are the responsibility of the application. Therefore the application will only recieve TRANSACTION Timeout events on transactions that are not Invite transactions. <li><b>User Agent with No Retransmission</b> - an application can configure an implementation to handle all retransmissions using property characteristics of the <A HREF="../../javax/sip/SipStack.html" title="interface in javax.sip"><CODE>SipStack</CODE></A>. Therefore a TRANSACTION Timeout will be fired to the application on any transaction that expires including an Invite transaction. <li><b>Stateful Proxy</b> - a stateful proxy remembers transaction state about each incoming request and any requests it sends as a result of processing the incoming request. The underlying implementation handles the retransmissions of all messages it sends and will notify the application of <A HREF="../../javax/sip/Timeout.html#TRANSACTION"><CODE>TRANSACTION</CODE></A> events on any of its transactions. As an Invite transaction is end to end a stateful proxy will not handle transaction timeouts on an Invite transaction, unless it decides to respond to the Invite transaction, in essence becoming an User Agent Server and as such should behave as described by the User Agent semantics above bearing in mind the retransmission property of the underlying implementation. <li><b>Stateless Proxy</b> - as a stateless proxy acts as a simple forwarding agent, i.e. it simply forwards every message it receives upstream, it keeps no transaction state of the messages. The implementation does not maintain transaction state, therefore an application will not receive <A HREF="../../javax/sip/Timeout.html#TRANSACTION"><CODE>TRANSACTION</CODE></A> events on a message handled statelessly. If transaction timeout semantics are required by an application using a stateless method, it the responsibility of the application to provide this feature, not the underlying implementation. </ul> </ul>
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>BEA Systems, NIST</DD>
<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#javax.sip.Timeout">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/Timeout.html#_RETRANSMIT">_RETRANSMIT</A></B></CODE>
<BR>
This constant value indicates the internal value of the Retransmit timeout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/Timeout.html#_TRANSACTION">_TRANSACTION</A></B></CODE>
<BR>
This constant value indicates the internal value of the Transaction timeout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/Timeout.html" title="class in javax.sip">Timeout</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/Timeout.html#RETRANSMIT">RETRANSMIT</A></B></CODE>
<BR>
This constant value indicates the "Retransmit" timeout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/Timeout.html" title="class in javax.sip">Timeout</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/Timeout.html#TRANSACTION">TRANSACTION</A></B></CODE>
<BR>
This constant value indicates the "Transaction" timeout.</TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -