Ask HN: Skype, but properly peer-to-peer?
I've just had to talk my 80-year-old father through setting up Skype on his new computer. For some reason he had to create a Microsoft account, and it was encouraging him to store all his documents on some drive in the cloud, and it combined his existing Skype account into the new Microsoft account, and all the while I was thinking "it shouldn't be like this."
It shouldn't be the case that for what could be, should be, a single, stand-alone application such as IP-telephony, there is all this cross-linking, central registration, etc., etc., etc., ...
It's probably a consequence of Microsoft buying out Skype and forcing integration with their own universe. So I ask, is there now an alternative to the centralized, you-will-do-everything-our-way system? I've searched, but had no success.
Suggestions?
79 comments
[ 3.0 ms ] story [ 152 ms ] threadhttps://en.wikipedia.org/wiki/Comparison_of_VoIP_software
See https://news.ycombinator.com/item?id=6977463
Webrtc is here with p2p transmission of the camera + microphone (or files of course). I think it's time for all of us to move to p2p solutions that will come.
Seems like a shot for open goal.
https://www.sharefest.me/
http://www.skype.com/go/getskype-full
no sign in needed.
- It's not real p2p, it needs a server somewhere. OP can install one at home or they can use a public one, but it's required (and if you use a public server, you lose some privacy)
- Mumble only does Audio, no Video.
If you can live with those, mumble is the most straightforward Open Source voip solution to use, and I can't recommend it enough (been using it with my relatives, me on Linux, them on Windows: no problem)
I'd suggest IP Telephones. Most of them are capable of making direct P2P connections without even any VoIP server. They only need an external STUN server to arrange the NAT configuration if you use the IP Phone behind a NAT router (which is almost always the case) There are many free and realiable STUNS servers running on the Internet or you can construct your own.
You just contradicted yourself.
http://tox.im/
It should enable you to connect 2 browsers (e.g. Chrome and Firefox), all you need is to transmit the ID of the chat ("r" parameter from the chat URL you will get) to the peer, or the full URL.
It keeps amazing me that we do not have simple JS solutions for this, when projects like Chatroulette can be built in "2 days 2 nights" according to the author.
(by the way, here is WebRTC support for other browsers: https://code.google.com/p/webrtc4all/)
Same codec set, SDP offer-answer, SRTP(C), ICE and other old cool things nobody cared to implement in real SIP clients for decades.
All these WebRTC guys want me to use their pay-for-use web services.
I found only EasyRTC that sort of worked https://github.com/priologic/easyrtc
Can someone suggest Node.js or PHP (with libevent) implementations of WebRTC server apps?
As a desktop app, there's Jitsi, which works with XMPP and SIP accounts.
Video, doc sharing, chat, multiple people sharing all that or splitting up into groups or pairs - all by clicking around a map.
http://appear.in/fathersfirstlastname
- It's not really possible to go entirely peer-to-peer as many networks do not allow for this communication to happen. You would have constant issues with calls not being able to connect. Some centralised service is required for signaling, STUN and TURN which costs money and uses significant amounts of bandwidth.
- Even if you do go peer-to-peer with WebRTC the quality would still be improved by going through a central server (less upstream bandwidth required) [edit: when more than 2 participants]
If you're interested in helping to tackle these problems, we're hiring ;-)
Why is that?
2. This doesn't help with the amount of bandwidth used, but sometimes due to peering (that VoIP companies really care about) you can get lower delay going via them rather than directly. This is not very common, but it happens (especially if your broadband provider is your VoIP provider for example).
Maybe the poster above had another reason for it too. There's loads of edge cases in the ITSP world.
TURN does, but not STUN. STUN's just for address discovery and many VoIP providers allow anyone to use theirs. But agreed - STUN on its own can fix only some connection.
Anyway, I think IPv6 can't be here soon enough. That would allow many improvements in the p2p networks!
- being generally available soon enough to matter (ever tried accessing your home connection via IPv6 from your mobile? There's no usable workaround that I've found so far and I don't see networks switching to IPv6 anytime soon)
- easy to migrate to (privacy concerns, lots of things to relearn, existing hard- and software WILL break - as my ISP provided cable modem does every three days when my prefix is renewed -> Reboot/reconnect or you're silently offline forever)
The idea is great. I was a fan of the technology in theory. Living with IPv6 at home for ~2 month now I'm considering to cancel my contract _because of issues due to the IPv6 migration_.
That aside, ignoring my anecdotal troubles and my personal disappointment with the way IPv6 is (not..) introduced around me: How would IPv6 help anyway? Just because you're having a globally routable address for all your machines probably doesn't mean that you want them to be directly exposed to the internet? Wouldn't you still need (rather: want) to punch a hole through the firewall?
Also once you know the address that doesn't use NAT, you could just use the STUN idea and just and the data from both ends at the same time.
Regarding ISP problem... have you tried contacting the support to replace the router? If it's their device they should just handle it like any other issue. If they refuse then it may be a problem with the "braindead/broken/cheap/stupid ISP" rather than any technology.
Technology: UPNP might be a way to open ports, but that works for IPv4 as well, no? I mean, the benefits of IPv6 lie elsewhere? A global address (for a time.. my prefix changes whenever my ISP likes to do that. I have the same 'unstable' address problem, still need to update my AAAA records all the time to make incoming connections work), independent of firewall issues?
If I host a game, it can open a port via upnp (and serve people from the internet) with ipv4 as well. Where is the benefit I'm missing, other than being able to see a dancing tortoise on kame?
Did you try installing freetz?
You can't do a thing, basically.
However if you want to avoid integration with the Microsoft universe (which should be opt-out IIRC, though I haven't installed Skype on Windows in ages), you may need to look elsewhere. I was about to suggest Google Hangouts, but that's just inviting integration with another universe :-)
WebRTC-based solutions may be a decent option long term, but I'm not convinced they'll work as well as Skype or Hangout, because its NAT traversal is somewhat limited, so some peers may be unreachable, especially if corporate networks are involved. Skype and most P2P software perform a lot of hacks to get past NATs. Hangout, AFAIK, doesn't have these problems as it is server-based.