Backend engineering for a cloud-native contact center: decision engine on Node.js, SIP telephony on Asterisk, and autoscaling AWS infrastructure.
Services
Web App Development ServicesDevOps as a ServiceQA Software TestingTeam Extension services
Client
Cloud Contact Center Platform
Location
USA
Industry
Management Software Development Services
Results
80%
fewer dropped calls during autoscaling events
60%
faster instance boot through pre-built AMIs
25%
lower infrastructure cost at the same call capacity
Team
Technologies
Node.js
TypeScript
MongoDB
MySQL
PostgreSQL
Jest
Amazon EC2
Decision Engine Development
The platform's core module orchestrates customer journeys across channels through configurable workflow logic, with new functionality and targeted bug fixes.
Feature development on Node.js and TypeScript stack
Event-driven processing through Kafka pipelines
Multi-database integration across MongoDB, MySQL, and PostgreSQL
Visual workflow builder support for low-code journey configuration
Telephony Call Handling
Asterisk-based telephony layer configured for voice scenarios, from voicemail to interactive customer journeys.
Multi-step interactive call routing scenarios
Voicemail flows for missed and overflow calls
Dialplan logic for queuing and call transfer
Cross-channel interaction handoff between agents and queues
Voice-Ready Cloud Infrastructure
AWS infrastructure designed specifically for SIP traffic and call-handling workloads at production scale.
Autoscaling groups tuned for call volume patterns
SIP-aware load balancing through Kamailio
Dynamic Route 53 updates via AWS CDK
Custom AMI images built with Packer for predictable deployments
Performance Validation
A testing layer covering both the decision engine and the infrastructure that runs it under realistic conditions.
Load tests for peak call traffic on EC2 instances
Jest coverage for engine logic and decision paths
WebSocket tests for realtime monitoring and event flows
Comparative benchmarking across instance types under simulated SIP loads
During our work on this project, we've faced a lot of complicated challenges. We believe that each challenge has a solution. See yourself!
Challenge #1
AWS load balancer mishandled SIP traffic.
Solution #1
Kamailio replacement of AWS NLB for protocol-aware voice traffic distribution.
Challenge #2
Manual DNS updates slowed scaling.
Solution #2
AWS CDK automation of Route 53 records inside the deployment pipeline.
Challenge #3
Inconsistent server state on launch.
Solution #3
Packer-built custom AMI images for every autoscaling group instance.
Clients say
Incora has been great at understanding our company and the work we want to do. They took the time to understand who we were and didn’t rush or make suggestions that didn’t make sense. They keep delivering what they promise and are very helpful and easy to work with — there haven't been any complications. I don't think there's anything they can improve on — they’re getting better and better over time. Just tell them what you want, and they'll try to work around your expectations.