sorcier
|
f99cf440a7
|
fix(version): v2.7.2 uniform string changelog in version.json (fix [object Object])
|
2026-11-12 11:57:57 +01:00 |
|
sorcier
|
5cb3900c67
|
fix(update): v2.7.1 avoid transient Nginx 502 error during 1-click web update
|
2026-11-12 11:44:10 +01:00 |
|
sorcier
|
64b8339d14
|
fix(db): auto-migrate ucp_logo column on existing SQLite databases
|
2026-11-12 11:36:21 +01:00 |
|
sorcier
|
ba04af32bb
|
feat(branding): v2.7.0 logo specifique optionnel pour UCP avec repli sur logo principal ou NexusPBX
|
2026-11-12 11:35:09 +01:00 |
|
sorcier
|
ddbaabb657
|
v2.6.7: Replace Admin & UCP emojis with uniform Heroicons SVG icons
|
2026-11-12 10:25:40 +01:00 |
|
sorcier
|
70a021ef63
|
ui(admin): v2.6.6 selecteur de destinations personnalise avec icones SVG style menu
|
2026-11-12 10:15:24 +01:00 |
|
sorcier
|
b8cf932651
|
ui(admin): suppression des emojis dans les listes de destinations audio
|
2026-11-12 10:12:34 +01:00 |
|
sorcier
|
871a90c102
|
ui(admin): v2.6.5 intitules professionnels pour musiques d'attente et annonces en boucle
|
2026-11-12 10:10:29 +01:00 |
|
sorcier
|
f94299def1
|
ui(ucp): placeholder generique en francais sur la connexion UCP
|
2026-11-12 10:00:03 +01:00 |
|
sorcier
|
d9f1470c64
|
ui(ucp): nouveau wallpaper clair dedie a la page de connexion UCP
|
2026-11-12 09:55:32 +01:00 |
|
sorcier
|
5fddf3f275
|
ui(ucp): eclaircissement lumineux du wallpaper de connexion UCP
|
2026-11-12 09:49:07 +01:00 |
|
sorcier
|
b702e369a8
|
ui(ucp): fond d'écran wallpaper sur la page de connexion UCP
|
2026-11-12 09:47:25 +01:00 |
|
sorcier
|
c980aa2904
|
chore(update): verification et installation auto des extensions PHP requises lors des mises a jour
|
2026-11-12 09:42:57 +01:00 |
|
sorcier
|
f918c929f5
|
fix(phonebook,ucp): v2.6.4 affichage des postes multi-groupes dans chaque onglet de groupe
|
2026-11-12 02:45:13 +01:00 |
|
sorcier
|
8cb8f1cdf7
|
ui(ucp): v2.6.3 onglets dynamiques par groupe dans l'Annuaire de l'Entreprise
|
2026-11-12 02:42:13 +01:00 |
|
sorcier
|
745e9307d7
|
fix(ucp): v2.6.2 regle stricte host/port GroundWire (NAT > VIP HA > IP locale + port local)
|
2026-11-12 02:35:46 +01:00 |
|
sorcier
|
789ea79cf2
|
style(extensions,ucp): v2.6.1 retrait icone smartphone GroundWire et boutons d'action uniformes
|
2026-11-12 02:09:37 +01:00 |
|
sorcier
|
28efb2d6bc
|
feat(ucp): v2.6.0 provisionnement XML Acrobits GroundWire par poste
|
2026-11-12 02:04:47 +01:00 |
|
sorcier
|
135a6267db
|
ui(ucp): cartes journal appels mobile style iPhone (v2.5.7)
|
2026-11-11 23:21:23 +01:00 |
|
sorcier
|
26cac163d6
|
ui(ucp): en-tête compact mobile et dégradé latéral onglets (v2.5.6)
|
2026-11-11 23:13:37 +01:00 |
|
sorcier
|
d8ec7e4508
|
fix(ucp): adaptation iPhone/iOS Safari sans auto-zoom ni débordement (v2.5.5)
|
2026-11-11 23:04:04 +01:00 |
|
sorcier
|
c10c980024
|
fix(ucp): correction journal personnel Mes Appels CDR (v2.5.4)
|
2026-11-11 22:44:17 +01:00 |
|
sorcier
|
d618d426e7
|
feat(ucp): onglet Notice & Codes de fonction avec fiche PDF imprimable (v2.5.3)
|
2026-11-11 19:57:49 +01:00 |
|
sorcier
|
2a7bb2a122
|
chore(update): garantir ACLs nginx/fail2ban lors des mises à jour
|
2026-11-11 19:54:17 +01:00 |
|
sorcier
|
8df103d7a0
|
fix(ha): try/finally & purge temp /tmp cluster (v2.5.2)
|
2026-11-11 19:48:26 +01:00 |
|
sorcier
|
c96af67ac9
|
fix(ucp,ha): auto-déploiement UCP, check SQLite PDO/SQLite3::backup HA, refresh comptes UCP (v2.5.1)
|
2026-11-11 19:31:32 +01:00 |
|
sorcier
|
72e43f1a9a
|
feat(ucp): NexusPBX v2.5.0 Portail Utilisateur isolé (Refs #4)
|
2026-11-11 18:47:25 +01:00 |
|
sorcier
|
7922e338e3
|
docs(release): finalize v2.0.0 Pulsar changelog and release date
|
2026-11-11 13:04:21 +01:00 |
|
sorcier
|
d229aaf816
|
feat(ring-groups): allow direct voicemail redirection on no-answer failover
Add vm-<ext> destination support in UI destination picker, API validation, and [app-voicemail] Asterisk dialplan context. Refs #2
|
2026-11-11 12:40:28 +01:00 |
|
sorcier
|
3ef7ed0010
|
perf(pjsip): optimize NAT/TLS keepalives and remote registration expiry for off-network phones
|
2026-11-10 11:14:38 +01:00 |
|
sorcier
|
c79faadd99
|
fix(cluster): mirror voicemails and custom sounds using rsync --delete to propagate deletions
|
2026-11-07 02:00:38 +01:00 |
|
sorcier
|
4bd0f8b095
|
fix(cluster): purge subscription_persistence in AstDB replication to prevent dead BLF dialogues
|
2026-11-07 01:49:10 +01:00 |
|
sorcier
|
d1d42f75b5
|
feat(cluster): add voicemail & fail2ban sync and automatic failback re-sync reconciliation
|
2026-11-07 01:26:02 +01:00 |
|
sorcier
|
54fc495fa7
|
fix(cluster): bind PJSIP transports to VIP and announce VIP signaling address in HA mode
|
2026-11-06 16:57:25 +01:00 |
|
sorcier
|
2ed38846ae
|
release(v2.0.0): bump version to 2.0.0 codename Pulsar
|
2026-11-06 11:23:51 +01:00 |
|
sorcier
|
e54de57105
|
fix(cluster): strict SIP isolation on standby node and progressive BLF wake on master to eliminate stuck BLF lights
|
2026-11-06 09:54:39 +01:00 |
|
sorcier
|
fd15f05b7a
|
docs(cluster): clarify SIP registration vs BLF subscription timer in HA settings
|
2026-11-06 02:41:53 +01:00 |
|
sorcier
|
040a4d646f
|
fix(api): fix endpoint quoting in pjsip send notify command
|
2026-11-06 02:05:33 +01:00 |
|
sorcier
|
7fd75fbff4
|
feat(extensions): add Redémarrer action with call detection and confirmation modal
|
2026-11-06 02:01:37 +01:00 |
|
sorcier
|
1908af5d13
|
refactor(sip): keep RTP timeout settings exclusively in SIP & NAT settings
|
2026-11-06 01:50:28 +01:00 |
|
sorcier
|
fa8af27e46
|
feat(system): add RTP Timeout and RTP Hold Timeout directly in System Settings form
|
2026-11-06 01:47:02 +01:00 |
|
sorcier
|
c1805c9076
|
feat(sip): make rtp_timeout_hold configurable in Web UI and default to 0 (unlimited hold)
|
2026-11-06 01:40:31 +01:00 |
|
sorcier
|
767fea46b7
|
fix(cluster): auto-ensure blf_expiry and peer_port columns exist in ClusterManager constructor
|
2026-11-06 01:21:03 +01:00 |
|
sorcier
|
f14185d597
|
feat(cluster): add configurable BLF expiry interval in HA menu with 120s default and automatic check-sync notify on failover
|
2026-11-06 01:20:16 +01:00 |
|
sorcier
|
c1c6eab03c
|
feat(pjsip): set default hold timeout to 600s (10 min) and add rtp_timeout_hold to settings schema
|
2026-11-06 00:29:19 +01:00 |
|
sorcier
|
1d2d6b1911
|
fix(ha): auto-purge zombie channels on HA transition and enforce PJSIP rtp_timeout to fix stuck BLF keys
|
2026-11-06 00:23:35 +01:00 |
|
sorcier
|
2db19ed2dd
|
fix(cluster): use native sqlite3 .restore API to eliminate WAL/SHM desynchronization and corruption during live sync
|
2026-11-06 00:10:44 +01:00 |
|
sorcier
|
2db63d66ce
|
feat(update): align update script with install script for HA cluster prerequisites
|
2026-11-06 00:00:33 +01:00 |
|
sorcier
|
d2e3be3356
|
perf(db): eliminate redundant DDL execution on every request and add nexus-cluster to update.sh sudoers
|
2026-11-05 23:48:53 +01:00 |
|
sorcier
|
c93b52d99c
|
perf(core): eliminate PHP session file lock contention on API/metrics, tune PHP-FPM pool, and remove redundant Keepalived restarts on sync
|
2026-11-05 23:46:02 +01:00 |
|
sorcier
|
0b654c885c
|
fix(cluster): ensure only VIP holder pushes sync and prevent deadlocks with flock and strict VIP check
|
2026-11-05 23:41:54 +01:00 |
|
sorcier
|
0b740da87e
|
feat(cluster): production-grade atomic VACUUM replication, pre-validation integrity check, Asterisk database query injection, and live reload
|
2026-11-05 23:38:03 +01:00 |
|
sorcier
|
a537fc6469
|
fix(cluster): ensure AstDB transactional sync, auto-healing, and Gratuitous ARP on master take-over
|
2026-11-05 23:28:53 +01:00 |
|
sorcier
|
062495a162
|
chore: ignore database .bak files in storage
|
2026-11-05 22:57:44 +01:00 |
|
sorcier
|
c9ce4d7c74
|
feat(cluster): add Asterisk astdb.sqlite3 live contacts sync every 2min
|
2026-11-05 22:54:43 +01:00 |
|
sorcier
|
3f29ac6d2e
|
feat(cluster): real-time auto-sync on apply_config + 5min cron periodic sync
|
2026-11-05 19:58:58 +01:00 |
|
sorcier
|
4c49cf8e1c
|
feat(installer): integrate full HA Keepalived setup, sysctl, sudoers and cluster helper into install.sh
|
2026-11-05 19:55:15 +01:00 |
|
sorcier
|
3edcabff7c
|
fix(cluster): set keepalived vrrp_script weight to -20 for instant failover
|
2026-11-05 19:38:35 +01:00 |
|
sorcier
|
940ff800ad
|
fix(cluster): update Asterisk CLI health check command to core show uptime
|
2026-11-05 19:37:43 +01:00 |
|
sorcier
|
b76490a4dc
|
fix(cluster): support custom peer port, fix netmask & vrid persistence, and fix static call
|
2026-11-05 19:35:10 +01:00 |
|
sorcier
|
da0805fd5f
|
fix(ha): orchestration Keepalived root, support unicast VRRP, preservation identite backup et synchro HTTPS
|
2026-11-05 19:22:16 +01:00 |
|
sorcier
|
93f842a363
|
fix(cluster): inclusion de ClusterManager et autoloader PSR-4 automatique dans api.php et index.php
|
2026-11-05 19:02:09 +01:00 |
|
sorcier
|
521f21dc9c
|
feat(cluster): module Haute Disponibilité (Cluster HA Actif/Passif Keepalived VRRP & Réplication temps réel)
|
2026-11-05 14:32:35 +01:00 |
|
sorcier
|
bee2055b62
|
Merge branch main into dev (v1.6.5)
|
2026-11-05 14:02:30 +01:00 |
|
sorcier
|
6aa1d5d796
|
fix(trunks): suppression de callerid dans endpoint trunk pour preserver l appelant reel entrant (v1.6.5)
|
2026-11-05 14:02:28 +01:00 |
|
sorcier
|
45f546604e
|
Merge branch main into dev
|
2026-11-05 12:45:08 +01:00 |
|
sorcier
|
c33d13a271
|
fix(dialplan): trunk fallback callerid s applique systematiquement si la route n a pas de cid specifique
|
2026-11-05 12:45:06 +01:00 |
|
sorcier
|
74e29c690a
|
Merge branch main into dev (v1.6.4)
|
2026-11-05 12:21:27 +01:00 |
|
sorcier
|
587511bd67
|
fix(trunks): ne pas forcer from_user si vide pour preserver le Caller ID Name dans From (v1.6.4)
|
2026-11-05 12:21:25 +01:00 |
|
sorcier
|
231bef8330
|
Merge branch 'main' into dev (v1.6.3 fix CallerID CNAM & trust_id_outbound)
|
2026-11-05 12:08:25 +01:00 |
|
sorcier
|
5e80461d12
|
fix(trunks,outbound): activation trust_id_outbound et formatage strict Caller ID Name (CNAM) pour trunks SIP (v1.6.3)
|
2026-11-05 12:08:11 +01:00 |
|
sorcier
|
18368027ee
|
feat(dev): add dev environment detection and visual indicators
|
2026-11-05 00:57:11 +01:00 |
|
sorcier
|
4caef3abef
|
chore(cleanup): remove obsolete scripts (fix.sh, setup-debian.sh) and update README architecture
|
2026-11-05 00:42:10 +01:00 |
|
sorcier
|
986e8e2e3c
|
fix(backup): dynamic backup versioning and full Disaster Recovery pre-update backup (v1.6.2)
|
2026-11-05 00:27:47 +01:00 |
|
sorcier
|
469112d6ee
|
chore(release): bump version to 1.6.1 (official logo, Asterisk tagline, CDR script permissions)
|
2026-11-05 00:21:01 +01:00 |
|
sorcier
|
860594fded
|
chore(branding): update tagline to Powered by Asterisk across login and sidebar
|
2026-11-05 00:12:27 +01:00 |
|
sorcier
|
c0760ec52a
|
style(ui): enlarge standalone logo on sidebar and login modal
|
2026-11-04 23:47:38 +01:00 |
|
sorcier
|
2d4c80a7ec
|
style(ui): display standalone full-size logo without bounding box
|
2026-11-04 23:43:09 +01:00 |
|
sorcier
|
2eef15458c
|
feat(ui): integrate official NexusPBX logo and favicon (replace placeholder icon)
|
2026-11-04 23:40:14 +01:00 |
|
sorcier
|
08837686e3
|
chore(install): ensure CDR directory, Master.csv and ACL permissions in install and update scripts
|
2026-11-04 18:20:24 +01:00 |
|
sorcier
|
e6cd08ab4e
|
fix(cdr): remove redundant Auth method calls in CDR actions
|
2026-11-04 14:57:03 +01:00 |
|
sorcier
|
21a88440c3
|
fix(cdr): pass filter parameters as payload object in apiCall
|
2026-11-04 14:47:35 +01:00 |
|
sorcier
|
7c28a237ba
|
feat(cdr): add Call Logs & CDR module with automatic trunk detection and CSV export (v1.6.0)
|
2026-11-04 14:42:29 +01:00 |
|
sorcier
|
a9d86dd6ac
|
fix(tls): support TLS 1.2/1.3 and fix client certificate request for Yealink
|
2026-11-04 13:29:38 +01:00 |
|
sorcier
|
eadba4af3f
|
v1.5.2: Exécution Certbot ACME avec sudo et sécurisation des droits Let's Encrypt
|
2026-11-04 13:04:06 +01:00 |
|
sorcier
|
e3f22e8e0b
|
Nettoyage radical: Rollback complet de check-sync et AstDB. Seul maximum_expiration/default_expiration est conservé
|
2026-11-04 12:53:01 +01:00 |
|
sorcier
|
40e36e0423
|
Nettoyage: Suppression de la persistance AstDB et adoption exclusive du standard SIP maximum_expiration pour la reconnexion automatique
|
2026-11-04 12:48:50 +01:00 |
|
sorcier
|
65a62ca0e4
|
v1.5.1: Sauvegarde/restauration intégrale AstDB et synchronisation SIP immédiate des téléphones (check-sync)
|
2026-11-04 12:43:32 +01:00 |
|
sorcier
|
accec47d08
|
feat(sounds): absolute audio paths for custom sounds making IVRs fully language-agnostic (v1.5.0)
|
2026-11-04 12:09:32 +01:00 |
|
sorcier
|
6c74e09203
|
fix(sounds): link custom sounds in language directories for Asterisk (v1.4.9)
|
2026-11-04 12:04:19 +01:00 |
|
sorcier
|
8f4ea50452
|
fix(ivr): resolve dialplan conflict on *801-*899 and link debian sound prompts (v1.4.8)
|
2026-11-04 11:51:21 +01:00 |
|
sorcier
|
1e288af617
|
fix(metrics): robust contact detection with AstDB fallback and reset f2b counters on clear log (v1.4.7)
|
2026-11-04 11:33:08 +01:00 |
|
sorcier
|
bda4cb18a6
|
fix(voicemail): automate modules.conf and voicemail includes in install.sh and fix.sh (v1.4.6)
|
2026-11-04 11:06:04 +01:00 |
|
sorcier
|
9b2533695e
|
feat(extensions): auto-regenerate and reload Asterisk configs instantly on save/delete (v1.4.5)
|
2026-11-04 10:39:28 +01:00 |
|
sorcier
|
07b53b8002
|
fix(ota): asynchronous web reload & fail-safe probe for Safari (v1.4.4)
|
2026-11-04 10:13:25 +01:00 |
|
sorcier
|
bd8b519753
|
feat(ui): custom modal dialog for update confirmation (v1.4.3)
|
2026-11-04 10:08:15 +01:00 |
|
sorcier
|
7deee2be61
|
feat(login): native server-side operator branding & lighter glassmorphism modal (v1.4.2)
|
2026-11-04 10:03:15 +01:00 |
|
sorcier
|
ea73d15eaf
|
feat(ui): add immersive plexus background image and glassmorphism login modal (v1.4.1)
|
2026-11-04 09:56:53 +01:00 |
|
sorcier
|
0948a8da24
|
feat(charts): smooth CPU/RAM and Network curves using cubic Bézier splines (v1.4.0)
|
2026-11-04 09:40:33 +01:00 |
|
sorcier
|
c5eb849095
|
fix(ui): bust browser localStorage and HTTP cache on update, render version server-side (v1.3.9)
|
2026-11-04 04:03:29 +01:00 |
|