HP-UX C SIP Stack Programmer's Guide (Novembery 2007)
Working with Transactions 103
Transaction State Machine
using a consistent interval of T2 seconds as defined in RFC 3261 (only if the
transport is unreliable). Receipt of a final response will move the transaction to
the CLIENT_GENERAL_FINAL_RESPONSE_RCVD state. If no final
response is received when the generalRequestTimeoutTimer is expired, the
transaction is terminated and assumes the TERMINATED state.
RVSIP_TRANSC_STATE_CLIENT_GEN_FINAL_RESPONSE_RCVD
Upon receipt of a final response, the transaction assumes the
CLIENT_GENERAL_FINAL_RESPONSE_RCVD state. When entering this
state, a transaction timer is set to T4 if the transport is an unreliable transport.
When T4 expires, the transaction is terminated and assumes the TERMINATED
state. If the transport is a reliable transport, no timer is set and the transaction is
terminated and assumes the TERMINATED state immediately when it reaches
this state. (Timer K as defined in RFC 3261).
RVSIP_TRANSC_STATE_CLIENT_GEN_CANCELLING
When calling the RvSipTransactionCancel() function on a client general
transaction, the transaction assumes the CLIENT_GENERAL_CANCELLING
state. This state indicates that the canceling process has begun. In practice, a
new Client CANCEL transaction is created and a CANCEL request is sent.
When entering this state, a transaction timer is set to
cancelGeneralNoResponseTimer. When this timer expires, the transaction is
terminated. Upon receipt of a final response, the transaction assumes the
CLIENT_GENERAL_FINAL_RESPONSE_RCVD state.