Queues (Call Center) Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Configuration Fields Reference
- Queue Strategies
- Tiers and Agents
- Announcements & Caller Experience
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
---
1. Module Overview (Technical)
What Are Queues?
Queues are call distribution points that hold incoming calls until agents become available. They use FreeSWITCH's mod_callcenter to manage call distribution, agent status, and real-time queue metrics.
Architecture
Key Tables
| Table | Purpose | |
|---|---|---|
public.call_center_queues | Queue definitions | |
public.call_center_agents | Agent definitions | |
public.call_center_tiers | Agent-Queue assignments | |
public.call_center_callback_profiles | Callback configuration | |
public.call_center_queue_profiles | Shared queue settings | |
ss_cc.queues | mod_callcenter runtime state |
Key Files
| File | Description | |
|---|---|---|
admin/apps/web/src/modules/queues/ | Frontend module | |
admin/apps/web/src/i18n/en/queues.json | Translations | |
telephony/freeswitch/lua/main/xml_handlers/callcenter/queue_join.lua | Queue entry handler | |
telephony/freeswitch/lua/main/xml_handlers/routing/queue.lua | Queue routing handler |
2. Module Overview (Commercial/Business)
Business Value
Queues provide enterprise call center capabilities:
| Without Queues | With Queues | |
|---|---|---|
| Calls ring busy | Calls wait in order | |
| No hold time info | Position/wait announcements | |
| Random distribution | 9 distribution strategies | |
| No metrics | SLA tracking |
Use Cases
- Customer Support
- Skill-based routing
- SLA management
- Sales Teams
- Priority handling for VIPs
- Callback options
- Help Desks
- Escalation paths
- After-hours handling
Feature Highlights
| Feature | Benefit | |
|---|---|---|
| 9 Strategies | From Ring All to Least Talk Time | |
| Position/Wait Announcements | Caller expectations | |
| Callback Option | Reduce abandonment | |
| VIP Lists | Priority routing | |
| Max Wait Limits | Overflow handling | |
| Tier System | Skill-based distribution | |
| Recording | Quality assurance | |
| SLA Tracking | Service level metrics |
3. Module Overview (End User/Administrator)
What Can You Do?
- Create queues with extensions
- Configure distribution strategies
- Set up announcements
- Configure timeouts and overflow
- Assign agents via Tiers
- Enable callback profiles
- Set VIP priority lists
Administrator Workflow
Quick Tips
---
4. Configuration Fields Reference
General Settings
| Field | Description | Example | |
|---|---|---|---|
| Queue Name | Unique identifier | Support | |
| Extension | Dialable number | 6000 | |
| Strategy | Distribution method | Longest Idle Agent | |
| Max Wait Time | Seconds before timeout | 300 | |
| Timeout Destination | Where unans calls go | Voicemail | |
| Queue Profile | Shared settings | (optional) | |
| Callback Profile | Callback configuration | (optional) | |
| VIP List | Priority callers | (optional) | |
| Enabled | Queue active status | On/Off |
Announcement Settings
| Field | Description | |
|---|---|---|
| Greeting | Welcome message audio | |
| Music on Hold | Audio while waiting | |
| Announce Position | Tell position in queue | |
| Announce Hold Time | Tell estimated wait | |
| Announce Frequency | Repeat interval (sec) | |
| Announce Sound | Periodic message audio | |
| Agent Connect Sound | Played to agent on connect |
Advanced Settings
| Field | Description | Default | |
|---|---|---|---|
| Time Base Score | Queue or System | Queue | |
| Wrap-Up Time | Post-call delay | 10 sec | |
| Exit Key | DTMF to leave queue | ||
| Max Queue Size | Max waiting callers | 0 (unlimited) | |
| Caller ID Prefix | Prefix for agents | ||
| Discard Abandoned After | Cleanup time | 60 sec | |
| Abandoned Resume | Rejoin at position | Off |
5. Queue Strategies
Strategy Comparison
| Strategy | Description | Best For | |
|---|---|---|---|
| Ring All | Ring all available agents | Small teams | |
| Longest Idle Agent | Agent idle longest | Even distribution | |
| Round Robin | Rotate through agents | Fair rotation | |
| Top Down | Always start at first | Priority agents | |
| Least Talk Time | Agent with least talk | Balance workload | |
| Least Calls | Agent with fewest calls | Balance call count | |
| Sequentially by Agent Order | Fixed sequence | Specific order | |
| Sequentially by Next Agent Order | Continue sequence | Continuous rotation | |
| Random | Random selection | Load balancing |
Strategy Diagrams
---
6. Tiers and Agents
Tier System
Tiers define which agents handle which queues with priority:
- Level: Priority tier (1 = highest priority, 2 = next, etc.)
- Position: Order within the same level
Tier Rules
| Setting | Description | |
|---|---|---|
| Tier Rules Apply | Enable tier escalation | |
| Tier Rule Wait | Seconds before tier escalation | |
| Tier Rule Multiply Level | Multiply wait by level | |
| Tier Rule No Agent No Wait | Skip wait if no agents at tier |
7. Announcements & Caller Experience
Announcement Flow
Callback Option
When enabled via a Callback Profile:
- Caller hears: "Press 1 to receive a callback"
- Caller presses 1
- System captures caller's number
- Caller hangs up
- When agent available, system calls back
---
8. Common Scenarios & Examples
Scenario 1: Basic Support Queue
Configuration:- Extension: 6000
- Strategy: Longest Idle Agent
- Max Wait: 300 sec
- Timeout: Voicemail 101
| Agent | Level | Position | |
|---|---|---|---|
| 101 | 1 | 1 | |
| 102 | 1 | 2 | |
| 103 | 1 | 3 |
Scenario 2: Tiered Escalation
Configuration:- Extension: 7000
- Strategy: Top Down
- Tier Rule Wait: 30 sec
| Agent | Level | Position | Role | |
|---|---|---|---|---|
| 201 | 1 | 1 | Junior Support | |
| 202 | 1 | 2 | Junior Support | |
| 203 | 2 | 1 | Senior Support | |
| 204 | 3 | 1 | Supervisor |
Scenario 3: VIP Priority Queue
Configuration:- Extension: 8000
- VIP List: "Premium Customers"
- Strategy: Longest Idle Agent
---
9. Limitations & Important Notes
Technical Limitations
Best Practices
- Set Max Wait: Prevent infinite hold times
- Configure Timeout: Route unanswered calls somewhere
- Use Announcements: Keep callers informed
- Monitor SLA: Track service level metrics
- Enable Callback: Reduce abandonment
---
10. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution | |
|---|---|---|---|
| Calls not answered | No available agents | Check agent status | |
| Immediate timeout | Max wait = 0 | Set max wait time | |
| No announcements | Missing audio files | Check greeting paths | |
| Agents not getting calls | Tier misconfigured | Verify level/position | |
| Queue full | Max size reached | Increase max queue size |
Diagnostic SQL
List queues: Check queue tiers:FreeSWITCH API Commands
---
11. Glossary
| Term | Definition | |
|---|---|---|
| Queue | Call holding point for agent distribution | |
| Strategy | Algorithm for selecting agents | |
| Tier | Agent-Queue assignment with level/position | |
| Level | Priority tier (1 = highest priority) | |
| Position | Order within a tier | |
| SLA | Service Level Agreement (target answer time) | |
| Abandonment | Call that hangs up before answer | |
| Callback | System calls back when agent available | |
| VIP List | Priority callers list |
Lua Script Status ✅
Both Scripts Already Correct
| Script | Status | Schema | |
|---|---|---|---|
queue_join.lua | ✅ Correct | Uses public.domains, public.call_center_queues, public.call_center_callback_profiles | |
routing/queue.lua | ✅ Correct | Uses public.dialplan_registry, public.call_center_queues |
---
Documentation last updated: January 2026*