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 ParameterTypeDescription
requestTypestringContext or reason why this request is being made. Will be callStatus - A Call has ended and the statusCallbackUrl is being invoked.
callIdstringUnique identifier for this Call, generated by FreeClimb.
accountIdstringAccount ID associated with your account.
fromstringPhone number of the party that initiated the Call (in E.164 forma).
tostringPhone number provisioned to the customer and to which this Call is directed (in E.164 format).
callStatusstringDescriptive 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.
callEndedReasonstringEnhanced 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 - Call was canceled via the REST API while queued or ringing.
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.
directionstringString 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.
conferenceIdstringThis is set to null.
queueIdstringThis is set to null.
callDurationstringDuration 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 string
required: no
Duration of the recorded audio rounded up to the nearest second (in seconds).
parentCallIdstringID of the Call that created this leg (child call).