Overview
This guide will walk you through the process of integrating Callab.ai with your 3CX phone system. This integration allows you to route calls through Callab.ai for AI-powered call handling and analysis using SIP trunk configuration.Prerequisites
Before starting this integration, ensure you have:- 3CX Admin Access: You need administrator-level access to your 3CX Management Console
- Callab.ai Owner Account: You need owner-level access to your Callab.ai account
- Basic Understanding: Familiarity with telephony concepts (extensions, trunks, outbound routes)
- Network Access: Ensure your 3CX system can reach Callab.ai’s server at
104.197.91.206
on UDP port 5060 - 3CX Version: This guide is compatible with 3CX v16 and newer versions
Make sure to test this integration in a non-production environment first to avoid disrupting your live phone operations.
Step 1: Create SIP Trunk in 3CX
We’ll start by creating a Generic SIP Trunk in 3CX that will connect to Callab.ai’s servers.1.1 Access 3CX Management Console
- Log in to 3CX: Open your web browser and navigate to your 3CX Management Console
- Enter Admin Credentials: Use your administrator username and password
- Navigate to Trunks: Go to Voice & Chat > SIP Trunks
1.2 Add New SIP Trunk
- Click “Add Trunk”: Look for the “Add” button or ”+” icon to create a new trunk
- Select Trunk Type: Choose “Generic SIP Trunk (IP Based)” from the available options
- Configure Basic Settings:
- Name: Enter
Callab AI
(or any descriptive name of your choice) - Default Route: Enter
8810000
(this is a dummy prefix that will be configured in outbound routes) - Main Trunk Number: Enter
20000
(or any other internal extension you want to use)
- Name: Enter
Important: Remember the Main Trunk Number (20000 in this example) as you’ll need to use the exact same number in Callab.ai configuration.
1.3 Configure Authentication Settings
- Type of Authentication: Select “Do not require - IP based”
- This allows Callab.ai to connect without username/password authentication
- Registrar/Server: Enter
104.197.91.206
(Callab.ai’s IP address) - Port: Enter
5060
(standard SIP port) - Leave other settings as default unless you have specific requirements
1.4 Save the Configuration
- Review Settings: Double-check all entered information
- Click “Save”: Save the trunk configuration
- Verify Creation: Ensure the new “Callab AI” trunk appears in your SIP Trunks list
Step 2: Configure Callab.ai
Now that 3CX is configured to connect to Callab.ai, you need to set up the corresponding configuration in Callab.ai.2.1 Access Callab.ai Dashboard
- Log in to Callab.ai: Go to your Callab.ai dashboard
- Ensure Owner Access: Make sure you’re logged in with an account that has owner-level permissions
- Navigate to Phone Numbers: Click on “Phone Numbers” in your navigation menu
2.2 Add 3CX Phone Number
- Click “Add New Phone Number”: Look for the button to add a new phone number
- Select Provider Type: Choose “SIP Trunk” from the available options
- Configure Phone Number Settings:
- Name: Enter
3CX Extension
(or any descriptive name of your choice) - Phone Number: Enter
20000
(must match the Main Trunk Number from Step 1.2)
- Name: Enter
The phone number in Callab.ai must exactly match the Main Trunk Number you configured in 3CX (20000 in this example).
2.3 Add Gateway Configuration
- Click “Add Gateway”: Look for the option to add a gateway
- IP Address: Enter your 3CX server’s IP address
- This is the public or network IP address where your 3CX system is hosted
- Enable Services: Check both “Inbound” and “Outbound” options
- Save Configuration: Save your phone number and gateway settings
Step 3: Configure Outbound Routes in 3CX
Outbound routes determine how 3CX handles outgoing calls and which trunk to use.3.1 Access Outbound Routes
- Navigate to Routes: In your 3CX Management Console, go to Call Routing > Outbound Routes
- Click “Add”: Create a new outbound route
3.2 Create Callab.ai Outbound Route
- Route Name: Enter a descriptive name like
Callab AI Route
- Route Configuration:
- Route 1: Select the Callab AI SIP trunk that you created in Step 1
- Strip Digits: Enter
2
- Pattern Matching: Configure the route to match the prefix patterns you’ll use
- Save Route: Save the outbound route configuration
Strip Digits Explanation: When you dial a number with a prefix (like 99 + phone number), the “Strip Digits: 2” setting removes the first 2 digits (99) before sending the call to Callab.ai.
Step 4: Route Existing SIP Trunk to Callab.ai (Optional)
If you have another existing SIP trunk and want to route its calls through Callab.ai, follow these steps:4.1 Configure Existing Trunk
- Navigate to Your Existing SIP Trunk: Go to Voice & Chat > SIP Trunks and select your existing trunk
- Access Default Route Settings: Look for “Default Route” or “Incoming Call Route” settings
- Set Forward to Outside Number: Configure it to forward to
9920000
4.2 How the Routing Works
When calls come through your existing SIP trunk:- Call arrives at your existing SIP trunk
- 3CX forwards the call to
9920000
- Outbound route processes the
99
prefix - Route strips the first 2 digits (
99
) leaving20000
- Call routes to Callab.ai through the Callab AI trunk
- Callab.ai receives the call on extension
20000
You can use different prefixes (like
88
, 77
, etc.) for different routing scenarios. Just make sure to create corresponding outbound routes with the appropriate strip digits setting.Step 5: Testing the Integration
5.1 Test Internal Extension
- Dial the Extension: From any 3CX extension, dial
20000
- Verify Routing: The call should route to Callab.ai
- Check AI Response: Callab.ai should answer and engage with the caller
5.2 Test Outbound Route (if configured)
- Dial with Prefix: Dial
9920000
from any extension - Verify Processing: 3CX should strip the
99
and route20000
to Callab.ai - Check Call Flow: Ensure the call reaches Callab.ai successfully
5.3 Verification Checklist
- SIP trunk shows as “Registered” or “Connected” in 3CX
- Extension
20000
rings Callab.ai when dialed directly - Outbound route with prefix works correctly
- Callab.ai AI assistant responds appropriately
- Call quality is acceptable (clear audio, no significant delays)
- Call logs appear in both 3CX and Callab.ai dashboards
Troubleshooting
Common Issues and Solutions
Issue: SIP Trunk shows as “Unreachable” or “Offline”- Solution: Verify network connectivity to
104.197.91.206
- Check: Ensure UDP port 5060 is not blocked by firewalls
- Check: Confirm the IP address
104.197.91.206
is correctly entered
- Solution: Verify the phone number in Callab.ai matches the 3CX trunk number exactly
- Check: Ensure the outbound route is configured correctly
- Check: Verify the Callab.ai phone number is set to active
- Solution: Check NAT/firewall settings for RTP traffic
- Check: Ensure your 3CX server can receive RTP traffic from Callab.ai
- Check: Consider configuring STUN server in 3CX if behind NAT
- Solution: Double-check the “Strip Digits” setting matches your prefix length
- Check: Verify the route priority is set correctly
- Check: Ensure the trunk selection is correct in the outbound route
- Solution: Check that the gateway IP in Callab.ai is your 3CX server’s correct IP
- Check: Verify both inbound and outbound are enabled in Callab.ai
- Check: Ensure the phone number is active in Callab.ai
Getting Help
If you continue to experience issues:- Check 3CX Logs: Review call logs in 3CX Management Console under Logs > Call History
- Check Callab.ai Logs: Review call logs in your Callab.ai dashboard
- Network Diagnostics: Test connectivity between your 3CX server and
104.197.91.206
- Contact Support: Reach out to Callab.ai support with:
- Your 3CX trunk configuration details
- Callab.ai phone number configuration
- Error messages from logs
- Description of the issue and when it occurs
Advanced Configuration
Multiple Extensions
To set up multiple Callab.ai extensions:- Create Additional Trunks: Repeat Step 1 with different trunk numbers (e.g., 20001, 20002)
- Add Phone Numbers: Create corresponding phone numbers in Callab.ai
- Configure Routes: Set up specific outbound routes for each extension
Department-Specific Routing
You can route different departments to different Callab.ai assistants:- Create Multiple Callab.ai Phone Numbers: Each with different AI assistant configurations
- Use Different Prefixes: Configure different prefixes for different departments (e.g., 99 for sales, 88 for support)
- Set Up Corresponding Routes: Create outbound routes for each prefix
Next Steps
After successful integration:- Configure AI Settings: Customize your AI assistant’s behavior in Callab.ai for different use cases
- Set Up Call Analytics: Use Callab.ai analytics to track call performance and AI effectiveness
- Configure Failover: Set up backup routes in case Callab.ai is unavailable
- Monitor Performance: Regularly check call quality and connection status
- Scale Configuration: Apply similar configurations to other sites or additional trunks as needed
Consider creating different Callab.ai phone numbers for different business scenarios (sales, support, after-hours) to provide more targeted AI assistance.
Testing Inbound Calls
Important for Inbound Call Testing: If you want to test an inbound call to Callab.ai, make sure to create an inbound campaign in Callab.ai in order to receive calls. Without an active inbound campaign, Callab.ai will not be able to handle incoming calls properly.
- Navigate to Campaigns: Go to your Callab.ai dashboard and click on “Campaigns”
- Create New Campaign: Click “Create Campaign” or “Add Campaign”
- Select Inbound Type: Choose “Inbound” as the campaign type
- Configure Campaign: Set up your AI assistant behavior and call handling preferences
- Activate Campaign: Make sure the campaign is active and running
- Test the Integration: Now you can test inbound calls to your 3CX extension, and Callab.ai will properly handle them