[GH-ISSUE #1205] Phone call notification is not received. #817

Closed
opened 2026-02-25 23:43:41 +03:00 by kerem · 5 comments
Owner

Originally created by @bobye on GitHub (Aug 27, 2025).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1205

It used to work in the past. But today, I have an outage which triggered both phone and email. I received the email notification, but never received the phone call. When I check the "integration" page, it displayed the phone call notification was delivered. This is absolutely not the case. Any gaps here? I expect that the delivery must be verified if I answered the call, if no one answers the call or the call is disconnected for whatever reason, it should be considered as failed delivery.

Originally created by @bobye on GitHub (Aug 27, 2025). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1205 It used to work in the past. But today, I have an outage which triggered both phone and email. I received the email notification, but never received the phone call. When I check the "integration" page, it displayed the phone call notification was delivered. This is absolutely not the case. Any gaps here? I expect that the delivery must be verified if I answered the call, if no one answers the call or the call is disconnected for whatever reason, it should be considered as failed delivery.
kerem closed this issue 2026-02-25 23:43:41 +03:00
Author
Owner

@abbasalirezaei commented on GitHub (Aug 29, 2025):

Hi 👋 I'd like to investigate this issue and see if I can help improve the phone call notification reliability.

Given that the integration page shows the call as "delivered" while the user never received it, I suspect there might be a gap in how delivery status is verified. If the system is relying solely on the API's initial response (e.g., call initiated), it may not be checking whether the call was actually answered or completed.

I'll review the notification backend and see if there's a way to enhance the delivery verification—possibly by querying the call status post-initiation (e.g., using Twilio's call status callbacks or similar).

Assigning myself to this if that's okay. Will follow up with findings or a PR soon.

<!-- gh-comment-id:3237030411 --> @abbasalirezaei commented on GitHub (Aug 29, 2025): Hi 👋 I'd like to investigate this issue and see if I can help improve the phone call notification reliability. Given that the integration page shows the call as "delivered" while the user never received it, I suspect there might be a gap in how delivery status is verified. If the system is relying solely on the API's initial response (e.g., call initiated), it may not be checking whether the call was actually answered or completed. I'll review the notification backend and see if there's a way to enhance the delivery verification—possibly by querying the call status post-initiation (e.g., using Twilio's call status callbacks or similar). Assigning myself to this if that's okay. Will follow up with findings or a PR soon.
Author
Owner

@bobye commented on GitHub (Aug 29, 2025):

Thank you very much. Look forward to the follow-ups.

<!-- gh-comment-id:3237605151 --> @bobye commented on GitHub (Aug 29, 2025): Thank you very much. Look forward to the follow-ups.
Author
Owner

@cuu508 commented on GitHub (Sep 25, 2025):

When a call ends, Twilio reports its status back to Healthchecks via a webhook. Twilio reports one of the following values:

  • completed – The call was answered and has ended normally.
  • busy – The caller received a busy signal.
  • failed – The call could not be completed as dialed, most likely because the phone number was non-existent.
  • no-answer – The call ended without being answered.
  • canceled – The call was canceled via the REST API while queued or ringing.

Healthchecks shows the "Delivery failed (status=failed)" error in the Integrations page if and only if Twilio reports the "failed" status (code).

SMS status handling is similar but for SMS Healthchecks considers two status values as failures: "failed" and "undelivered".

I received the email notification, but never received the phone call.

If the phone never rang, I would expect Twilio to report this as "failed" and for the failure to be displayed in the Integrations page. @bobye if you can reproduce this problem, please let me know the phone number and approximate timestamp (via healtchchecks.io contact email address) and I will look into it.

<!-- gh-comment-id:3333305089 --> @cuu508 commented on GitHub (Sep 25, 2025): When a call ends, Twilio reports its status back to Healthchecks via a webhook. Twilio reports one of the following values: * `completed` – The call was answered and has ended normally. * `busy` – The caller received a busy signal. * `failed` – The call could not be completed as dialed, most likely because the phone number was non-existent. * `no-answer` – The call ended without being answered. * `canceled` – The call was canceled via the REST API while queued or ringing. Healthchecks shows the "Delivery failed (status=failed)" error in the Integrations page if and only if Twilio reports the "failed" status ([code](https://github.com/healthchecks/healthchecks/blob/003eb0e51e145064d59c881a2033e1203514d292/hc/api/views.py#L833)). SMS status handling is similar but for SMS Healthchecks considers two status values as failures: "failed" and "undelivered". > I received the email notification, but never received the phone call. If the phone never rang, I would expect Twilio to report this as "failed" and for the failure to be displayed in the Integrations page. @bobye if you can reproduce this problem, please let me know the phone number and approximate timestamp (via healtchchecks.io contact email address) and I will look into it.
Author
Owner

@bobye commented on GitHub (Sep 25, 2025):

@cuu508 It just happened in one day, I haven't seen this issue again since then. (But my data points are very small)

<!-- gh-comment-id:3335448182 --> @bobye commented on GitHub (Sep 25, 2025): @cuu508 It just happened in one day, I haven't seen this issue again since then. (But my data points are very small)
Author
Owner

@cuu508 commented on GitHub (Sep 26, 2025):

Thanks, I see.
There's not much I can do with the information I have. I'm closing this ticket for now. If you notice a similar thing happening again, please reopen it.

<!-- gh-comment-id:3338175363 --> @cuu508 commented on GitHub (Sep 26, 2025): Thanks, I see. There's not much I can do with the information I have. I'm closing this ticket for now. If you notice a similar thing happening again, please reopen it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#817
No description provided.