For any call that gets routed via Exotel, the status is tabulated based on the direction of the call viz. Incoming and Outgoing, which in-turn results with inferring the Leg1 status (status of the 1st party on the call) and Leg2 status (status of the 2nd party on the call).

Inbound calls

Dashboard & reports

  • Completed - the caller & the callee were successfully connected over a call

  • Call attempt - the caller hung-up before the call could be routed to any of the agents

  • Missed call:

    • No answer - the call was not answered by any of the agents after it rang for the specified duration

    • Busy - none of the agents were available to answer the call

    • Failed - calls could not either reach or connect to the agents

  • Voicemail - based on the call flow, if a voicemail applet is configured, then any calls that end up here would have a final status indicating that it is a ‘voicemail’

API

The ‘Final Status’ depends on the ‘Leg1 Status’


Leg1 Status

Leg2 Status

Final Status

Completed

Completed

Completed

Completed

No answer

Completed

Completed

Busy

Completed

Completed

Failed

Completed

CompletedCanceledCompleted

Completed

NA

Completed


Outbound calls

Connecting two numbers

The ‘Final Status’ depends on the ‘Leg2 Status’


Leg1 Status

Leg2 Status

Final Status

Completed

Completed

Completed

Completed

No answer

No answer

Completed

Busy

Busy

Completed

Failed

Failed

NA (No answer)

NA

No answer

NA (Busy)

NA

Busy

NA (Failed)

NA

Failed


Connecting number to a call flow

The ‘Final Status’ depends on the ‘Leg1 Status’


Leg1 Status

Leg2 Status (optional)

Final Status

Completed

Completed

Completed

Completed

No answer

Completed

Completed

Busy

Completed

Completed

Failed

Competed

NA (No answer)

NA

No answer

NA (Busy)

NA

Busy

NA (Failed)

NA

Failed


Points to remember

  • In the Call details API, we have the Leg1Status and Leg2Status that denote the statuses of those specific legs, in a particular call

    • Here, you would also find an additional parameter called ‘cancelled’, which would essentially indicate that ‘the call was cancelled while queued or ringing’ i.e. during the call run

    • For incoming calls, the Leg1Status is always marked as ‘Completed’

  • Similarly, in the passthru applet, we have a ‘DialCallStatus’ that corresponds to Leg2Status

  • Irrespective of the status, a call is charged based on the Leg1 or Leg2 (or both) having answered a call from an Exotel number (ExoPhone), at any given point in time