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

Working with Transactions 117
Transaction State Machine
RVSIP_TRANSC_STATE_CLIENT_MSG_SEND_FAILURE
The transaction assumes this state when the sending of a request fails due to
timeout (timer B or F expired and no response was received), network error or
503 final response. In this state it is your responsibility to decide whether to
terminate the transaction or call the continue-DNS function that opens a new
transaction and sends the message to the next address in the DNS list. If you
decide to continue-DNS then it is the SIP Stack responsibility to terminate the
failed transaction. This state can be reached from the following states:
RVSIP_TRANSC_STATE_CLIENT_GEN_REQUEST_SENT
RVSIP_TRANSC_STATE_CLIENT_GEN_PROCEEDING
(when a 503 response is received)
RVSIP_TRANSC_STATE_CLIENT_INVITE_CALLING
RVSIP_TRANSC_STATE_CLIENT_INVITE_PROCEEDING
(when a 503 response is received)
RVSIP_TRANSC_STATE_CLIENT_INVITE_ACK_SENT.
For more information, see the Working with DNS chapter.
Figure 7-7 Message Send Failure State Machine
MSG_SEND_FAILURE
TERMINATED
timeout / network error / 503 Recv
Continue DNS() / terminate()
GEN_REQUEST_SENT / GEN_PROCEEDING /
INVITE_CALLING /
INVITE_PROCEEDING /
ACK_SENT