Overview
This guide will walk you through the process of integrating CalLab.ai with your ZIWO telephony system. This integration allows you to route calls through CalLab.ai for AI-powered call handling and analysis.Prerequisites
Before starting this integration, ensure you have:- ZIWO Admin Access: You need administrator-level access to your ZIWO account
- CalLab.ai Owner Account: You need owner-level access to your CalLab.ai account
- Basic Understanding: Familiarity with telephony concepts (extensions, dial plans, SIP trunks)
- Network Access: Ensure your ZIWO system can reach
sip-pbx-qa.callab.ai
on UDP port 5060
Make sure to test this integration in a non-production environment first to avoid disrupting your live phone operations.
Step 1: Create a Dial Plan in ZIWO
A dial plan is a set of rules that tells ZIWO how to handle incoming and outgoing calls. We’ll create a custom dial plan that routes calls to CalLab.ai.1.1 Access the ZIWO Admin Panel
- Log in to ZIWO using your administrator credentials
- Navigate to Admin Menu: Look for the admin section in your ZIWO interface (usually in the top navigation or sidebar)
- Go to Channels: Click on “Channels” in the admin menu
- Select IVR & Dialplan: Choose “IVR & Dialplan” from the channels submenu
1.2 Create the New Dial Plan
- Click “Add New Plan”: Look for a button or link that says “Add New Plan” or similar
- Name Your Plan: Give your dial plan a descriptive name like “CalLab AI Integration” or “CalLab SIP Trunk”
- Copy the XML Configuration: Copy and paste the following XML code exactly as shown:
What this dial plan does:
ring_ready
: Generates a ring tone for the callerabsolute_codec_string=PCMU,PCMA
: Sets the audio codecs to use (standard telephony codecs)bridge
: Routes the call to CalLab.ai’s SIP server atsip-pbx-qa.callab.ai
transport=udp
: Specifies UDP as the transport protocol
- Save the Dial Plan: Click “Save” or “Create” to save your new dial plan
1.3 Verify the Dial Plan Creation
- Check the List: Ensure your new dial plan appears in the list of available dial plans
- Note the Name: Remember the exact name you gave to the dial plan, as you’ll need it in the next step
Step 2: Create an Extension in ZIWO
An extension is a specific phone number or identifier within your ZIWO system that will use the dial plan we just created.2.1 Navigate to Extensions
- Go to Extensions Menu: In your ZIWO admin panel, find and click on the “Extensions” menu
- Access Extension Management: Look for options to create or manage extensions
2.2 Create the Extension
- Click “Add Extension” or similar button to create a new extension
- Enter Extension Number: Type in your desired extension number (e.g., 1001, 2000, etc.)
- Choose a number that doesn’t conflict with existing extensions
- Make note of this number as you’ll need it later in CalLab.ai
- Configure Extension Settings:
- Name: Give it a descriptive name like “CalLab AI Extension”
- Type: Select the appropriate extension type (usually “Internal” or “SIP”)
- Select Dial Plan: From the dial plan dropdown, choose the dial plan you created in Step 1
- Look for the name you gave it (e.g., “CalLab AI Integration”)
2.3 Save the Extension
- Review Settings: Double-check all your settings before saving
- Save Extension: Click “Save” or “Create” to create the extension
- Test Extension: If possible, test that the extension is working by calling it internally
Step 3: Configure CalLab.ai
Now that ZIWO is configured, you need to set up the corresponding configuration in CalLab.ai.3.1 Log in to CalLab.ai
- Access CalLab.ai: Go to your CalLab.ai dashboard
- Log in as Owner: Make sure you’re logged in with an account that has owner-level permissions
- Verify Access: Ensure you can see administrative settings and phone number management
3.2 Add ZIWO Phone Number
- Navigate to Phone Numbers: Look for “Phone Numbers” in your CalLab.ai navigation menu
- Click “Add Phone”: Find and click the button to add a new phone number
- Select ZIWO: Choose “ZIWO” from the list of telephony providers
- Enter Extension: In the extension field, enter the exact extension number you configured in ZIWO (from Step 2.2)
- This must match exactly what you set in ZIWO
- Configure Additional Settings: Fill in any other required fields such as:
- Display name for the phone number
- Call routing preferences
- AI assistant settings
3.3 Save and Activate
- Save Configuration: Save your ZIWO phone number configuration
- Activate: Make sure the phone number is set to active/enabled
- Test Configuration: Verify that the phone number appears in your active phone numbers list
Step 4: Testing the Integration
4.1 Initial Test
- Make a Test Call: Call the extension you created in ZIWO
- Listen for Ring: You should hear the phone ringing
- Check Call Routing: The call should be routed to CalLab.ai
- Verify AI Response: CalLab.ai should answer and engage with the caller
4.2 Verification Checklist
- Extension rings when called
- Call is successfully routed to CalLab.ai
- CalLab.ai AI assistant responds appropriately
- Call quality is acceptable (clear audio, no delays)
- Call logs appear in both ZIWO and CalLab.ai dashboards
Troubleshooting
Common Issues and Solutions
Issue: Extension doesn’t ring- Solution: Check that the extension number is correct and the dial plan is properly assigned
- Check: Verify the extension is active in ZIWO
- Solution: Verify the dial plan XML is exactly as provided
- Check: Ensure network connectivity to
sip-pbx-qa.callab.ai
- Check: Confirm UDP port 5060 is not blocked by firewalls
- Solution: Check network bandwidth and stability
- Check: Verify codec settings (PCMU, PCMA should be supported)
- Solution: Double-check that the extension number in CalLab.ai exactly matches the one in ZIWO
- Check: Ensure the phone number is active in CalLab.ai
Getting Help
If you continue to experience issues:- Check Logs: Review call logs in both ZIWO and CalLab.ai for error messages
- Network Diagnostics: Test connectivity to
sip-pbx-qa.callab.ai
- Contact Support: Reach out to CalLab.ai support with:
- Your ZIWO extension number
- Error messages from logs
- Description of the issue and when it occurs
Next Steps
After successful integration:- Configure AI Settings: Customize your AI assistant’s behavior in CalLab.ai
- Set Up Call Routing: Configure how calls should be handled (forwarding, voicemail, etc.)
- Monitor Performance: Use CalLab.ai analytics to track call performance and AI effectiveness
- Scale Up: Apply this configuration to additional extensions as needed
Consider setting up multiple extensions for different departments or use cases to better organize your call handling and AI assistant configurations.