Voice API

Call Status Callbacks Explained: Statuses, Hangup Reasons and Retries (2026)

What a voice API status callback is, which statuses a call goes through, how to read SIP codes, hangup reasons and call outcomes, and how to verify, deduplicate and replay callbacks.

Edesy Team5 min read

Frequently asked questions

What is a call status callback?

It is an HTTP request the voice platform sends to your server each time a call changes state, for example ringing, answered or completed. It lets your app update records and decide on retries without polling the API.

What is the difference between busy, no-answer and failed?

Busy means the person's phone rejected or was engaged. No-answer means it rang (or the phone was switched off, SIP 480) and nobody picked up. Failed means the call never reached the person, for example an invalid number, a blocked call or a network error.

Why should I verify the callback signature?

Anyone can POST to a public URL. Edesy signs each delivery with HMAC-SHA256 using your signing secret, so checking X-Webhook-Signature against the timestamp and raw body proves the request came from Edesy and wasn't changed.

What happens if my server is down when a callback is sent?

Edesy retries with backoff at 30 seconds, 1, 2, 4 and 8 minutes, for 6 attempts in total. Every attempt is in the delivery log, and you can replay a delivery from the portal or API.

Can the same callback arrive twice?

Yes, any retried webhook can. Make your handler idempotent: key your updates on CallSid plus CallStatus and ignore a status you have already recorded.

Does a slow callback endpoint affect the call?

No. Delivery is separate from the call itself, so a slow or failing status endpoint never delays or drops the call. You just get the update later.

Edesy Team

The Edesy engineering team, building voice AI, messaging, and automation products for Indian businesses.

Published

Share

Voice APIWebhooksDevelopersTelephonyAPIIndia
Back to blog