Incoming call status callback
Payload sent by SignalWire to your Inbound Call Status Callback URL for inbound calls to a phone number.
Configure StatusCallback at the phone number level via the dashboard
(Phone Numbers → select a number → Phone Number Settings) or programmatically via the
create or
update Incoming Phone Number API endpoints.
The webhook fires when the call ends, with CallStatus set to completed, busy, no-answer, or failed. This makes it well-suited
for tracking inbound call success rate, call quality, and total call volume in a call center context.
The payload carries the same parameters as the
Voice status callback.
SignalWire sends the parameters as a form-encoded (application/x-www-form-urlencoded) POST body, not as JSON.
When the status callback method is GET, they are sent as query parameters instead.
Status callbacks are advisory, best-effort notifications — delivery can be delayed or fail silently, so don’t gate time-critical actions on receiving one. See Status callback reliability.
Payload
The direction of the call.
outbound-dial: calls launched through the Dial verb.outbound-api: calls launched through the REST API.inbound: inbound calls.
The final status of the call.
completed: the call ended normally.busy: the call ended with a busy signal before it was answered, such as when your cXML rejects it with<Reject reason="busy">.no-answer: the call ended without being answered, such as when the caller hung up first.failed: the call could not be completed.
The estimated Mean Opinion Score (MOS) for inbound audio quality, based on the share of incoming audio packets that arrived without loss or delay.
It ranges from about 1 to 4.5, the score for a call with no lost or late packets.
Sent with up to two decimal places, such as 4.37. A whole-number score is sent with one decimal place, such as 4.0.
The average audio round-trip time, in milliseconds, measured to the nearest 10 milliseconds.
The maximum audio round-trip time, in milliseconds, measured to the nearest 10 milliseconds.
The minimum audio round-trip time, in milliseconds, measured to the nearest 10 milliseconds.
The duration, in seconds, of the finished call, from when the call started ringing to when it ended, rounded up to the next whole second. Because it includes ringing time, it’s longer than the time the call was connected and usually longer than a recording of the call. Only present on the completed event.
The code for why the call failed, when SignalWire has one. 20429 means the call exceeded the outbound call rate limit. See Error codes.
The description of ErrorCode.
The From or To value of the party that ended the call, as indicated by HangupDirection. Present once the call has ended.
Which side ended the call. Present once the call has ended.
inbound: the remote party hung up, soHangupByisFromon an inbound call andToon an outbound call.outbound: the call was ended from the SignalWire side, soHangupByisToon an inbound call andFromon an outbound call.
The SIP Call-ID of the call.
The numeric SIP response code received for the INVITE request, indicating the outcome of the call attempt. See the list of SIP response codes for possible values.