| title | Custom Voice Providers |
|---|---|
| description | Overview of IncidentRelay custom voice providers |
IncidentRelay can load custom Python voice providers for self-hosted installations.
A voice provider is a Python module that knows how to place a phone call through a specific provider API: Mango, Voximplant, Zadarma, Asterisk gateway, internal PBX, or any other service.
IncidentRelay itself does not need to know provider-specific API details. It loads your provider module and communicates with it through a stable provider API.
The provider API is designed for:
- Text-to-speech calls
- Provider call ID tracking
- Call status callbacks
- DTMF button callbacks
- ACK / Resolve actions from phone keypad
- Optional call status polling
Default custom providers directory:
/usr/local/lib/incidentrelay/voice_providers
Example:
/usr/local/lib/incidentrelay/voice_providers/
├── README.md
├── mango.py
├── zadarma.py
└── internal_pbx.py
Only server administrators should be able to write to this directory, because provider files are executable Python code.
Recommended permissions:
sudo mkdir -p /usr/local/lib/incidentrelay/voice_providers
sudo chown root:root /usr/local/lib/incidentrelay/voice_providers
sudo chmod 755 /usr/local/lib/incidentrelay/voice_providersExample provider files are stored in:
examples/voice_providers/
Recommended start:
examples/voice_providers/example_http.py