Ask HN: Skype, but properly peer-to-peer?
109 points| ColinWright | 12 years ago
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?
[+] [-] tommoor|12 years ago|reply
- 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 ;-)
[+] [-] wwwtyro|12 years ago|reply
Why is that?
[+] [-] sixQuarks|12 years ago|reply
[+] [-] viraptor|12 years ago|reply
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!
[+] [-] AndrewDucker|12 years ago|reply
[+] [-] lazyjones|12 years ago|reply
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/)
[+] [-] Muromec|12 years ago|reply
Same codec set, SDP offer-answer, SRTP(C), ICE and other old cool things nobody cared to implement in real SIP clients for decades.
[+] [-] pilgrim689|12 years ago|reply
[+] [-] devilirium|12 years ago|reply
[+] [-] Aaronn|12 years ago|reply
[+] [-] aurora72|12 years ago|reply
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.
[+] [-] userbinator|12 years ago|reply
[+] [-] daveid|12 years ago|reply
As a desktop app, there's Jitsi, which works with XMPP and SIP accounts.
[+] [-] mbrownnyc|12 years ago|reply
[+] [-] sitkack|12 years ago|reply
[+] [-] lnanek2|12 years ago|reply
[+] [-] falcolas|12 years ago|reply
[+] [-] binarymax|12 years ago|reply
https://en.wikipedia.org/wiki/Comparison_of_VoIP_software
[+] [-] adamantium|12 years ago|reply
See https://news.ycombinator.com/item?id=6977463
[+] [-] frik|12 years ago|reply
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?
[+] [-] kbrosnan|12 years ago|reply
[+] [-] malditogeek|12 years ago|reply
[+] [-] vr000m|12 years ago|reply
[+] [-] phaer|12 years ago|reply
[+] [-] throwawaykf03|12 years ago|reply
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.
[+] [-] f_salmon|12 years ago|reply
- 100% distributed / peer-to-peer
- public key encrypted
- open source
http://retroshare.sourceforge.net/
[+] [-] cordite|12 years ago|reply
[+] [-] pant|12 years ago|reply
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.
[+] [-] waps|12 years ago|reply
Seems like a shot for open goal.
[+] [-] stoical|12 years ago|reply
[+] [-] rakoo|12 years ago|reply
- 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)
[+] [-] malditogeek|12 years ago|reply
I've been working myself on an open source alternative http://vmux.co (code: https://github.com/malditogeek/vmux) but it requires a Twitter account to log in which my pose a problem to your dad. (The upcoming version will allow you to use it without an account tho)
To the people that want to host their own "skype alternatives" have in mind that it's not just serving the HTML+JS. WebRTC needs a way to bootstrap the P2P connection, the so called signaling, vmux provides a signaling mechanism using websockets but you'll still need a STUN server (I'm using the Google's one) and optionally a TURN server to relay users behind crazy NATs.
[+] [-] tuned|12 years ago|reply
[+] [-] pbhjpbhj|12 years ago|reply
[+] [-] tomtheengineer|12 years ago|reply
[+] [-] PavlovsCat|12 years ago|reply
[+] [-] donnfelker|12 years ago|reply
[+] [-] ShirsenduK|12 years ago|reply
[+] [-] acd|12 years ago|reply
http://appear.in/fathersfirstlastname
[+] [-] ryanweal|12 years ago|reply
See this video: http://www.youtube.com/watch?v=9MWYw0fltr0 which explains the causes behind reliability problems.
I have thought about running my own server to manage my NATted voip calls and knowing ice/stun/turn will help has now led me to this: http://www.rtcquickstart.org/introduction
I'm thinking I might try to implement this. Voip on my mobile phone would be great, but I've had my hopes dashed before...