Before you start
An Ozonetel account
With API access and at least one . Have its API key, campaign name, user name and the extension your campaign streams from.
An agent
The Ringg agent that places or takes the calls.
Connect the account in Ringg
1
Open the Ozonetel account form
Go to Numbers → Add number, select Ozonetel, and open Configure provider (the gear). Select Add.
2
Fill in the fields and save
All fields are required.
”BYOT added successfully.” appears and the account is available in the telephony account selector.
3
Add your DIDs
With the Ozonetel account selected in Add number, add each DID. See Import a number and Add a number by hand.
Outbound URL
Set the campaign’s agent-flow URL to:The Name parameter
When Ringg places an outbound call, it passes a Name parameter carrying the Ringg call ID. Ozonetel must send the same Name back, unchanged, on every callback; that is how Ringg identifies the call. A callback without it is rejected with 400, and the call never connects.
A callback that carries Name
Callback parameters
Ringg serves the stream instruction once per call, for 10 minutes. A duplicate
NewCall for the same Name gets an empty response instead of a second stream.
Inbound URL
Point the URL node of your inbound flow at:
Ringg answers with a hangup instruction when
sid is missing, the agent cannot be resolved, or the SIP extension is not configured.
Status callback URL
Set the campaign’s Call-Summary (CDR) push URL to:x-www-form-urlencoded) when there is one, otherwise from the query string, and unwraps a data=<json-string> envelope.
Identifying the call
- Outbound: template the Ringg call ID into the URL as
call_id, or make sureNameis present in the push. If neither is there, the push is ignored. - Inbound: Ringg uses Ozonetel’s own call ID:
monitorUCID,ucid, orsid. - Direction comes from
Type(orcall_type/direction). OnlyInboundcounts as inbound;Manual,Preview,Progressive,Predictive,IVRand an absent value are treated as outbound.
Call disposition
Send the call disposition inCustomerStatus, 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.
Troubleshooting
Next steps
Attach a number to an agent
Answer inbound calls on an Ozonetel DID.
Run a campaign
Place outbound calls through Ozonetel.