Slashdot Mirror


Free Software Voice Over IP Solutions?

Shisha asks: "I'm looking for some Voice over IP solution for Unix (Linux, and Solaris in particular). I want to call friends in Prague from the UK. Is there any way how to make the phone call go over the net?" I know there are programs like CCFAudio, Ethernet Phone, FreeWebFone and Speak Freely, however I haven't used any of these programs so I can't say to how well they perform. Have any readers out there tried any of these or have other VoIP solutions that they use that deserve mention?

25 of 79 comments (clear)

  1. Is there such a thing as GnuPhonella? by Anonymous Coward · · Score: 4
    Not the nasty mayonnaise stuff, what I'm visualizing is a distributed club of VOIP users who serve as volunteer gateways *INTO* their local phone system. I.e.,

    Caller gets on computer,

    which is (or gets on) internet via local 'phone/DSL/cable/intranet-gateway/etc.,

    caller starts GnuPhonella, enters international phone number

    GnuPhonella locates a DestinationCityLocalArea GnuPhonella node that isn't busy, and negotiates service,

    Destination node dials *OUT* into DestinationCityLocalArea,

    where someone asnwers by *ORDINARY* phone, and

    conversation ensues. (FAX could be done similarly).

    Does this exist (I mean for cheap h/w with GPL s/w)? Note that it requires simultaneous internet connection and POTS voice dialout at the destination, to get to an ordinary phone in that area, but with non-phone internet connections becoming common (especially in businesses) that should be less and less of an obstacle.

    What cards can dial voice connections for your computer? Any voice modem? Or is there more to it? Special wire to audio card from modem like CD wire? Can you have both?

    GnuPhonella nodes could be identified first by their international phone prefix paths, so knowing the number you want to dial could do an automatic search for the a node at that area.

    BTW, what would be the legal difference between a group doing this as (a) internal between branches of a business, (b) internal to a human family, (c) a private club, (d) an informal group of friends, or (e) an anonymous public association?

    1. Re:Is there such a thing as GnuPhonella? by don.g · · Score: 2

      You mean an audio version of tpc.int? It does what you want, for faxes. (with an e-mail interface, too!)

      --
      Pretend that something especially witty is here. Thanks.
  2. Legislation passed (HR 1291) bad for IP Telephony by Lonesmurf · · Score: 3

    Recent legislation (May 16, 2000) has recently been passed and is now actually on the books. This new law is an amendment to the United States Code and it may lead to taxation of IP telephony.

    Here is the bill with the amendment.

    The bill is supposed to not allow the taxation of internet services, but at the last minute due to pressure from the TelCo companies, a new paragraph was added to the end making IP Telephony taxable.

    What do you guys think?

    For more information:
    Internet Rally against HR1291
    A Wired.com article about this legislation.
    A ZDNet article.

    Rami James
    Pixel Pusher
    --

  3. what i did.. by dermond · · Score: 4
    there is a lot going on in the linux telephony world. a good source for information is linuxtelephony.org.

    i was implementing a VoIP solution for a company a few weeks ago where linux based kiosk terminals where euquiped with phones that should be able to make VoIP calls to a central callcenter including video. i looked at the existing software. H323 seems to be the way of the futurere and there are already H323 based solutions on the way. openh323.org. even thought they where not stable enought for my needs yet. but at least the demo appication (voxialla) was able to interoperate with the M$ netmeeting shit. video transmition with H263 codec (for low bandwith) is also on the way. for my solution i decided to use quicknet telephony cards (it greatly enhances the telphony experience if you have a real phone connected to your computer which can also ring and is independent of the sound card). those have a DSP on board which does voice compression accourding to the most important standads. it has a GPL'ed kernel driver. (the only downside is the DSP code itself is not open but that is not that much of a problem).

    i decided to just adopt the demo code that came with the quicknet cards for my appolication since it was more stable then the H323 things. (it is easy since the compression is already done on the card). for the video thing i used a parallel netscape server push with 1 picture every 3 or 4 sekunds 160x120 (about 2k Byte) in size). greetings mond.

  4. Gnome-o-Phone by Ed+Avis · · Score: 3

    What about Gnome-o-Phone? Also, a Freshmeat search might be helpful...

    --
    -- Ed Avis ed@membled.com
  5. Local calls, packet queuing, linmodems by Cato · · Score: 2

    Nice idea, as long as local calls are free of charge - currently true in most of US, but certainly not in Europe (though some countries may have extra-cost packages for unmetered local calls).

    I'd like to see such gateways for deaf people, calling out or in at 300 baud to/from textphones using old, cheap modems - the idea is to network deaf people (who use textphones a lot - think keyboard plus very old modem in one package) into the huge world of Internet instant messaging (and maybe WAP and SMS messaging for mobile phones).

    As for VoIP - check out the Linux-DiffServ project, its EF (Expedited Forwarding) per-hop behaviour (jargon for a special packet queuing mechanism) is very good at doing VoIP, which needs very low latency and fairly low loss. In other words, your Linux router/firewall, or even desktop, should always send a VoIP (EF marked) packet first, even if other packets are also queued.

    The other thing needed is link-level packet fragmentation - Cisco call this LFI, which is proprietary, while the IETF calls it ISSLOW - the idea is that your large (1500 byte) FTP packet should be 'preemptible', i.e. it is actually sent as many small layer 2 fragments (not IP fragments), so the VoIP packet (probably only one layer 2 fragment) can sneak in very quickly after the current short FTP fragment. Compressed RTP headers a la Cisco would be very useful - cuts down IP/UDP/RTP headers to about 2-3 bytes. These tricks are most relevant to low speed lines (modems now, mobile phones in the medium term) However, both of these tricks require your ISP to cooperate, so not so useful for Gnuphonella.

    For one major possible latency improvement, see the John Carmack posting a while back about low-latency Linmodem drivers - these will also be important for VoIP without special hardware.

    1. Re:Local calls, packet queuing, linmodems by carton · · Score: 2
      It would be a lot easier to respond to your posting if you had included some hyperlinks. I am interested in your pet theories, but I don't have time to go searching for each one by hand.

      The problem with fair queueing on modems is that the internal buffer inside the modem is usually quite large (on the order of 10 packets), and this buffer isn't subject to queueing. AFAIK the buffer must stay inside the modem for reasons of Tradition and V.42b. All real-time/fair queueing algorithms must muck with the output queue. For real network cards rather than modems, this means NIC drivers can reorder packets inside the FIFO onboard the network card. Each hardware NIC driver must have fair queueing support to deliver a good implementation. Therefore, it will never happen with traditional modems. You will have to buy a new modem, which may not exist yet.

      I think you are talking about fair queueing w.r.t. ``Linux-diffserv'' because diffserv is the name of an IETF fair queueing working-group.

      There is a lot of research on fair queueing. It deals with issues like the one you discuss, voice packets pre-empting large FTP packets. However, all the papers I've read are a much more advanced discussion than knee-jerk reactions like introducing another complexity into the protocol stack. They typically start with a GPS model in which each packet is 1 bit long, and then generalize the results for discrete packets. The ordering of the packets is actually a lot more interesting than their size.

      This research was basically completed about five years ago with Hui Zhang's HFSC algorithm, which is implemented in the ALTQ package for *BSD. ALTQ is part of the KAME IPv6 stack that the three BSD's are importing into their trees and tracking as it evolves.

      The relevant aspect of these algorithms is their ability to allocate bandwidth and latency separately and predictably. A high-bandwidth, high-latency FTP connection can share the same packet-switched link with a low-bandwith, low-latency VoIP connection. This is what ``real-time scheduling'' means. Although usually those words refer to CPU scheduling, the ideas and algorithms involved are similar if not identical.

      This software is a real Computer Science answer to the age-old phone company allegations that only circuit-switched networks will ever reliably carry bounded-latency multimedia streams. It is not new, although it may be new to Linux or to popular use. If implemented on the whole Internet, it's basically proven that these algorithms can guarantee a clean, low-delay connection with no dropouts.

      There are other papers about how to distribute some of the processing so these algorithms can scale to the core backbone, as well as stuff about extending them to wireless networks. Some of this research may be ongoing.

      Anyone know which VoIP stacks work with IETF's diffserv ideas or RSVP?

    2. Re:Local calls, packet queuing, linmodems by Cato · · Score: 2

      Actually they are not just my pet theories :) Every maker of VoIP-capable routers will use something along the lines of DiffServ.

      Searching on google.com for linux diffserv and ISSLOW provides reasonable links, btw - the actual links of interest are http://lrcwww.epfl.ch/linux-diffserv/, and for ISSLOW, http://www.ietf.org/rfc/rfc2688.txt and http://www.ietf.org/html.charters/issll-charter.ht ml.

      The Carmack contribution is on slashdot.org, search for carmack and modem. Or see www.linmodems.org and http://directory.google.com/Top/Computers/Software /Operating_Systems/Linux/Hardware_Suppor t/Modems/

      For general info on QoS and links to DiffServ info, see www.qosforum.com.

      Actually fair queuing is only one DiffServ PHB (per hop behavior, i.e. queuing technique basically) - DiffServ is an architecture that specifies where and how traffic should be classified, marked, shaped, metered, shaped and queued/dropped. FQ is only one technique in the diffserv toolkit, and is currently not being standardised within DiffServ. Diffserv also standardises the format and meaning of the TOS byte, and defines some standard codepoints (e.g. EF for low latency, low loss).

      FQ algorithms are quite nice, since you can reduce latency without just allocating extra bandwidth to a class/flow, but they are relatively costly to implement on routers, which may be why Cisco implements only a class-based form of FQ within its higher end routers. Although Juniper seems to do more granular stuff... I tend to focus on algorithms that have been implemented and turned on in widely deployed routers (since I work for a policy-based network management company, Orchestream), but there's a lot of research out there, as you point out. Implemented mechanisms tend to be quite simplistic, e.g. PQ-CBWFQ from Cisco is a bandwidth limited priority queue layered on top of a class-based weighted fair queuing setup (the PQ carries VoIP typically).

      Linux's diffserv effort is really just a layer on top of the quite impressive set of queuing mechanisms built into the 2.2 kernel. Probably at least as complete as KAME, and able to support RSVP as well as DiffServ apps.

      As for modems - you are right about the buffering problem, which is why Carmack et al are looking at how you write a mostly-software modem that can be loaded into the Linux kernel in order to (a) reduce overall latency vs hard modems and (b) allow priority or fair queuing perhaps.

      Whatever mechanisms you introduce are protocol transparent typically - PQ, WFQ, WRED, HFSC, etc all simply re-order, delay or drop packets. They introduce extra complexity into the host and router IP stacks, but are normally at the interface queue level.

      Apps don't necessarily have to be changed to support DiffServ - just use appropriate linux/BSD commands to classify the appropriate traffic. RSVP does provide more functionality but normally requires the app to be changed somewhat. I don't know specific linux apps that support RSVP, I would guess only the ones that were used when originally testing the RSVP stac (vic and vat??).

  6. RW is Cross Platform (PC + Mac) by Bloo · · Score: 2

    A couple of months ago, the Roger MacWilco Mac Alpha was released. It allows PC and Mac users to communicate with each other on the same RW channel. Just FYI, In October of 99, Roger Wilco merged with HearMe (formerly MPath Interactive). In addition to Roger Wilco, HearMe has several free voice products available now (currently all PC though)

  7. Try Nautilus by mikenet · · Score: 5

    Nautilus is a free(and open-source) voice over IP(or serial connection) program that focuses on encryption, however you can turn it off if you don't want it, or if you run into truble with export laws. I have ran it many times with it's 2.4Kbit codec, and it sounds much better that anything else I have ever heard over 56k modems. Since your only using 2.4kbit/s, if you are using it over bad links, it can easily resend data and have plenty of bandwith still left over.

    It will run under DOS,Windows,and many types of Unix

    Get it here
  8. OpenH323 by GTM · · Score: 2

    There's an interesting solution I heard of recently : OpenH323 is an open source implementation of the H323 specifications (it covers several audio and video conferencing protocols and codecs).

    1. Re:OpenH323 by dpk · · Score: 5
      OpenH323 is an incredible project. It is more stable than most commercial grade H323 stacks when it comes to audio (H323 includes video also - think NetMeeting). Its really strong points are:
      • Crossplatform - runs on Windows and *nix (Im not sure about Max or Bez et al)
      • It has been tested and interoperates with more H323 stacks than you knew existed - Radware, Cisco...
      • Free Software - which is the point of this article, right?

      There are some problems with the H323 specification in general though. For example:
      • Very complex ... just take a look at the codebase
      • Control data is transmitted in binary form - most widely used protocols are based on ASCII (FTP, HTTP, SMTP)
      • It uses a port assignment process which is virtually impossible to use through a NAT firewall.

      There are of course many options in the VoIP world right now - SIP is a protocol that works to simplify the processes of the H323 stack. As far as I know, there are a few different implementations of SIP and none of them work very well with each other. You can read more about it here.

      A friend of mine has written some very good articles about Linux and Internet Telephony:

      Linux Journal Article
      SVLUG Presentation

      I personally think that the best solution right now in terms of interoperability, quality and Free-as-in-speech-ness is OpenH323 with OpenPhone. Our company uses a combination of Quicknet PhoneJACKs, OpenH323, and a few CIPE VPN tunnels to connect people from CA to Texas to Australia at their Linux boxes using real-live ringing phones - at essentially no cost. Quality is very very close to a typical old-guard phone call, even from San Francisco to Sydney over the Internet, _and_ encrypted. Blows my mind whenever I use this stuff. The Quicknet cards have GPL'd drivers and are in the current kernel tree. They seem to add a ton of power to the call by offloading alot of the work to hardware DSPs.
  9. Another phone... by leibnitz27 · · Score: 2

    I've used the originally named 'phone' *g*
    It works pretty well, but requires a central
    'name'server... (yes, you could remove that, it's
    GPL).

    Author: David Ashley
    http://www.xdr.com/dash
    Program name: Phone
    Program Homepage: http://www.linuxmotors.com/phone

  10. Windows For Telepaths by Stone+Portman,+CGI · · Score: 5

    Windows For Telepaths

    You open the box labeled "Windows TP", carefully extracting the pouch labeled "License Agreement". You examine the contents of the pouch, finding an inflatable beanie bearing the Windows logo rather than the familiar 3.5" diskette package. You inflate the beanie, insert two "C"-size batteries (not included), and carefully place it on your head. You press the Start button.

    Immediately, the image of an hourglass comes to your mind. You find yourself trapped; unable to move anything in your body save your eyes. After an indeterminable delay, you regain control of your senses. You are suddenly compelled to speak your name and business affiliation. You then retrieve your Windows TP package and chant the Product-ID number.

    Suddenly you see the words "Windows is detecting new hardware" flash before your eyes. You crash to the floor, writhing in agony. You feel every muscle in your body contract and retract in turn. Your mind is filled with the image of a blue inchworm, creeping slowly across a grey field. The creature finally reaches the edge of its domain, and your seizure ceases. You take a moment to regain your composure, and you are reminded of your high school anatomy course as a complete listing of every organ in your body appears before your eyes. You browse the list for a moment, and utter the phrase "OK". After a short delay, you hear the sound of a trumpet echo through the recesses of your mind.

    You find yourself in a large, barren space. You look around, and discover images labeled "My Brain", "Recycle Bin, and "Set up the Microsoft Network". You feel compelled to utter the word "Start", after which a list of options floods your mind. Weary from the detection phase, you utter the word "Shut down". You close your eyes, and blackness surrounds you. You feel yourself start to drift into sleep. Your peace is interrupted, however, as a bright orange light invades your nothingness. "It's now safe to shut down your mind".

    You drift into unconsciousness, and sleep for several hours. When you awaken, you are frozen in place as you see clouds and blue cycling colors. After a short eternity, the familiar "My Brain" icon reappears in your mind. But something is terribly wrong; you can feel it in your gut. Just outside the range of primary vision, you can sense something lurking about you on all four sides.

    You slowly look up, and see the word "Safe Mode" glaring back at you. You back away slowly, swivel your head, and there it is, behind you as well. Your heartbeat quickened and you are terrified as you turn to your left and your right and it meets you there as well, its cold, heartless glare filling your soul with despair.

    Quickly, you summon Control Panel, System, Device Manager. You feel yourself frantically gasping for air as you run through the list of installed devices. You come upon "Respiratory System" and are horrified to see a black exclamation point on a yellow field next to the entry "Lungs". You close your eyes and utter the word "Properties". On the closed curtains of your eyelids, you see your life flashing before your eyes.

    You force yourself to concentrate on your situation, attempting to discover which system devices are in conflict, when suddenly your entire body seizes up in pain. You lose all sense of reality. You are floating through the clouds as you hear a voice echo through your mind: "This program has performed an illegal operation and will be terminated." You start to black out and suddenly you remember your situation. You stare in horror at your blue extremities, knowing that, without oxygen, you will not last much longer. With all the consciousness you can muster, you force yourself... To reboot.

    You awaken in a place that is dark, but familiar. A solitary white prompt on a black field greets you. You look behind you and see the wreckage of the operating system that nearly spelled your demise. "Cannot find a file that may be needed to run Windows". You turn around to face the prompt, and a wide grin comes across your face. You take a deep breath and revel in the life-giving atmosphere. You laugh as you utter the words, "DELTREE WINDOWS".

    Suddenly you find yourself on the floor of your home. You find the charred remains of the Windows TP beanie littering the floor. You carefully gather them up, stack them neatly on an altar, and burn them, promising yourself never to risk your life with Microsoft again. You bury the ashes, knowing that your life is again in order.

  11. Robust Audio Tool by Felipe+Hoffa · · Score: 4

    Get & try RAT: Robust Audio Tool at http://www-mice.cs.ucl.ac.uk/multimedia/software/r at/ It's open source, and they have builds for major platforms (FreeBSD, HP-UX, IRIX, Linux, NetBSD, Solaris, SunOS, and Windows 95/NT). Au regards, Fh

  12. Windows and Linux VoIP. by www.sorehands.com · · Score: 3
    I have used buddyphone on a WindowsNT system through IPCHAINs.

    One tip, and I think it may apply to most software packages. Tell the software that your connection is a little slower then it actually is. This may degrade the voice quality a little, but it gets rid of that annoying lag.

    I tried this on a PII-266 under WinNT 4.0 SP5 though a firewall using RH 6.0 on a Pentium Overdrive 83 system on a Cable Modem.

    I'd like to some software that will let me use OS/2 and Linux to talk to people I know that run Windoze.

  13. Re:VON by war2k1 · · Score: 2
    If you want to call someone, then pay for it.

    I'm going to assume for a moment that this was a troll, and I'm also going to assume that they unknowingly (or knowingly, it's not important) brought up a very important point for discussion (although not completely on topic).

    Why should you have to pay someone when you make a telephone call? You don't pay for email, except in a very obtuse way. What I think this issue is whether or not access to PUBLIC networks should be free or not. IMHO, there is no excuse for charging for any kind of network. Public network infrastructure, power, phone, net, everything should be nationalized. End of story. Right now, we might pay a few dollars for a universal access surcharce, but that's not what it's about. The phone company expects you to believe that it costs them on a per minute basis to keep up their networks. It doesn't. MCI/Worldcom's cost is about US$0.02 per minute, and you know what, most of that goes to pay telemarketers. There is absolutely no reason why we all can't pay, say, a $70 annual telecommunications tax, and have unlimited connectivity.

    It is of course easy to argue that that's where it's going anyway and why bother with all that nasty government stuff. Well, that's what we have government for. The government should be progressive as well as protective. I mean hell if we pay all this money in taxes, shouldn't the government do something insofar as looking towards the future is concerned?

    People around here seem to have a problem with monopolies. I don't. Just so long as they're not unregulated, controlling, tyranical monopolies. If MS had always had an open source approach, can you imagine how much better of a product it would be? No more waiting 3 years for a bugfix, etc. But the thing is a monopoly, properly used can be a good thing. In monopolies, you don't have non-compatible equipment to deal with or any of that. And if that monopoly answers to the GAO or some organization, then you wouldn't have things going on like AT&T charging US$0.35/min when it was completely unnescessary.

    If we had a national telecom monopoly with progressive leadership, I think that universal access in this country with a reasonable fee is not an unreasonable thing to consider. DSL a couple dozen IPv6 addresses to every home!

    And here, the argument that if we take away monetary rewards, we take away incentive for development just doesn't work. It's not like this service would be giving away free OC-192s to Digex or anything. Anyone who wanted to get more than their 'fair share' will have to pay for it. There will still be a market for high band products and services becuase the public network will need it, and there will always be private networks. On the consumer side, this national monopoly would have to fund R&D to be constantly improving the quality of service.

    Of course there is the question of practicality and likelyhood. Is it practical? yes. Is it a good idea? yes. Will it ever happen? no.

    Here's why not. All the phone companies are not interested in going out of business anytime soon. Bernie Ebers (head of worldcom) does not want to give up his billions in stock to accept a slightly smaller salary to better life in this country. Theres one reason all these guys are in it, money.

    There are so many people who would hate it, not because it would threaten their livelyhood, but because it might reduce the value of their stock, if we had a free, high-speed, IPv6 network with say ten billion ip addresses reserved for phones worldwide.

    But wouldn't you love it? If you could dial a 10 digit number into your IP-Phone (TM) and be connected to anyone, anywhere in the world?

    It's pie in the sky i know, but isn't it fun to dream?

  14. Surfing the net takes far more bandwidth by Russ+Nelson · · Score: 3

    Surfing the net takes far more bandwidth than a 2.4Kbps real-time bidirectional audio link. If you're that short on bandwidth, STOP READING THE COMMENTS!
    -russ

    --
    Don't piss off The Angry Economist
  15. PGP by OctaneZ · · Score: 2

    While not currently available for linux (at least that I have been able to find) PGP puts out a great product called PGPfone. Not only does it do voice over IP in decent quality it also Encrypts your conversation at whatever keylength that you specify, without noticeable signal degredation.

  16. I've used SpeakFreely (v7.1)... by quist · · Score: 2

    ...and the nice feature is that it is available for both *nix (Sun, HPUX, Linux etal) and Win Systems. So if you have family/friends on that commercial OS there is a IPvoice solution. The Win setup is unremarkable; download, turn the Wizzer loose and cross your fingers. On the *nix end, a bit of the ussual sound setup twiddling is required to get things going; however, nothing out of the ordinary.

    The best part is the availablity of *nix CLI operation! You aren't forced into X to use it; handy on older laptops & PC's.

  17. Speak Freely by Parity · · Score: 3

    I've used speak freely and been very happy with it. I only used the command line client, wrote myself a little script 'sfanswer' to respond to incoming connections, installed ALSA so that I could have full-duplex communication (speak and listen at the same time) and generally had a great geeky time with it. Sound was quite decent, better than PCS phones, actually, even on a 33.6 modem, though network traffic makes that a little inconsistent.

    Meanwhile, my non-geek friend at the other end installed the precompiled Windows95 binary, played with menus and generally did the dumb-end-user thing and got it running with no problems...

    So, for decent sound quality, interoperability with the non-geek world, pretty good reliability, a variety of compression options, - oh, and an echo-server to test your setup against - speak freely is pretty good.

    Since I was happy with speak freely, I can't say how it compares to the others.

    --Parity

    --
    --Parity
    'Card carrying' member of the EFF.
  18. kphone (aka KT&T) by vektor_sigma · · Score: 4
    I'm the author of kphone, a VoIP application for KDE 2.0 which uses the SIP signalling protocol for call setup.

    SIP is the IETF standard for signalling of VoIP calls (as well as other multimedia conferences). It is supported in products by 3Com, Nortel, Cisco, ... Very cool.

    You can check it out in the kdenonbeta package of KDE 2.0.

  19. VoIP? Isn't it really Audio/Video over IP? by strredwolf · · Score: 3
    Serious though on this. All we're doing is digitizing audio (and possibly video) over an IP link and keeping it under 2.4K/sec. There's alot of algorithms that are out there and can do it (performance not mentioned but still important).

    Dr. Dobbs Jornal had one called idtAudio, and did an audio stream. The decoder was in Java, and the encoder in C. It streamed over HTTP. You can get the source there.

    DDJ has covered alot of the compression field, and has many articles on the topic.



    ---
    Another non-functioning site was "uncertainty.microsoft.com." The purpose of that site was not known. -- MSNBC 10-26-1999 on MS crack

    --

    --
    # Canmephians for a better Linux Kernel
    $Stalag99{"URL"}="http://stalag99.net";
  20. Other open source sites for VoIP by cullenfluffyjennings · · Score: 3

    Also check out www.vovida.com (I work there) who have put out several open source stacks for VoIP and a software phone that uses SIP and runs on Linux with a Quicknet phonejack card. Vovida has also sponsored a project to create an open source client like you want. It is at http://sourceforge.net/project/?group_id=5560 and the RFP is at http://www.sourcexchange.com/ProjectDetail?project ID=20