Pairing Workflow
This guide provides a step-by-step walkthrough for pairing your OPBX instance with Cloudonix. The pairing process connects OPBX to Cloudonix's telephony infrastructure.
Prerequisites Checklist
Before starting, ensure you have:
- OPBX installed and running
- Cloudonix account created
- Domain UUID from Cloudonix
- Domain API Key from Cloudonix
- (For local development) ngrok or similar tunnel running
Step-by-Step Process
Step 1: Access OPBX Settings
- Open your browser and navigate to OPBX (
http://localhost/ui) - Log in as the organization owner
- Click Settings in the navigation menu
- Locate the Cloudonix Integration section
Step 2: Enter Domain UUID
- In the Domain UUID field, paste your Cloudonix Domain UUID
- The field accepts UUID format:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Example: 12345678-1234-1234-1234-123456789abc
Step 3: Enter Domain API Key
- In the Domain API Key field, paste your Cloudonix API key
- This is the key you generated in the Cloudonix Portal
Example: XI1234567890abcdefghijklmnopqrstuv
Step 4: Validate Credentials
-
Click the Validate & Save button
-
OPBX will:
- Connect to Cloudonix API
- Verify your credentials are valid
- Retrieve your domain profile settings
-
If successful:
- You'll see a success message
- Additional fields may be auto-populated
-
If failed:
- Check the error message
- Verify your Domain UUID and API Key are correct
- See Troubleshooting for help
Step 5: Review Auto-Populated Settings
After successful validation, OPBX automatically populates:
| Field | Source | Can Modify |
|---|---|---|
| Domain Name | Cloudonix domain | No (read-only) |
| No Answer Timeout | Cloudonix domain setting | Yes |
| Recording Format | Cloudonix domain setting | Yes |
| Package | Cloudonix billing info | No (read-only) |
Step 6: Configure Webhook Base URL
- Enter your Webhook Base URL
- Local Development: Use your ngrok URL
Example: https://abc123.ngrok-free.app - Production: Use your public domain
Example: https://pbx.yourcompany.com
This URL is used by Cloudonix to send webhooks to OPBX.
Step 7: (Optional) Generate Requests API Key
For enhanced security:
- Click Generate next to Requests API Key (if available)
- Or paste your own Requests API Key from Cloudonix
- Click the copy icon to save the generated key
If you generate a new key, copy it immediately. It will not be shown again.
Step 8: Save Settings
-
Click Save Settings
-
OPBX will:
- Store settings in the local database
- Create/update Voice Application in Cloudonix
- Configure webhook endpoints
-
You'll see a success message when complete
What Happens During Save
When you save settings, OPBX performs several operations:
1. Local Storage
Settings are encrypted and stored in the OPBX database.
2. Voice Application Creation
OPBX creates a Voice Application in Cloudonix (if one doesn't exist):
- Name:
OPBX - [Organization Name] - Webhook URL: Points to your OPBX instance
- Default Application: Set as domain default
3. Webhook Configuration
OPBX automatically configures webhook endpoints:
| Endpoint | Purpose |
|---|---|
/api/voice/route | Request routing instructions |
/api/webhooks/cloudonix/session-update | Call state events |
/api/webhooks/cloudonix/cdr | Call detail records |
Verification Steps
After completing the pairing:
1. Check Settings Status
The Settings page should show:
- Status: Configured
- All required fields filled
- Green checkmarks indicating valid credentials
2. Test Webhook Delivery
- Navigate to the Extensions page
- Create a test extension
- The extension should sync to Cloudonix as a subscriber
- Check Cloudonix Portal to verify the subscriber exists
3. Verify Voice Application
In Cloudonix Portal:
- Go to Voice Applications
- Verify an app named "OPBX - [Your Org]" exists
- Check that webhook URLs point to your OPBX instance
Troubleshooting Save Issues
If saving fails:
| Error | Solution |
|---|---|
| "Invalid credentials" | Verify Domain UUID and API Key |
| "Network error" | Check connectivity to Cloudonix |
| "Voice application creation failed" | Check API permissions |
| "Webhook URL unreachable" | Verify ngrok is running / URL is correct |
Complete Flow Diagram
Next Steps
After successful pairing:
- Extension Synchronization - Sync your extensions to Cloudonix
- Webhook Configuration - Understand webhook events
- Create Extensions - Start creating extensions
Related Documentation: