Ctrl K
ring2all.com

Queue Callback Report Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Report Fields Reference
  5. Callback Statuses
  6. Common Scenarios & Examples
  7. Limitations & Important Notes
  8. Troubleshooting Tips
  9. Glossary

---

1. Module Overview (Technical)

What Is Queue Callback Report?

Queue Callback Report is a management and reporting interface for queue callback requests. It displays all scheduled, pending, and completed callbacks, allowing supervisors to monitor callback status, cancel requests, force retries, and delete old records.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│               Queue Callback Report Architecture                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Queue                                                          │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        queue.lua                                         │   │
│  │                                                          │   │
│  │  Caller requests callback                                │   │
│  │  ├─ Store in queue_callbacks table                      │   │
│  │  ├─ Set status = pending                                │   │
│  │  └─ Schedule next attempt                               │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼                                                         │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        queue_callback_dispatcher.lua                     │   │
│  │                                                          │   │
│  │  Scheduled job attempts callback                         │   │
│  │  ├─ Update status = calling                             │   │
│  │  ├─ Originate call to caller                            │   │
│  │  ├─ On answer: status = completed                       │   │
│  │  ├─ On fail: increment attempts, reschedule             │   │
│  │  └─ On max attempts: status = failed                    │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼                                                         │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        public.queue_callbacks                            │   │
│  │                                                          │   │
│  │  id | queue_id | callback_number | status | attempts    │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Displayed in Report                                     │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Queue Callback Report Page                        │   │
│  │                                                          │   │
│  │  [Filters] [Refresh]                                     │   │
│  │                                                          │   │
│  │  ┌─────────────────────────────────────────────────────┐ │   │
│  │  │Queue │Caller  │Status  │Attempts│Next    │Actions  │ │   │
│  │  ├──────┼────────┼────────┼────────┼────────┼─────────┤ │   │
│  │  │Sales │555-1234│Pending │ 0/3    │12:30:00│[Cancel] │ │   │
│  │  │Supp  │555-5678│Complete│ 1/3    │   -    │[Delete] │ │   │
│  │  └─────────────────────────────────────────────────────┘ │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.queue_callbacksCallback requests and status

Key Files

FileDescription
modules/queueCallbackReport/Frontend report
modules/queueCallbackReport/api/queueCallbackApi.tsAPI calls
---

2. Module Overview (Commercial/Business)

Business Value

Queue Callback Report provides callback visibility and control:

Without ReportWith Report
Unknown callback statusFull visibility
No interventionCancel/retry control
Hidden failuresTrack failed attempts
Manual trackingAutomated reporting

Use Cases

  1. Callback Monitoring
- Track pending callbacks

- View completed callbacks

  1. Intervention
- Cancel incorrect requests

- Force immediate retry

  1. Failure Analysis
- Identify failed callbacks

- Review hangup causes

  1. Cleanup
- Delete old records

- Manage queue capacity

Feature Highlights

FeatureBenefit
Status TrackingSee callback state
Attempt CounterMonitor retry progress
Queue FilterFilter by queue
Date FilterHistorical queries
Cancel ActionStop unwanted callbacks
Retry ActionForce immediate retry
Delete ActionRemove old records
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • View all callback requests
  • Filter by queue and status
  • Filter by date range
  • Monitor attempt progress
  • Cancel pending callbacks
  • Force immediate retry
  • Delete old records

Queue Callback Report Interface

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Queue Callback Report                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  View and manage queue callback requests                        │
│                                                                 │
│  Filters:                                                       │
│  ├─ Queue: [All Queues ▼]                                      │
│  ├─ Status: [All Statuses ▼]                                   │
│  ├─ From: [01/01/2026]  To: [01/16/2026]                       │
│  └─ [Apply Filters] [Clear Filters] [🔄 Refresh]               │
│                                                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │Queue │ Caller     │ Status   │Atts│ Next Att │  Actions  │  │
│  ├──────┼────────────┼──────────┼────┼──────────┼───────────┤  │
│  │Sales │ 555-1234   │🟡Pending │ 0/3│ 12:30:00 │[⟲][🚫][🗑]│  │
│  │Supp  │ 555-5678   │📞Calling │ 1/3│    -     │           │  │
│  │Sales │ 555-9012   │✅Complete│ 1/3│    -     │     [🗑]  │  │
│  │Supp  │ 555-3456   │❌Failed  │ 3/3│    -     │  [⟲] [🗑]│  │
│  │Sales │ 555-7890   │⏰Expired │ 2/3│    -     │     [🗑]  │  │
│  └───────────────────────────────────────────────────────────┘  │
│                                                                 │
│  Actions: ⟲ = Retry | 🚫 = Cancel | 🗑 = Delete                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Retry: Force immediate retry for failed callbacks.
TIP
Cancel: Cancel pending callbacks before they execute.
CAUTION
Delete: Deleting is permanent - use for cleanup only.

---

4. Report Fields Reference

Display Columns

ColumnDescription
IDUnique callback ID
QueueQueue name
Caller IDOriginal caller number
Callback NumberNumber to call back
StatusCurrent callback state
AttemptsCurrent/Max attempts
Next AttemptScheduled retry time
Expires AtWhen callback expires
Created AtRequest creation time
Last ResultLast hangup cause
ActionsAvailable actions

Available Actions

ActionDescriptionAvailable When
RetryForce immediate retryFailed, Expired
CancelCancel callbackPending, Scheduled
DeleteDelete recordAny completed state
---

5. Callback Statuses

Status Types

StatusIconDescription
Pending🟡Waiting for first attempt
Calling📞Currently calling caller
Scheduled📅Scheduled for retry
CompletedCallback successful
FailedAll attempts exhausted
Cancelled🚫Manually cancelled
ExpiredExpired before completion

Status Flow

Plaintext
Pending → Calling → Completed ✅
    │         │
    │         └─→ Scheduled → Calling → ...
    │                   │
    │                   └─→ Failed ❌ (max attempts)
    │                   └─→ Expired ⏰ (time limit)
    │
    └─→ Cancelled 🚫 (manual)

---

6. Common Scenarios & Examples

Scenario 1: Monitor Pending Callbacks

  1. Set Status filter to "Pending"
  2. View pending queue
  3. Monitor for stuck callbacks

Scenario 2: Retry Failed Callback

  1. Filter by "Failed" status
  2. Find callback record
  3. Click Retry action
  4. Monitor new attempt

Scenario 3: Cancel Incorrect Request

  1. Search for caller number
  2. Find pending callback
  3. Click Cancel action
  4. Confirm cancellation

Scenario 4: Cleanup Old Records

  1. Set date filter to old range
  2. Filter by "Completed"
  3. Delete unneeded records

---

7. Limitations & Important Notes

Technical Notes

NOTE
Queue Dependency: Callbacks are tied to specific queues.
NOTE
Attempt Limits: Max attempts configured per queue.
WARNING
Timing: Callbacks respect scheduled times.

Best Practices

  1. Regular Monitoring: Check for stuck callbacks
  2. Handle Failures: Retry or cancel failed callbacks
  3. Cleanup: Delete old completed records
  4. Watch Expiry: Monitor expired callbacks
  5. Check Last Result: Diagnose why callbacks fail

Common Hangup Causes

CauseMeaning
NORMAL_CLEARINGSuccess
NO_ANSWERNo answer
USER_BUSYLine busy
CALL_REJECTEDRejected
ORIGINATOR_CANCELCaller hung up
---

8. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Stuck pendingDispatcher not runningCheck dispatcher job
All failingBad number formatCheck callback number
High failuresNetwork issuesCheck trunks
Not retryingMax attempts reachedManually retry
ExpiredTook too longAdjust expiry settings

Diagnostic SQL

Callback summary by status:

Sql
SELECT 
  status,
  COUNT(*) as count
FROM public.queue_callbacks
WHERE created_at >= NOW() - INTERVAL '24 hours'
GROUP BY status;

Failed callbacks with reason:

Sql
SELECT 
  id, callback_number, attempt_count, 
  last_hangup_cause, updated_at
FROM public.queue_callbacks
WHERE status = 'failed'
ORDER BY updated_at DESC
LIMIT 20;

---

9. Glossary

TermDefinition
CallbackReturn call to waiting caller
AttemptSingle callback try
PendingWaiting for first attempt
ScheduledQueued for retry
ExpiredTime limit exceeded
Hangup CauseCall termination reason
---

Lua Script Status ℹ️

No Dedicated Handler Required

ComponentStatus
Queue Callback Reportℹ️ Reporting module - reads from public.queue_callbacks
Queue Callback Report is a frontend reporting/management interface. Callbacks are managed by queue.lua and queue_callback_dispatcher.lua. This module only reads and manages records.

---

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?