Call State Transitions

Call Transitions—Outbound Calls

The Call state transitions for an outbound call are shown in the following illustration.

Hh347379.97408643-ef57-4d3f-84ee-088d8a2383e5(en-us,office.14).png

  1. The transition from Idle to Establishing occurs when the application calls BeginEstablish on the call.

  2. The transition from Establishing to Establishing occurs when the application receives the first ringing notification from the remote side while the call is in the Establishing state.

  3. The transition from Establishing to Terminating occurs when BeginEstablish fails, or when the application calls BeginTerminate on the call, or when the application calls BeginTerminate on the conversation that contains this call.

  4. The transition from Establishing to Established occurs when when EndEstablish completes successfully.

  5. The transition from Established to Transferring occurs when the application calls BeginTransfer on the call.

  6. The transition from Transferring to Established occurs when when BeginTransfer is unsuccessful.

  7. The transition from Established to Terminating occurs when the application calls BeginTerminate on the call, or when the remote side terminates the call, or when the application calls BeginTerminate on the conversation that contains this call.

  8. The transition from Idle to Terminating occurs when the application calls BeginTerminate on the call, or when the application calls BeginTerminate on the conversation that contains this call.

  9. The transition from Transferring to Terminating occurs when the application calls BeginTerminate on the call, or when the transfer operation is successful, or when the application calls BeginTerminate on the conversation that contains this call.

  10. The transition from Terminating to Terminated occurs when EndTerminate completes.

Call Transitions—Inbound Calls

The Call state transitions for an inbound call are shown in the following illustration.

Hh347379.39b62dcb-fba1-4758-bf28-ab30879f8b35(en-us,office.14).png

  1. The transition from Incoming to Establishing occurs when the application calls BeginEstablish on the call.

  2. The transition from Establishing to Terminating occurs when the call is not accepted, or when the application calls BeginTerminate on the call, or when the application calls BeginTerminate on the conversation that contains this call.

  3. The transition from Establishing to Established occurs when the call is accepted (when BeginAccept returns successfully).

  4. The transition from Established to Transferring occurs when the application calls BeginTransfer on the call.

  5. The transition from Transferring to Established occurs when BeginTransfer is unsuccessful.

  6. The transition from Established to Terminating occurs when the application calls BeginTerminate on the call, or when the application calls BeginTerminate on the conversation that contains this call.

  7. The transition from Incoming to Terminating occurs when the application calls Decline, Forward, or BeginTerminate on the call, or when the application calls BeginTerminate on the conversation that contains this call, or when the remote side cancels its call request.

  8. The transition from Transferring to Terminating occurs when the application calls BeginTerminate on the call, or when the transfer operation is successful, or when the application calls BeginTerminate on the conversation that contains this call.

  9. The transition from Terminating to Terminated occurs when EndTerminate completes.