|
NIST SIP Parser and Stack (v1.2) API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A client transaction is used by a User Agent Client application to send
Request messages via the SipProvider to a User Agent Server application.
The client transaction is also used to match Responses from the User Agent
Server to fire Response events to the SipListener for a specific client
transaction. A new client transaction is generated by the application calling
the SipProvider.getNewClientTransaction(Request)
method.
A client 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. Any task that a User Agent Client accomplishes takes place using a series of transactions.
The client 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 client transaction state machines refer to Chapter 17 of RFC 3261, the allowable transitions are summarized below:
Invite Transaction:
Calling --> Proceeding --> Completed --> Terminated
Non-Invite Transaction:
Trying --> Proceeding --> Completed --> Terminated
Methods inherited from interface javax.sip.Transaction |
getBranchId, getDialog, getRequest, getRetransmitTimer, getState, setRetransmitTimer |
|
NIST SIP Parser and Stack (v1.2) API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |