Hangup rozrywa wszystkie sesje na żywo, a nie tylko podstawowe

Fixkamo-internal
Szycy
26 kwietnia 2026 22:47 UTC
Autor
kamo
Pochęt się
33ab822

Obudowa samocalna pozostawiła sesję wycieknącą: wybierając własne rozszerzenie Tworzy sesję wychodzącą, a następnie Asterisk zapętla oddzwonienie jako sekundę Sesja przychodząca, więc dwie sesje istnieją naraz. Pojedynczy singiel activeSessionRef śledził tylko najnowsze (inbound), więc: 1. Odrzuceni (zawieś nakładkę z pętlą) - odrzucone, ref nulled. 2. Wyjazd trwa bez nadzoru; Asterisk prowadzi go do poczty głosowej. 3. UI przewraca się do End Call, ponieważ wyjazd idzie na miejsce. 4. Kliknij przycisk „Zakończenie rozmowy” - hangup() odczytuje ref, znajduje null, no-op. 5. Dźwięk poczty głosowej wciąż się odtwarza; tylko odświeżanie strony go wyczyści. Utrzymuj allSessionsRef Set obok głównego ref: - Dresja dodaje każdą sesję. - zdarzenia zakończone / nieudane usuwają z zestawu, tylko resetuj stan połączenia, jeśli Ta sesja była pierwotna i promuj ocalałego do prawyborów Nieme/trzymaj/transfer nadal celuje w rozmowę na żywo. - reject() usuwa odrzuconą sesję z zestawu i promuje a Ocalały (więc UI nie wskazuje krótko na nic). - hangup() itetrazy zestaw i wywołuje hangup() na każdego członka, a następnie Wyczyści zestaw i główny sędzia. - Słuchacze na sesji (przyjmowani / trzymają / trzymają / nieciemne / niemute) teraz Zwarcie, gdy sesja zwalniająca nie jest bieżącą pierwotną, więc Nieświeże wydarzenia z sesji w tle nie mogą zmienić stanu UI dla Różne aktywne wezwanie.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny