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."
(Funny, this is the second post of mine that has that title)
Yahoo Broadband is offering VoIP Internation Telephony at 7.5 yen/ 3 minutes. Very good deal.
It's very clear as well.
I have been pwned because my
Apache, sendmail, bind... famous open source projects designed for single users. It's a good idea someone came along to do this new innovative infrastructure sorta stuff. Maybe someday we can have a whole inter-network of computers using open protocols.
Instead os using the SII protocol as VOCAL does, you could also use H.323 for example the OpenH323 Gatekeeper, now called The GNU Gatekeeper.
Hah! "Most applications" are targeted toward "signle users", what kind of crap is this? What is this site running on?!
"'Vovida Open Communications Applications Library' ('VOCAL')" - talk about the award for the most contrived acronym!
Video Game cheats, hints a
Community Supported VoIP. then we will have half of the teleco company's calling us pirate's and the other half calling us customers
man if this is fp the meaning to my life has meaning now.
What about open h323. Wasn't that a standard for making reliable phonecalls over packet streams?
Time to go with industry standard people. Last
place I worked at, we have implemented H.323 gateway
and it worked like magic, coupled up with outher
gateways.
... dunno, looks like guys reinventing the wheel all over again.
p.
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?
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.
Why wasn't a link to the project's actual webpage in the submission? Here it is.
Now, since they went out of their way to have a nice acronym, couldn't they have gone all the way? Change 'Vovida' to 'Vocal' and you have yourself a nice recursive acronym.
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.
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!
'Vovida Open Communications Applications Library' ('VOCAL')
Maybe they started the project only because they had found a cool acronym!...:)
667 The Neighbour of the Beast
Reducing costs by replacing your telecommunications-grade infrastructure with cheap PCs running this month's patchlevel of Red Hat Linux sounds like a recipe for success to me!
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
At work I've got a cyclades PR4000 hooked up to a E1 (30 line pri isdn link) and the device is a router. The device can take an ISDN call and hand the data off to a port on anything connected to the net but it can't (or won't) do it if its a voice call because it hands it off to an overpriced DPS module that wants to decode the signals as if they were from a modem. With the
exception of a packet saying "this call came in on port 12 for phone no 99991111 from 1233212232" its got all the bits together to pull this off but no such luck. 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.
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.
I also have another toy which is a 3com NBX 100 "IP Phone System". Too bad its an ethernet phone system and not an IP phone system. They claim its "open" but the only thing I've found out about it is they have illegal included gzip and gnu tar in an executable which they aren't providing source for. This from one of the few IT compaines that supported the DMCA. Maybe they had stuff to hide like stealing software. Google for "NBX rant" for more...
</rant off>
So I've got this cool device hooked to the phone co and I've got another cool device that hooks to cool phones that sit on my desk and talk over the lan. Will they every talk to each other? I think not.
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.
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.
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.
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.
http://www.cs.columbia.edu/sip lists implementations. There aren't many for Unix-related systems, but our CINEMA sipc tool does run on all common Unix/Linux platforms and supports audio, video and other conferencing functionality. It is not free software.
Most SIP tools allow direct communications. Some may need a proxy server. A proxy server is somewhat similar to an H.323 gatekeeper. The VOCAL set includes this, but there are many others, too, listed at the URL above.
The article seems to show a fairly simple state model for Vovida.
I love simplicity, but worry about feature completeness and extensibility, too.
Does anyone knowledgable know how Vovida compare with Bayonne?
"Provided by the management for your protection."
let me start by saying that SIP is very, very good. all of Cisco's IP telephony products are based on SIP now, instead of their previous mucky protocols. many larger vendors are also supporting SIP, as it an RFC and other goodness. VOCAL, which I have had the pleasure of working with recently, is very well designed, and (in my biased opinion) is nice because it's not really "linux centric". we did a test deployment on several FreeBSD systems functioning as a Vmail system, inter-office IP phone calls (to both Cisco SoftPhone clients and actual cisco IP phones) and working with a cisco 3640 router with two VIC-2FXO cards (which provides 4 lines out to the PSTN through our PBX). the mapping is pretty easy from cisco VOCAL, and the VOCAL user agent piece is pretty cool, although right now it's just a very basic CLI tool under windows. We really haven't tried using a unix system as there are few end users at a brokerage firm who actively use unix as a client desktop!
definitely check out the cisco SIP offerings, as well as the excellent vovida project and tools. they have a lot more to offer as well, including some frivolous PSTN gateway stuff using those internet linejack bits. I personally agree with what they've been doing, which is building an enterprise-class IP telephony infrastructure, rather than wasting time on stuff for college kids to avoid phone bills. but then again your needs may differ from ours. YMMV!
EOM
So, has anyone tried this? What brands of phones are you using with it? The Cisco phones are rather expensive, and I'd like to get a couple of cheap phones to play with.
Is the only way to do a POTS gateway to buy a LineJack card? Can I put the Cisco VoIP gateway software on a router connected to a PRI and route calls out that to the regular phone network?
It would be nice if there was a Howto on vovida's site. Maybe I just missed it, but I couldn't find one.
Need Free Juniper/NetScreen Support? JuniperForum
In right about 10 minutes, you can go to www.denwa.com and become more frustrated than you've been in a long time.
The site is horrible. It takes forever to figure out how to get anything out of them, and I never did manage to find out the rates for their service. I am surprised myself at how thoroughly the site pissed me off with its inscrutability - and I make a living at dealing with bad info design, so I'd expect to be inured to it. If they expect to deal with average consumers, and that's the best they can do, they're screwed from the start, no matter how fabulous the technology may or may not be.
"Patriotism is your conviction that this country is superior to all other countries because you were born in it." -- GBS
you really should try and get a couple of VoIP blasters, they coupled with fobbit or fobbit+openH232 make a very viable VOIP solution that is invisible and completely operated from the $35.00 analog telephone plugged into it.
I thought VoIP Blaster had been discontinued by the manufacturer. Have they changed their minds?
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
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.