HP-UX C SIP Stack Programmer's Guide (Novembery 2007)

108 HP-UX C SIP Stack Programmers Guide
Transaction State Machine
RVSIP_TRANSC_STATE_CLIENT_INVITE_ACK_SENT
After calling RvSipTransactionAck() which generates and sends an ACK
request message, the transaction enters the CLIENT_INVITE_ACK_SENT
state. The transaction retransmits the ACK request according to the reliability
mechanism defined in the protocol.
When entering this state, a transaction timer is set to inviteLingerTimer. When
this timer expires, the transaction is terminated and assumes the TERMINATED
state. (Timer D as defined in RFC 3261). In this way, the transaction will not
wait indefinitely for retransmissions from the other party.
RVSIP_TRANSC_STATE_CLIENT_INVITE_CANCELLING
When calling the RvSipTransactionCancel() function on a client INVITE
transaction, the transaction assumes the CLIENT_INVITE_CANCELLED
state. This state indicates that the canceling process has begun. In practice, a
new Client CANCEL transaction is created and CANCEL request is sent.
Upon receipt of an INVITE final response, the transaction assumes the
CLIENT_ INVITE_FINAL_RESPONSE_RCVD state. When entering the
CLIENT_INVITE_CANCELLING state, a transaction timer is set to
CancelInviteNoResponseTimer. When this timer expires, the transaction is
terminated and does not wait indefinitely while the other party sends
retransmissions.
RVSIP_TRANSC_STATE_CLIENT_INVITE_PROXY_2XX_RESPONSE_RCVD
Upon receipt of an INVITE 2xx final response by a Proxy Client INVITE
transaction, the transaction assumes the
CLIENT_INVITE_PROXY_2XX_RESPONSE_RCVD state. When entering
this state, the transaction timer is set to proxy2xxRcvdTimer. When this timer
expires, the transaction is terminated. This state is used only for a Proxy
implementation.