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

110 HP-UX C SIP Stack Programmers Guide
Transaction State Machine
RVSIP_TRANSC_STATE_SERVER_INVITE_REQUEST_RCVD
Upon receipt of an INVITE request (that is not a retransmission) by a server
INVITE transaction, the transaction assumes the
SERVER_INVITE_REQUEST_RECEIVED state. In this state, it is up to you to
respond to the request using the Transaction API. You may begin with sending
provisional responses. You must end with sending a final response, or
terminating the transaction.
RVSIP_TRANSC_STATE_SERVER_INVITE_FINAL_RESPONSE_SENT
When calling RvSipTransactionRespond() on an INVITE transaction, the
transaction generates and sends a response message. The transaction will then
assume the SERVER_ INVITE_FINAL_RESPONSE_SENT state. For a non-
2xx response, the transaction retransmits the final response according to
RFC 3261, and the value configured for T1 and T2. The retransmissions take
place only if the transport is an unreliable transport.
If no ACK response is received when 64*T1 timer (Timer H according to
RFC 3261) expires, the transaction is terminated automatically and assumes the
TERMINATED state (unless the state has changed). If an ACK message is
received, the transaction moves to the SERVER_INVITE_ACK_RCVD state.
For a 2xx response, the transaction sets the inviteLingerTimer after sending the
2xx response. The transaction terminates when this timer expires.
RVSIP_TRANSC_STATE_SERVER_INVITE_ACK_RCVD
When entering this state (the transaction received an ACK message), 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 in a reliable transport, no timer is set and the transaction is
terminated and assumes the TERMINATED state immediately when it reaches
this state. (Timer I as defined in RFC 3261).
RVSIP_TRANSC_STATE_SERVER_INVITE_REL_PROV_RESPONSE_SENT
After calling the RvSipTransactionRespondReliable() function in the
SERVER_INVITE_REQUEST_RCVD state, a reliable provisional response
will be sent and the transaction will assume the
SERVER_INVITE_REL_PROV_RESPONSE_SENT state. The transaction
retransmits the Reliable Provisional Response according to RFC 3261 and the
configuration of T1. When 64*T1 timer (Timer H according to RFC 3261)