Ringba routes a bought call to a destination you control. Point that destination at your VICIfast box and the call lands in a VICIdial in-group, on your own agents, with your own recordings and your own dispositions. Nothing about the traffic changes; only who answers it.
Integrations on demand. There is no Ringba connector to switch on, and we are not a Ringba partner. Our team wires your account to your server as a scoped piece of work, quoted per setup.
Two ways a call can arrive
Over SIP. Ringba sends to a SIP address on your box. This is the better option, because a SIP delivery can carry custom headers, and the headers are how the buyer data reaches the agent screen.
To a DID. Ringba dials a number that terminates on your carrier and routes to your in-group. Simpler to set up, and it throws away everything except the caller ID.
If the agent needs to know which campaign, publisher or offer produced the call, take the SIP path. If the caller ID is genuinely all you need, the DID path is one field on their side and ten minutes on yours.
Getting the tags onto the screen
A SIP delivery carries the values Ringba holds as headers on the INVITE. Asterisk reads them in the dialplan:
exten => _X.,1,Set(RINGBA_CAMPAIGN=${PJSIP_HEADER(read,X-Campaign)})
same => n,Set(RINGBA_PUBLISHER=${PJSIP_HEADER(read,X-Publisher)})
same => n,Set(CALLERID(num)=${CALLERID(num)})
From there the values populate the lead before the agent screen paints, so the agent is not asking a caller to repeat what the platform already knows.
This is the part worth paying for. The DID path takes an afternoon. Making the header data arrive, map to the right VICIdial fields and survive a transfer is the actual work.
Setup
- Provision an in-group on the VICIdial box and decide the agent skill that answers it.
- Create the SIP endpoint, or the DID and its inbound route, depending on the path above.
- In Ringba, create the Target pointing at that address and assign it to the campaign.
- Agree which values travel as headers, and their exact header names.
- Map each header to a VICIdial field in the dialplan.
- Place live test calls through the Ringba campaign and confirm the data lands on the agent screen, not just the call.
It also runs the other way
Everything above is traffic arriving. The dialer can call Ringba as well: VICIdial fires their API mid-call with the lead substituted into the URL, and the caller is transferred live if Ringba accepts. On a Ringba account this is usually the sell side of the same relationship: you buy some traffic and transfer other calls out to buyers who pay more for them.
A transfer accepted during the conversation is worth considerably more than a record posted after it, and it is a separate piece of work from the inbound path. See live transfer on a buyer API response for the hooks and the failure modes.
Gotchas
Concurrency is enforced on their side, capacity on yours. Ringba caps concurrency per Target. Set that cap to what your floor can actually answer, not what your trunk can carry, or you buy calls that queue.
Ring time and their timeout are separate clocks. If your in-group rings longer than Ringba's timeout, the platform marks the call failed and may route it elsewhere while your agent is still being alerted.
Answer supervision decides who pays. Make sure the point at which your box answers matches what you expect to be billed for. An in-group that answers to play a greeting before an agent is available starts the meter early.
Repointing a Target is a five-minute change. Migrating from a hosted dialer is genuinely easy here - same platform, same Target, new address - which is the reason this integration usually takes less time than the customer expects.
Related: pay-per-call routing into VICIdial.
