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

  1. Log in to 3CX: Open your web browser and navigate to your 3CX Management Console
  2. Enter Admin Credentials: Use your administrator username and password
  3. Navigate to Trunks: Go to Voice & Chat > SIP Trunks

1.2 Add New SIP Trunk

  1. Click “Add Trunk”: Look for the “Add” button or ”+” icon to create a new trunk
  2. Select Trunk Type: Choose “Generic SIP Trunk (IP Based)” from the available options
  3. 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)
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

  1. Type of Authentication: Select “Do not require - IP based”
    • This allows Callab.ai to connect without username/password authentication
  2. Registrar/Server: Enter 104.197.91.206 (Callab.ai’s IP address)
  3. Port: Enter 5060 (standard SIP port)
  4. Leave other settings as default unless you have specific requirements

1.4 Save the Configuration

  1. Review Settings: Double-check all entered information
  2. Click “Save”: Save the trunk configuration
  3. 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

  1. Log in to Callab.ai: Go to your Callab.ai dashboard
  2. Ensure Owner Access: Make sure you’re logged in with an account that has owner-level permissions
  3. Navigate to Phone Numbers: Click on “Phone Numbers” in your navigation menu

2.2 Add 3CX Phone Number

  1. Click “Add New Phone Number”: Look for the button to add a new phone number
  2. Select Provider Type: Choose “SIP Trunk” from the available options
  3. 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)
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

  1. Click “Add Gateway”: Look for the option to add a gateway
  2. IP Address: Enter your 3CX server’s IP address
    • This is the public or network IP address where your 3CX system is hosted
  3. Enable Services: Check both “Inbound” and “Outbound” options
  4. 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

  1. Navigate to Routes: In your 3CX Management Console, go to Call Routing > Outbound Routes
  2. Click “Add”: Create a new outbound route

3.2 Create Callab.ai Outbound Route

  1. Route Name: Enter a descriptive name like Callab AI Route
  2. Route Configuration:
    • Route 1: Select the Callab AI SIP trunk that you created in Step 1
    • Strip Digits: Enter 2
  3. Pattern Matching: Configure the route to match the prefix patterns you’ll use
  4. 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

  1. Navigate to Your Existing SIP Trunk: Go to Voice & Chat > SIP Trunks and select your existing trunk
  2. Access Default Route Settings: Look for “Default Route” or “Incoming Call Route” settings
  3. 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:
  1. Call arrives at your existing SIP trunk
  2. 3CX forwards the call to 9920000
  3. Outbound route processes the 99 prefix
  4. Route strips the first 2 digits (99) leaving 20000
  5. Call routes to Callab.ai through the Callab AI trunk
  6. 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

  1. Dial the Extension: From any 3CX extension, dial 20000
  2. Verify Routing: The call should route to Callab.ai
  3. Check AI Response: Callab.ai should answer and engage with the caller

5.2 Test Outbound Route (if configured)

  1. Dial with Prefix: Dial 9920000 from any extension
  2. Verify Processing: 3CX should strip the 99 and route 20000 to Callab.ai
  3. 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
Issue: Calls don’t reach Callab.ai
  • 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
Issue: One-way audio or poor call quality
  • 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
Issue: Outbound route doesn’t work with prefix
  • 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
Issue: Callab.ai doesn’t answer calls
  • 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:
  1. Check 3CX Logs: Review call logs in 3CX Management Console under Logs > Call History
  2. Check Callab.ai Logs: Review call logs in your Callab.ai dashboard
  3. Network Diagnostics: Test connectivity between your 3CX server and 104.197.91.206
  4. 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:
  1. Create Additional Trunks: Repeat Step 1 with different trunk numbers (e.g., 20001, 20002)
  2. Add Phone Numbers: Create corresponding phone numbers in Callab.ai
  3. Configure Routes: Set up specific outbound routes for each extension

Department-Specific Routing

You can route different departments to different Callab.ai assistants:
  1. Create Multiple Callab.ai Phone Numbers: Each with different AI assistant configurations
  2. Use Different Prefixes: Configure different prefixes for different departments (e.g., 99 for sales, 88 for support)
  3. Set Up Corresponding Routes: Create outbound routes for each prefix

Next Steps

After successful integration:
  1. Configure AI Settings: Customize your AI assistant’s behavior in Callab.ai for different use cases
  2. Set Up Call Analytics: Use Callab.ai analytics to track call performance and AI effectiveness
  3. Configure Failover: Set up backup routes in case Callab.ai is unavailable
  4. Monitor Performance: Regularly check call quality and connection status
  5. 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.
To set up an inbound campaign:
  1. Navigate to Campaigns: Go to your Callab.ai dashboard and click on “Campaigns”
  2. Create New Campaign: Click “Create Campaign” or “Add Campaign”
  3. Select Inbound Type: Choose “Inbound” as the campaign type
  4. Configure Campaign: Set up your AI assistant behavior and call handling preferences
  5. Activate Campaign: Make sure the campaign is active and running
  6. Test the Integration: Now you can test inbound calls to your 3CX extension, and Callab.ai will properly handle them