Push notifikace a Linphone

Programy, které slouží k volání přes internet z počítače nebo chytrých mobilů.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8160
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Push notifikace a Linphone

Příspěvek od xsouku04 »

jadu píše: stř 13. pro 2023 15:03:48 Tak mi to nedalo a zeptal jsem se. Toto je odpověď:

Hi,
Indeed push notifications sending requires two parts : a client identifier matching a server certificate.
The server certificate is fully private and owned by the service provider, that's why our app on the Store only supports push notifications for our own SIP service/server.

To my knowledge there is no service provider that gives access to the client identified for it's service, meaning we can't support push in our apps for other services as well.

If you'd like you have push notifications in Linphone, the easiest way is to rebuild the app and simply change/add your push identifier in the app matching your server certificates.

Best regards
Díky. Je to fakt tak. Chápu, že nemohou dávat klíče ke svému produktu. Ale nerozumím tomu, co jim brání poskytnout veřejné url, jak to dělá ACR phone. Pravda URL není nikde zveřejněné, ale kdyby ho chtěl nějaký poskytovatel služby, věřím že by jej dal, protože je dal i nám (i když my mu pomáháme to ladit). Hypotetický příklad takového url. https://sendpush.myphonedomain.com/api/v1/SipPushSender/SendPush?type=reg&account=722459@sip.odorik.cz&pnProvider=fcm&pnParam=512355900317&pnPrid=deLSKOTLT7GPN6trLShMgA:APA91bF6zE5TI_907rxY0HbN_E5o0ZDj380IwzYIIk-zoyDG9hOTM9gHwWO99HOBOWVgI-trG9shhTqYVb70-ZXHg6Y7Sri3ZJE2q_tgNH9MsylmR-Iey-IWNRN3DR41oKgpSy8yCqw


Ty parametry toho URL se SIP server dozví právě z hlavičky Contakt u registrace. A mohla by tam přibít i autentizace předplatného, kdy si někdo třeba předplatí milion push notifikací.

Myslím, že podobné řešení by mělo být docela škálovatelné a kdyby ne, tak nějaký drobný roční roční balíček by to mohl spravit. A hlavně to push by mohli používat všichni, co mají vlastní Asterisk, nebo jinou podobnou ústřednu. Protože poslat si vlastní push na vlastním serveru je mnohem snadnější, než cpát do cesty univerzální outbound proxy, který musí fungovat se všemi SIP poskytovateli a být dobře škálovatelná.

On totiž může být problém si dát vlastní kopii Linphone na google store, protože google se moc nezdá že SIPový client se může dívat do kontaktů, mít přístup k mikrofonu a volat. Mohli by to kvůli nějakému nesmyslu vyhodit, schvalují na to výjimky. To už asi může být lepší třeba F-droid, ale asi by se to muselo přejmenovat .... Fakt není o co stát.
plasticassius
Příspěvky: 13
Registrován: sob 10. úno 2024 11:08:57

Re: Push notifikace a Linphone

Příspěvek od plasticassius »

xsouku04 píše: pát 08. pro 2023 20:51:50 Udělat potřebné změny na SIP proxy je pro nás jednoduché, ale provést vlastní build Linphone znamená učit se něco nového. Pokud byste byl někdo ochoten nám s tím pomoci, klidně i za úplatu, ozvěte se.
Rád bych vám pomohl s tímhle jestli ještě máte v tom zájem. Myslím že ten upravený Linphone s push by bila supr nabídka od vás.
jadu
Příspěvky: 153
Registrován: pon 09. úno 2015 13:35:30

Re: Push notifikace a Linphone

Příspěvek od jadu »

Já bych tuto aktivitu velmi uvítal. I bez push funguje Linphone při správném nastavení naprosto skvěle a pokud by ještě bylo funkční push, pak by to bylo naprosto bezkonkurenční.
Naposledy upravil(a) jadu dne úte 02. dub 2024 18:59:03, celkem upraveno 1 x.
plasticassius
Příspěvky: 13
Registrován: sob 10. úno 2024 11:08:57

Re: Push notifikace a Linphone

Příspěvek od plasticassius »

Podařilo se mi sestavit funkční LinPhone s vlastním certifikátem. Co by ještě bilo potřeba k propojení s tím push serverem? Asi je potřeba certifikát registrovaný s Googlem...
jadu
Příspěvky: 153
Registrován: pon 09. úno 2015 13:35:30

Re: Push notifikace a Linphone

Příspěvek od jadu »

Skvělé. Doufejme, že o to bude ze strany Odoriku zájem.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8160
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Push notifikace a Linphone

Příspěvek od xsouku04 »

plasticassius píše: úte 02. dub 2024 18:55:21 Podařilo se mi sestavit funkční LinPhone s vlastním certifikátem. Co by ještě bilo potřeba k propojení s tím push serverem? Asi je potřeba certifikát registrovaný s Googlem...
Tomuhle já právě moc nerozumím. Motají se do toho pojmy jako Firebase Cloud Messaging(FCM), ale nikde jsem nenašel srozumitelné vysvětlení, proč vlastně a k čemu přesně je to dobré. Předpokládám, že někde musí běžet server, který odesílá push notifikace do googlu, aby je předal telefonu. Nerozumím ale třeba tomu, proč do toho všíchni motají javascript. Asi je to nějaká móda. Androiďáci zjevně žijí v trochu jiném světě, takže napsat obecný návod jim dělá potíž.
alfi
Příspěvky: 721
Registrován: čtv 03. led 2013 15:31:10

Re: Push notifikace a Linphone

Příspěvek od alfi »

xsouku04 píše: stř 03. dub 2024 21:39:34 Tomuhle já právě moc nerozumím. Motají se do toho pojmy jako Firebase Cloud Messaging(FCM), ale nikde jsem nenašel srozimtelné vysvětlení proč vlastně a k čemu přesně je to dobré. Předpokládám, že někde musí běžet server, který odesílá push notifikace do googlu, aby je předal telefonu. Nerozumím ale třeba tomu, proč dotoho všíchni motají javascript. Asi je to nějaká móda. Androiďáci zjevně žijí v trochu jiném světě, takže napsat obecný návod jim dělá potíž.
FCM je cesta, jak dostat zprávu do Androidů - aneb na pozadí běží nějaký klient, který spojení nerozpojuje a přes centrální server u Googlu se do něj dá něco posílat. Google k tomu zveřejňuje API, které stačí volat - ale aby nemohl psát kdokoliv komukoliv, je třeba to párovat na konkrétní aplikaci a telefon, tj. aplikace se přihlásí k FCM a dostane unikátní ID. Přes API spárované s aplikací (= stejný vývojář) se potom posílá zpráva pro konkrétní ID (nebo "tématem" a to pak dojde všem). To FCM ID je u Linphone vidět v SIP registraci, už se to tu někde probíralo. Doručená zpráva je primárně viditelná v Android notifikacích, s konkrétním nastavením jde zapnout, že se zpráva pošle až do aplikace, která se přitom nastartuje - ale ani to není úplně spolehlivé a je třeba to v nastavení některých telefonu povolit (to už jsem tady taky někde psal, třeba Nokia G50 na to má speciální menu). Klient k tomu API jde napsat v čemkoliv, Typescript a nodejs jsou dneska hodně populární :-) A ano, nastavení cloudu od Googlu, vč. FCM, ale taky třeba AWS, fakt není intuitivní a pochopitelné pro nováčka za 10 minut :(
plasticassius
Příspěvky: 13
Registrován: sob 10. úno 2024 11:08:57

Re: Push notifikace a Linphone

Příspěvek od plasticassius »

FCM je *jediná* cesta po kterou se dá poslat push notifikace. Podstata bila že se poslala správa přes

Kód: Vybrat vše

POST https://fcm.googleapis.com/fcm/send
Tenhle způsob končí v Červnu a bude se muset používat

Kód: Vybrat vše

POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send
Podstata rozdílu je že se musí autorizovat přes token které ma živnost jen jednu hodinu, a tím pádem se musí často vytvořit nový.https://firebase.google.com/docs/cloud- ... migrate-v1

Kromě komunikaci s FCM přes tihle uri, máji SDK v jažicíh Node.js, Java, Python, Go, a C#. V každým jazyku stačí na to jen pár řádek.

Z Androidem jsem nováček, ale stáhnout LinPhone, LinPhone SDK, Android IDE, SDK, NDK, vytvořit certifikát a sestavit ten LinPhone mi dost šlo. Nejvěčí zmatek v FCM je snad poznat jaké certifikát je potřeba a jak autentifikovat pro ten send.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8160
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Push notifikace a Linphone

Příspěvek od xsouku04 »

Aha, koukám, že to má knihovnu i pro ruby, které používáme na Odoriku. https://github.com/miyataka/fcmpush/ i tu novější verzi.
A když to má knihovnu pro Ruby, tak je zřejmé, že to má knihovnu pro téměř libovolný jazyk.

Tady např. někdo píše jak to udělat s PHP. (také ten novější způsob FCM HTTP v1 API)
https://stackoverflow.com/questions/497 ... i-with-php

Nyní tedy zbývá zjistit, jak je to s těmi klíči a jak to přesně použít. Pokud by Linphone fungoval s push notifikacemi spolehlivě a navíc bychom pro něj mohli udělat profisining. (tedy nastavování pomocí QR kódu) asi by to pak už nemělo chybu. Ale asi to nebude fungovat spolehlivě ze všemi telefony, protože některým telefonům fungují push notifikace se zpožděním.
Provisioning jsem zatím nebyl schopen udělat, protože jsem nebyl schopen z nerootnutého androidu dostat uložené konfigurační soubory. To by ale v případě vlastní kompilace neměl být problém.
alfi
Příspěvky: 721
Registrován: čtv 03. led 2013 15:31:10

Re: Push notifikace a Linphone

Příspěvek od alfi »

xsouku04 píše: čtv 04. dub 2024 12:05:19 Nyní tedy zbývá zjistit jak je to s těmi klíči a jak to přesně použít. Pokud by Linphone fungoval s push notifikacemi spolehlivě a navíc bychom pro něj mohli udělat profisining. (tedy nastavování pomocí QR kódu) asi by to pak už nemělo chybu.
https://console.firebase.google.com, create "project", nastavit API klíče pro server, přidat Android spárovanou aplikaci podle package name, ze stažené aplikace přihlásit notifikace, získat FCM ID a pak už jen posílat :-)
Odpovědět