- Shipped
- 26. April 2026 um 22:47 UTC
- Author
- kamo
- Commit
- 33ab822
Self-Call-Rante Fall links eine Sitzung durchgesickert: Wählen Sie Ihre eigene Erweiterung erzeugt eine Outbound-Session, dann schlingt Asterisk den Ruf als Sekunde zurück Inbound-Sitzung, so dass zwei Sitzungen auf einmal existieren. Die Single activeSessionRef hat nur die jüngste (inbound) verfolgt, also: 1. Reject (hängen Sie das Loopback-Überlager) - inbound abgelehnt, ref nulled. 2. Outbound fährt unbeaufsichtigt weiter; Asterisk leitet es zu Voicemail. 3. UI Flips zu End Call, weil die Outbound geht Etabliert. 4. Klicken Sie auf End-Aufruf - hangup() liest ref, findet null, No-op. 5. Voicemail Audio spielt weiter; nur eine Seite aktualisiert es. Pflegen Sie ein allSessionsRef Set neben dem primären Ref: - wireSession fügt jede Sitzung hinzu. - beendete/gescheiterte Ereignisse aus dem Set entfernen, nur zurückgesetzten Anrufzustreich, wenn DAS Sitzung war primär, und fördern einen Überlebenden zu primären so stum/hold/transfer zielen immer wieder auf einen Live-Raufen. - reject() entfernt die abgelehnte Sitzung aus dem Set und fördert eine Überlebender (so dass die Benutzeroberfläche nicht kurz auf nichts zeigt). - hangup() iterates the set and call your hangup() auf jedes Mitglied, dann löscht den Satz und den primären Ref. - Per-Session-Hörer (akzeptiert / halten / unhold / stumm / unmute) jetzt Kurzschluss, wenn die Entlassung Sitzung ist nicht die aktuelle primäre, so abgestandene Ereignisse aus einer Hintergrundsitzung können nicht UI-Zustand für eine verschiedene aktive Anrufe.