Real-Time Contact Center System

Overview

The Contact Center Routing & Real-Time Agent Management Platform is a Spring Boot–based backend system designed to manage call routing, agent availability, real-time status updates, and performance statistics across multiple client projects. It integrates with telephony infrastructure through AMI services and uses event-driven communication to ensure scalable, reliable, and near real-time operations.

The platform acts as a centralized communication layer between agents, projects, queues, telephony servers, and reporting services.

My Role

As Lead Engineer and Architect, I was responsible for:
  • Designing the overall backend architecture for routing, agent management, and statistics processing
  • Building scalable Spring Boot services for multi-project contact center operations
  • Implementing real-time agent status handling and command dispatching
  • Designing event-driven communication using RabbitMQ
  • Integrating AMI-based telephony workflows for agent and call control
  • Implementing Redis-based real-time state tracking and duplicate event protection
  • Creating scheduled jobs for daily agent state refresh and continuity
  • Designing failover-ready project-to-server mapping for high availability

Key Features

  • Centralized agent login, logout, and status management
  • Real-time communication between UI, backend services, and telephony systems
  • Project-based routing and agent mapping
  • AMI integration for call center operations
  • Event-driven architecture using RabbitMQ exchanges and queues
  • Real-time statistics processing for agent, queue, status, and call events
  • Redis-based caching for fast state access and event deduplication
  • Daily scheduled refresh of agent and skill state keys
  • Support for multiple projects and scalable onboarding
  • Failover-ready architecture for handling multiple telephony servers
  • Modular backend services for routing, stats, agent management, and coordination

Technologies Used

  • Java 21: Backend development
  • Spring Boot: Core application framework
  • Spring Data JPA: Database access layer
  • RabbitMQ: Event-driven communication and messaging
  • Redis: Real-time state storage and event deduplication
  • MySQL: Persistent data storage
  • AMI / Asterisk Integration: Telephony and call center operations
  • WebSocket: Real-time UI communication
  • Lombok: Cleaner and faster Java development
  • Scheduled Jobs: Automated daily state refresh

Outcome

The platform improved contact center operations by centralizing agent management, enabling real-time status updates, and creating a scalable event-driven backend for routing and statistics processing.
It reduced dependency on manual telephony operations, improved visibility into agent and queue activity, and provided a reliable foundation for multi-project contact center management with support for failover and future expansion.