Welcome to the Karl Media Server documentation. This guide will help you install, configure, and operate Karl in production environments.
- Quick Start Guide - Get Karl running in 5 minutes
- Installation Guide - Detailed installation instructions
- Configuration Reference - Complete configuration options
Step-by-step guides for common tasks:
- Deploy on Kubernetes - Run Karl in Kubernetes clusters
- Integrate with OpenSIPS - Connect Karl to OpenSIPS
- Integrate with Kamailio - Connect Karl to Kamailio
- Set Up Call Recording - Enable and configure call recording
- Monitor with Prometheus - Set up metrics and alerting
- Scale Horizontally - Run multiple Karl instances
- Bridge WebRTC to SIP - Connect browser clients to SIP networks
- Secure with TLS - Enable encryption for API and control plane
- Troubleshooting Guide - Diagnose and fix common issues
- NG Protocol Reference - Complete NG protocol documentation
- REST API Reference - API endpoints and examples
- Metrics Reference - Prometheus metrics documentation
- Environment Variables - All supported environment variables
- Architecture Overview - How Karl works internally
- Session Lifecycle - Call flow and state management
- Media Processing - RTP handling and quality features
| Task | Documentation |
|---|---|
| Install Karl | Installation Guide |
| Configure for production | Configuration Reference |
| Deploy to Kubernetes | Kubernetes How-To |
| Set up monitoring | Prometheus How-To |
| Debug issues | Troubleshooting Guide |
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Ask questions and share ideas