Stránka 2 z 3

Re: Push notifikace a Linphone

Napsal: stř 13. pro 2023 15:58:08
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.

Re: Push notifikace a Linphone

Napsal: pon 01. dub 2024 16:05:13
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.

Re: Push notifikace a Linphone

Napsal: pon 01. dub 2024 18:43:28
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í.

Re: Push notifikace a Linphone

Napsal: úte 02. dub 2024 18:55:21
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...

Re: Push notifikace a Linphone

Napsal: stř 03. dub 2024 9:26:02
od jadu
Skvělé. Doufejme, že o to bude ze strany Odoriku zájem.

Re: Push notifikace a Linphone

Napsal: stř 03. dub 2024 21:39:34
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íž.

Re: Push notifikace a Linphone

Napsal: stř 03. dub 2024 22:03:17
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 :(

Re: Push notifikace a Linphone

Napsal: čtv 04. dub 2024 11:27:30
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.

Re: Push notifikace a Linphone

Napsal: čtv 04. dub 2024 12:05:19
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.

Re: Push notifikace a Linphone

Napsal: čtv 04. dub 2024 12:43:09
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 :-)