Ctrl K
ring2all.com

Agents (Call Center) Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Configuration Fields Reference
  5. Agent States & Transitions
  6. Queue Membership
  7. Common Scenarios & Examples
  8. Limitations & Important Notes
  9. Troubleshooting Tips
  10. Glossary

---

1. Module Overview (Technical)

What Are Agents?

Agents are call center operators who handle calls from queues. Each agent is linked to an extension and can log in/out of queues, pause for breaks, and have configurable timeouts and wrap-up times.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Agent System                                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                      Agent                                │  │
│  │              Name: "John Smith"                           │  │
│  │              Extension: 101                               │  │
│  │              Status: Available                            │  │
│  ├───────────────────────────────────────────────────────────┤  │
│  │                                                           │  │
│  │  Behavior Settings:                                       │  │
│  │  ├─ Max No Answer: 3                                     │  │
│  │  ├─ Ring Timeout: 20 sec                                 │  │
│  │  ├─ Wrap-Up Time: 10 sec                                 │  │
│  │  └─ Reject Delay: 90 sec                                 │  │
│  │                                                           │  │
│  │  Queue Membership:                                        │  │
│  │  ├─ Sales Queue (Level 1, Position 1)                    │  │
│  │  └─ Support Queue (Level 2, Position 3)                  │  │
│  │                                                           │  │
│  └───────────────────────────────────────────────────────────┘  │
│                          │                                      │
│                          ▼                                      │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │               FreeSWITCH mod_callcenter                   │  │
│  │                                                           │  │
│  │  Agent: 101@domain.com                                   │  │
│  │  Type: callback                                          │  │
│  │  Contact: user/101@domain.com                            │  │
│  │  Status: Available                                       │  │
│  │  State: Waiting                                          │  │
│  │                                                           │  │
│  └───────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.call_center_agentsAgent definitions
public.call_center_queuesQueue definitions
public.call_center_tiersAgent-Queue assignments
public.call_center_agent_profilesShared agent settings
ss_cc.agentsmod_callcenter runtime state

Key Files

FileDescription
admin/apps/web/src/modules/agents/Frontend module
admin/apps/web/src/i18n/en/agents.jsonTranslations
telephony/freeswitch/lua/main/xml_handlers/callcenter/agent_control.luaAgent login/logout/pause handler
telephony/freeswitch/lua/main/xml_handlers/callcenter/agent_hotdesk_combo.luaHotdesk + Agent combo login
---

2. Module Overview (Commercial/Business)

Business Value

Agents provide professional call center capabilities:

Without AgentsWith Agents
Manual call handlingQueue-based distribution
No status trackingReal-time availability
No break managementPause/unpause controls
No performance dataAgent metrics

Use Cases

  1. Inbound Call Centers
- Customer support teams

- Technical help desks

- Order taking

  1. Sales Teams
- Lead qualification

- Outbound campaigns

- Appointment setting

  1. Multi-Queue Routing
- Tiered support levels

- Skills-based routing

- Overflow handling

Feature Highlights

FeatureBenefit
4 Agent StatusesAvailable, Available (On Demand), On Break, Logged Out
3 Agent TypesInbound, Outbound, Callback
Auto/Manual StateControl how status changes
Max No AnswerAuto-pause after missed calls
Wrap-Up TimePost-call processing time
Ring TimeoutPer-agent ring duration
RecordingPer-agent call recording
BLF SupportLamp status on phones
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Create agents linked to extensions
  • Configure behavior settings
  • Set initial status and state mode
  • Assign agents to queues via Tiers
  • Enable/disable agents

Administrator Workflow

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Creating an Agent                                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Step 1: General Settings                                       │
│  ├─ Agent Name: "John Smith"                                   │
│  ├─ Extension: Select 101                                      │
│  ├─ Enabled: ✓                                                 │
│  ├─ Initial Status: Available                                  │
│  └─ State Mode: Auto                                           │
│                                                                 │
│  Step 2: Behavior Settings                                      │
│  ├─ Max No Answer: 3                                           │
│  ├─ Ring Timeout: 20 sec                                       │
│  ├─ Wrap-Up Time: 10 sec                                       │
│  ├─ Busy Delay Time: 90 sec                                    │
│  ├─ Reject Delay Time: 90 sec                                  │
│  └─ No Answer Delay Time: 30 sec                               │
│                                                                 │
│  Step 3: Advanced Settings                                      │
│  ├─ Agent Type: Inbound                                        │
│  ├─ Max Concurrent Calls: 1                                    │
│  └─ Record Calls: ✓                                            │
│                                                                 │
│  Step 4: Save, then assign to Queues via Tiers                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Agent Workflow (Using Feature Codes)

Plaintext
Login to all assigned queues:
  Dial *91 → "Agent logged in"

Logout from all queues:
  Dial *92 → "Agent logged out"

Pause (all queues):
  Dial *93 → "Agent paused"

Unpause (resume):
  Dial *93 → "Agent resumed"

Login to specific queue:
  Dial *91 + queue number# → "Logged into queue"

Pause in specific queue:
  Dial *93 + queue number# → "Paused in queue"

Quick Tips

TIP
State Mode Auto: System changes status based on phone state.
TIP
Max No Answer: Set to 3 to auto-pause after 3 missed calls.
CAUTION
Wrap-Up Time: Too short = missed calls; too long = idle agents.

---

4. Configuration Fields Reference

General Settings

FieldDescriptionExample
Agent NameDisplay nameJohn Smith
ExtensionAssociated extension101
EnabledAgent can be usedOn/Off
Initial StatusStatus when logging inAvailable
State ModeAuto or ManualAuto

Behavior Settings

FieldDescriptionDefault
Max No AnswerMissed calls before pause3
Ring TimeoutSeconds to ring agent20
Wrap-Up TimePost-call delay10
Busy Delay TimeDelay after busy90
Reject Delay TimeDelay after reject90
No Answer Delay TimeDelay after no answer30

Advanced Settings

FieldDescriptionOptions
Agent TypeCall handling typeInbound, Outbound, Callback
Max Concurrent CallsMulti-call limit1
Record CallsEnable recordingOn/Off
---

5. Agent States & Transitions

Agent Statuses

StatusDescriptionAvailable for Calls
AvailableReady to receive calls✅ Yes
Available (On Demand)Ready but rings only if no others⚡ On Demand
On BreakPaused, not receiving❌ No
Logged OutNot in queues❌ No

State Diagram

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Agent State Flow                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│                    ┌─────────────┐                              │
│                    │ Logged Out  │                              │
│                    └──────┬──────┘                              │
│                           │ *91 Login                           │
│                           ▼                                     │
│                    ┌─────────────┐                              │
│           ┌───────▶│  Available  │◀───────┐                    │
│           │        └──────┬──────┘        │                     │
│           │               │ *93 Pause     │ *93 Unpause         │
│           │               ▼               │                     │
│           │        ┌─────────────┐        │                     │
│           │        │  On Break   │────────┘                     │
│           │        └─────────────┘                              │
│           │                                                     │
│           │ *92 Logout                                          │
│           │                                                     │
│    ┌──────┴──────┐                                              │
│    │ Logged Out  │                                              │
│    └─────────────┘                                              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

State Mode

ModeBehavior
AutoSystem changes state based on phone activity
ManualAgent must change state via feature codes
---

6. Queue Membership

Tier System

Agents are assigned to queues via Tiers with:

  • Level: Priority tier (1 = highest)
  • Position: Order within tier

Plaintext
Queue: Sales
├─ Tier Level 1 (try first)
│  ├─ Position 1: Agent Alice
│  └─ Position 2: Agent Bob
├─ Tier Level 2 (try if L1 unavailable)
│  └─ Position 1: Agent Carol
└─ Tier Level 3 (overflow)
   └─ Position 1: Agent Dave

Feature Codes for Queue Control

CodeAction
91Global login (all assigned queues)
92Global logout (all queues)
93Global pause/unpause toggle
91 + queue#Login to specific queue
93 + queue#Pause in specific queue
---

7. Common Scenarios & Examples

Scenario 1: Basic Support Agent

Configuration:
  • Extension: 201
  • Initial Status: Logged Out
  • Max No Answer: 3
  • Ring Timeout: 20 sec
  • Wrap-Up Time: 10 sec

Workflow:
  1. Agent dials 91 at shift start
  2. Receives calls from Support queue
  3. Dials 93 for lunch break
  4. Dials 93 to resume
  5. Dials 92 at shift end

Scenario 2: Multi-Queue Agent

Queues:
QueueLevelPosition
Sales11
Support23
Billing12
Behavior: Gets Sales calls first, Support only when Sales quiet.

Scenario 3: Hotdesk + Agent Combo

Flow:
  1. Agent logs into hotdesk device
  2. Automatically logs into call center queues
  3. Device assignment + queue login in one step

---

8. Limitations & Important Notes

Technical Limitations

WARNING
Single Extension: Each agent is linked to one extension.
WARNING
mod_callcenter Sync: Changes may take seconds to propagate.

Best Practices

  1. Set Max No Answer: Prevent indefinite missed calls
  2. Appropriate Wrap-Up: Allow post-call work time
  3. Use Tiers: Organize skill-based routing
  4. Monitor BLF: Use lamp indicators
  5. Test State Changes: Verify feature codes work

---

9. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
No calls receivedAgent not AvailableCheck status via feature code
Immediate timeoutRing timeout too shortIncrease ring timeout
Stuck in queueNo available agentsCheck agent availability
BLF not updatingPresence misconfiguredVerify BLF setup

Diagnostic SQL

List agents:

Sql
SELECT id, name, extension, status, enabled
FROM public.call_center_agents
WHERE domain_id = [domain_id];

Check agent queues (tiers):

Sql
SELECT a.name, q.name as queue, t.level, t.position
FROM public.call_center_tiers t
JOIN public.call_center_agents a ON t.agent_id = a.id
JOIN public.call_center_queues q ON t.queue_id = q.id
WHERE a.domain_id = [domain_id];

FreeSWITCH API Commands

Bash
# List all agents
callcenter_config agent list

# Get agent status
callcenter_config agent get status 101@domain.com

# Set agent available
callcenter_config agent set status 101@domain.com Available

---

10. Glossary

TermDefinition
AgentCall center operator handling queue calls
TierAgent-Queue assignment with level/position
LevelPriority tier (lower = higher priority)
PositionOrder within a tier
Wrap-Up TimePost-call processing delay
State ModeAuto or Manual status control
BLFBusy Lamp Field (phone status lights)
---

Lua Script Status ✅

agent_control.lua

Already Correct — Uses public. schema throughout.

agent_hotdesk_combo.lua - Fixed

IssueBeforeAfter
Schemacore.call_center_agentspublic.call_center_agents
Domain lookupcore.tenantspublic.domains
Hotdesk tablescore.hot_desk, core.sip_devicespublic.hot_desk, public.sip_devices
Variable namingtenant_iddomain_id
Column namesupdate_atupdated_at
---

Documentation last updated: January 2026*

AI Assistant

👋 Hello! I'm your Ring2All documentation assistant. I can help you find information about configuring and using the Ring2All PBX platform.

How can I help you today?