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

Working with Call-legs (Dialogs) 53
Call-leg State Machine
RVSIP_CALL_LEG_STATE_IDLE
The initial state of the Call-leg state machine. Upon call-leg creation, the
call-leg assumes the IDLE state. It remains in this state until
RvSipCallLegConnect() is called, whereupon it should move to the INVITING
state.
RVSIP_CALL_LEG_STATE_INVITING
After calling RvSipCallLegConnect(), which will send an INVITE request, the
call-leg enters the INVITING state. The call-leg remains in this state until it
receives a final response from the remote party. If a 1xx class response is
received, the call-leg moves to the PROCEEDING state. If a 2xx class response
is received, the call-leg assumes the CONNECTED state. If a 3xx class response
is received, the call-leg moves to the REDIRECTED state. If the call is rejected
with a 4xx, 5xx or 6xx class response, the call-leg assumes the
DISCONNECTED state.
RVSIP_CALL_LEG_STATE_PROCEEDING
The call assumes the PROCEEDING state when it receives a provisional
response in the INVITING state. If a 2xx class response is received, the call-leg
assumes the CONNECTED state. If a 3xx class response is received, the call-leg
moves to the REDIRECTED state. If the call is rejected with a 4xx, 5xx or 6xx
class response, the call-leg assumes the DISCONNECTED state. If no response
is received and the provisional timer expired, the call-leg moves to the
PROCEEDING_TIMEOUT state if the SIP Stack is configured with
enableInviteProceedingTimeoutState=RV_TRUE. Otherwise, the call-leg will
be terminated.
RVSIP_CALL_LEG_STATE_CANCELLING
If the application calls the RvSipCallLegCancel() or RvSipCallLegDisconnect()
functions on a call-leg while in the PROCEEDING or
PROCEEDING_TIMEOUT states, a CANCEL request is sent and the call-leg
assumes the CANCELLING state. If a positive 200 response is received on the
Invite request despite the cancel attempt, the call-leg generates a BYE request
and moves to the DISCONNECTING state. If, however, a non-200 response is
received, the call-leg moves to the DISCONNECTED state.