Mně audio na G60 jede, teda až na jiné chybky, viz výše, tj. chyba spíš fakt v nastavení než v aplikaci. Těch drobností-podivných chování je ale docela hodně
Spolehlivý SIP klient pro Android s dobrou integrací
Re: Spolehlivý SIP klient pro Android s dobrou integrací
- xsouku04
- Administrátor
- Příspěvky: 8184
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Kromě toho, že stále testujeme TLS/TCP spojení, o žádných dalších záhadách nevím. Bude tam někde nejspíš nějaký předčasný timeout toho TLS spojení, vypadá to že jsme na stopě. V návodu není o podpoře TLS vůbec zmínka.
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Viz drobnosti výše - telefon se opakovaně ptá na povolení SIP účtu (vypadá to, že po opětovném spuštění po zabití aplikace, ale ne vždycky), po přihlášení přes UDP nezvoní příchozí hovory, i když můžu volat. Plus teda to, že po odhlášení na ústředně (cíleně) nedorazí push
Re: Spolehlivý SIP klient pro Android s dobrou integrací
I u GSM, když volám ze SIM. Ale zkusím to skouknout jak píšete.
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Jinak ale jsem moc rád za toto řešení, je to fakticky třetí SIM karta v dvousimkovém přístroji, a na rozdíl od Dellmontu a jiných jsem i na příjmu. Obě SIMky jsou toriž zahraniční, UA, a na ty mi naši volat nebudou.
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Ne , tak ticho po zapnutí je pouze u VoIP, GSM tam zvuk jde, právě jsem to zkoušel s jednou ze svých UA SIM, tam šlo všechno.
- xsouku04
- Administrátor
- Příspěvky: 8184
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Takže ta změna zvukového zařízení to úplně vyřešila?
- xsouku04
- Administrátor
- Příspěvky: 8184
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Přiíhozí hovory nezvoní, když nejsou povoleny Volací účty. Právě proto to nejspíše otravuje. Také jsem se na to jednou nachytal a myslel, že je chyba v aplikaci. Volací účet je něco jiného než SIP účet. Při každé změně SIP účtu se znovu musí povolit Volací účet. Jde o to, že volací účty jsou nějaké nastavení Androidu, které nemůže ta aplikace udělat za uživatele a při každé změně se to znovu vypne.alfi píše: ↑úte 08. srp 2023 23:03:43Viz drobnosti výše - telefon se opakovaně ptá na povolení SIP účtu (vypadá to, že po opětovném spuštění po zabití aplikace, ale ne vždycky), po přihlášení přes UDP nezvoní příchozí hovory, i když můžu volat. Plus teda to, že po odhlášení na ústředně (cíleně) nedorazí push
Pokud telefon není vidět jako přihlášený na ústředně u svojí linky, logicky se nedá dovolat. Vždy je tam ale vidět jeden telefon jedenkrát bez ohledu na to, jak často mění ip adresu a port. To si proxy již pohlídá.
Co se týče spolehlivost TLS, přišli jsme na to, že nám timeoutuje TCP spojení mezi outbound proxy a sip.odorik.cz po deseti minutách nečinnosti. Opravili jsme to pomocí keep alive. Spadnutím TCP spojení to automaticky totiž odregistrovalo všechny uživatele, co použili ono spojení pro registraci (tedy všechny uživatele TLS). A stalo se to, jen když tam 10 minut nebyl žádný pohyb jako registrace žádného z uživatelů, tedy typicky vždy přes noc a občas (nepravidelně) i přes den. Telefon si ale po tu dobu myslel, že vše je OK, protože on spojení měl.
Telefony to také odregistruje, když outbound proxy restartujeme kvůli našim pokusům. Rozpadne se TCP spojení a tím se registrace zruší. To ale nebývá problém, protože o rozpadlém TCP spojení se aplikace dozví (pokud zrovna nespí - nevím jak je to z probouzením) a během pár vteřin se zaregistruje znovu. Normálně to ale restartovat vůbec nebudeme.
UDP se ale nic z toho netýká. UDP je celkově lepší a spolehlivější, jen neumožňuje šifrování hovorů.
Také jsme dnes testovali, jak se to chová v případě, že telefon změní IP adresu během hovoru. Např. jste na wifi a odejdete pryč z domu během hovoru, takže se začnou používat mobilní data. Nebo obráceně. Hovor normálně pokračuje dále a telefon pošle reinvite, takže i signalizace je v pořádku. Funguje to, jako by k žádné změně internetu nedošlo. Wifi je možné zapnout/vypnout během hovoru. To jsme byli mile překvapení. Testovali jsme jak UDP tak TLS a oboje funguje dobře při změně ip adresy během hovoru.
Update: Tak to TLS spojení pořád padá po náhodné době, keep alive nepomůže. Budeme to dál zkoumat.
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Dík za odezvu. Já myslím, že jsem to sepsal srozumitelně, ale zkusím to ještě jednouxsouku04 píše: ↑stř 09. srp 2023 15:53:49 Přiíhozí hovory nezvoní, když nejsou povoleny Volací účty. Právě proto to nejspíše otravuje. Také jsem se na to jednou nachytal a myslel, že je chyba v aplikaci. Volací účet je něco jiného než SIP účet. Při každé změně SIP účtu se znovu musí povolit Volací účet. Jde o to, že volací účty jsou nějaké nastavení Androidu, které nemůže ta aplikace udělat za uživatele a při každé změně se to znovu vypne.
Ano, zaškrtávátka volacích účtů se objevujou dvě. Čas od času, se objeví notifikace, že ten účet mám povolit. Pořád dokola, někdy už povolený je, jindy ne. Tj. problém je, že to povolení chce opakovaně i bez změny nastavení (a netuším, proč. Před chvílí znovu, zase po zabití ACR)
Telefon je přes UDP přihlášený od 2023-08-09 21:22:05, 21:23:14 udělal odchozí hovor 536909801. Volání zpátky 21:24:12 536909824 končí hláškou "volaný účastník není dostupný". V debug logu ACR je u druhého hovoru nějaká komunikace, přesto hovor odmítne. Když se přihlásím přes TLS, tak příchozí hovory fungujou (536910182)
Udržet naživu TCP/TLS spojení je možná fajn, stejně to nikdy nebude 100% 24x7x365. Jako důležitější ale vidím, aby se ACR umělo vyrovnat s tím, že spojení upadne. Vč. toho, že upadne celé ACR - teď se telefon dostal pod 20% baterky a ACR sestřelil, i když má v nastavení povoleno neomezené využití baterie na pozadí. Aneb (libovolná Android) aplikace může být kdykoliv systémem sestřelena. A i potom by měly fungovat push zprávy na obnovu spojení pro příchozí hovor, pokud to má být "spolehlivé". Jednoduchý test je přihlásit, v seznamu aplikací zabít a zkusit příchozí hovor. To by mělo fungovat takyxsouku04 píše: ↑stř 09. srp 2023 15:53:49 Také jsme dnes testovali, jak se to chová v případě, že telefon změní IP adresu během hovoru. Např. jste na wifi a odejdete pryč z domu během hovoru, takže se začnou používat mobilní data. Nebo obráceně. Hovor normálně pokračuje dále a telefon pošle reinvite, takže i signalizace je v pořádku. Funguje to jako by k žádné změně internetu nedošlo. Wifi je možné zapnout/vypnout během hovoru. To jsme byli mile překvapení. Testovali jsme jak UDP tak TLS a oboje funguje dobře při změně ip adresy během hovoru.
Update: Tak to TLS spojení pořád padá po náhodné době, keep alive nepomůže. Budeme to dál zkoumat.
- xsouku04
- Administrátor
- Příspěvky: 8184
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Spolehlivý SIP klient pro Android s dobrou integrací
Mě ani kolegovi to nedělá. Když to otravuje vícekrát, zkusil bych SIP deaktiovat a pak aktivovat znovu. Doporučil bych ACR nezabíjet. Viz též níže. Musí jít přece nastavit životně důležité aplikace, co by se neměly zabíjet. Jinak by taky android mohl spáchat sebevraždu.alfi píše: ↑stř 09. srp 2023 21:45:54 Dík za odezvu. Já myslím, že jsem to sepsal srozumitelně, ale zkusím to ještě jednou
Ano, zaškrtávátka volacích účtů se objevujou dvě. Čas od času, se objeví notifikace, že ten účet mám povolit. Pořád dokola, někdy už povolený je, jindy ne. Tj. problém je, že to povolení chce opakovaně i bez změny nastavení (a netuším, proč. Před chvílí znovu, zase po zabití ACR)
Je to tím, že máte u linky v nastavení na Odorik.cz vynucení SRTP. Když tedy není možné šifrovat zvuk, hovor selže. Šifrovat zvuk bez TLS nemá smysl, protože klíče pro zvuk jsou každému čitelné.alfi píše: ↑stř 09. srp 2023 21:45:54 Telefon je přes UDP přihlášený od 2023-08-09 21:22:05, 21:23:14 udělal odchozí hovor 536909801. Volání zpátky 21:24:12 536909824 končí hláškou "volaný účastník není dostupný". V debug logu ACR je u druhého hovoru nějaká komunikace, přesto hovor odmítne. Když se přihlásím přes TLS, tak příchozí hovory fungujou (536910182)
Problém není mezi android aplikací a serverem, ale mezi dvěma servery a to z toho důvodu, že to chceme udělat naprosto univerzálně, aby to fungovalo se všemi operátory a nejen s Odorik.cz. Mezi aplikací a serverem to funguje překvapivě dobře. Mezi dvěma servery může být TCP spojení otevřené klidně rok a tento fakt problém nezpůsobuje.alfi píše: ↑stř 09. srp 2023 21:45:54 Udržet naživu TCP/TLS spojení je možná fajn, stejně to nikdy nebude 100% 24x7x365. Jako důležitější ale vidím, aby se ACR umělo vyrovnat s tím, že spojení upadne. Vč. toho, že upadne celé ACR - teď se telefon dostal pod 20% baterky a ACR sestřelil, i když má v nastavení povoleno neomezené využití baterie na pozadí. Aneb (libovolná Android) aplikace může být kdykoliv systémem sestřelena. A i potom by měly fungovat push zprávy na obnovu spojení pro příchozí hovor, pokud to má být "spolehlivé". Jednoduchý test je přihlásit, v seznamu aplikací zabít a zkusit příchozí hovor. To by mělo fungovat taky
Když aplikaci vypnu (zavřu její okno), tak stále zvoní. Když ji ale zabiji (kliknu na vynutit ukončení), tak pak na mém telefonu nezvoní. To jsem nyní zkoušel. Zvoní běžné mobilní hovory, ale VoIP ne. Hledal jsem a našel, že je to prý normální, ale je možné, že o tom jestli bude aplikaci znovu spouštět nebo ne může rozhodnout konkrétní android. https://stackoverflow.com/questions/473 ... -is-killed Tedy lze doporučit nastavení, aby se aplikace sama spustila, a zakázat automatické zabíjení aplikace. Ta aplikace nic nedělá, jen čeká na push.