Vici Server Manager - VoIP Automation Platform

Centralized automation platform for managing multiple VoIP servers. One-click deployment, configuration generation, live terminal streaming. Reduced deployment time by 95% while eliminating configuration errors.

🎯 Project Overview

Built a centralized automation platform to manage multiple VoIP servers from a single web interface. The system eliminates manual SSH commands and error-prone text file editing by providing one-click deployment, configuration generation from templates, and live terminal output streaming.

πŸ’Ό Business Impact

  • 95% time savings: Deployment time reduced from 30 minutes to under 2 minutes per server
  • Error reduction: Configuration mistakes dropped from ~15% to <1%
  • Audit compliance: Complete change history with who/what/when for every deployment
  • Team scalability: Non-technical staff can now deploy configurations safely
  • Disaster recovery: One-click rollback to previous configurations

πŸ› οΈ Technical Architecture

Core Technologies

  • Laravel 11 - Backend API and admin interface
  • PHP 8.2 - Core application logic
  • phpseclib3 - Secure SSH2 connections
  • MySQL 8 - Server inventory and configuration storage
  • Redis - Queue management for background jobs
  • Server-Sent Events (SSE) - Real-time terminal output streaming
  • Vue.js 3 - Reactive frontend components
  • Tailwind CSS - Modern UI design

System Capabilities

βœ… Multi-Server Management

  • Add/edit/delete VoIP servers from web interface
  • Group servers by region, function, or client
  • Batch operations across server groups
  • Real-time status monitoring (online/offline)

βœ… Configuration Generation

  • Import SIP trunk details from Excel/CSV templates
  • Template-based config generation (PJSIP, SIP, IAX2)
  • Automatic validation before deployment
  • Preview changes before applying

βœ… One-Click Deployment

  • Deploy configs to /etc/asterisk/ via SSH
  • Update MySQL Realtime database entries
  • Atomic operations with automatic rollback on error
  • Asterisk reload commands executed remotely

βœ… Live Monitoring

  • Stream SSH terminal output in real-time (SSE)
  • Deployment status dashboard
  • Error tracking with automatic notifications
  • Complete audit logs with search and filtering

πŸ”§ Technical Challenges Solved

SSH Connection Pooling

Challenge: Opening/closing SSH connections for every command was slow (3-5 seconds per operation).

Solution: Implemented connection pooling with Laravel cache. Connections stay alive for 5 minutes, reducing overhead from seconds to milliseconds.

Concurrent Deployment Race Conditions

Challenge: Multiple users deploying to same server simultaneously caused conflicts and file corruption.

Solution: Added mutex locks per server using Redis. Deployments queue automatically when server is busy.

Configuration Validation

Challenge: Invalid configs would break Asterisk after deployment, causing downtime.

Solution: Pre-deployment validation using asterisk -rx "pjsip show endpoint test", automatic backups before every change, and rollback on error detection.

Real-Time Output Streaming

Challenge: Users couldn't see what was happening during deploymentsβ€”felt like a black box.

Solution: Implemented Server-Sent Events (SSE) to stream command output line-by-line. Users see exactly what's executing in real-time.

πŸ’‘ Key Features

Carrier Management

  • Import from Excel: Upload carrier details spreadsheet, auto-generate configs
  • Template Library: Pre-built templates for major carriers (Bandwidth, Twilio, Telnyx)
  • Codec Optimization: Automatic codec selection based on carrier requirements
  • Authentication Presets: Support for IP auth, username/password, certificate-based

DID Management

  • Bulk Import: Import thousands of DIDs from CSV
  • Auto-Routing: Automatically create inbound routes based on patterns
  • E911 Integration: Associate emergency addresses with DID ranges
  • Usage Analytics: Track which DIDs are active/inactive

Deployment Pipeline

  • Staging Environment: Test configs on staging server before production
  • Approval Workflow: Optional approval requirement for production deployments
  • Scheduled Deployments: Deploy during maintenance windows automatically
  • Health Checks: Post-deployment verification tests

πŸ“Š Performance Metrics

50+
Servers Managed
2 min
Deploy Time (10 servers)
1000+
Deployments/Month
<1%
Error Rate

πŸ” Security Features

  • Encrypted Credentials: SSH passwords stored using Laravel encryption
  • Role-Based Access: Different permission levels (viewer, deployer, admin)
  • Two-Factor Auth: Optional 2FA for sensitive operations
  • IP Whitelist: Restrict access to known office/VPN IPs
  • Audit Logging: Every action logged with timestamp and user identity

πŸš€ Results

  • βœ… Reduced deployment time by 95% (30 min β†’ 2 min)
  • βœ… Eliminated 99% of configuration errors
  • βœ… Enabled non-technical staff to deploy safely
  • βœ… Complete audit trail for compliance
  • βœ… Deployed to production managing 50+ servers
  • βœ… Saved 20+ hours/week of manual SSH work

πŸ”— Related Content

Read the full story: Automating VoIP Server Management with Laravel & SSH