91716e523325333ea917e075715ffedbab8481de
NexusPBX - Système de Téléphonie IP Moderne & Souverain
NexusPBX est une plateforme de communication d'entreprise tout-en-un, moderne, ultra-légère et hautement sécurisée, construite au-dessus d'Asterisk (PJSIP), Nginx, PHP 8.4 et SQLite 3.
🚀 Fonctionnalités Clés
1. Gestion Avancée des Postes (PJSIP)
- Multi-profils de transport :
- UDP Interne (Réseau local d'entreprise, faible latence).
- TLS + SRTP Chiffré (Postes distants et nomades avec chiffrement de la signalisation et de la voix AES-128).
- WebRTC WSS (Téléphonie navigateur temps réel).
- Détection dynamique en temps réel : Analyse des contacts PJSIP en direct (transport actif négocié, User-Agent du téléphone, latence RTT, statut de joignabilité).
2. Annuaire d'Entreprise & XML Téléphones IP (Yealink)
- Synchronisation automatique en temps réel avec les extensions PBX (numéro, nom, email, groupe).
- Prise en charge des contacts externes (fournisseurs, clients, partenaires).
- Gestion des avatars et photos de contacts.
- Endpoint XML Yealink officiel :
http://<PBX_IP>:8080/phonebook.php?group=<NomDuGroupe>(ou?group=all)- Génération conforme
<YealinkIPPhoneDirectory>avec<Name>,<Telephone>,<Email>,<Photo>,<Picture>.
3. Trunks SIP & Routage
- Trunks SIP sortants (Orange Business, OVH Telecom, Free Pro, etc.).
- Routes sortantes avec sélection de préfixes et restriction par groupes d'extensions (Sites / Agences).
- Routes entrantes (DID / SDA) avec redirection intelligente vers Postes, Groupes de sonnerie ou SVI.
4. Serveur Vocal Interactif (SVI / IVR) & Groupes
- Menu vocal interactif avec gestion des touches DTMF (0-9, *, #).
- Gestion des musiques d'attente (MoH) et téléversement de fichiers audio.
- Groupes de sonnerie simultanés ou séquentiels.
5. Sécurité Renforcée & Pare-feu PBX
- Mode Strict Port 80 : Le port 80 standard est hermétiquement verrouillé et exclusivement réservé aux challenges ACME Let's Encrypt Certbot (retour 404 sur tout le reste).
- Port d'administration HTTPS dédié (ex: port 8443) avec certificats SSL Let's Encrypt automatisés.
- Fail2ban unifié : Jails Fail2ban actives pour les attaques SIP (PJSIP brute-force, scan SIPVicious) et attaques Web (recherche d'exploits HTTP).
6. Sauvegardes & Restauration
- Sauvegardes complètes à chaud (Base de données, configurations Asterisk, fichiers sons, règles pare-feu).
- Stockage local ou export automatique distant via SSH / SCP / SFTP.
- Restauration en un clic.
📂 Architecture du Projet
nexus-pbx/
├── install.sh # Script d'installation automatisé tout-en-un (Debian 12 / 13)
├── public/ # Racine Web Nginx
│ ├── index.php # Interface Web SPA moderne
│ ├── api.php # API RESTful backend
│ ├── phonebook.php # Générateur XML Yealink Remote Phonebook
│ ├── assets/ # Logo, Favicon, JS (app.js), styles Tailwind CSS
│ └── avatars/ # Photos des contacts de l'annuaire
├── src/ # Classes PHP d'orchestration
│ ├── AmiClient.php # Client Asterisk Manager Interface (AMI)
│ ├── Auth.php # Authentification & sessions
│ ├── BackupManager.php # Moteur Disaster Recovery & sauvegardes
│ ├── CdrManager.php # Moteur Journal d'appels & CDR
│ ├── CertificateManager.php # Gestionnaire SSL & Certbot ACME
│ ├── ConfigGenerator.php # Générateur dynamique de conf Asterisk (pjsip, extensions)
│ ├── Database.php # Connexion PDO SQLite
│ ├── FirewallManager.php # Moteur Pare-feu Fail2ban & Nginx
│ ├── PhonebookManager.php # Moteur d'annuaire et export XML
│ ├── SystemChecker.php # Diagnostic de santé système
│ └── SystemMetrics.php # Monitoring CPU, RAM, Disque, Asterisk
├── scripts/ # Scripts CLI et daemons système
│ ├── update.sh # Script de mise à jour OTA (nexus-update)
│ ├── nexus-firewall # Outil CLI Pare-feu & Fail2ban
│ ├── nexus-banner.sh # Bannière d'accueil interactive SSH/Console
│ ├── nexus_autobackup.php# Cronjob de sauvegarde automatique
│ └── voicemail_pass_sync.php # Synchronisation code PIN messagerie vocale
└── storage/ # Données persistantes (exclues du Git)
├── database.sqlite # Base de données applicative
├── system_backups/ # Archives de sauvegarde Disaster Recovery
└── sounds/ # Fichiers audio MoH et annonces
⚙️ Prérequis & Installation en 1 Clic
- Systèmes supportés : Debian 12 (Bookworm), Debian 13 (Trixie), Ubuntu Server 22.04 / 24.04.
- Architecture : x86_64 / amd64 ou arm64.
⚡ Installation Automatique (Recommandée)
Sur votre serveur Debian/Ubuntu fraîchement installé, exécutez simplement cette commande en tant que root :
bash <(curl -sSL https://git.sorcier-research.com/sorcier/NexusPBX/raw/branch/main/install.sh)
📦 Méthode Alternative (Clonage Manuel)
git clone https://git.sorcier-research.com/sorcier/NexusPBX.git /var/www/nexus-pbx
cd /var/www/nexus-pbx
sudo bash install.sh
🔑 Première Connexion & Administration
Une fois l'installation terminée, la bannière console s'affiche sur votre terminal avec l'adresse IP détectée. Ouvrez votre navigateur web sur :
- HTTP :
http://<IP_DU_SERVEUR> - HTTPS :
https://<IP_DU_SERVEUR>:8443
Identifiants d'administration par défaut :
- Nom d'utilisateur :
admin - Mot de passe :
admin123
(Il vous est fortement recommandé de changer le mot de passe dès votre première connexion).
🔒 Confidentialité & Sécurité du Dépôt
Ce dépôt de code source exclut rigoureusement :
- Les bases de données SQLite contenant les identifiants locaux.
- Les clés privées et certificats SSL.
- Les enregistrements vocaux et sauvegardes d'entreprise.
Développé pour les télécoms d'entreprise souveraines.
Languages
PHP
70%
JavaScript
26.3%
Shell
3.7%