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 forma). |
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 - 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. |
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 | string | 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 | string 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). |