Hacker News new | past | comments | ask | show | jobs | submit | wetsocket's comments login

Teamspeak is another option, along the lines Mumble. There are others. It's a diferent concept from Skype. ONe person has to run a server. They choose who they want to be on the P2P network. Teamspeak is closed source.

Free SIP services are another option, but not easy enough for the novice who is in a hurry and just want things to work. Most people seem to use SIP servers operated by companies, not running the servers themselves. Some ISP's are selling pre-packed VOIP service (and some are deep inspecting every packet, lol).

Skype has the market now. It is ubiquitous. It's easy to use and works reasonably well.

But to think Skype will become the world's new default global communications channel, with MS in control, is just silly.

Skype is just a hint of what's possible, given today's bandwidth and a network that no one player controls.


MSN relies on central servers to broker connections, just like this does. It is not going to solve the problem you describe.

True P2P, via an overlay, where you and the other person(s) have a direct connection, is fast and reliable "enough" (otherwise Skype would not have been successful), but not perfect. Nor is store-and-forward (e.g. text mesaging) perfect either. But it is "good enough" for people to use it.

If I were really concerned about "lost messages", I'd prefer a direct connection as opposed to one that goes through a third party. It just makes more sense.


Setting up the connections is not the "magic". That is not a hard problem. It's been solved years ago.

First, P2P networks to not have to be enormous. Drop your assumptions.

They can be small, and separated. (Think VLAN.) A P2P network can be set up so that any peer can volunteer to be a supernode. (Skype doesn't let you choose.) There must be at least one supernode to get a connection started but it does not have to be a company. It can be you, so long as you have a reachable IP.

And the supernode does not have to forward traffic. She can just function to set up the connections. And she can do so agnostic to the traffic. She only keeps a table mapping MAC's and private, arbitrary IP's. The supernode can disappear after the connection established; it won't break established connections. If two nodes are behind the sane NAT, then the supernode can forward to traffic to get around this impediment. Setting up connections is not the "magic". There's no need for MS to be a (or should we say, "the") supernode.

The "magic" in Skype is the way they handle the compression, encoding and decoding.

That is where one needs to focus.

Setting up P2P connections (for small, segregated P2P networks), reliably, and without snooping, is relatively easy. You or someone else in your contacts needs pulicly reachable IP. All the code you need to connect, which is not much- quite boring for the complexity lovers, has already been written.


I think you might have missed my point. The P2P portion isn't the amazing part for me, it's that Skype call quality is so good without any of the traditional network engineering requirements I'm used to.

I work out of Florida, but most of my partners are in Ohio. Our phones in the Ohio office are delivered by a SIP carrier. The SIP carrier provides a router that establishes separate VLANs (on the local network) for the phones and computers. The phone traffic is prioritized so it goes out over the WAN link first. Granted, once it hits the internet all bets are off, but at least the voice packets are hitting the wire first. That should make our telephones the best performing VoIP option in the Ohio office.

That's not reality though. Everyone in the Ohio office prefers Skype because the call quality is better and the connection is more consistent/resilient.

I can read a SIP trace, and I understand a little bit about CODEC design. I can somewhat reliably identify the difference between a G.711 call and a G.729 call just by listening. In other words, I'm not a complete layman, but I'm not a voice engineer. What amazes me about Skype is that their voice stack performs so well without any special considerations at the network layer.

In an ideal world, a voice engineer wants not only a separate VLAN for voice traffic on the LAN, but prioritization all the way to the PSTN termination point. This usually means you need to get your transport link from the same carrier who provides your voice service. For example, if you buy SIP service from Level 3, Level 3 can also sell you a transport link, on which they can prioritize your voice traffic all the way back to the place where they connect to the PSTN. This assures the best possible transport quality.

Skype has none of this, but still manages to deliver great call quality. That is amazing to me, and it's a game changer. It decouples your voice and data provider.

The key reason to move away from P2P isn't technical, but business related. Enterprise decision makers demand more control over their network. By controlling the super-nodes, Microsoft opens the door for a whole different kind of customer:

Integrate Skype in to Exchange

With Skype integrated in to Exchange, desktop devices (Skype phones) could be segregated on to their own VLAN. The Exchange/Skype service (running on a server) can be bound to a network interface on this separate VLAN. This satisfies common enterprise network design requirements where voice is prioritized on the LAN. This would also provide an internal endpoint for Skype clients to connect to and pass through a set of business rules and/or integrate with internal applications. This is a typical use case for Exchange. Exchange would also handle call routing. Think of Exchange as the PBX, keeping intra-office calls on the LAN, and routing outside calls over a configured link.

Moving Skype Super-Nodes to Dedicated Infrastructure

The best reason to integrate Skype with Exchange is to replace the traditional SIP carrier. When a user picks up a Skype phone on their desk and dials by directory, the call hits Exchange. Exchange can examine the call and make some interesting decisions:

Directory lookup matches a local Skype username: call is routed entirely over the LAN.

Directory lookup matches a Skype user, but user is not local: call is routed over the outbound interface and through the traditional Skype infrastructure (now run by MS instead of P2P).

Directory lookup only contains a traditional telephone number: call is routed over the outbound interface and through the traditional Skype infrastructure (now run by MS instead of P2P), which terminates to the PSTN.

With Microsoft running the super-node, they have better control over the performance of the Skype back end.

The benefit of the ability to bypass the PSTN can't be understated. Many carriers offer what is called "free on-net calling". If your call is placed to another user on the same carrier, it is free, regardless of their geographical location. Skype could do the same. If you're calling another Skype user, the call is free. If you need to punch out to the PSTN, you get normal Skype rates.

The chances of an enterprise buyer considering this type of service over P2P is remote at best. There might not be any technical reason P2P couldn't satisfy the requirement, but it's bad joo-joo from a purchaser's perspective. They want assurances, and MS owned/run super-nodes make a lot of sense.


MS using Linux to run their business. That says it all.

A company with more money than it knows what to do with, acting desperately to save itself from obsolescence.

Skype was flawed from the outset, being non-transparent (about how the network is set up, turning machines into supernodes withtout permission, and the encryption they use). It's all closed. Why? You can't verify it's well-designed. Now it's worse. Do I want MS routing my calls? Scanning every file transfer? Being able to peek at any video?

No thanks. That's not their role.

There are other true decentralised P2P Video/oiceOIP solutions. People now know that free calls, even video calls, through the internet are feasible, even without having technical knowledge.

Right now, use Skype. But it will not hold the market when more robust, flexible, decentralised, transparent services are ready for non-technical users.

Because they will be free. And Skype will not be free: the price you will pay, to a software company[1], is your privacy, at the least, and probably more.

1. No software company has a need to know such things. They are not the government, they are not law enforcement, and they are not defenders of national security. They are a software company. Who are they accountable to? It's just not a smart idea to let MS take this role. The potential for abuse is too great.


I remember when open source P2P VoIP was "being polished" in 2002. I guess if we're lucky we'll get WebRTC, but being from Google it may not satisfy the wannabe cypherpunks.


If we had 1 good application programmer for every 100 cryptoweenies, the world would be a better place.

Write code or shut the fuck up.


Code is written. Command line only. So not ready for you yet.

There are good application programmers (who are also competent cryptographers). But it seems, based on mailing list and forum comments, all the incompetent ones hold them in spite. One can only guess why.


Command line is good enough for me; Where can I find it?


If Skype is flawed, then to a certain degree so is Facebook, SMS messaging, Facetime, and the rest. Being able to sell your company for billions two times, keeping ownership of the underlying technical IP and suing the first buyer seems like a pretty shrewd business model to me.

Of course I wish everyone was using end-to-end encrypted audio, text, and video communication with onion routing in the middle. But we aren't there yet. Arguably because everyone with A-list business, marketing, and technical acumen would rather be a billionaire.


Nothing wrong with what Skype did. He made his money. Good for him. The point is that Skype is not magic. It's something that can be replicated, with simplicity and transparency.

I agree, the greed factor is great. And one would imagine some of those with the skill to make a "Skype" might think "Why should I do this for free?" Then you also have the perfectionists, with the skills, who won't attempt to build something that cannot be "perfect". They love to say "It won't work."

Skype is not perfect. And it's very non-transparent. But people are using it.

Should the next Skype be free and open? Is it worth building? I think the answers will become evident going forward. I think communication over the internet is too important to be solely controlled by [insert unflattering description here].

But we shall see.


  >Skype was flawed from the outset, being non-transparent (about how the network is set up, turning machines into supernodes withtout permission, and the encryption they use). It's all closed. Why? You can't verify it's well-designed.
Perhaps relevant for a FOSS zealot (and I really don't mean that in a derogatory way here, there's a time and a place), but the average user doesn't care about the infrastructure - they want it to work and work well. And Skype pretty much always has, at least in my experience.


I'm definitely not a FOSS zealot. However I might be a zealot for simplicity, lucidity, keeping code small, unclever and boring, making compilation quick and easy, not tolerating many of the annoyances so many folks routinely accept. I do not like "black boxes". Even if they work.

re: Skype I simply see no reason that something so essential, and so simple, as a P2P application (note the P2P application does not have to be tied to the VOIP application, or whatever applications you want to run over the P2P connection) needs to be a proprietary product.

It does need to work and work well. The P2P element does that. It will consistently work. It's the audio/video element that is difficult to get right across all connections in all environments.

Perhaps that's why you read some people saying Skype works great for them and other saying it doesn't work so great. Consider that in every case, the connection gets set up just fine. People can connect very easily. P2P is the easy part. It's the audio/video quality that varies. Because everyone's bandwidth situation is different.

Unfortunately there's a lot of chatter about NAT, IPv6, crytography, and other non-issues, which distracts people from focusing the real issue: codecs; making the audio/video element work smoothly over a variety of bandwidth scenarios. That's what everyone wants: clear sound and video.

If you do not fear the command line and want to see a proof of concept of how easy P2P is to set up, leave some way for me to contact you.


Okay! I appreciate the offer!

I just put Twitter on my profile - toss me a DM on there whenever you get a chance.


> Right now, use Skype. But it will not hold the market when more robust, flexible, decentralised, transparent services are ready for non-technical users.

You forgot "easy to use", "fun" and "attractive". Normal people don't care about those things you said.


Normal people care about price. As in free calls.

All three criteria you mention are very easy to meet. Skype's GUI was thrown together quickly in Delphi. Yet it's good enough for most users. The bar is set very low.

Features could be added to a next generation "open Skype" (e.g. streaming music or video to several of your friends, simultaneously) that would make it even more fun and attractive, but the RIAA and MPAA would be up in arms within 24 hrs of release.

HN is a place where we routinely discuss things that "normal people" don't care about. That doesn't mean those things are not important. Someone has to deal with the details that enable you to make your easy, fun and free calls, though you might not care such details.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: