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

Working with Call-legs (Dialogs) 55
Call-leg State Machine
this state, you can use the RvSipCallLegReInviteCreate() and
RvSipCallLegReInviteRequest() functions to initiate a re-INVITE. You can also
cause the call to disconnect by calling the RvSipCallLegDisconnect() function.
Calling the RvSipCallLegDisconnect() function causes the state to change to
DISCONNECTING.
RVSIP_CALL_LEG_STATE_DISCONNECTING
If RvSipCallLegDisconnect() is called while in the CONNECTED state, a BYE
request is sent to the remote party and the call assumes the DISCONNECTING
state. Upon receipt of a response on the BYE request, the call-leg assumes the
DISCONNECTED state.
RVSIP_CALL_LEG_STATE_DISCONNECTED
When a call-leg receives a BYE request from the remote party, or a final
response to a previously sent BYE request, it assumes the DISCONNECTED
state. The call-leg can also reach the DISCONNECTED state when an incoming
call is rejected or when there is a time-out. This state notifies you that the call
has disconnected and is about to be terminated. This is the final state at which
you can still reference the call-leg using the Call-Leg API functions.
RVSIP_CALL_LEG_STATE_TERMINATED
This state is the final call-leg state. When a call is terminated, the call-leg
assumes the TERMINATED state. Upon reaching the TERMINATED state,
you can no longer reference the call-leg.