Slashdot Mirror


SIP vs. Skype, Making the "Open" Choice

techie34290 writes "If you were to make the choice between SIP and Skype for Linux, which one would you go for? Matt Hartley from MadPenguin.org says to opt for SIP. Why? "One tidbit of information that most people are not likely aware of is that when you install the Skype client, it will drain system resources by running as a supernode from time to time. Granted, this is not always the case; however, the very idea of my PC having its resources tied up for someone else's phone call is frankly maddening to me."

23 of 215 comments (clear)

  1. Isn't that the point? by dizzoug · · Score: 5, Insightful

    The sacrifice you make to have a 'free' phone service is your system resources. Without donating your clock cyles, you would have to pay skype to use servers that they would otherwise have to provide. And yes, if your system can handle it, it will act as a supernode from time to time. It is your choice, but very few things are truly free.

    1. Re:Isn't that the point? by Vihai · · Score: 5, Insightful

      No, it isn't. No wonder there is no "SIP" server, managed by a "SIP" company.

      SIP is a technology while Skype is a service, provided by a single company with a proprietary technology.

      The difference is absolute.

      You could provide the same exact service Skype is providing with SIP. Did you ask to yourself why there is no such service? Because it would be much harder to lock your customers in with SIP. SIP is already peer-to-peer for what concerns audio streams.

    2. Re:Isn't that the point? by Fordiman · · Score: 3, Interesting

      Actually, the only reason this is done is that, for two computers without the ability to open up a listening port to Internet, they have trouble contacting one another. So, Skype uses one of its members as a through-way for a call. Calls done in this manner are reduced in quality to reduce the third-party's overhead (since you're essentially leeching off another human to do it).

      It would be very nice to find a way to make a TCP/IP connection without having a listening port. I believe it could be done, still using the third party for setting up the connection, but using a spoof of some nature.

      A possible way is: Caller (C) requests a connection via the Skype Network (SN) to Reciever (R). R is connected to SN, but has no incoming connection capabilities, so SN requests a transitional connection from a third party (T). C and R both call T. R tells T which local port its connection is on. T spoofs C, telling C that its IP address and port are those of T. T also spoofs R, telling it that its IP address is that of C, connecting on R's port(R effectively becomes the server, the router's outgoing port becoming the incoming port). R and C, knowing this will happen, do all the syn/ack stuff manually.

      I'm not well enough versed in TCP/IP to do this (or even say whether it can be done), but perhaps someone is.

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    3. Re:Isn't that the point? by Sylver+Dragon · · Score: 4, Interesting

      I can confirm that this is occuring. I work at a University, and while they do not, technically, ban Skype outright, they might as well. The reason for this is that Skype likes to put computers on our network into supernode mode (considering the bandwidth here, I understand why it happens). The problem is that it starts eating bandwidth like mad, and reduces bandwidth available for other users. So, in order to combat the bandwidth hogging, Skype traffic is throttled at the firewall; it is still allowed to connect and use some bandwidth, but you can forget video conferencing. And before I get any of the "but, but, but...student's rights" type posts: we are a private university, i.e. no public funds; the students have the right to go elsewhere if they don't like it.
      Actually, this is a rather timely article, as I am working on setting up a video conferencing room and need to find good free/cheap options.

      --
      Necessity is the mother of invention.
      Laziness is the father.
    4. Re:Isn't that the point? by phatmonkey · · Score: 3, Informative
    5. Re:Isn't that the point? by Rodness · · Score: 3, Informative

      I've done a lot of research on Skype lately. If you're running as a supernode, it only uses about 6k of bandwidth up and down, it doesn't monopolize your network connection.

      And if you want to make sure you'll never be a supernode, just make sure you're behind a firewall/NAT. The criteria for being a supernode are fast processor, available memory, and fast UNFIREWALLED connection. It's very easy to make sure you're not a supernode by using a firewall. It's really not that big a deal, and certainly not worth being up in arms against.

      If you want to be pissed off about Skype, there's bigger things to worry about. Among those:

      Closed protocol
      RC4 obfuscation layer so that we can't see what's being transmitted
      Binary with anti-debugging techniques so we can't see what it's doing
      And so forth...

  2. Success of Skype by dyefade · · Score: 4, Insightful

    It's getting to the stage now where I know people who say "Skype" when they mean "VoIP/SIP". Admittedly, it's early days in terms of adoption of the technologies, but this is a little worrying. Seems like very few people in the real world have any concept of open standards etc.

  3. the very idea by thrillseeker · · Score: 5, Insightful

    of my PC having its resources tied up for someone else's phone call is frankly maddening to me

    ... but I have no problem with tying up someone else's resources when it's for my convenience ... ?

    1. Re:the very idea by Have+Blue · · Score: 4, Interesting

      He'd prefer that the supernode feature be removed entirely and Skype calls only ever consume the resources of the consenting parties directly involved in it.

  4. Supernodes "maddening?" by cbreaker · · Score: 4, Insightful

    "the very idea of my PC having its resources tied up for someone else's phone call is frankly maddening to me."

    Well, boo hoo. It's the way the system works. I seriously doubt any significant system resources would be used up for other people's calls. When you make your calls, it happens to other people. It's a give-pull situation where everyone has to share resources in order for the system to scale with the number of subscribers. Would you rather have nothing?

    --
    - It's not the Macs I hate. It's Digg users. -
  5. Doesn't play well with others by Rob+T+Firefly · · Score: 3, Insightful
    "One tidbit of information that most people are not likely aware of is that when you install the Skype client, it will drain system resources by running as a supernode from time to time. Granted, this is not always the case; however, the very idea of my PC having its resources tied up for someone else's phone call is frankly maddening to me."
    Erm.. that's kind of the point of decentralized P2P, you leech.
  6. What a bunch of crap... by rthille · · Score: 4, Informative


    Sure, I prefer open solutions, but to say that Skype will drain your system's resources is just crap. A simple consumer firewall between your skype-running PC and the internet will prevent Skype from using your PC as a 'supernode'.

    --
    Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
  7. So, now the shoe is on the other foot? by Hektor_Troy · · Score: 3, Insightful

    So - it's cool if others donate their time (and other resources) to give you something for free (SIP - both the protocol, but also a LOT of the programs for it), but if YOU have to give something of your resources (like bandwidth) for free - well, that's something COMPLETELY different.

    Somehow I don't see how that works.

    Sure, Skype is proprietary - but I've never paid anything for it (except bandwith), and it works just fine for me, so - to me at least - it's free (monetary, not libre). SIP - well, never tried anything that worked just as well as Skype, so it's libre, but it's not free to me (costs me and others resources like their and my time to get it working).

    I don't really see the difference (but I'm not a fanatic proponent of Libre software).

    --
    We do not live in the 21st century. We live in the 20 second century.
    1. Re:So, now the shoe is on the other foot? by Lussarn · · Score: 3, Interesting

      Skype is a black hole. Sure I could open it up in my firewall but why would I? As I understand it skype could easily use a couple of gigs of bandwidth every month with no way to control it or even measure the usage. I could probably set up a couple of QOS rule to tame it down but that would take time, and the only benifit I would get is letting an unknown protocol connect to my home computer through a closed source app.

      I'm also sick and tired of installing all these proprietary apps, each with it's own protocol and from the looks of it every couple of years there is the next big thing you need to install. Not because it's actully better but because someone you need to write/talk to has it. No thanks, we need something open and documented. Then every company could make their own client, brand it, sell it and popup commercials all day long as they wish. And I could use something smaller OSS that suits my needs.

      And I would gladly contribute both bandwidth and cpu usage. But never for skype as it stands now.

  8. Control freak... by Vellmont · · Score: 3, Interesting


    the very idea of my PC having its resources tied up for someone else's phone call is frankly maddening to me

    This strikes me as an attitude of someone who can't stand the idea that he's not in control of everything (which you never are). The real question is, does it use any significant resources that effect what you're trying to do at the time? Frankly I don't really care about 20-50 megabytes of memory, or 5% of my processor usage, or even 100% of my idle processor usage. Those numbers are all low enough that you'd more than likely never notice or miss those resources. I would be concerned if the app started taking up hundreds of megabytes of memory, or 30-40% of my processor time, or locked up system resources that interfere with other apps I'm running. So which is it? The author didn't provide us with any of that information, only the extremist position that ANY useage of his computers resources that wasn't for him was unacceptable. What a useless article.

    --
    AccountKiller
  9. Re:IAX? by ncw · · Score: 3, Interesting

    Yes!

    Sip plays merry hell with firewalls. Don't even think about it unless you've got a VPN back to your sip server! If you have then it works great. The new Nokia E70 phone connects to our office Asterisk server via SIP and works very well ( http://europe.nokia.com/phones/e70 ).

    IAX2 goes through NATed firewalled links just fine. It is much easier to configure if you are on the move (or your users are).

    I wouldn't touch Skype with the proverbial barge pole given its closed nature.

    --
    Every man for himself, all in favour say "I"
  10. What about the advantages of being a supernode? by demallien2 · · Score: 3, Insightful

    Of course, this wonderfully balanced, well-researched and well-written article did overlook one rather important point: The whole supernode concept lets Skype get through nearly ANY router configuration imagineable. I beat my head against a brick wall for three months trying to convince my father's ADSL modem to let through voice comms for a SIP client. No go. The only way to get a VoIP solution through was to install Skype.

  11. Re:FUCK YOU FREELOADER by hahiss · · Score: 4, Funny


    Yeah, totally! That'd be like participating in an online forum as an anonymous coward!

    --
    "Every decent man is ashamed of the government he lives under." - H.L. Mencken
  12. Hmm... SIP of course by guruevi · · Score: 3, Insightful

    Skype is a closed-source resource-eating protocol. SIP is an open, standardized protocol which projects like Asterisk use. I think telephony should be a PPP (Point-to-Point Protocol) and not a Kazaa-like P2P (Peer-to-Peer protocol). First of all: what information passes the supernodes? Can anyone see or analyze who you're calling, when and where? Second: what is the bandwidth usage? I can call SIP through 56k, can I call Skype as SuperNode on 56k?

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  13. Thanks for the differences; there are even more by postbigbang · · Score: 4, Informative

    Thanks for pointing out the obvious thing that people forget. Let me go further and say:

    1) Skype is closed and a single metamodel that's been implemented nicely and virally (not that it matters)

    2) SIP (and ENUM) are perilously prone, not because they're protocols, but how the protocols are implemented, to shenanigans. SIP is natively text, and ENUM is a DNS method that's prone to spoofing and other problems. For now, Skype wins only because few people know how it works at its deepest levels.

    3) Skype isn't as extensible as the SIP/ENUM combination, and it makes one dependent on a single (if diverse and highly peered) network.

    4) SIP and ENUM don't care about the service and are largely service neutral (some coming problems, here, though, as it doesn't do nice things like embue codec choices, encryption/authentication means, and other security niceties).

    5) Skype is one closed vendor, very few business partners, while SIP is a technological infrastructure that invites whomever to do whatever.

    --
    ---- Teach Peace. It's Cheaper Than War.
  14. SIP providers and Skype by tttonyyy · · Score: 3, Insightful

    Well, the problem with SIP and Skype is NAT. The phone/computer doesn't know it's WAN IP to establish connections with other phones, and there aren't necessarily inbound UDP ports open to route UDP traffic to the phone.

    NAT routers temporarily accept inbound UDP packets on a port when there has been an outbound UDP packet on that port (aka UDP pinholes). So you get a working UDP "connection" (well, stateless ;) ) both ways once you've estabilished an outbound connection. For VoIP with both users behind NAT, however, this is unlikely to work.

    Skype gets around this by using computers that aren't behind NAT to route traffic between two phones that are behind NAT. So if everyone was to block this behaviour, Skype just wouldn't work for NAT users. It requires some community spirit (even if this is unintentional on the part of the user).

    SIP systems often employ STUN servers that allow a phone/computer to query the server to find out what its WAN IP and NAT type are (and use the query itself to open up temporary UDP inbound ports on the router - something that works with all NAT types except symmetric).

    There's a description and some pretty pictures of how STUN works here: http://www.newport-networks.com/whitepapers/nat-tr aversal3.html

    In addition, SIP is also an open protocol, so there is nice free open-source software available (Asterix) to allow you to set up your own home switchboard (calls from different outside lines can be routed to different phones - IE, whenever your daughter's boyfriend calls, it can be routed to ring her VoIP phone). Skype is proprietry so you won't get any customisable features like this.

    So really, SIP is the way to go if you're a supporter of open standards, and Skype if you want to follow the headless masses. :)

    --
    biopowered.co.uk - catalytically cracking triglycerides for home automotive use since 2008. Just say no to big oil!
  15. Use Asterisk plus SIP endpoint of your choice! by Chembal · · Score: 3, Informative

    Just so you know, I started with Skype, and it works just dandy. If it drains away my resources, I haven't noticed it. But, I've recently had the pleasure of installing asterisk at home, and it is the way to go! If you install and use Asterisk, you have the widest choice of phones (including soft phones) and VoIP endpoint providers, and you have the flexibility of changing your mind about any one of those choices at any time without disturbing the rest of the system. In my recent conversion, I converted the whole house to use Asterisk without changing any of our phones. My wife doesn't notice the difference - she just calls normally and it works. But, behind the scenes, I can selectively route different calls to different networks - hard wired or VoIP - to take advantage of whatever route I decide is the best. If any one of those routes starts to irritate me, I can change it without affecting the rest of the system. Try that with Skype.

    Now, a common argument you might get against this approach is that it's unneccesarily complicated and requires a dedicated machine. Well, it may be partially true, in that it's more complicated than installing a single SIP or Skype phone or softphone, and the best (IMHO) approach for an install takes a surplus box; however, the TrixBox distribution gets you up and running awfully fast, and can be installed onto a crap machine (I'm using a celeron 500). Follow the How-To here. The flexibility is worth it. And, if you have a decent net connection and VoIP provider, the call quality even for VoIP is outstanding.

    Other advantages are flexibility in call routing. I currently have a digium TDM400P card hooked up in my install, with one module hooked up to the phone line, and the other module hooked up to all my analog phones in the house. (I'll eventually replace some of the analog phones with some nice IP phones when I have the cash.) I could just as easily add SIP softphones connected to Asterisk, if I wanted, but normal phones seem more natural to me, and it's cheap to do with the TDM400P card. I have three inbound and outbound trunks set up, one using the land line, one using VoipJet for long distance over VoIP, and one for calls in from and out to the Free World Dialup SIP network. I have my dial plan set up as follows:

    Any calls coming in from either my old PSTN landline or my Free World Dialup account are routed to my dialplan, which during the day (6AM to 11PM) rings the analog phones. If the caller is blocking caller id, it forces them to enter their phone number first before ringing the phones. At night, (currently defined as 11PM to 6AM) callers are sent to a VRU, which asks them to hang up if they're a phone solicitation, press 1 to actually call us, or 2 to send the call straight to voicemail without waking us up. In either case when it rings the phones, it will go to voicemail if we don't answer. That voicemail can be retrieved either by the phone, by secure web interface, or currently I also have it email me the wav file of the message.

    For outgoing calls, I have it set like this: If you dial a seven digit number, a toll free number, 911, or use a 9 prefix before a long distance call (in case my network connection is down), it dials out through the land line. If you dial a long distance number normally (using just 1 + area code + number, or 011 + country code + international number), it routes it through the IAX2 trunk to VoipJet and saves us tons of money. If you dial a 8 or 393 prefix before the number, it assumes you want to call a FWD number, and routes it out the IAX2 trunk to FWD, which would be a direct SIP to SIP call for free.

    In summary, it works awesome, and I had the whole thing working in a basic way (PSTN + analog phone + VoipJet trunk) in one Saturday morning. I had rerouted the whole house's phone system and revam

    --

    Life is but a mist upon the horizon.

  16. Re:There's lots of bogus anti-Skype FUD by GreyPoopon · · Score: 3, Informative
    Skype doesn't use a lot of bandwidth, so even if you're running in supernode mode it's not going to make a big difference, except maybe if you're on a home DSL with 128kbps upstream bottleneck, and the FUD's targeted at businesses and universities that have much larger connections (i.e. places that make decent supernodes.)
    Uh, if the supernode mode is enough to cause performance problems with a single user over a 128kbps upstream connection, it's likely to cause some noticeable problems at a business with thousands of users running Skype -- even if the connection to the internet that they share is a very large one.
    --

    GreyPoopon
    --
    Why is it I can write insightful comments but can't come up with a clever signature?