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

104 HP-UX C SIP Stack Programmers Guide
Transaction State Machine
CLIENT GENERAL
T
RANSACTION STATE
MACHINE
Figure 7-1 Client General Transaction State Machine
SERVER GENERAL
TRANSACTION
A transaction may assume any of the following states in the Server General
State machine:
GENERAL
REQUEST SENT
Request( )/
Request Sent
(user command)
IDLE
TERMINATED
2xx-6xx Recv
GENERAL
PROCEEDING
Terminate(),
Transaction Timeout
(generalRequestTimeoutTimer)
1xx Recv
Request Sent
(provisional response)
Transaction Timeout
(T1, T1*2,T1*4...T2) -
Request Sent
(retransmission)*
2xx-6xx Recv
GENERAL
CANCELLING
2xx-6xx Recv
GENERAL FINAL
RESPONSE
RCVD
Cancel()/
Cancel Sent
(user command)
Terminate(),
Transaction Timeout
(T4 - for UDP,
0 - for TCP)
1xx rcvd *
Terminate(),
Transaction Timeout
(cancelGeneralNoResponseTimer)
Terminate(),
Transaction Timeout
(generalRequestTimeoutTimer)
1xx rcv d /
timeout(T2) -
Request Sent
(retransmission)*
* No state change
* For UDP onl
y