📄 sipstack.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>
SipStack (JSIP API v1.2)
</TITLE>
<META NAME="keywords" CONTENT="javax.sip.SipStack interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="SipStack (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/SipProvider.html" title="interface in javax.sip"><B>PREV CLASS</B></A>
<A HREF="../../javax/sip/Timeout.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/SipStack.html" target="_top"><B>FRAMES</B></A>
<A HREF="SipStack.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 | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | 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>
Interface SipStack</H2>
<HR>
<DL>
<DT><PRE>public interface <B>SipStack</B></DL>
</PRE>
<P>
This interface represents the management interface of a SIP stack implementing this specification and as such is the interface that defines the management/architectural view of the SIP stack. It defines the methods required to represent and provision a proprietary SIP protocol stack. <p> This SipStack interface defines the methods that are be used by an application implementing the <A HREF="../../javax/sip/SipListener.html" title="interface in javax.sip"><CODE>SipListener</CODE></A> interface to control the architecture and setup of the SIP stack. These methods include: <ul> <li>Creation/deletion of <A HREF="../../javax/sip/SipProvider.html" title="interface in javax.sip"><CODE>SipProvider</CODE></A>'s that represent messaging objects that can be used by an application to send <A HREF="../../javax/sip/message/Request.html" title="interface in javax.sip.message"><CODE>Request</CODE></A>and <A HREF="../../javax/sip/message/Response.html" title="interface in javax.sip.message"><CODE>Response</CODE></A> messages statelessly or statefully via Client and Server transactions. <li>Creation/deletion of <A HREF="../../javax/sip/ListeningPoint.html" title="interface in javax.sip"><CODE>ListeningPoint</CODE></A>'s that represent different ports and transports that a SipProvider can use to send and receive messages. </ul> <b>Architecture: </b> <br> This specification mandates a one-to-many relationship between a SipStack and a SipProvider. There is a one-to-many relationship between a SipStack and a ListeningPoint. <p> <b>SipStack Creation </b> <br> An application must create a SipStack by invoking the <A HREF="../../javax/sip/SipFactory.html#createSipStack(java.util.Properties)"><CODE>SipFactory.createSipStack(Properties)</CODE></A>method, ensuring the <A HREF="../../javax/sip/SipFactory.html#setPathName(java.lang.String)"><CODE>SipFactory.setPathName(String)</CODE></A>is set. Following the naming convention defined in <A HREF="../../javax/sip/SipFactory.html" title="class in javax.sip"><CODE>SipFactory</CODE></A>, the implementation of the SipStack interface must be called SipStackImpl. This specification also defines a stack configuration mechanism using java.util.Properties, therefore this constructor must also accept a properties argument: <p> <center>public SipStackImpl(Properties properties) {} </center> <p> The following table documents the static configuration properties which can be set for an implementation of a SipStack. This specification doesn't preclude additional values within a configuration properties object if understood by the underlying implementation. In order to change these properties after a SipStack has been initialized the SipStack must be deleted and recreated: <p> <center><table border="1" bordercolorlight="#FFFFFF" bordercolordark="#000000" width="98%" cellpadding="3" cellspacing="0"> <p class="title"> </p> <tr bgcolor="#CCCCCC"> <th align="left" valign="top"> <p class="table"> <strong><strong>SipStack Property </strong> </strong></th> <th align="left" valign="top"></a> <p class="table"> <strong>Description </strong> </p> </th> </tr> <tr> <td align="left" valign="top"> <p class="table"> javax.sip.IP_ADDRESS </p> </td> <td align="left" valign="top"> <p class="table"> <b>Deprecated v1.2.</b> It is recommended in this specification that the IP Address should be set using the enhanced ListeningPoint architecture, therefore this property is no longer mandatory. When this parameter is specified as null, a singleton stack instance will be created and returned by the SipFactory and the IP Address attributes can be managed via the <A HREF="../../javax/sip/SipStack.html#createListeningPoint(java.lang.String, int, java.lang.String)"><CODE>createListeningPoint(String, int, String)</CODE></A> method. For backwards compatability if this flag is set the SipFactory will return a new SipStack instance each time a SipStack is created with a new IP Address. This configuration parameter will become the default IP address of the SipStack. The SIP Factory will return any any existing instance of SipStack that already exist for this IP Address. </td> </tr> <tr> <td align="left" valign="top"> <p class="table"> javax.sip.STACK_NAME </p> </td> <td align="left" valign="top"> <p class="table"> Sets a user friendly name to identify the underlying stack implementation to the property value i.e. NISTv1.2. The stack name property should contain no spaces. This property is mandatory. </p> </td> </tr> <tr> <td align="left" valign="top"> <p class="table"> javax.sip.OUTBOUND_PROXY </p> </td> <td align="left" valign="top"> <p class="table"> Sets the outbound proxy of the SIP Stack. The fromat for this string is "ipaddress:port/transport" i.e. 129.1.22.333:5060/UDP. This property is optional. </p> </td> </tr> <tr> <td align="left" valign="top"> <p class="table"> javax.sip.ROUTER_PATH </p> </td> <td align="left" valign="top"> <p class="table"> Sets the fully qualified classpath to the application supplied Router object that determines how to route messages when the stack cannot make a routing decision ( ie. non-sip URIs). In version 1.2 of this specification, out of Dialog SIP URIs are routed by the Routing algorithm defined in RFC 3261 which is implemented internally by the stack provided that javax.sip.USE_ROUTER_FOR_ALL_URIS is set to false. In this case, the installed Router object is consulted for routing decisions pertaining to non-SIP URIs. An application defined Router object must implement the javax.sip.Router interface. This property is optional. </td> </tr> <tr> <td align="left" valign="top"> <p class="table"> javax.sip.EXTENSION_METHODS </p> </td> <td align="left" valign="top"> <p class="table"> This configuration value informs the underlying implementation of supported extension methods that create new dialog's. This list must not include methods that are natively supported by this specification such as INVITE, SUBSCRIBE and REFER. This configuration flag should only be used for dialog creating extension methods, other extension methods that don't create dialogs can be used using the method parameter on Request assuming the implementation understands the method. If more than one method is supported in this property each extension should be seprated with a colon for example "FOO:BAR". This property is optional. </p> </td> </tr> <tr> <td align="left" valign="top"> <p class="table">javax.sip.RETRANSMISSON_FILTER</p> </td> <td align="left" valign="top"> <p class="table"><b>Deprecated v1.2.</b> Applications can request retransmission alerts from the <A HREF="../../javax/sip/ServerTransaction.html#enableRetransmissionAlerts()"><CODE>ServerTransaction.enableRetransmissionAlerts()</CODE></A>. <p> The default retransmission behaviour of this specification is dependent on the application core and is defined as follows: <ul> <li>User Agent Client: Retransmissions of ACK Requests are the responsibility of the application. All other retansmissions are handled by the SipProvider. <li>User Agent Server: Retransmissions of 1xx, 2xx Responses are the responsibility of the application. All other retansmissions are handled by the SipProvider. <li>Stateful Proxy: As stateful proxies have no Invite transactions all retransmissions are handled by the SipProvider. <li>Stateless Proxy: As stateless proxies are not transactional all retransmissions are the responsibility of the application and will not be handled the SipProvider. </ul> This filter can be viewed as a helper function for User Agents that can be set by an application to prevent the application from handling retransmission of ACK Requests, 1xx and 2xx Responses for INVITE transactions, i.e. the SipProvider will handle the retransmissions. This utility is useful for hiding protocol retransmission semantics from higher level programming environments. The acceptable values are ON/OFF. This property is optional, therefore if not supplied the default is OFF. </td> </tr> <tr> <td align="left" valign="top"> <p class="table"> javax.sip.AUTOMATIC_DIALOG_SUPPORT </p> </td> <td align="left" valign="top">This property specifies the defined values 'ON' and 'OFF'. The default value is 'ON'. The default behavior represents a common mode of stack operation and allows the construction of simple user agents. This property is optional. This is summarized as:</li> <ul> <li>A dialog gets created on a dialog creating transaction.</li> <li> The first respose having both a From and a To tag creates the transaction. <li>The first 2xx response to the transaction will drive the dialog to the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -