Hacker News new | ask | show | jobs
by ReAzem 3005 days ago
Did you try Ring? (https://ring.cx).

Ring is comparable to Tox, but it has much less bugs.

Full disclosure: Ring dev here. I can answer questions.

Keep in mind that some of the platforms you have listed here are not decentralized. When using a fully decentralized system like ring, you must be willing to compromise on some functionality.

1 comments

Never heard of ring, looks very interesting!

Questions:

1. Who is developing Ring? Is there a company behind the software? Who are the people?

2. Is it really truly P2P? Does it require servers or known supernodes? If so, what guarantees that those are up? (E.g.: Skype used to be somewhat P2P until MS changed that, and banned old clients from logging in - is that scenario possible?)

3. What is the UI framework based on? (i.e. is it another Electron app?)

4. Bittorent Bleep looked promising, until it was suddenly no more. How are you going to keep Ring afloat? What's going to ensure it's there in 5, 10 years? (As much as I don't like Skype, everyone I need to (video)chat with has been there for 15 years)

Thank you!

1. Ring is a GNU project (see https://www.gnu.org/manual/blurbs.html#ring).

It is mainly developed by Savoir-faire Linux. A free software consulting company based in Montreal: https://savoirfairelinux.com

2. It is fully decentralized. OpenDHT is the backbone of the network. Calls are made using the sip protocol and are initialized with ICE (https://en.wikipedia.org/wiki/Interactive_Connectivity_Estab...).

Some situations require extra nodes: - If ICE can't open a connection with: ip-to-ip, UPNP, udp hole punching, it will revert to using a TUN/STUN server hosted by Savoir-faire Linux. Note that you can configure your own TURN/STUN server in the Ring settings.

- The first time that Ring connects to the network, it needs a "bootstrap server". A bootstrap server isn't really a super node, it is just a "know active node". Every DHT-supporting bittorrent client supports this. Note that you can point ring to another bootstrap server in the settings.

- Ring uses an optional blockchain (ethereum) based service to register usernames. This isn't part of all ring nodes by default. It has to be installed separately and then you must point your ring client to it. You can chose not to use usernames if you want and call people with their full RingID instead.

3. We have several clients, all of them use native frameworks. - GNU/Linux: GTK - Android: native android libraries - Mac: native mac libraries - Windows UWP: native UWP libraries - Windows win32: native win32 libraries - IOS: native ios libraries

4. Ring (sflphone) was released in 2004. At first, it was a SIP softphone app. It only became decentralized a few years ago. However, the app still supports SIP.

The development has been generously funded by Savoir-faire Linux since 2004 and there is no plan to stop. Savoir-faire Linux has taken every step to ensure that Ring remains free. Joining the GNU project, (2016) was one of these steps: - https://lists.gnu.org/archive/html/info-gnu/2016-11/msg00001...