📄 transactionstate.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>
TransactionState (JSIP API v1.2)
</TITLE>
<META NAME="keywords" CONTENT="javax.sip.TransactionState class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="TransactionState (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/TransactionDoesNotExistException.html" title="class in javax.sip"><B>PREV CLASS</B></A>
<A HREF="../../javax/sip/TransactionTerminatedEvent.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/TransactionState.html" target="_top"><B>FRAMES</B></A>
<A HREF="TransactionState.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 TransactionState</H2>
<PRE>
java.lang.Object
<IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>javax.sip.TransactionState</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public final class <B>TransactionState</B><DT>extends java.lang.Object<DT>implements java.io.Serializable</DL>
</PRE>
<P>
This class contains the enumerations that define the underlying state of an existing transaction. SIP defines four types of transactions, these are Invite Client transactions, Invite Server transactions, Non-Invite Client transactions and Non-Invite Server transactions. There are six explicit states for the various transactions, namely: <ul> <li> <b>Calling:</b> <ul> <li> Invite Client transaction: The initial state, "calling", MUST be entered when the application initiates a new client transaction with an INVITE request. </ul> <li> <b>Trying:</b> <ul> <li> Non-Invite Client transaction: The initial state "Trying" is entered when the application initiates a new client transaction with a request. <li> Non-Invite Server transaction: The initial state "Trying" is entered when the application is passed a request other than INVITE or ACK. </ul> <li> <b>Proceeding:</b> <ul> <li> Invite Client transaction: If the client transaction receives a provisional response while in the "Calling" state, it transitions to the "Proceeding" state. <li> Non-Invite Client transaction: If a provisional response is received while in the "Trying" state, the client transaction SHOULD move to the "Proceeding" state. <li> Invite Server transaction: When a server transaction is constructed for a request, it enters the initial state "Proceeding". <li> Non-Invite Server transaction: While in the "Trying" state, if the application passes a provisional response to the server transaction, the server transaction MUST enter the "Proceeding" state. </ul> <li> <b>Completed:</b> The "Completed" state exists to buffer any additional response retransmissions that may be received, which is why the client transaction remains there only for unreliable transports. <ul> <li> Invite Client transaction: When in either the "Calling" or "Proceeding" states, reception of a response with status code from 300-699 MUST cause the client transaction to transition to "Completed". <li> Non-Invite Client transaction: If a final response (status codes 200-699) is received while in the "Trying" or "Proceeding" state, the client transaction MUST transition to the "Completed" state. <li> Invite Server transaction: While in the "Proceeding" state, if the application passes a response with status code from 300 to 699 to the server transaction, the state machine MUST enter the "Completed" state. <li>Non-Invite Server transaction: If the application passes a final response (status codes 200-699) to the server while in the "Proceeding" state, the transaction MUST enter the "Completed" state. </ul> <li> <b>Confirmed:</b> The purpose of the "Confirmed" state is to absorb any additional ACK messages that arrive, triggered from retransmissions of the final response. Once this time expires the server MUST transition to the "Terminated" state. <ul> <li> Invite Server transaction: If an ACK is received while the server transaction is in the "Completed" state, the server transaction MUST transition to the "Confirmed" state. </ul> <li> <b>Terminated:</b> The transaction MUST be available for garbage collection the instant it enters the "Terminated" state. <ul> <li> Invite Client transaction: When in either the "Calling" or "Proceeding" states, reception of a 2xx response MUST cause the client transaction to enter the "Terminated" state. If amount of time that the server transaction can remain in the "Completed" state when unreliable transports are used expires while the client transaction is in the "Completed" state, the client transaction MUST move to the "Terminated" state. <li> Non-Invite Client transaction: If the transaction times out while the client transaction is still in the "Trying" or "Proceeding" state, the client transaction SHOULD inform the application about the timeout, and then it SHOULD enter the "Terminated" state. If the response retransmissions buffer expires while in the "Completed" state, the client transaction MUST transition to the "Terminated" state. <li> Invite Server transaction: If in the "Proceeding" state, and the application passes a 2xx response to the server transaction, the server transaction MUST transition to the "Terminated" state. When the server transaction abandons retransmitting the response while in the "Completed" state, it implies that the ACK was never received. In this case, the server transaction MUST transition to the "Terminated" state, and MUST indicate to the TU that a transaction failure has occurred. <li> Non-Invite Server transaction: If the request retransmissions buffer expires while in the "Completed" state, the server transaction MUST transition to the "Terminated" state. </ul> </ul> For each specific transaction state machine, refer to <a href = "http://www.ietf.org/rfc/rfc3261.txt">RFC3261</a>.
<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.TransactionState">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/TransactionState.html#_CALLING">_CALLING</A></B></CODE>
<BR>
This constant value indicates the internal value of the "Calling" constant.</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/TransactionState.html#_COMPLETED">_COMPLETED</A></B></CODE>
<BR>
This constant value indicates the internal value of the "Completed" constant.</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/TransactionState.html#_CONFIRMED">_CONFIRMED</A></B></CODE>
<BR>
This constant value indicates the internal value of the "Confirmed" constant.</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/TransactionState.html#_PROCEEDING">_PROCEEDING</A></B></CODE>
<BR>
This constant value indicates the internal value of the "Proceeding" constant.</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/TransactionState.html#_TERMINATED">_TERMINATED</A></B></CODE>
<BR>
This constant value indicates the internal value of the "Terminated" constant.</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/TransactionState.html#_TRYING">_TRYING</A></B></CODE>
<BR>
This constant value indicates the internal value of the "Trying" constant.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/TransactionState.html" title="class in javax.sip">TransactionState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/TransactionState.html#CALLING">CALLING</A></B></CODE>
<BR>
This constant value indicates that the transaction state is "Calling".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/TransactionState.html" title="class in javax.sip">TransactionState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/TransactionState.html#COMPLETED">COMPLETED</A></B></CODE>
<BR>
This constant value indicates that the transaction state is "Completed".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/TransactionState.html" title="class in javax.sip">TransactionState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/TransactionState.html#CONFIRMED">CONFIRMED</A></B></CODE>
<BR>
This constant value indicates that the transaction state is "Confirmed".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/TransactionState.html" title="class in javax.sip">TransactionState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/TransactionState.html#PROCEEDING">PROCEEDING</A></B></CODE>
<BR>
This constant value indicates that the transaction state is "Proceeding".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/TransactionState.html" title="class in javax.sip">TransactionState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/sip/TransactionState.html#TERMINATED">TERMINATED</A></B></CODE>
<BR>
This constant value indicates that the transaction state is "Terminated".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../javax/sip/TransactionState.html" title="class in javax.sip">TransactionState</A></CODE></FONT></TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -