Skip to content

joise-s-arakkal/Conversational-IVR-Modernization-Framework

Repository files navigation

🎙️ Conversational IVR Modernization Framework

This project modernizes legacy VoiceXML (VXML)-based Interactive Voice Response (IVR) systems by integrating them with cutting-edge Conversational AI platforms like ACS and BAP. By reusing and extending existing assets, we enable seamless transitions to natural language-driven interactions, enhancing usability, user experience, and operational efficiency while minimizing redevelopment efforts.

The framework supports dual-mode operations: traditional digit-based IVR menus alongside voice-activated conversational workflows. This intelligent bridge ensures backward compatibility, real-time data handling, and scalable deployment.

Live Demo


✨ Key Features

  • Legacy Integration: Connectors for VXML systems to ACS/BAP, enabling real-time communication without full rewrites.
  • Conversational AI Flows: Natural language processing (NLP) for intent recognition, mapping user speech to IVR actions like balance checks, recharges, and agent transfers.
  • Dual-Mode Support: Handles numeric keypad inputs and voice queries via a unified middleware layer.
  • Enhanced User Experience: Voice-driven dialogues with text-to-speech (TTS) readiness, reducing navigation friction.
  • Scalable Architecture: Modular design with middleware APIs, services, and controllers for easy maintenance and expansion.
  • Comprehensive Testing: Full-cycle validation for performance, accuracy, and edge cases.

📋 Project Overview

Project Statement

Modernize existing IVR systems built on VXML by integrating with ACS and BAP. Reuse legacy assets to support conversational interfaces, focusing on usability, user experience, and reduced transition costs.

Expected Outcomes

  • Seamless integration of VXML IVRs with ACS/BAP.
  • Conversational interactions within traditional frameworks.
  • Minimized redevelopment during legacy-to-AI transitions.
  • Improved end-user experience via voice workflows.

🧱 Project Structure

The repository is organized into frontend, backend, and shared utilities for a full-stack implementation.

Conversational-IVR-Modernization-Framework/
├── controllers/
│   ├── ivrController.js          # Logic for digit-based IVR requests
│   ├── conversationController.js # Logic for natural language queries
│   ├── acsController.js          # Handles requests for the mock ACS service
│   └── bapController.js          # Handles requests for the mock BAP service
│
├── routes/
│   ├── ivrRoutes.js              # Defines the /ivr/* endpoints
│   ├── conversationRoutes.js     # Defines the /conversation/* endpoints
│   ├── acsRoutes.js              # Defines the /acs/* endpoints
│   └── bapRoutes.js              # Defines the /bap/* endpoints
│
├── services/
│   ├── intentService.js          # The "brain" - maps user speech to intents
│   ├── acsService.js             # Simulates the legacy ACS backend
│   └── bapService.js             # Simulates the legacy BAP backend
│
├── utils/
│   └── logger.js                 # Contains the global error handler
│
├── .env                          # Environment configuration (PORT, URLs)
├── .gitignore                    # Specifies files for Git to ignore
├── index.js                      # The main entry point of the server
├── package.json                  # Node.js dependencies and scripts
└── README.md                     # This project documentation file
└── LICENSE

👩‍💻 Contributors

Ramya Inavolu Seshwar Bhemineni Sujal Rane Pati Veera Surya Umanjani Thrupthi Chandana G
Uma Maheswari Naidu Joise S Arakkal Parasaram Neha Sri Alankrith Laasya

🛠️ Tech Stack

  • Frontend: React.js, Vercel for deployment, Web Speech API for voice interactions.
  • Backend: Node.js, Express.js, Axios for API calls.
  • AI/ML: Keyword-based intent recognition (extensible to Dialogflow/Rasa).
  • Configuration: dotenv for environment management.
  • Development: Nodemon for hot-reloading, Git for version control.

🌐 API Endpoints

The backend exposes RESTful endpoints for IVR and conversational interactions.

Endpoint Method Description Request Body Example
/ivr/request POST Process digit-based IVR input. {"sessionId": "abc123", "digit": "1"}
/conversation/process POST Handle natural language queries. {"sessionId": "abc123", "query": "Check my balance"}
/acs/* GET/POST Mock ACS service routes. Varies by action.
/bap/* GET/POST Mock BAP service routes. Varies by action.

🔮 Future Enhancements

  • Advanced NLU: Integrate full NLP engines (e.g., Google Dialogflow) for multi-turn conversations.
  • Database Layer: Add MongoDB/PostgreSQL for session persistence and analytics.
  • Authentication: JWT-based user sessions for secure, personalized interactions.
  • Cloud Scaling: AWS/Heroku deployment with auto-scaling.
  • Analytics Dashboard: Track user engagement and system performance.

📜 License

This project is licensed under the MIT License. See LICENSE for details.

Built with ❤️

About

Talk to your old IVR like a chatbot — zero rewrite, instant voice upgrade

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors