NIST SIP Parser and Stack (v1.2) API

javax.sip
Interface ServerTransaction

All Superinterfaces:
Transaction
All Known Implementing Classes:
SIPServerTransaction

public interface ServerTransaction
extends Transaction

A server transaction is used by a SipProvider to handle incoming Request messages to fire Request events to the SipListener on a specific server transaction and by a User Agent Server application to send Response messages via the SipProvider to a User Agent Client application.

A new server transaction is generated in the following ways:

A server transaction of the transaction layer is represented by a finite state machine that is constructed to process a particular request under the covers of a stateful SipProvider. The transaction layer handles application-layer retransmissions, matching of responses to requests, and application-layer timeouts.

The server transaction must be unique within the underlying implementation. A common way to create this value is to compute a cryptographic hash of the To tag, From tag, Call-ID header field, the Request-URI of the request received (before translation), the topmost Via header, and the sequence number from the CSeq header field, in addition to any Proxy-Require and Proxy-Authorization header fields that may be present. The algorithm used to compute the hash is implementation-dependent.

For the detailed server transaction state machines refer to Chapter 17 of RFC 3261, the allowable transitions are summarized below:

Invite Transaction:
Proceeding --> Completed --> Confirmed --> Terminated

Non-Invite Transaction:
Trying --> Proceeding --> Completed --> Terminated

Since:
v1.1
Author:
Sun Microsystems

Methods inherited from interface javax.sip.Transaction
getBranchId, getDialog, getRequest, getRetransmitTimer, getState, setRetransmitTimer
 


NIST SIP Parser and Stack (v1.2) API

A product of the NIST/ITL Advanced Networking Technologies Division.
See conditions of use.
Get the latest distribution.
Submit a bug report or feature request.