Stránka 12 z 12

Re: Push notifikace a Linphone

Napsal: pát 24. dub 2026 16:41:18
od xsouku04
jadu píše: pát 24. dub 2026 14:46:03 Pokud se zapne  "Udržovat aplikaci aktivní pomocí služby", pak není push nutný, aplikace žije a posílá si keep alive a funguje velmi stabilně. Jedině na mobilních datech je nutné být na TLS, protože neaktivní UDP u operátorů nepřežije minutu, takže aplikace je sice živá, ale volání se k ní stejně nedostane. Kombinace push a služby pak je v podstatě vždy funkční. Ovšem za cenu zvýšené spotřeby baterie.




 
Když donutím přihlásit se linphone pomocí udp nebo tcp 

Kód: Vybrat vše

 <entry name="reg_proxy" overwrite="true">sip:linphone.odorik.cz:61345;transport=udp</entry>
 <entry name="reg_route" overwrite="true">sip:linphone.odorik.cz:61345;transport=udp</entry>
Tak se sice zaregistruje, ale příchozí hovory nefungují. Náš flexisip se nepokusí hovor poslat a to ani přes UDP ani TCP spojení.
Tedy spíše bych si tipnul že je problém v konfiguraci flexisip než v tom, že by se neudrželo spojení pře udp. Protože to fungovat nemůže, jelikož flexisip nic nepošle. K obnovení spojení by mělo dojít kvůli  push notifikace, tedy spojení není nutné udržovat. (takto to funguje s ACRphone - tam se používá je udp, protože většina VoIP operátorů šifrování vůbec nepodporuje)

Pokud je zaškrtnuto "Udržovat aplikaci aktivní pomocí služby"  TLS SIP spojení se drží celou dobu. (musím ještě zkusit, jestli se udrží i přes noc a podobně)

Pokud ale volbu "Udržovat aplikaci aktivní pomocí služby" vypnu. Tak TLS SIP spojení za chvíli spadne. A obnoví se jen když je příchozí hovor zjevně kvůli fungující push. Ale i tohle občas selže a telefon začne zvonit později nebo vůbec.

Kladu si tedy otázku, jestli důvod proč to funguje není to, že se aplikaci daří neusnout spíše než kvůli fungujícím push notifikacím. Udělal jsem pokus, že jsem vypnul používání push proxy, a budu testovat, jestli to bude fungovat také.

Druhá možnost, že aby spolehlivě fungovaly push notifikace, musí aplikace nespát. (je to ale logický nesmysl) Pak ale není moc jasné k čemu ty push notifikace jsou, když se lze obejít i bez nich. To prověřím.

U ACRPhone se spoléháme opravdu jen na to push. Jakmile do aplikace dorazí to push,  ACR phone provede znovu registraci a tím obnoví spojení a hovor může přijít. Je pravda, že ze začátku se spolehlivostí push byl problém, ale co jsme upravili to,a by se push posílaly co nejméně, začalo to být více spolehlivé.
 
 
 

Re: Push notifikace a Linphone

Napsal: sob 25. dub 2026 17:49:03
od xsouku04
jadu píše: pát 24. dub 2026 14:46:03 Pokud se zapne  "Udržovat aplikaci aktivní pomocí služby", pak není push nutný, aplikace žije a posílá si keep alive a funguje velmi stabilně. Jedině na mobilních datech je nutné být na TLS, protože neaktivní UDP u operátorů nepřežije minutu, takže aplikace je sice živá, ale volání se k ní stejně nedostane. Kombinace push a služby pak je v podstatě vždy funkční. Ovšem za cenu zvýšené spotřeby baterie.
Tak jsem zjistil že při zapnutém "Udržovat aplikaci aktivní pomocí služby" zůstává celou dobu aktivní TCP spojení mezi Linphone aplikací flexisip serverem. Tedy hovory fungují spolehlivě i bez funkčního push.  Tedy lze použít i oficiální verzi Linphone, nastavit ji pomocí QR kódu a pokud bude "Udržovat aplikaci aktivní pomocí služby" aktivní, budou příchozí hovory spolehlivé i bez push.

TCP spojení na server flexisip si vypíše příkazem.

Kód: Vybrat vše

 ss -tn state established '( dst 85.193.34.XXX or src 85.193.34.XXX )'
Mohu tak sledovat, jestli aplikace usnula a spojení ztratila, nebo jej spolehlivě udržuje.  V případě že je "Udržovat aplikaci aktivní pomocí služby"  vypnuto, spojení se po nějaké době ztratí. Když je příchozí hovor obvykle se ale ihned obnoví díky push notifikaci. Ale někdy se zpožděním, nebo také ne. Podle toho jestli se spojení podaří obnovit tak buď příchozí hovor funguje nebo ne.


Nyjí jdu více testovat ACRphone. Ten se totiž na PUSH naprosto spoléhá. Používá jen UDP  a spojení neudržuje. Příchozí hovory fungují tak, že se aplikace probudí pomocí PUSH notifikace a provede okamžitě novou registraci a teprve poté obdrží nový hovor příchozí hovor. Měl jsem pocit, že na ACRphone nyní fungují příchozí hovory naprosto spolehlivě, ale možná je to jen zdání. Jde to nyní ověřit.

Na Androidu mi dost vadí, že věci fungují takto chaoticky na každým telefonu trochu jinak. Dokumentace je sice přesložitělá, ale ne přesná a často podle ní věci nefungují (je to podobné jako české zákony). Věci často nefungují jak by měly, ale tak nějak jak se google vývojářům a vývojářům od výrobce telefonu zrovna zadaří. Pořád se to mění pod rukama. A nelze se moc na nic spolehnout.

V tomto je iPhone lepší. Je sice více restriktivní, použití push notifikací je naprosto povinné. Ale pak to také spolehlivě funguje.
 
 
 
 

Re: Push notifikace a Linphone

Napsal: sob 25. dub 2026 18:19:49
od rikudou
Rozhodně to takto nefunguje na Samsungu - ten zabíjí aplikaci, i když máte zapnutou službu na popředí a nejde s tím nic udělat. Během mých testů s flexisipem to byl jediný způsob, jak se mi povedlo příchozí hovory přijímat. Z logů na flexisipu jsem také viděl, že se pokaždé ta push notifikace odeslala a probudila mi telefon.

Bez push notifikací aplikace přijímala hovory i se službou po dobu cca 30 vteřin od zamknutí telefonu.

Re: Push notifikace a Linphone

Napsal: sob 25. dub 2026 19:37:19
od xsouku04
rikudou píše: sob 25. dub 2026 18:19:49 Rozhodně to takto nefunguje na Samsungu - ten zabíjí aplikaci, i když máte zapnutou službu na popředí a nejde s tím nic udělat. Během mých testů s flexisipem to byl jediný způsob, jak se mi povedlo příchozí hovory přijímat. Z logů na flexisipu jsem také viděl, že se pokaždé ta push notifikace odeslala a probudila mi telefon.

Bez push notifikací aplikace přijímala hovory i se službou po dobu cca 30 vteřin od zamknutí telefonu.


 
OK. Testuji nyní jak funguje push v ACRPhone.  A zatím to vždy okamžitě zvoní. Dříve to ale tak nebylo. Dříve to prý bylo tak, že push notifikace sice prý dorazila do androidu, ten přesto aplikace nevzbudil vždy okamžitě, občas vůbec. Naznali jsme, že google nebo android aplikaci nějak hodnotí a podle toho dává jejím push větší nebo menší prioritu. Je to ale nedokumentované.

Předpokládám, že Linphone používá pro push největší prioritou?  Možná se to zlepší časem, stejně jako u ACRPhone. A pak bude push fungovat spolehlivě.

Tady jsou nějaké návrhy umělé inteligence co zkontrolovat:  https://chatgpt.com/share/69ed03de-aa90 ... 80834dc5d7

 

Re: Push notifikace a Linphone

Napsal: ned 26. dub 2026 7:59:11
od jadu
Aplikace může být v různých stavech aktivity
  1. Je to právě aktivní aplikace na popředí (i když je telefon třeba se zhaslou obrazovkou nepoužívaný)
  2. Je mezi aktivními aplikacemi, ale není právě ta aktivní.
  3. Byla odstraněna z aktivních aplikací (třeba uživatelem), ale stále na pozadí běží nebo je na pozadí suspendována, ale nebyla plně ukončena.
  4. Byla plně ukončena přes nastavení aplikace - Vynutit ukončení
Pokud je ve stavu 1. je push v podstatě 100%. Pokud je ve stavu 2., pak je push extrémně úspěšný. Stadium 3. už je problematické, ale nakonec se aplikace přes push spustí; chce to ovšem čas, někdy i desítky sekund. Stav 4. je v podstatě konečná, push v naprosté většině nemá šanci.

ARC se pohybuje mezi 1. a 2., proto je push tak úspěšný. Aby byl podobně úspěšný Linphone/Odorok, musí být spuštěný (V Nastavení zaškrtnout, aby se spouštěl při startu sytému) a optimálně ho i aktivně pustit a samozřejmě mít na něm nastavené vše potřebné (vyjmout aplikaci z optimalizace baterie, povolit data na pozadí, povolit plný přístup k datům, atd.)