Connecting IP Telephony
Aelo ingests completed calls from Ukrainian IP-telephony providers via webhook, and historical calls via CDR backfill. Four providers are supported: Stream Telecom and Binotel are verified on production traffic; Unitalk and Ringostat are in beta.
General flow
Section titled “General flow”- Under Sources → Telephony, pick a provider and enter its credentials.
- Copy the issued
webhookUrlinto the provider’s settings. - Click Test connection — Aelo calls the provider’s CDR API.
Stream Telecom
Section titled “Stream Telecom”- Credentials:
username+password+api_key(Administration → Company Profile → API KEY). Not a Bearer token. - Webhook: an event stream; the terminal event is
Hangupwith a synchronousrecordUrl. Configured by emailing support@streamtele.com. - CDR backfill: window ≤30 days.
Binotel
Section titled “Binotel”- Credentials:
key+secret(issued by support@binotel.ua, bound to your IP). - Event:
apiCallCompleted(form-urlencoded). The webhook carries no recording URL — Aelo fetches it on demand right before download (the link lives ~15 min). - IP allowlist: Binotel’s public IPs are allowed by default.
- Aelo always responds 200 to avoid provider re-deliveries.
Unitalk
Section titled “Unitalk”- Credentials: project API key (sent in the
Authorizationheader). - Setup: after saving, Aelo generates a webhook secret. Paste it into the
Authorizationheader of the Unitalk event handler — otherwise every webhook is rejected. - Timezone: Unitalk timestamps have no offset; defaults to
Europe/Kyiv(editable in the form). - Event:
CALL_END. The recording becomes available after ~10–15 min (Aelo waits for it).
Ringostat
Section titled “Ringostat”- Credentials: API key — the only field the form asks for.
- Setup: the webhook is arranged through Ringostat support (help@ringostat.com); the wizard prepares that request for you.
- Recording: arrives inside the webhook itself, so there is no follow-up fetch.
- No CDR backfill: historical calls cannot be imported — only calls that arrive after the connection is set up.
- Status: beta. The payload schema is inherited from an earlier integration and has never been confirmed against live data; Test connection therefore reports success without calling Ringostat.