Functional Prototype of an Automatic Call Management System with IVR

Job ID: 38623538

Budget: $30 – $250 USD

Project Objective:

Develop a functional prototype of an automated call management system using Twilio. This prototype will enable the reception and queuing of incoming calls, agent assignment with call recording, and real-time supervision. The system will manage both incoming and outgoing calls, ensuring a smooth experience for customers while optimizing the workload of the call center. An API based on a state machine will be implemented to handle the IVR flow, along with a modern web interface using Blazor.


---

IVR Call Flow with Twilio (Prototype)

1. Customer: Calls the call center number.


2. System: Automatically responds with a welcome message (e.g., "Welcome to [company name]'s customer service center").


3. System: Requests the customer's ID number (NDI).

Example: "Please enter your identification number using the phone keypad."



4. System: Validates the ID number:

If correct: A personalized welcome is given with the customer’s name ("Welcome, [customer name]").

If incorrect: Requests the customer to re-enter the number or transfers them to an agent for assistance.



5. System: Queues the call based on the customer's priority level.

High-priority customers are placed at the front of the queue.



6. System: While the customer is in the queue:

Informs them of their place in the queue (e.g., "You are number [X] in line").

Provides an estimated wait time (e.g., "Your estimated wait time is [X] minutes").

Plays a set of audios while the customer waits (music, company messages, etc.).



7. System: Assigns the call to an available agent using round robin.


8. Agent: Takes the call. The system automatically starts recording the call.


9. Supervisor: Has the ability to listen to the call in real-time and can intervene if necessary.


10. System: If no agents are available and the wait time exceeds 5 minutes:

If the customer’s phone number is registered:

The system ends the call and informs the customer they will be called back within an hour.


If the number is anonymous:

The system ends the call after informing the customer to try again later.






---

Project Components (Functional Prototype):

1. IVR Management API:

Description: Programmed using a state machine to control the flow of incoming calls. The API will handle customer interaction, including ID validation, priority-based queuing, agent call assignment, call recording, and callback functionality when no agents are available.

Key Features of the Prototype:

Call queuing with priority.

Call assignment to agents using round robin with Twilio TaskRouter.

Real-time call supervision.

Automatic call recording.




2. Blazor WebAssembly FrontEnd:

Incoming Calls: Interface to view and manage real-time calls, allowing agents to accept and manage incoming calls.

Outgoing Calls: Interface that allows agents to make follow-up or callback calls when calls could not be answered in time.





---

Technologies to Use (Functional Prototype):

Backend:

Platform: .NET Core 8.

Language: C#.

Architecture: Microservices with Minimal API.

State Machine: To control the call flow in the IVR.

Twilio: Manages incoming calls, queuing, and call distribution.

Twilio TaskRouter: To manage call routing to agents.


Frontend:

Framework: Blazor WebAssembly.

Development Environment: Visual Studio.




---

Required Freelancer Skills:

Languages and Frameworks:

Advanced proficiency in .NET Core 8 and C#.

Experience with Blazor WebAssembly for frontend development.

Experience in designing and implementing microservices using Minimal API.


Integrations:

Extensive experience integrating with Twilio for call management.

Knowledge of Twilio TaskRouter for call routing and distribution to agents.

Experience with call recording and real-time supervision tools.


IVR Development:

Knowledge of state machines to manage call flow within the IVR.


Tools:

Proficiency in Visual Studio as the main development environment.
Github
Related categories: .NET C# Programming Twilio Blazor Microservices