Skip to main content

Overview

Ozonetel connects to Ringg over HTTP + WebSocket. Ozonetel dials the customer and calls Ringg’s URLs; Ringg replies with the instructions for the call. You configure three URLs in Ozonetel:

Prerequisites

  • An active Ozonetel account with API access
  • The Ozonetel API key, campaign name, user name, and the SIP extension your campaign streams from
  • At least one DID on the Ozonetel side
  • A Ringg workspace with admin access, and an assistant ready to take calls

Step 1: Add Ozonetel as a telephony provider in Ringg

1

Open Telephony Integration

In the Ringg dashboard, go to IntegrationsTelephony Integration.
2

Select Ozonetel

Click Add Telephony Provider and select Ozonetel.
3

Enter credentials

All four fields are required.Optional: set call_transfer_strategy to group if warm transfers should be bridged to an Ozonetel skill group rather than dialed as a plain number.
4

Test and save

Click Test Connection, then save the provider.
5

Import your numbers

Ozonetel numbers are added manually. Go to Numbers, choose the Ozonetel account, and add each DID.

Step 2: Outbound URL

Set the campaign’s agent-flow URL to:
Accepts GET and POST. Ozonetel hits this same URL for each lifecycle event of the call and Ringg replies with the instruction for that stage.

The Name parameter

When Ringg places an outbound call, it passes a Name parameter carrying the Ringg call ID. Ozonetel must send that same Name back to this URL on every callback — that is how Ringg identifies which call is connecting.
The value must come back unchanged. Ringg rejects any callback without it with 400, and the call never connects.

Callback parameters

Ringg serves the stream instruction once per call (10-minute guard). A duplicate NewCall for the same Name gets an empty response instead of a second stream.

Step 3: Inbound URL

Point the URL node of your inbound flow at:
Accepts GET and POST. The Ringg team shares the exact inbound URL for your assistant — configure it as given, without editing the query string. Ringg answers with a hangup instruction when sid is missing, the assistant cannot be resolved, or the SIP extension is not configured.

Step 4: Status callback URL

Set the campaign’s Call-Summary (CDR) push URL to:
Accepts GET and POST. Ringg reads the parameters from the POST body (JSON or x-www-form-urlencoded) when there is one, otherwise from the query string. A data=<json-string> envelope is unwrapped automatically. This callback is what drives Ringg’s retry and failure handling. Without it, unanswered and busy calls are not retried.

Identifying the call

  • Outbound — template the Ringg call ID into the URL as call_id, or make sure Name is present in the push. If neither is there, the push is ignored.
  • Inbound — Ringg uses Ozonetel’s own call ID: monitorUCID, ucid, or sid.
  • Direction comes from Type (or call_type / direction). Only Inbound counts as inbound; Manual, Preview, Progressive, Predictive, IVR and an absent value are treated as outbound.

Call disposition

Send the call disposition in CustomerStatus, DialStatus, Status or AgentStatus — Ringg reads whichever is present, most granular first. The endpoint always returns 200 {"status": "ok"} so Ozonetel does not retry the push.

URL reference

Troubleshooting