Skip to content

Agents (Call Center) Module Documentation

12 min readUpdated: Sep 26, 2026
View as Markdown
  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. Model Context Protocol (MCP) AI Integration
  9. Limitations & Important Notes
  10. Troubleshooting Tips
  11. Glossary

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.

┌─────────────────────────────────────────────────────────────────┐
│ 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) │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Telephony Server mod_callcenter │ │
│ │ │ │
│ │ Agent: 101@domain.com │ │
│ │ Type: callback │ │
│ │ Contact: user/101@domain.com │ │
│ │ Status: Available │ │
│ │ State: Waiting │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Agents provide professional call center capabilities:

Without Agents With Agents
Manual call handling Queue-based distribution
No status tracking Real-time availability
No break management Pause/unpause controls
No performance data Agent metrics
  1. Inbound Call Centers

    • Customer support teams
    • Technical help desks
    • Order taking
  2. Sales Teams

    • Lead qualification
    • Outbound campaigns
    • Appointment setting
  3. Multi-Queue Routing

    • Tiered support levels
    • Skills-based routing
    • Overflow handling
Feature Benefit
4 Agent Statuses Available, Available (On Demand), On Break, Logged Out
3 Agent Types Inbound, Outbound, Callback
Auto/Manual State Control how status changes
Max No Answer Auto-pause after missed calls
Wrap-Up Time Post-call processing time
Ring Timeout Per-agent ring duration
Recording Per-agent call recording
BLF Support Lamp status on phones

3. Module Overview (End User/Administrator)

Section titled “3. Module Overview (End User/Administrator)”
  • Create agents linked to extensions
  • Configure behavior settings
  • Set initial status and state mode
  • Assign agents to queues via Tiers
  • Enable/disable agents
  1. Navigate to PBX Engine → Call Center → Agents in the main navigation menu.
  2. The list view displays all configured Call Center Agents with Agent Name, Extension, Status, State Mode, and Enabled status.
  3. Click the + Add button in the top toolbar to configure a new call center agent.
  4. Click any agent row or edit action to configure status, concurrency limits, and granular timing behaviors.

Agents List View

┌─────────────────────────────────────────────────────────────────┐
│ Creating an Agent │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Step 1: General Settings │
│ ├─ Agent Name: "Alice Morgan (Support Lead)" │
│ ├─ Extension: Select 2000 │
│ ├─ Initial Status: Available │
│ ├─ State Mode: Auto │
│ ├─ Agent Type: callback │
│ ├─ Record Calls: ✓ │
│ ├─ Max Concurrent Calls: 1 │
│ └─ Enabled: ✓ │
│ │
│ Step 2: Behavior Settings │
│ ├─ Max No Answer: 3 │
│ ├─ Busy Delay Time: 90 sec │
│ ├─ Reject Delay Time: 90 sec │
│ ├─ No Answer Delay Time: 30 sec │
│ ├─ Contact Timeout: 20 sec │
│ └─ Wrap-Up Time: 10 sec │
│ │
│ Step 3: Save, then assign to Queues via Tiers │
│ │
└─────────────────────────────────────────────────────────────────┘

Agent Configuration Form

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"

[!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.


Field Description Type / Options Default Required
Agent Name Display name identifying the agent Text None Yes
Extension Associated telephony extension Extension Selector None Yes
Initial Status Initial agent status upon creation or reload Available, Available (On Demand), Logged Out, On Break Available Yes
State Mode Automatic or manual state transitions Auto, Manual Auto Yes
Agent Type Agent dispatch mechanism in Telephony Server callback, uuid-standby callback Yes
Record Calls Whether to record calls answered by this agent Toggle (Boolean) Off No
Max Concurrent Calls Maximum simultaneous calls the agent can accept Number (min 1) 1 No
Enabled Master switch to enable or disable the agent Toggle (Boolean) On Yes
Field Description Type / Range Default Required
Max No Answer Number of unanswered calls before the system automatically pauses the agent Number (min 0) 3 No
Busy Delay Time Delay in seconds before offering another call after the agent rejects due to busy Number (seconds, min 0) 90 No
Reject Delay Time Delay in seconds before offering another call after explicit call rejection Number (seconds, min 0) 90 No
No Answer Delay Time Delay in seconds before offering another call after agent rings out with no answer Number (seconds, min 0) 30 No
Contact Timeout Seconds to ring the agent device before considering the attempt unanswered Number (seconds, min 1) 20 No
Wrap-Up Time Post-call grace period in seconds allowing the agent to complete notes before next call Number (seconds, min 0) 10 No

Status Description Available for Calls
Available Ready to receive calls ✅ Yes
Available (On Demand) Ready but rings only if no others ⚡ On Demand
On Break Paused, not receiving ❌ No
Logged Out Not in queues ❌ No
┌─────────────────────────────────────────────────────────────────┐
│ Agent State Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ │
│ │ Logged Out │ │
│ └──────┬──────┘ │
│ │ *91 Login │
│ ▼ │
│ ┌─────────────┐ │
│ ┌───────▶│ Available │◀───────┐ │
│ │ └──────┬──────┘ │ │
│ │ │ *93 Pause │ *93 Unpause │
│ │ ▼ │ │
│ │ ┌─────────────┐ │ │
│ │ │ On Break │────────┘ │
│ │ └─────────────┘ │
│ │ │
│ │ *92 Logout │
│ │ │
│ ┌──────┴──────┐ │
│ │ Logged Out │ │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Mode Behavior
Auto System changes state based on phone activity
Manual Agent must change state via feature codes

Agents are assigned to queues via Tiers with:

  • Level: Priority tier (1 = highest)
  • Position: Order within tier
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
Code Action
*91 Global login (all assigned queues)
*92 Global logout (all queues)
*93 Global pause/unpause toggle
*91 + queue# Login to specific queue
*93 + queue# Pause in specific queue

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

Queues:

Queue Level Position
Sales 1 1
Support 2 3
Billing 1 2

Behavior: Gets Sales calls first, Support only when Sales quiet.

Flow:

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

8. Model Context Protocol (MCP) AI Integration

Section titled “8. Model Context Protocol (MCP) AI Integration”

Ring2All exposes native Model Context Protocol (MCP) tools for Call Center Agents, allowing AI supervisors, scheduling systems, and operations bots to inspect agent availability, change operational states, audit assigned queue tiers, and provision call center agents dynamically with strict domain validation and deletion protection.

Tool Name Description Key Parameters
list_call_center_agents Lists all Call Center Agents defined in the domain, displaying SIP extension, contact URI, operational status (Available, Logged Out, Available (On Demand), On Break), and ready state. search (optional string)
get_call_center_agent_status Retrieves real-time agent status, assigned ACD queues, tier levels, positions, and wrap-up configurations. extension (required string)
create_call_center_agent Provisions a new Call Center Agent in the domain, validating extension uniqueness and contact mapping. name, extension (required); status, ready
update_call_center_agent_status Changes agent status (e.g. setting Available, On Break, Logged Out), ready state, or agent display name. extension (required); status, ready, name
delete_call_center_agent Safely removes an agent after validating that they are not logged into active calls or required by locked queues via assertCanDeleteAgent. extension (required string)

Call center agent extensions are strictly validated within the tenant domain (public.call_center_agents). No two agents can share the same extension, and extensions cannot be accidentally overwritten or duplicated.

{
"tool": "get_call_center_agent_status",
"arguments": {
"extension": "2001"
}
}
{
"tool": "update_call_center_agent_status",
"arguments": {
"extension": "2001",
"status": "On Break",
"ready": false
}
}
  • “List all agents in the call center and identify who is currently Available vs On Break.”
  • “Set agent extension 2001 to Available state.”
  • “Check which queues and tier levels agent 1002 is currently assigned to.”

[!WARNING] Single Extension: Each agent is linked to one extension.

[!WARNING] mod_callcenter Sync: Changes may take seconds to propagate.

  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

Symptom Possible Cause Solution
No calls received Agent not Available Check status via feature code
Immediate timeout Ring timeout too short Increase ring timeout
Stuck in queue No available agents Check agent availability
BLF not updating Presence misconfigured Verify BLF setup

List agents:

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

Check agent queues (tiers):

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];
Terminal window
# 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

Term Definition
Agent Call center operator handling queue calls
Tier Agent-Queue assignment with level/position
Level Priority tier (lower = higher priority)
Position Order within a tier
Wrap-Up Time Post-call processing delay
State Mode Auto or Manual status control
BLF Busy Lamp Field (phone status lights)

Documentation last updated: January 2026