Modern, elegant SIP Server Management Toolkit with Web UI, TUI, and CLI
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ ๐ฏ RayanPBX - SIP Server Management โ
โ โ
โ A modern, beautiful, and powerful toolkit for โ
โ managing Asterisk-based PBX systems โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Web Admin Panel โ Modern, responsive SPA/PWA โ
โ ๐ฅ๏ธ Terminal UI (TUI) โ Beautiful CLI interface โ
โ โก Real-time Events โ WebSocket-based live updates โ
โ ๐ JWT Authentication โ Secure, token-based auth โ
โ ๐จ Dark Mode โ Elegant dark/light themes โ
โ ๐ i18n Support โ English & Persian (RTL) โ
โ ๐ฑ Extension Manager โ Complete SIP extension lifecycle โ
โ ๐ Trunk Routing โ Advanced outbound call routing โ
โ ๐ฅ๏ธ Asterisk Console โ Interactive CLI from web UI โ
โ ๐ Live Monitoring โ Real-time call & system status โ
โ โ๏ธ Config Management โ CLI/TUI/Web .env management โ
โ ๐ Phone Discovery โ LLDP/nmap-based phone detection โ
โ ๐งช SIP Testing Suite โ Comprehensive extension testing โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ RayanPBX Architecture โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Web UI โ โ TUI โ โ CLI โ โ
โ โ (Nuxt/Vue3) โ โ (Go/Bubble) โ โ (Bash) โ โ
โ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ API Server (Laravel 11 / PHP 8.3) โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โ โ
โ โ โ JWT Auth โ โ Console โ โ WebSocket โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโฌโโโโโโโโโโโโดโโโโโโโโโฌโโโโโโโโโโโโโโ โ
โ โ โ โ โ โ
โ โผ โผ โผ โผ โ
โ โโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโ โ
โ โMySQLโ โAsterisk โ โ Redis โ โ PAM โ โ
โ โโโโโโโ โ 22 โ โโโโโโโโโโโโ โโโโโโโโโโ โ
โ โโโโโโโโโโโ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
- Laravel 11 - Modern PHP framework
- PHP 8.3 - Latest PHP version
- MySQL/MariaDB - Database
- Redis - Caching & sessions
- JWT - Stateless authentication
- Nuxt 3 - Vue.js framework for SPA/PWA
- Vue 3 - Progressive JavaScript framework
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS
- SCSS - Enhanced styling with logical properties
- Pinia - State management
- Go 1.23 - Systems programming language
- Bubble Tea - Terminal UI framework
- Lipgloss - Styling for terminals
- Figlet - ASCII art generation
- PM2 - Process manager for Node.js
- systemd - Linux service management
- GitHub Actions - CI/CD pipeline
- nala - Modern APT wrapper
- Asterisk 22 - Open source PBX
- PJSIP - Modern SIP stack
- AMI - Asterisk Manager Interface
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/atomicdeploy/rayanpbx/main/install.sh)"# Clone the repository
git clone https://github.com/atomicdeploy/rayanpbx.git
cd rayanpbx
# Run the installer (standard mode)
sudo ./install.sh
# Or with verbose mode for debugging
sudo ./install.sh --verboseThe installer supports several command-line options:
# Show help and available options
./install.sh --help
# Show version
./install.sh --version
# List all available installation steps
./install.sh --list-steps
# Install with verbose output (recommended for debugging)
sudo ./install.sh --verbose
# Run only specific steps (for upgrades or partial installations)
sudo ./install.sh --steps=backend,frontend,tui
# Skip certain steps (e.g., skip Asterisk installation)
sudo ./install.sh --skip=asterisk,asterisk-ami
# Automatic upgrade mode (no prompts)
sudo ./install.sh --upgrade
# Create backup before updates
sudo ./install.sh --upgrade --backupFor faster upgrades or when you only need to update specific components:
# Update only the backend API
sudo ./install.sh --steps=source,env-config,backend,systemd
# Update only the frontend
sudo ./install.sh --steps=source,env-config,frontend,pm2
# Update only the TUI
sudo ./install.sh --steps=source,tui,pm2
# Install without Asterisk (development environment)
sudo ./install.sh --skip=asterisk,asterisk-amiImportant: When using --steps or --skip, ensure all dependencies are already installed. See docs/install-steps.md for detailed dependency information.
For detailed information about command-line options, see docs/cli-options.md.
If the installation fails or exits unexpectedly:
-
Use verbose mode to see detailed information:
sudo ./install.sh --verbose 2>&1 | tee install.log
-
Check the log to identify where it failed.
-
Report issues with the log file at: https://github.com/atomicdeploy/rayanpbx/issues
Interactive configuration tool:
cd /opt/rayanpbx
./scripts/config-tui.shNon-interactive configuration:
./scripts/config-tui.sh /opt/rayanpbx/.env /opt/rayanpbx/.env.example --non-interactiveAfter installation, get your first phone call working in minutes with the automated Hello World Setup:
# Launch TUI with root permissions
sudo rayanpbx-tui
# Select "Hello World Setup" from the menu
# Click "Run Complete Setup" - everything is automated!
# Note the SIP credentials: Username: 101, Password: 101pass
# Configure your SIP phone and dial 100 to hear "Hello World!"๐ See the full guide: docs/HELLO_WORLD_GUIDE.md
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Web UI: http://your-server-ip:3000 โ
โ ๐ก API: http://your-server-ip:8000/api โ
โ ๐ WebSocket: ws://your-server-ip:9000/ws โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Default login uses your Linux username and password via PAM authentication.
rayanpbx-tuiRayanPBX provides comprehensive Laravel Artisan commands for system management:
# Check system status
php artisan rayanpbx:status
# Run health checks
php artisan rayanpbx:health
# Manage services
php artisan rayanpbx:service restart asterisk
# Manage extensions
php artisan rayanpbx:extension list
php artisan rayanpbx:extension create 101
# Manage trunks
php artisan rayanpbx:trunk list
php artisan rayanpbx:trunk create
# Configuration management
php artisan rayanpbx:config validate
php artisan rayanpbx:config reload
# Backup and restore
php artisan rayanpbx:backup --compress
php artisan rayanpbx:restore /path/to/backup
# Execute Asterisk CLI commands
php artisan rayanpbx:asterisk "core show calls"For complete documentation, see docs/artisan-commands.md.
# Using health check script
/opt/rayanpbx/scripts/health-check.sh full-check
# Using config TUI
/opt/rayanpbx/scripts/config-tui.sh
# Using INI helper
/opt/rayanpbx/scripts/ini-helper.sh modify-manager# Check services
systemctl status rayanpbx-api
systemctl status asterisk
# View PM2 services
pm2 list
pm2 logs
# View logs
journalctl -u rayanpbx-api -f
journalctl -u asterisk -fcd /opt/rayanpbx/backend
composer install
php artisan servecd /opt/rayanpbx/frontend
npm install
npm run devcd /opt/rayanpbx/tui
go build -o rayanpbx-tui main.go config.go
./rayanpbx-tuiโญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ง API Reference: docs/api.md โ
โ โ๏ธ CLI Options: docs/cli-options.md โ
โ ๐ฆ Artisan Commands: docs/artisan-commands.md โ
โ ๐ Install Steps: docs/install-steps.md โ
โ ๐ CORS Configuration: docs/cors.md โ
โ โ๏ธ Configuration: docs/configuration.md โ
โ ๐ Phone Discovery: docs/phone-discovery.md โ
โ ๐ฑ Phone Management: docs/phone-management.md โ
โ ๐ก PJSIP Setup: docs/pjsip-setup.md โ
โ ๐งช SIP Testing Guide: docs/sip-testing.md โ
โ ๐ฅ๏ธ UI Documentation: docs/ui.md โ
โ ๐ VoIP Management: docs/voip-management.md โ
โ ๐ Security: docs/security.md โ
โ ๐ Implementation: docs/implemention.md โ
โ ๐ Deployment: docs/deployment.md โ
โ ๐๏ธ Architecture: docs/architecture.md โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Contributions are welcome! Please read our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Asterisk - The world's leading open source PBX
- Laravel - The PHP framework for web artisans
- Vue.js - The progressive JavaScript framework
- Go - Build simple, secure, scalable systems
- pollination.ai - AI-powered assistance
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Issues: github.com/atomicdeploy/rayanpbx/issues โ
โ ๐ฌ Discussions: github.com/atomicdeploy/rayanpbx โ
โ ๐ง Email: support@rayanpbx.local โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Built with โค๏ธ by the RayanPBX Team
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Modern โข ๐จ Elegant โข ๐ช Powerful โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ