callStatus

A Call has ended and the statusCallbackUrl is being invoked. This is a notification only; All PerCL commands will be ignored.

If full-call recording was requested for this call (via startRecordCall), the recording information will be included here. Note this is different from recordUtterance, and there is the separate record webhook for this command. If a recordUtterance was in progress for a call when the call was completed, any recording for that command will have the record webhook invoked separately for it.

If circumstances caused a zero-length recording to be done, such as a call being hung up very quickly after a startRecordCall was requested, then this webhook will have empty/zero information for the recording.

Request Parameter

Type

Description

requestType

string

Context or reason why this request is being made. Will be callStatus - A Call has ended and the statusCallbackUrl is being invoked.

callId

string

Unique identifier for this Call, generated by FreeClimb.

accountId

string

Account ID associated with your account.

from

string

Phone number of the party that initiated the Call (in E.164 format).

to

string

Phone number provisioned to the customer and to which this Call is directed (in E.164 format).

callStatus

string

Descriptive status for the Call. Valid values are:
completed - Call ended after having been connected.
busy - Caller received a busy signal.
failed - Call could not be completed as dialed, most likely because the phone number was non-existent.
noAnswer - Call ended without being answered.
canceled - Call was canceled via the REST API while queued or ringing.

callEndedReason

string

Enhanced status for the Call with additional information where available. Valid values are:
busy - Caller received a busy signal.
failed - Call could not be completed as dialed, most likely because the phone number was non-existent.
noAnswer - Call ended without being answered.
callCanceled - For outbound calls: it was canceled via the REST API while queued or ringing. For inbound calls: it was canceled at the caller's end.
farEndHangup - The phone FreeClimb was connected to was hung up.
appHangup - The FreeClimb application hung up the call.
appReject - The FreeClimb application rejected the inbound call before it could be answered.
appNoPercl - FreeClimb hung up the call because the application provided no percl when it was expected and needed to continue the call context.
appInvalidPercl - There was an error with the percl provided by the application. See logs for more information.
conferenceTerminated - The call was in a conference and the conference was terminated which automatically hangs up the call.
conferenceEmptied - The call was in a conference and the conference was emptied which automatically hangs up the call.
removedFromConference - The call was removed from conference and was not added with a URL to invoke the leaveConference webhook. In this case, the call is hung up.
machineDetected - A fax or answering machine was detected for an outbound call and the option to hang up was specified.
webhookFailed - FreeClimb encountered a failure invoking a webhook on the application to get more PerCL. See logs for more information.
webhookInvalidResponse - FreeClimb got a bad response invoking a webhook on the application to get more PerCL. See logs for more information.
voiceDisabled - The FreeClimb number is not voice enabled.
configErrorNoApplication - The phone number owned by the account has no Application resource defined for it.
configErrorNoVoiceUrl - The Application resource linked to the phone number has no voice url defined for it.
maxRedirectsError - The call reached maximum redirect commands (256) indicating possible looping, so call was hung up. See logs for more information.
perclProcessingError - An error was encountered processing PerCL for the call. See logs for more information.
internalError - An internal error was encountered. See logs for more information. If this error persists, please contact FreeClimb support.
grpcHangup - Hangup occurred via GRPC.
maxDuration - Hangup occurred because call duration exceeded FreeClimb maximum of 6 hours.

direction

string

String describing the direction of the Call – inbound for inbound calls, outbound for Calls initiated via the REST API, or outboundDial for Calls initiated by the OutDial command.

conferenceId

string

This is set to null.

queueId

string

This is set to null.

callDuration

integer

Duration in seconds of the just-completed Call. This is the total duration including ring time. To see more detailed information including connected vs. total duration and start/end time, that is available by doing a GET on the call via the REST API.

recordingUrl

  • string
  • required: no

URL of the phone Call's recorded audio.

recordingId

  • string
  • required: no

ID of the Recording from this Call.

recordingDurationSec

  • integer
  • required: no

Duration of the recorded audio rounded up to the nearest second (in seconds).

parentCallId

string

ID of the Call that created this leg (child call).