Softfony: Zoiper, MicroSIP, Linphone
Softfon to telefon-program: na komputerze kasjera, laptopie administratora lub smartfonie menedżera. Dla centrali nie różni się niczym od aparatu biurkowego: wydajesz pracownikowi numer wewnętrzny w panelu administracyjnym i wprowadzasz te same pięć wartości — serwer SIP, login, hasło, port 5060, transport UDP. Skąd je wziąć i co oznaczają — w przeglądzie „Konfiguracja telefonów SIP”.
Krótko, co wybrać:
| Klient | Platformy | Cena dla lokalu | Kiedy wybrać |
|---|---|---|---|
| MicroSIP | Windows | bezpłatnie (open source) | komputer na kasie lub w recepcji — lekki, działa w zasobniku systemowym |
| Zoiper | Windows, macOS, Linux, Android, iOS | wersja bezpłatna — tylko do użytku niekomercyjnego; lokal potrzebuje Premium (jednorazowy zakup) | jeden klient na wszystkie urządzenia pracownika |
| Linphone | Windows, macOS, Linux, Android, iOS | bezpłatnie (open source) | gdy potrzebny bezpłatny klient na smartfonie lub Macu |
| Grandstream Wave Lite | Android, iOS | bezpłatnie | jeśli pracownik już go używa |
Po skonfigurowaniu od razu wybierz *43: centrala odtworzy ci twój głos. To jedyny test, że dźwięk przechodzi, a nie tylko rejestracja (szczegóły — poniżej).
Kiedy softfon, a kiedy telefon biurkowy#
Softfon sprawdza się tam, gdzie człowiek i tak siedzi przy komputerze lub trzyma telefon w ręce: administrator, menedżer, operator dostaw, księgowy. Jest bezpłatny lub prawie bezpłatny, nie wymaga gniazdka ani kabla i od razu pokazuje kontakty.
Telefon biurkowy lub DECT jest potrzebny tam, gdzie nie można przegapić połączenia:
- Lada, bar, recepcja. Komputer przechodzi w stan uśpienia, aktualizuje się, ktoś zamyka program — i połączenia po cichu nie docierają. Aparat na biurku dzwoni zawsze.
- Kelnerzy na sali. Smartfon w kieszeni odbiera połączenia w tle zawodnie (patrz „Odbiór połączeń w tle”), a słuchawka DECT to telefon, który nie robi nic innego.
- Głośna sala i kuchnia. Głośnik laptopa i wbudowany mikrofon dają echo i szum; aparat biurkowy ma normalną słuchawkę.
Jeden numer wewnętrzny można mieć na kilku urządzeniach jednocześnie (do 5): na przykład telefon biurkowy na ladzie i softfon na smartfonie administratora. Połączenie przychodzące dotrze do wszystkich, odpowie ten, kto pierwszy podniesie słuchawkę.
Zoiper#
Platformy: Windows, macOS, Linux, Android, iOS. Pobierz — tylko z oficjalnej strony zoiper.com lub ze sklepu z aplikacjami.
Konfiguracja na komputerze (Zoiper 5)#
- Zainstaluj i uruchom Zoiper. Na pierwszym ekranie „Username and password” wprowadź:
- w górnym polu — login z okna, znak
@i serwer SIP, na przykładsip-a1b2c3d4-101@sip.example.com(tak podpowiada sam Zoiper: „user@sip.example.com”); - w polu Password — hasło z okna.
- w górnym polu — login z okna, znak
- Kliknij Login. Jeśli Zoiper zapyta o adres serwera (Hostname) — wprowadź serwer SIP z okna. Pola „Authentication” i „Outbound proxy” pozostaw puste.
- Zoiper sprawdzi, które sposoby połączenia działają (SIP TLS, SIP TCP, SIP UDP, IAX UDP). SIP TLS i IAX u nas się nie znajdą — to normalne. Wybierz SIP UDP (lub SIP TCP, jeśli UDP w Twojej sieci nie przechodzi) i kliknij Next.
- Następnie kreator zaproponuje sprawdzenie mikrofonu i głośnika — przejdź go z tym zestawem słuchawkowym, z którym będziesz rozmawiać.
Zrzut ekranu: Zoiper 5 User Guide v.1.0.7, s. 10 („Activation”), https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf.
Konfiguracja ręczna: które pola gdzie#
Jeśli konto jest już utworzone lub kreator sobie nie poradził, otwórz Settings → Accounts → Twoje konto i sprawdź pola:
| W panelu administracyjnym („Dane logowania numeru wewnętrznego”) | W Zoiper 5 (Settings → Accounts → SIP Account) |
|---|---|
| Serwer SIP | Domain (na smartfonie — Hostname) |
| Login | Username — w całości, sip-…-<numer> |
| Hasło | Password |
Port 5060 |
nie wprowadza się — 5060 Zoiper używa sam; inny port dopisuje się do adresu: serwer:port |
Transport UDP |
Advanced → Network → Transport → UDP |
| Numer wewnętrzny | do żadnego pola; jako podpis konta — Caller ID name (opcjonalnie) |
Pola wyboru Use auth. username i Use outbound proxy pozostaw wyłączone. Use STUN można wyłączyć: nasza centrala sama radzi sobie z NAT, STUN nie jest jej potrzebny.
Zrzut ekranu: Zoiper 5 User Guide v.1.0.7, s. 30 („Accounts / SIP Accounts”), https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf.
Dodatkowo: kodeki, transport, keep-alive w Zoiper
- Kodeki (Settings → Accounts → konto → Advanced → Audio and Video codecs): pozostaw w „Selected” G.711 a-law i G.711 µ-law; jeśli w Twojej wersji jest G.722 — dodaj. Kolejność od góry do dołu = priorytet. G.729 naszej centrali nie jest potrzebny.
- Transport. W dokumentacji Zoiper zaleca unikać UDP z powodu timeoutów NAT na routerze. Nasza centrala przyjmuje również TCP na tym samym porcie
5060— jeśli na UDP połączenia przychodzące znikają po kilku minutach bezczynności, przełącz konto na TCP. TLS u nas na wspólnym konturze nie działa — nie wybieraj go. - Keep alive time-out (tamże, Network) — niech pozostanie włączony: utrzymuje „dziurę” w routerze otwartą, aby połączenia przychodzące docierały.
- Registration expiry — wartość fabryczna jest odpowiednia; nasza centrala przyjmuje od 60 do 3600 sekund.
Konfiguracja na smartfonie (Zoiper dla Android i iOS)#
Pola są te same: przy tworzeniu konta wybierz ręczną konfigurację konta SIP i wypełnij Hostname (serwer SIP), Username (login w całości), Password. Zielony znaczek przy koncie pojawia się w ciągu około 30 sekund — oznacza to, że rejestracja się powiodła. O kodzie QR — osobna sekcja poniżej.
MicroSIP#
Tylko Windows, bezpłatny i otwarty. Instalacja zajmuje minutę, działa w zasobniku systemowym i prawie nie zajmuje pamięci — dobry wybór dla komputera przy kasie. Nie odczytuje kodu QR: konfiguruje się przez pola.
- Pobierz z oficjalnej strony
microsip.org(wersja zwykła lub portable). - Menu główne MicroSIP → Add Account.
- Wypełnij pola zgodnie z tabelą i kliknij Save. Rejestrację sprawdź w panelu administracyjnym: u operatora zapali się zielona kropka.
| W panelu administracyjnym („Dane logowania numeru wewnętrznego”) | W MicroSIP (Add Account) |
|---|---|
| Serwer SIP | SIP Server i Domain — oba tak samo |
| Login | Username — w całości, sip-…-<numer>; Login — można zostawić puste (wtedy brany jest Username) lub wpisać to samo |
| Hasło | Password |
Port 5060 |
nie wpisuje się — 5060 domyślnie; inny port — przez dwukropek w SIP Server |
Transport UDP |
Transport → UDP (odpowiednie będzie też „Auto (UDP & TCP)”) |
| Numer wewnętrzny | Account Name / Display Name — jako podpis (opcjonalnie) |
SIP Proxy pozostaw puste. Media Encryption — Disabled: szyfrowania dźwięku (SRTP) nasza centrala nie udostępnia, z nim połączenie się nie zestawi. ICE — wyłączone.
Zrzut ekranu: MicroSIP Help, sekcja Account, https://www.microsip.org/help.
Dodatkowo: kodeki i urządzenia dźwiękowe w MicroSIP
Menu główne → Settings:
- Enabled Codecs — pozostaw G.711 A-law i G.711 u-law, w razie potrzeby dodaj G.722 16 kHz z „Available Codecs” strzałką. Reszta nie jest potrzebna.
- Ring Device / Speaker / Microphone — wybierz zestaw słuchawkowy do rozmowy, a do dzwonka (Ring Device) — głośniki komputera, żeby dzwonek było słychać, nawet gdy zestaw słuchawkowy leży na stole.
- DTMF Method — Auto lub RFC2833.
- Keep-Alive w oknie konta (domyślnie 15 s) utrzymuje NAT otwarty — nie wyłączaj.
Zrzut ekranu: MicroSIP Help, sekcja Settings, https://www.microsip.org/help.
Linphone#
Otwarty i bezpłatny klient od Belledonne Communications: Windows, macOS, Linux, Android, iOS. Jego kreator przy pierwszym uruchomieniu proponuje założenie konta w ich własnej usłudze — nam ono nie jest potrzebne.
- Na ekranie startowym wybierz Third Party SIP Account („Use a third party SIP account”). Aplikacja ostrzeże, że część funkcji Linphone (czaty grupowe, wideokonferencje) jest niedostępna z zewnętrznym kontem — kliknij I understand.
- Wypełnij pola zgodnie z tabelą i kliknij Login.
| W panelu administracyjnym („Dane logowania numeru wewnętrznego”) | W Linphone (Third party SIP account) |
|---|---|
| Serwer SIP | Domain |
| Login | Username — w całości, sip-…-<numer> |
| Hasło | Password |
Port 5060 |
nie wpisuje się — 5060 domyślnie |
Transport UDP |
Transport → UDP. ⚠️ Linphone domyślnie ustawia TLS — z nim rejestracja nie przejdzie, przełącz koniecznie |
| Numer wewnętrzny | Display name — jako podpis (opcjonalnie) |
Authentication ID (if different) i Outbound proxy pozostaw puste.
Powiadomienia push Linphone działają przez serwer pośredniczący Belledonne (Flexisip); zewnętrzne konto, takie jak nasze, go nie ma — dlatego na smartfonie Linphone odbiera połączenia w tle gorzej niż w otwartej aplikacji. Zob. „Odbiór połączeń w tle”.
Grandstream Wave Lite#
Bezpłatny klient SIP Grandstream dla Android i iOS. Nie mylić z Wave (bez Lite): ten jest przeznaczony dla stacji Grandstream UCM i działa na ich zaproszenie — z naszą centralą się nie łączy. W Wave Lite dodaj konto SIP ręcznie tymi samymi wartościami: serwer — serwer SIP z okna, login — w całości (i w polu identyfikatora uwierzytelniania, jeśli jest osobne), hasło, transport UDP. Kod QR z panelu administracyjnego Wave Lite nie odczytuje: Grandstream ma własny format.
Kod QR z panelu administracyjnego#
W oknie „Dane logowania numeru wewnętrznego” jest przycisk „Pokaż QR”. W kodzie znajduje się jeden wiersz postaci
sip:<login>:<hasło>@<serwer SIP>:5060;transport=udp
czyli wszystkie dane wraz z hasłem. Dlatego:
- pokazuj kod QR tylko temu, komu wydajesz numer wewnętrzny, nie fotografuj go i nie przesyłaj dalej — to tak samo, jak przesłać hasło;
- po zamknięciu okna kodu QR nie da się odtworzyć (hasła nie przechowujemy) — tylko „Zresetuj hasło” i nowy kod QR.
Kto go zrozumie. Wbudowane skanery Zoiper i Linphone są przeznaczone przede wszystkim na link autokonfiguracji (provisioning), a nie na taki wiersz: Zoiper opisuje swój skaner dla kodów wygenerowanych w jego usłudze, a w obecnych wersjach Linphone (6.x dla Android i iOS) skaner w kodzie źródłowym przyjmuje tylko link internetowy do pliku ustawień — nasz wiersz odrzuci z komunikatem „Invalid QR code!”. Można spróbować kodu QR w Zoiper; jeśli konto się nie utworzyło — wpisuj pola, to dwie minuty. Najwygodniej kliknąć „Skopiuj wszystkie ustawienia” i wysłać tekst pracownikowi w prywatnym komunikatorze: otworzy go na tym samym smartfonie i skopiuje login oraz hasło do aplikacji bez błędów.
Odbieranie połączeń w tle na smartfonie#
Mówiąc szczerze: nikt nie może zagwarantować, że smartfon z softfonem zadzwoni, gdy aplikacja jest zminimalizowana lub ekran jest wygaszony — ani my, ani producenci softfonów. Przyczyna leży w samych systemach operacyjnych:
- Android usypia aplikacje działające w tle (tryb Doze i „optymalizacja baterii”), a przy przejściu z Wi-Fi na internet mobilny zrywa ich połączenia. Rejestracja ginie po cichu — w panelu administracyjnym placówka przez jakiś czas jest jeszcze zielona, a połączenie już nie dociera do telefonu. W niektórych nakładkach (Xiaomi MIUI/HyperOS, Huawei EMUI) aplikacje są wyładowywane jeszcze agresywniej.
- iOS w ogóle nie pozwala zwykłej aplikacji utrzymywać połączenia w tle: połączenie przychodzące budzi aplikację tylko przez powiadomienie push (usługa Apple), a do tego softfon musi mieć własny serwer push pośredniczący.
Co można zrobić, aby zmniejszyć ryzyko:
- Android: Ustawienia → Aplikacje → Twój softfon → Bateria → „Bez ograniczeń” (lub wyłączyć „optymalizację baterii”); zezwolić na pracę w tle, wyświetlanie nad innymi oknami i powiadomienia. Na Xiaomi — jeszcze „Autostart”.
- Zoiper oferuje własną usługę Push Proxy (Firebase na Androidzie, APNs na iOS) — według dokumentacji Zoiper to jedyny niezawodny sposób odbierania połączeń w tle. Podłącza się w aplikacji; warunki i cena — u Zoiper. Wymaganie usługi wobec centrali — zezwalać na ponowną rejestrację na okres od 1 godziny: nasza centrala przyjmuje okres do 3600 sekund, czyli dokładnie to minimum.
- Linphone z zewnętrznym kontem nie otrzymuje push (potrzebny jest ich serwer Flexisip) — trzymaj aplikację otwartą.
- Trzymaj aplikację otwartą na ekranie, gdy czekasz na połączenie (na przykład smartfon na podstawce przy kasie).
I najważniejsze: tam, gdzie nie można tracić połączeń — postaw telefon biurkowy lub DECT, a smartfon niech będzie drugim urządzeniem na tym samym numerze wewnętrznym.
Zestaw słuchawkowy i dźwięk#
- Zestaw słuchawkowy jest obowiązkowy do pracy przy komputerze. Wbudowane głośniki i mikrofon laptopa na głośnomówiącym dają echo u rozmówcy: Twój głośnik trafia do Twojego własnego mikrofonu. Zoiper w dokumentacji wprost pisze, że usunięcie echa, które przychodzi z drugiej strony, jest technicznie niemożliwe — usuwa się je u tego, kto je tworzy.
- Zestaw słuchawkowy USB jest niezawodniejszy niż Bluetooth: nie ma opóźnienia ani przerw przy słabym sygnale, nie „przechwytuje” go smartfon i sam nie przełącza się w tryb „słuchawki bez mikrofonu”. Zestaw słuchawkowy Bluetooth działa, ale w trybie rozmowy dźwięk jest zauważalnie gorszy niż przy słuchaniu muzyki.
- Wybierz urządzenie jawnie w ustawieniach softfonu: Zoiper — Settings → Audio (mikrofon, głośnik, osobne Ringing device), MicroSIP — Settings → Ring Device / Speaker / Microphone. Dzwonek wygodnie jest wyprowadzać na głośniki komputera, a rozmowę — do zestawu słuchawkowego. W Zoiper jest pole wyboru „Ring also through PC speakerphone” — dzwonek słychać, nawet gdy zestaw słuchawkowy nie jest założony.
- Echopowstawanie (Echo cancellation / EC) nie wyłączaj — tak radzi Zoiper; w MicroSIP to pole wyboru EC w Settings.
- Przyciski odbierania na zestawie słuchawkowym: MicroSIP — pole wyboru Handle Media Buttons w Settings (przyciski zestawu słuchawkowego i klawiatury multimedialnej), Zoiper — Settings → Audio → Use generic HID (plus osobne tryby dla Jabra i Plantronics).
Test dźwięku *43#
Zielona kropka przy operatorze w panelu administracyjnym mówi tylko o rejestracji (port 5060). Głos idzie osobnym strumieniem i psuje się osobno. Dlatego zaraz po konfiguracji wybierz w softfonie *43 i naciśnij przycisk połączenia:
- Centrala odpowie i da krótki sygnał;
- dalej mów przez około dziesięć sekund — usłyszysz swój głos.
| Co słychać | Co to znaczy |
|---|---|
| Sygnał, potem swój głos | dźwięk przechodzi w obie strony — wszystko w porządku |
| Sygnał jest, siebie nie słychać | dźwięk nie dochodzi od softfonu do centrali: niewłaściwy mikrofon (sprawdź urządzenie w ustawieniach), brak zgody na mikrofon dla aplikacji, SIP ALG na routerze |
| Nawet sygnału nie ma | dźwięk nie dochodzi od centrali do Ciebie: wybrany niewłaściwy głośnik albo sieć tnie UDP — zob. „Sieć, router i internet” |
| Słychać rwanie, z opóźnieniem | słaby kanał: Wi-Fi zamiast kabla, przeciążony internet |
Test jest bezpłatny i nigdzie nie dzwoni. Liczby (straty, jitter, opóźnienie) trafiają do dziennika połączeń — szczegółowo w przeglądzie: „Test jakości łączności”. Analiza usterek dźwięku — „Brak dźwięku, słychać w jedną stronę, echo”.
Jeśli softfon się nie rejestruje#
Najpierw — ogólne przyczyny od częstej do rzadkiej (są takie same dla każdego urządzenia):
- Login nie w całości. Potrzebny jest
sip-…-<numer>, a nie „101”. - Hasło jest nieaktualne. Ktoś nacisnął „Zresetuj hasło” — stare nie działa. Wydaj nowe.
- Nie ten adres serwera. Lokal z dedykowaną maszyną ma własny adres — skopiuj go z okna.
- Linphone na TLS. Przełącz Transport na UDP.
- Sieć blokuje UDP 5060 (gościnne Wi-Fi, niektóre sieci mobilne, firmowy VPN): spróbuj TCP lub innej sieci — to samo konto z domu albo z internetu mobilnego.
Co oznaczają komunikaty Zoiper (według jego dokumentacji):
| Komunikat Zoiper | Co to u nas oznacza |
|---|---|
| SIP 401 / konto się nie rejestruje, prosi o hasło | nieprawidłowy login lub hasło: login nie w całości, hasło zresetowane. Pola „auth. username” nie trzeba wypełniać — wystarczy Username w całości |
| SIP 403 Forbidden | centrala odmówiła: to samo nieprawidłowe hasło albo numer wewnętrzny usunięty/wyłączony w panelu administracyjnym |
| SIP 408 Request timed out | żądanie nie dotarło do centrali albo odpowiedź nie dotarła do ciebie: blokuje router lub firewall, nie ten transport. Przełącz UDP ↔ TCP, wyłącz STUN |
| SIP 503 Transport Failure | Zoiper nie mógł wysłać żądania: literówka w adresie serwera albo brak sieci |
| SIP 923 No DNS results | adres serwera nie został znaleziony przez DNS: literówka w SIP-serwerze, zbędny Outbound proxy, nieprawidłowy transport albo VPN na komputerze przeszkadza DNS |
Pełne omówienie kodów i komunikatów różnych urządzeń — „Nie rejestruje się: komunikaty i kody błędów”, wszystkie objawy — „Diagnostyka po objawach”.
Częste pytania#
Czy można mieć jeden numer wewnętrzny i na telefonie stacjonarnym, i w softfonie?#
Tak. Jedno konto rejestruje się jednocześnie na kilku urządzeniach (do pięciu), przychodzące połączenie dzwoni na wszystkich, odbiera ten, kto pierwszy podniósł słuchawkę. Wygodna para: aparat stacjonarny na recepcji + softfon na smartfonie administratora.
Czy darmowy Zoiper wystarczy?#
Technicznie do połączeń — tak, ale darmowa wersja Zoiper według jego licencji jest tylko do użytku niekomercyjnego. Lokal potrzebuje Premium (jednorazowy zakup na urządzenie) — albo weź darmowe MicroSIP (Windows) i Linphone.
Dlaczego kod QR z panelu administracyjnego nie zadziałał?#
W kodzie QR jest ciąg sip:login:hasło@serwer:port. Skanery Zoiper i Linphone oczekują przede wszystkim linku autokonfiguracji swojego serwisu, a Linphone 6.x przyjmuje tylko taki link. Wpisz pola ręcznie albo wyślij pracownikowi tekst przyciskiem „Skopiuj wszystkie ustawienia”.
Softfon na smartfonie nie dzwoni, gdy ekran jest wyłączony#
To zachowanie Android i iOS, a nie awaria centrali: system usypia aplikację i rejestracja przepada. Wyłącz optymalizację baterii i zezwól na pracę w tle, w Zoiper włącz Push Proxy. Jeśli połączenia nadal przepadają — potrzebny jest telefon stacjonarny lub DECT.
Rozmówca słyszy echo, gdy mówię z laptopa#
To twój głośnik trafia do twojego mikrofonu. Załóż zestaw słuchawkowy i sprawdź, czy w ustawieniach softfonu włączone jest tłumienie echa. Jeśli echo słyszysz ty — powstaje ono u rozmówcy, nie da się go poprawić po twojej stronie.
Czy można szyfrować połączenia w softfonie (TLS, SRTP, ZRTP)?#
Obecnie nie: centrala przyjmuje UDP i TCP na porcie 5060 i otwarty dźwięk. Włączone w softfonie TLS lub szyfrowanie dźwięku sprawią, że konto się nie zarejestruje albo połączenie się nie zestawi.
Powiązane sekcje#
- Przegląd: podłączenie telefonu do centrali — dane dostępowe, test echa
*43, reset - Sieć, router i internet dla telefonii — SIP ALG, NAT, ile internetu potrzeba
- Diagnostyka po objawach
- Nie rejestruje się: komunikaty i kody błędów
- Brak dźwięku, słychać w jedną stronę, echo
- Połączenie się zrywa
Źródła#
- Zoiper 5 User Guide v.1.0.7 (kreator „Username and password” i wybór SIP TLS/TCP/UDP — s. 9–10; Accounts → SIP Accounts: Domain, Username, Password, Use auth. username, Outbound proxy — s. 30; Transport, Keep alive, rport, STUN — s. 34–35; dźwięk, Echo cancellation, Ringing device, zestawy słuchawkowe HID — s. 41–42) — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
- Zoiper: Informational and error messages (SIP 401, 403, 408, 503 Transport Failure, 923 No DNS results) — https://www.zoiper.com/en/support/answer/for/android/80/Informational_and_error_messages ; Error SIP 923 — https://www.zoiper.com/en/support/home/article/20/Error%20SIP%20923
- Zoiper Push Proxy FAQ (połączenia przychodzące w tle na iOS/Android tylko przez push, okres ponownej rejestracji od 1 godziny) — https://www.zoiper.com/en/support/home/article/205/Zoiper_Push_Proxy
- Zoiper: How to generate QR codes on Zoiper OEM (kody QR są tworzone w serwisie Zoiper, działają 48 godzin, skanowane jednorazowo) — https://www.zoiper.com/en/support/home/article/218/How%20to%20generate%20QR%20codes%20on%20Zoiper%20OEM
- Zoiper 5 download (platformy; wersja bezpłatna — „non-commercial use only”) — https://www.zoiper.com/en/voip-softphone/download/current
- MicroSIP Help (pola okna Account, Settings: urządzenia dźwięku, kodeki, Handle Media Buttons) — https://www.microsip.org/help
- Linphone: Log in with Third-Party SIP Account — https://www.linphone.org/en/docs/login-sip-account/ ; QR Code / Provisioning Link Login — https://www.linphone.org/en/docs/login-with-qrcode/
- Kod źródłowy linphone-android:
QrCodeViewModel.kt(kod QR jest przyjmowany wyłącznie jako link autokonfiguracji),ThirdPartySipAccountLoginViewModel.ktiCorePreferences.kt(transport domyślny — TLS),strings.xml(nazwy pól) — https://github.com/BelledonneCommunications/linphone-android - Grandstream: Wave Application FAQ (Wave — dla UCM; zwykły klient SIP — Wave Lite) — https://documentation.grandstream.com/knowledge-base/wave-application-faq/
- Android Developers: Optimize for Doze and App Standby — https://developer.android.com/training/monitoring-device-state/doze-standby
- Kod centrali: format kodu QR i tekstu „Skopiuj wszystkie ustawienia” —
admin/lib/sip-provisioning.ts; okno „Dane logowania numeru wewnętrznego” —admin/components/integrations/SipOperatorRevealModal.tsx; okres rejestracji 60–3600 s, kodeki, NAT —shared/sip/advanced-options.json