This guide will discuss all possible endedReasons for a call.

You can find these under the “Ended Reason” section of your call logs (or under the endedReason field on the Call Object).

  • assistant-ended-call: The assistant intentionally ended the call based on the user’s response.
  • assistant-error: This general error occurs within the assistant’s logic or processing due to bugs, misconfigurations, or unexpected inputs.
  • assistant-forwarded-call: The assistant successfully transferred the call to another number or service.
  • assistant-join-timed-out: The assistant failed to join the call within the expected timeframe.
  • assistant-not-found: The specified assistant cannot be located or accessed, possibly due to an incorrect assistant ID or configuration issue.
  • assistant-not-invalid: The assistant ID provided is not valid or recognized by the system.
  • assistant-not-provided: No assistant ID was specified in the request, causing the system to fail.
  • assistant-request-returned-error: Communicating with the assistant resulted in an error, possibly due to network issues or problems with the assistant itself.
  • assistant-request-returned-forwarding-phone-number: The assistant triggered a call forwarding action, ending the current call.
  • assistant-request-returned-invalid-assistant: The assistant returned an invalid response or failed to fulfill the request properly.
  • assistant-request-returned-no-assistant: The assistant didn’t provide any response or action to the request.
  • assistant-said-end-call-phrase: The assistant recognized a phrase or keyword triggering call termination.

Pipeline and LLM

These relate to issues within the AI processing pipeline or the Large Language Models (LLMs) used for understanding and generating text:

  • pipeline-error-*: Various error codes indicate specific failures within the processing pipeline, such as function execution, LLM responses, or external service integration. Examples include OpenAI, Azure OpenAI, Together AI, and several other LLMs or voice providers.
  • pipeline-error-first-message-failed: The system failed to deliver the first message. This issue usually occurs when you add your own provider key in the voice section. It may be due to exceeding your subscription or quota limit.
  • pipeline-no-available-llm-model: No suitable LLM was available to process the request.

Phone Calls and Connectivity

  • customer-busy: The called party’s line was busy.
  • customer-ended-call: The called party ended the call.
  • customer-did-not-answer: The called party didn’t answer the call. If you’re looking to build a usecase where you need the bot to talk to automated IVRs, set assistant.voicemailDetectionEnabled=false.
  • customer-did-not-give-microphone-permission: The user didn’t grant the necessary microphone access for the call.
  • phone-call-provider-closed-websocket: The connection with the call provider was unexpectedly closed.
  • twilio-failed-to-connect-call: The Twilio service, responsible for managing calls, failed to establish a connection.
  • vonage-disconnected: The call was disconnected by Vonage, another call management service.
  • vonage-failed-to-connect-call: Vonage failed to establish the call connection.
  • vonage-rejected: The call was rejected by Vonage due to an issue or configuration problem.

Other Reasons

  • exceeded-max-duration: The call reached its maximum allowed duration and was automatically terminated.
  • silence-timed-out: The call was ended due to prolonged silence, indicating inactivity.
  • voicemail: The call was diverted to voicemail.


  • unknown-error: An unexpected error occurred, and the cause is unknown. For this, please contact support with your call_id and account email address, & we will investigate.