Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 1.73 KB

File metadata and controls

73 lines (51 loc) · 1.73 KB
title Custom Voice Providers
description Overview of IncidentRelay custom voice providers

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.

Supported features

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

Directory layout

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_providers

Documentation sections

Examples

Example provider files are stored in:

examples/voice_providers/

Recommended start:

examples/voice_providers/example_http.py