Welcome to the Asterisk IP Telephony Platform project! This project aims to provide a complete IP telephony solution capable of supporting thousands of simultaneous users, deployed via Docker and Kubernetes.
The project is organized into several key components:
- Asterisk: Contains the Dockerfile, entrypoint script, configuration files, and backup scripts for the Asterisk server.
- Web Interface: A modern, responsive web application for managing users, calls, and settings.
- Database: Contains migration files and seed data for initializing the database.
- Monitoring: Configuration files for Prometheus and Grafana to monitor the Asterisk server and web application.
- Kubernetes: Deployment and service configurations for running the application in a Kubernetes environment.
- Documentation: Detailed guides for deployment, configuration, scaling, and administration.
- Scalability: The platform is designed to scale horizontally to handle increased loads.
- Containerization: Fully containerized using Docker, with support for Kubernetes deployment.
- Web Interface: A user-friendly web interface for managing telephony features, including:
- User and group management
- Call routing and management
- Voicemail and call recording
- Monitoring and statistics
- Secure Connections: Supports secure communication protocols (SIP TLS, SRTP) to ensure data security.
- Database Integration: Utilizes MySQL or PostgreSQL for user and permission management.
- Automatic Backups: Includes a backup system for configurations and voicemail messages.
- Performance Monitoring: Integrated monitoring with Grafana and Prometheus for real-time insights.
To get started with the Asterisk IP Telephony Platform, follow these steps:
-
Clone the Repository:
git clone https://github.com/your-repo/asterisk-ip-platform.git cd asterisk-ip-platform -
Set Up Environment Variables: Copy the
.env.exampleto.envand configure your environment variables. -
Build and Run with Docker: Use the provided
docker-compose.ymlto build and run the application:docker-compose up --build -
Access the Web Interface: Open your web browser and navigate to
http://localhost:3000to access the web interface. -
Monitoring: Set up Prometheus and Grafana as per the instructions in the
monitoring/README.mdfile.
For detailed documentation on deployment, configuration, scaling, and administration, please refer to the docs directory.
Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for more details.