Slashdot Mirror


VOCAL: Open Source VoIP Software for Linux

An Anonymous Coward writes: "While most Open Source projects are applications and utilities intended for single users, David Bryan and David Kelly did something different. They created an infrastructure project -- a VoIP phone system that either can run on a single box attached to a couple of IP phones or can scale up to a network of hosts processing hundreds of calls between thousands of users. In this informative technical article at ELJonline, Bryan and Kelly detail the 'Vovida Open Communications Applications Library' ('VOCAL') project, a fully functional phone system that can run on either Red Hat Linux or Sun Solaris."

11 of 149 comments (clear)

  1. So, what should I do now? by g4dget · · Score: 5, Interesting
    H.323 and associated protocols for video conferencing and collaboration have been standardized for a while. They are kind of messy, but there were Windows implementations like NetMeeting, Linux implementations like Open H.323, and commercial implementations like CU-SeeMe (for Windows and Mac). These things could even talk to one another and to GnomeMeeting.

    Fast forward to 2002. Microsoft still kind of ships Netmeeting with Windows XP Home, but there are no shortcuts, their documentation discourages you from using it (it also blue-screened my XP machine when I tried running it). Instead, they want you to use Microsoft Messenger, which only seems to want to talk through Microsoft's servers. Yahoo! give you video conferencing, but only through Yahoo! messenger and only on Windows. CU-SeeMe doesn't seem to exist anymore. In fact, I couldn't find any Windows or OSX H.323 implementations.

    Instead, now the next thing seems to be SIP (Session Initiation Protocol, which is curiously what Vovida is based on. Well, it's kind of like HTTP, and that's nice compared to H.323's ASN protocols. MSN Messenger seems to be using it. There is Linphone, which is SIP based and works on Linux.

    But... how do we do cross platform video conferencing now? Microsoft Messenger may speak SIP, but as far as I can tell, it doesn't let me do machine to machine calls. Even if it did, GnomeMeeting doesn't seem to support SIP (yet?) and Linphone doesn't do video. And MacOSX, as far as I can tell, is almost completely out in the cold; at least, I couldn't find any commercial video conferencing software for it. The closest is the OpenH.323 sample applications, running under X11 on MacOSX. That's not exactly what you can ask average Mac users to use.

    So, if I want to do cross-platform video conferencing between Linux, Windows, and/or Macintosh, what software and protocols should I use?

  2. VoIP Development by saveth · · Score: 4, Interesting



    I work for a company that has a (very) new product, called the VoIP Development System (VDS), that is a testbed and diagnostic application for VoIP systems. Apparently, the software is so new that it is not even featured on the front page of our web site.

    Anyway, VoIP architecture is, of course, integrated into the software. On a daily basis, the VoIP package development team is coming to us, the senior programmers, and asking for assistance and references for developing various parts of the code, ranging from simple GUI items to items regarding the infinitely more complex network architecture implementation.

    </plug>

    Because of this, I know how difficult and intense the development of VoIP systems is. Kudos go out to the developers for this project. Keep up the good work; you're doing an excellent thing for the open source and free software communities.

    Now, whether free software will release a person or company from the cost of buying the hardware to support an extensive network of VoIP systems is another problem, entirely. :)

  3. Re:OpenH323 is also nice by pangloss · · Score: 3, Interesting

    well i don't know squat about either protocol, but i did notice that VOCAL features:
    H.323 Translator
    The H.323 Translator now supports gateway trunking. Before, it was only supporting NetMeeting as endpoints.

  4. Hope it has been getting better by Chicks_Hate_Me · · Score: 2, Interesting

    I used to use SIP at work for a SIP phone program for linux called Siphon. Let me tell you, it was a pain in the ass. First of all Siphon needed sip-0.1.7 but 0.1.7 didn't work for RedHat 7.1, but Siphon didn't work with sip-1.2.0, which was the only one that worked with RedHat 7.1. SIP is part of VOCAL and what I'm trying to say is that VoIP is kind of a mess on Linux, and I'm glad to see it improve.

    I pray for the day when Vovida comes out with better documentation, and perhaps a less memory intensive VoIP package.

  5. Replace the Phone Company!!!! by efficacymanUM · · Score: 5, Interesting

    Now all we need is to create some sort of secure database, where people could donate use of thier landline (for local calls in their area code) for a period of time in exchange for credit to make calls to other area codes. It would be similar to ham radio telephone relays. Now all we need is a single combo ip/telephone # so that it would call your computer first (for long distance) and then your home phone. I suppose this could be implemented with dyndns.org or another similar service. Anything to spite qwest!

  6. Re:These protocols are all wrong by Qrlx · · Score: 2, Interesting

    Mabye you have a differnt NBX but the ones I've used are IP-capable. You can take your phone home with you, hook it up to your DSL. THe phone still thinks you are on your regular extension at work.

    Of course you do have to tell the NBX that this is happening but many people have done it. A quick google serach will turn up plenty of results.

    ISDN over IP? Um, I'm pretty sure the reason ISDN is used for commercial grade vtc is because you get a circuit, unlike IP and the Internet and its crazy packet switching. When I call your polycom box on ISDN it's a lot more stable and less flaky than IP. Eventually IP routing and bandwidth on the Internet might be so great that packet switching is as predictable and reliable as circuit switching, but that is FAR from the case now.

  7. Re:These protocols are all wrong by thogard · · Score: 2, Interesting

    The NBX 100 requires an upgrade that cost someware around AU$5000 to turn on IP.

    My local ATM loop is too busy to support the phone over ADSL so thats out.

    My internal ehternet and VPN's all have less jitter than the ATM loop so it seems to me that ISDN over IP would work fine. Infact I've done it using the NBX and relaying over PPP over an SSH tunnel on controlled lines and it works fine. ISDN is 64k data. There is no reason that a typical T1 with QoS can't cope with a few channles of ISDN over IP without anyone noticing but this won't work to call 1/2 around the world but I don't need a solution for that since phone lines work great for that and wholesale rates between the US and Oz are now under US$.015/min its cheaper to pick up the phone than send the data.

  8. How will this newcomer work with asterisk? by Lumpy · · Score: 5, Interesting

    Asterisk is the VOIP/phonesystem software package for linux, and has been for over 3 years now. It sounds like this VOCAL is a framework for call routing (just like asterisk) but without the POTS gateway abilities.

    Also, I have had great luck with my 20 VOIP blasters running in basically a P2P mode with only asking for directions from the phonebook server...

    I have yet to impliment a POTS gateway using asterisk because the internet phonejack cards are horribly expensive. Anyone else here doing linux Voip?

    --
    Do not look at laser with remaining good eye.
  9. Competition for Nortel / Lucent by z_gringo · · Score: 4, Interesting

    I sure would like to see that in action. If it is really that scaleable, and if it works as well as they say, then this could be some serious competition for Lucent and Nortel platforms which cost a hell of a lot more money.

    --
    -- -- Warning. Do not stare directly at the sun.
  10. Do some research before you rant by smutt · · Score: 3, Interesting

    Now if I could tell this box, "take calles on this line and send them to port 5433 on 192.168.1.23 as a 64k mu-law stream" then I would have 99% of what I need for a VoIP gateway to the telephone company.
    How are you going to handle call setup and teardown? There are a multitude of things you have to deal with in IP telephoney that go beyond the functionality provided by protocols like TCP and UDP. All SIP does is provide call signalling. The actual voice stream is handed off to SDP which specifies which voice encoding type to use. Such as G.711 Mulaw which you referred to.

    The next great leap in VoIT will come from someone thats got the balls to do ISDN over IP and write some sample code that works and then an RFC. Till then its just a sick game.
    What do you think H.323 is? Take a look at the signalling required to setup a call in H.225 compared to Q.931. The only thing you're missing in H.225 is the ACK's and those are provided by the underlying TCP protocol.

    The people from cyclades said they looked at doing VoIP but everyone wanted "standards" which they didn't or couldn't squeeze into the RAS box. I don't think they ever thought that it wasn't that hard. My Cisco AS5300 doesn't have any problems with converting incoming ISDN to H.323 or SIP. Try a 2600 even.

    --
    The Information Revolution will be fought on the command line.
  11. VOCAL Posting by vocal_scribe · · Score: 2, Interesting

    I would like to clarify a few points about the recent Vovida posting:

    VOCAL was created by a group of about 50 developers who worked for Vovida Networks, not just David Bryan and David Kelly. David and David wrote the article that appeared in Embedded Linux Journal and that's why they're mentioned in the posting. All in all, VOCAL represents over 100 man months of development.

    Vovida.org is a community web site that hosts many open source communication projects and protocol stacks including VOCAL. There are a number of other open source VoIP solutions, most of which do different things than VOCAL. Bayonne (bayonne.sourceforge.net) and Asterisk (www.asteriskpbx.com) both support TDM interfaces, and added (or are in the process of adding) VoIP support, while VOCAL started VoIP-only (and SIP-centric, at that). OpenH323 (www.openh323.org) focuses on H.323, although the latest versions of the code also has SIP support. Probably the most similar stuff to VOCAL is the osip stack (www.fsf.org/software/osip/), the related proxies, and linphone (www.linphone.org). We have done some work to make linphone interoperate with VOCAL.

    As for the Slashdot community's comments about the article's opening line, "While most Open Source projects are applications and utilities intended for single users,..." we didn't intend to slam apache, sendmail, bind, mysql and other multiuser projects. We intended to show that VOCAL was interesting because it was built from the ground up as a distributed system that can easily load balance across multiple servers to scale.

    We've been trying to make VOCAL easier to install for new users. If you tried earlier versions of VOCAL and found it difficult to install, you might want to try the latest version. We have also built RPMs and Solaris packages so that people can try VOCAL without having to compile the source code. For those who are interested in acquiring the source code, it is available in tarballs and from CVS.

    As for the documentation, we have been working on a book for O'Reilly that includes not only user guide material but large amount of detailed information about the data structures and state machines. The book is called Practical VoIP: Using VOCAL and it is due out this summer. People who have seen advance copies have told that, from a developers' point of view, the material is very useful. Thank you for your patience and please stay tuned.