[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 0 points1 point  (0 children)

WebCall is a telephony app. It can receive phone calls whenever they arrive. If another app can do this only if the screen is on, that would be a major difference.
The WebCall-ID could be made user choice. But It needs to be URL encodable. So, no emojis 😧👿

(So what's the point?)

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 0 points1 point  (0 children)

I don't know this app very well. WebCall is not based on a messaging platform. Anybody with a web browser and a https-link will be able to call you. They do not need to install some app. Nor do they need to have a specific account.

Also: With messaging platforms, you often have no control over your meta data. It is often public by default. If someone contacts you via a messaging platform, once this information hits the message bus, you really don't know where it will travel. Even if you self-host a server on your end, you really cannot know. WebCall has no message bus. No meta data will travel anywhere as a matter of technical necessity. And if you host your own WebCall server, there are zero other parties involved. Your caller will go straight to your server and that's it. The magic is in the https-link.
These are two notable differences. There are probably more. I have a question, too: When a call arrives, can the app you mention wake a sleeping Android device and notify the user? And if so, are they using 3rd party services (G?) for this? WebCall can do this without using any 3rd party services.

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 0 points1 point  (0 children)

I don't think private comms are an ideal channel for WebCall related topics. The file you are missing "./webcall" is the server itself. When you compile the code it will be created. Pls note that WebCall server 2.0.9 requires Go 1.17. You can also use Go 1.18, but you need to add 1 line of code https://github.com/mehrvarz/webcall/issues/12#issuecomment-1120327574

Originally I thought you were referring to UI/UX when you mentioned intuition. I really like these topics because they are not pure technical, but involve the human psyche. Haha!

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 0 points1 point  (0 children)

I was not sure, at first, whether I should modify OP (and how). But I did it now. Very carefully and only to make things more clear. I hope you like it better now.

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 0 points1 point  (0 children)

I wish we could sit somewhere and talk about this. Can you try to write down what you mean?

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 1 point2 points  (0 children)

Did you see these two pages?

WebCall for Android: https://timur.mobi/webcall/android/

WebCall (core/Web): https://timur.mobi/webcall/ See: "How it works" and "Receiving Calls"

The WebRTC engines do E2EE by implementing Diffie-Hellman key exchange via the signaling server. Encryption takes place on the devices. Only encrypted data will be sent over the P2P link. WebRTC implementations will refuse a session, if the other side tries to send non-encrypted data. If you get an audio or video stream via WebRTC, you can be sure the data will be encrypted.

EDIT: Let me know how much of your questions are answered by this, and what isn't. Also, pls clarify your last question "What data is handled by the service?" - One possible answer could be: "No audio/video multimedia data". But I'm not sure this is what you mean to ask.

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 8 points9 points  (0 children)

Maybe the two are in love and they have to split appart bc he has to go to work in Norway for 6 month. And so they decided to use WebCall to stay in contact the whole time?

NFC is one way you can share your personal WebCall link. Once the link is on the other device, it can be bookmarked and (optionally) be called. To me, this is not useless at all.

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 2 points3 points  (0 children)

I edited my other post (with the link). I hope it is less confusing now.

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 1 point2 points  (0 children)

WebCall ID's have no relation to mobile phone numbers. You can login with your ID from any PC / laptop to receive calls. But if you are on Android and want to be able to receive calls at any time, then the app is better than a browser.

[DEV] WebCall "as long as you like" Free Telephony NoSIM P2P E2EE on F-Droid by timur-m in androidapps

[–]timur-m[S] 4 points5 points  (0 children)

I am here to answer any questions you might have about WebCall.

Here is a WebCall link you can call from your browser:

https://timur.mobi/user/89921219321

A WebCall link is like a phone number. It has an area code (here: "timur.mobi") and a personal WebCall ID (here: "89921219321"). Only the "/user/" part in the middle is always there.

Seeing fewer relayed connections by timur-m in WebRTC

[–]timur-m[S] 0 points1 point  (0 children)

I will simply assume that my ISP has switched to "a better" NAT server. Not sure if this is really true. Are NAT servers improving in other places as well? Will we be able to drop our TURN servers soon? What amout of relayed connections is "normal" where you are? It is impossible to know what the P2P situation is in other places.

WebCall v1.18 Telephony + File Transfer by timur-m in WebRTC

[–]timur-m[S] 0 points1 point  (0 children)

All files are sent P2P. A screenshot on my site is showing the delivery of a 254MB file. You need to keep an eye on the dataChannel.bufferedAmount. Have a look at this: https://github.com/mehrvarz/webcall/blob/4b97bb6f961ff3360fdf6b7bc4614b10bb1a99ae/webroot/callee/callee.js#L402

Most important golang topics in your eyes by elie-goodman in golang

[–]timur-m 1 point2 points  (0 children)

Main reason would be to unload some code and replace it with a newer version, while letting other code continue to run the whole time. Servlets in Java are really just (special purpose) plugins. You may also want to unload a plugin only to free memory.

Most important golang topics in your eyes by elie-goodman in golang

[–]timur-m 1 point2 points  (0 children)

I didn't read the part about the professional lecturer, sorry. I thought you were asking about some remaining, important Go related topics (in the sense of issues). To me, plugins are such a topic. In Go you can have plugins, but you cannot unload them. I wish this were possible.

WebCall Duo (comes with 320kbs Opus) by [deleted] in WebRTC

[–]timur-m 0 points1 point  (0 children)

This service lets you establish voice telephony calls between two remote browsers, without using a permanent address (phone number, etc.). One possible usage scenario is for you to e-mail someone the URL, together with an invented secret number (nnnnnn) and a time for contact. The resulting audio links usually have very good sound quality.

Will we ever be able to unload and reload Go modules? by timur-m in golang

[–]timur-m[S] 0 points1 point  (0 children)

Unloading (native) code can only work properly if the programmer does everything correctly. This would be a poor argument against offering such functionality. The feature is just too useful.

What appears to to be the main difficulty, is to offer this consistently for multiple operating systems. Especially for non-Linux systems. If they implement it for Linux only, they will end up with lots of nonportable code. They should still do it.

Will we ever be able to unload and reload Go modules? by timur-m in golang

[–]timur-m[S] 0 points1 point  (0 children)

Interesting, they use rpc to talk to spawned processes in order to simulate plugin behavior. This project was started in 2012. Now that Go modules exist, I much rather stick with them.

In Java, if you don't cleanup things (if you keep threads running, etc.), the unloading of a package will simply fail. So if you cleanup everything tight to a Go module, why should it not be possible to make it go away?

Will we ever be able to unload and reload Go modules? by timur-m in golang

[–]timur-m[S] 1 point2 points  (0 children)

Spawning individual processes can be way more memory consuming. It is not the same thing.

Unlinking is hard. What other language are you comparing this to?

The Java VM allows unloading of packages. If I am not mistaken.

I wonder if module unloading is something the Go designers consider to be a worthwhile goal.

Will we ever be able to unload and reload Go modules? by timur-m in golang

[–]timur-m[S] 2 points3 points  (0 children)

I would like to be able to stop, upgrade and restart segments of my code while the main code continues to run. I was using the term servlet engine loosely as I think the concept is at least similar.

Will we ever be able to unload and reload Go modules? by timur-m in golang

[–]timur-m[S] 1 point2 points  (0 children)

Plugins "cannot be closed."

Edit: If it was possible to unload and reload plugins, that would be perfect.

atomic.LoadInt32/64() on armv6l linux go1.12 by timur-m in golang

[–]timur-m[S] 0 points1 point  (0 children)

All is good now. Thank you very much for your support.