An enterprise-grade AI call center system built on FreeSwitch and Spring Boot, providing multi-tenant, multi-skill-group, and intelligent routing. | 基于 FreeSwitch 和 Spring Boot 构建的企业级 AI 呼叫中心系统,支持多租户、多技能组、智能路由等完整呼叫中心功能。
翻訳待ち
Loading the full README.
Read the full README ↗基于 FreeSWITCH、Spring Boot 和 Vue 3 的开源呼叫中心系统,支持多租户、人工呼入呼出、智能外呼任务、ACD 技能组路由、IVR、WebRTC 坐席与录音管理,适用于企业客服和外呼业务,也可作为 AI 语音应用的呼叫底座。
An enterprise-grade AI call center system built on FreeSwitch and Spring Boot, providing multi-tenant, multi-skill-group, and intelligent routing — a complete set of call center capabilities.
中文 | English
🌟 If this project helps you, please give it a ⭐ Star! 🙏
Official site: https://dongjb741280.github.io/ai-call-center/
This is an AI call center solution built on a microservices architecture, integrating FreeSwitch as the call engine and providing complete call management, agent management, intelligent routing, monitoring and statistics. It supports multi-company and multi-skill-group management, with enterprise-grade high-concurrency and high-availability characteristics.
This project is primarily intended for large-scale human inbound and outbound calling scenarios, or as the foundation for AI-powered unattended calling.
For a pure AI call center (unattended-first), please refer to:
| Dashboard | Agent Management |
|---|---|
| IVR Management | Agent Monitor |
|---|---|
flowchart LR
AG[Agent Console<br/>Vue3 + JsSIP Softphone] -- WebSocket --> CALL
CP[Caller / Customer] -- SIP/RTP --> FS[FreeSWITCH<br/>Media & Signaling]
FS <-- "ESL events / commands" --> CALL[voxai-call<br/>Call Control :7200]
FS -. Local recording files .-> MEDIA[FS_MEDIA<br/>Recording File Server :7430]
CALL -- HTTP GET recordings --> MEDIA
CALL -- HTTP --> IVR[voxai-ivr<br/>IVR Engine :7300]
IVR -- callback --> CALL
ADMIN[voxai-admin<br/>Admin API :7100] -- config --> CALL
CALL --> R[(Redis)]
CALL --> DB[(MySQL)]
CALL -- Upload recordings --> M[(MinIO)]
ADMIN --> DB
ADMIN --> N[Nacos]
CALL --> N
FS_MEDIA serves FreeSWITCH local recording files over HTTP on port 7430. After hangup, voxai-call downloads recordings from this server and uploads them to MinIO. See Recording Upload Flow.
ai-call-center/
├── voxai-common/ # Core business module (data layer)
├── voxai-admin/ # Admin API service (port 7100)
├── voxai-call/ # FreeSwitch integration service (port 7200)
├── voxai-ivr/ # IVR engine service (port 7300)
├── voxai-dialer/ # External outbound scheduler (HTTP client, disabled by default)
├── freeswitch/ # FreeSwitch configuration and Docker image
├── portal/ # Product portal (VoxHub)
├── docs/ # Business docs (scope/flows/data model/engine interfaces)
├── .github/workflows/ # GitHub Actions (portal CI/CD)
├── .gitlab-ci.yml # GitLab CI/CD pipeline
└── Dockerfile # Multi-stage Docker build
cc_ivr_workflow.content into a node graph, executes by play/input/transferplayback / play_and_get_digitsvoxai-call on completion to route to skill group/agent/VDN/hangupIndependent scheduler with cruise/predictive pacing, command acknowledgements, lease recovery and CDR result submission. See deployment and recovery before enabling.
This is the beginning of the README. Read the rest at the original. Read the full README ↗