Overview
Cloudonix is a cloud communications platform that enables VR3 AI voice agents to connect to SIP communications platform, either on-premise or in the cloud. In addition, Cloudonix exposes a full set of voice APIs, that provide a full suite of call-control capabilities and more.Prerequisites
Before setting up Cloudonix integration, you’ll need:- A Cloudonix account
- A Cloudonix domain UUID (or the domain name)
- A Cloudonix domain API Key (Bearer Token)
- A Cloudonix Voice Application on that domain (optional — leave the field blank in VR3 AI and we’ll auto-create one for you on save, with the application
urlpre-set) - A Cloudonix outbound voice trunk service provider connection
- VR3 AI instance running and accessible
Video Tutorial
Watch this step-by-step guide to set up Cloudonix with VR3 AI:Configuration
Step 1: Get Cloudonix Credentials
- Log in to your Cloudonix Console
- Find your Domain ID (UUID or domain name) and Bearer Token (Domain API Key) on the dashboard
- (Optional) Navigate to your domain’s Applications and create (or open) the application you’ll use with VR3 AI, then copy its Application Name. Skip this if you want VR3 AI to auto-create the Voice Application for you on save.
Step 2: Configure in VR3 AI
- Navigate to /telephony-configurations and click Add configuration
- Watch the Cloudonix setup video tutorial above for detailed guidance
- Select Cloudonix as your provider
-
Enter your credentials:
- Bearer Token
- Domain ID
- Application Name — optional. Leave blank and VR3 AI will auto-create a Voice Application on save (with the application
urland CXML runtime already configured) and store its name on this configuration.
- Click Save Configuration
-
Open the configuration you just created and add at least one phone number (with country code in E.164 format, e.g.
+1234567890). The default caller ID is used for outbound calls.If VR3 AI auto-created the Voice Application for you, you still need to bind your DNIDs to that application in the Cloudonix cockpit (see Step 2 of Inbound Calling Setup). The auto-created application is nameddograh-<random>— its name is shown on the saved configuration.
Step 3: Test Your Configuration
- Create a test workflow
- Click “Call” to verify connection
- Check call logs for successful connection
Inbound Calling Setup
Cloudonix routes inbound calls per Voice Application — the webhook URL is set once on the application, and applies to every DNID bound to it. When you save an inbound workflow on a phone number, VR3 AI automatically pushes the webhook URL to your Voice Application’surl (provided the credentials are correct), so you don’t need to set the webhook by hand. If VR3 AI auto-created the application during configuration save, the url is already set and this push is a no-op — you only need to bind your DNIDs to the auto-created application.
Step 1: Set Up the Inbound Trunk
- Log in to your Cloudonix Console
-
Navigate to Trunks → Create Inbound Trunk and configure your inbound trunk with your voice service provider
Step 2: Create the Voice Application and Link DNIDs
- In the Cloudonix cockpit, select your domain and navigate to Applications
-
Create a new application (or open the existing one whose name you configured in VR3 AI) with these settings:
- Application Resource Type:
Remote Application Resource - Application Runtime:
Cloudonix (CXML) - Application URL:
https://vr3ai.tapcloud.org/api/v1/telephony/inbound/run - HTTP Method:
POST
- Application Resource Type:
- Under DNID Numbers, add each phone number (DNID) you want to route through this application
-
Save
The Application URL is what VR3 AI’s auto-push updates in Step 3 — you can leave it blank during creation and let the auto-push fill it in, or paste the URL above so the application is usable immediately. Either works. Self-hosted VR3 AI deployments use their backend domain in place of
vr3ai.tapcloud.org.
Step 3: Assign an Inbound Workflow to the Phone Number in VR3 AI
- Go to /telephony-configurations and open your Cloudonix configuration
- In the Phone numbers section, edit the number that should receive inbound calls
- Set its Inbound workflow to the agent that should answer
- Save
Step 4: Verify the URL on the Voice Application
- Open your Cloudonix cockpit and navigate to your domain’s Applications
- Open the application whose name you configured in VR3 AI
-
Confirm:
- URL is set to:
https://vr3ai.tapcloud.org/api/v1/telephony/inbound/run - Method is
POST
VR3 AI pushed this URL automatically when you saved the inbound workflow in Step 3. The same URL is shared across every DNID bound to that application — VR3 AI routes each inbound call to the right agent based on the called number’s inbound workflow assignment. If the field is empty, shows a different URL, or VR3 AI surfaced a sync warning on save, the auto-push failed — most often because the Bearer Token, Domain ID, or Application Name in VR3 AI is incorrect. Paste the URL into the field yourself, set the method toPOST, and save. On self-hosted VR3 AI, replacevr3ai.tapcloud.orgwith your backend domain.
- URL is set to:
Step 5: Verify Setup
- Ensure your VR3 AI instance is publicly accessible
- Verify any firewalls allow Cloudonix’s IP ranges
- Confirm your inbound trunk is active and receiving calls
Test Inbound Calling
- Call your configured phone number from another phone
- Verify your VR3 AI voice agent answers and responds
- Check call logs in both VR3 AI dashboard and Cloudonix Console
- Confirm clear two-way audio communication
Troubleshooting
Invalid phone number error
Invalid phone number error
Ensure phone numbers include country code in E.164 format:
+1234567890Authentication failed
Authentication failed
- Verify Domain ID, Bearer Token, and Application Name are correct
- Check for extra spaces in credentials
- Ensure credentials haven’t been disabled or deleted in Cloudonix Console
No audio on calls
No audio on calls
- Verify WebSocket connection is established
- Check firewall rules for WebSocket traffic
- Ensure audio pipeline is configured correctly
Inbound calls not reaching voice agent
Inbound calls not reaching voice agent
- Verify the DNID is bound to the same Voice Application whose name you
configured in VR3 AI - Confirm the called number exists in your VR3 AI
telephony configuration and has an Inbound workflow assigned -
After assigning the inbound workflow, confirm VR3 AI successfully updated
the application’s
url(no warning shown on save) - Verify your inbound trunk is active and receiving calls
Voice agent doesn't respond to inbound calls
Voice agent doesn't respond to inbound calls
- Confirm the phone number has an Inbound workflow assigned in /telephony-configurations - Verify the Bearer Token in VR3 AI matches the one in your Cloudonix Console - Verify WebSocket connection establishes successfully - Review call logs for error messages
Best Practices
- Test your configuration with a single call before running campaigns
- Monitor Cloudonix Sessions for usage
- Use a dedicated Voice Application for VR3 AI so the shared
urldoesn’t conflict with other systems
