[GH-ISSUE #1073] Feature Request: Integration of Custom SIP Provider for Notifications #745

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

Originally created by @Spongebon0 on GitHub (Oct 19, 2024).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1073

It would be helpful to implement an integration for custom SIP providers (e.g. sipgate). This would allow users to input their own SIP credentials into Healthchecks.io to send phone call notifications.

Expected Behavior:
• A new configuration option in the user profile or integrations section to manually input SIP credentials (username, password, SIP server).
• Configurable option to trigger a phone call via the SIP provider when a health check fails.
• Compatibility with any SIP provider, such as sipgate.

Benefits:
• Increased flexibility for notifications.
• Users can integrate their own phone infrastructure without relying on third-party SMS or call services.

Originally created by @Spongebon0 on GitHub (Oct 19, 2024). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1073 It would be helpful to implement an integration for custom SIP providers (e.g. sipgate). This would allow users to input their own SIP credentials into Healthchecks.io to send phone call notifications. Expected Behavior: • A new configuration option in the user profile or integrations section to manually input SIP credentials (username, password, SIP server). • Configurable option to trigger a phone call via the SIP provider when a health check fails. • Compatibility with any SIP provider, such as sipgate. Benefits: • Increased flexibility for notifications. • Users can integrate their own phone infrastructure without relying on third-party SMS or call services.
kerem closed this issue 2026-02-25 23:43:27 +03:00
Author
Owner

@cuu508 commented on GitHub (Oct 19, 2024):

Thanks for the suggestion, @Spongebon0.

Could you give a high-level overview of how would such an integration work?

Is there a standard protocol that SIP providers use? Is there a Python client for it?

Currently, for making voice calls, we use Twilio API: we tell Twilio: please synthesize this piece of text into audio, make a phone call to this number, and read it out. How would this work with SIP? Would we have to synthesize audio ourselves?

<!-- gh-comment-id:2424104643 --> @cuu508 commented on GitHub (Oct 19, 2024): Thanks for the suggestion, @Spongebon0. Could you give a high-level overview of how would such an integration work? Is there a standard protocol that SIP providers use? Is there a Python client for it? Currently, for making voice calls, we use Twilio API: we tell Twilio: please synthesize this piece of text into audio, make a phone call to this number, and read it out. How would this work with SIP? Would we have to synthesize audio ourselves?
Author
Owner

@Spongebon0 commented on GitHub (Oct 19, 2024):

Thank you for your response!

With a little Help: SIP (Session Initiation Protocol) is widely used for managing voice calls over the internet. It’s a signaling protocol that establishes, modifies, and terminates sessions between endpoints (such as two phones or a phone and a server). SIP itself doesn’t handle the actual media (audio), which is managed by another protocol (usually RTP - Real-time Transport Protocol) after the session is established.

The library I found, pyVoIP (https://pypi.org/project/pyVoIP/), could be used to handle SIP communications in Python. This library would allow to create a simple SIP client for registering with a SIP provider and making outbound calls.

Since SIP does not manage the audio, you would also have to manage the text to speech module yourself. As far as I could find out, there are python libraries for Google TTS.

<!-- gh-comment-id:2424130141 --> @Spongebon0 commented on GitHub (Oct 19, 2024): Thank you for your response! With a little Help: SIP (Session Initiation Protocol) is widely used for managing voice calls over the internet. It’s a signaling protocol that establishes, modifies, and terminates sessions between endpoints (such as two phones or a phone and a server). SIP itself doesn’t handle the actual media (audio), which is managed by another protocol (usually RTP - Real-time Transport Protocol) after the session is established. The library I found, pyVoIP (https://pypi.org/project/pyVoIP/), could be used to handle SIP communications in Python. This library would allow to create a simple SIP client for registering with a SIP provider and making outbound calls. Since SIP does not manage the audio, you would also have to manage the text to speech module yourself. As far as I could find out, there are python libraries for Google TTS.
Author
Owner

@cuu508 commented on GitHub (Oct 22, 2024):

I don't think Healthchecks itself should act as a SIP client, handle audio synthesis, and do RTP communication. Instead I think there could be a separate system responsible for this that runs alongside Healthchecks.

As an example, let's say there was a hypothetical command-line utility sip-cli which takes a phone number and a message text as arguments. It prepares and delivers the message, and returns status code 0 on success. Self-hosted Healthchecks instances could integrate with it using the existing Shell Commands integration. If sip-cli usage became popular, we could then also build a custom integration for it.

One integration where we do something roughly similar is Signal. Healthchecks does not know how to send messages on the Signal network but it can talk to the signal-cli daemon which then takes care of delivering the messages.

<!-- gh-comment-id:2429268491 --> @cuu508 commented on GitHub (Oct 22, 2024): I don't think Healthchecks itself should act as a SIP client, handle audio synthesis, and do RTP communication. Instead I think there could be a separate system responsible for this that runs alongside Healthchecks. As an example, let's say there was a hypothetical command-line utility `sip-cli` which takes a phone number and a message text as arguments. It prepares and delivers the message, and returns status code 0 on success. Self-hosted Healthchecks instances could integrate with it using the existing [Shell Commands](https://github.com/healthchecks/healthchecks?tab=readme-ov-file#shell-commands) integration. If sip-cli usage became popular, we could then also build a custom integration for it. One integration where we do something roughly similar is Signal. Healthchecks does not know how to send messages on the Signal network but it can talk to the [signal-cli](https://github.com/AsamK/signal-cli) daemon which then takes care of delivering the messages.
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#745
No description provided.