|
| Sun, May 11th | home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop | 23:27 PDT |
|
login « register « recover password « |
| [Article] | add comment | [Article] |
The telephony software category includes applications that let you communicate via voice and/or video through the Internet to other people, software that lets you set up a software-based telephony PBX based on standard hardware, tools that let you analyze data from or control legacy telephony switchgears, and small, simple pieces of software that let you set up an answering machine using an old voice modem. Copyright notice: All reader-contributed material on freshmeat.net is the property and responsibility of its author; for reprint rights, please contact the author directly. Those are very different tasks and they are usually required by different people, so let's go by pieces. Voice over IPIf you want to implement a VoIP system, you first need to define the protocol you will use for connecting to other systems. If you're developing an in-house closed solution that just needs to communicate to known and managed points, you could choose whatever protocol you like (even creating your own protocol to suit your needs). However, that's not the usual case. Generally, you need to interoperate with or connect to different points out of your control, and standard, well-known protocols are needed. By far, the oldest standard protocol for VoIP is H.323. It's a complex protocol that supports different codecs, not fully suited for trespassing firewalls but supported by a myriad of applications and appliances, from Microsoft NetMeeting to VoIP phones. When you're trying to deploy a large-scale professional VoIP solution, H.323 is a must. You'll need an H.323 protocol stack, and the standard one is OpenH323 (which requires Pwlib, a portable library that lets the stack be run under many different operating systems). You'll also need endpoint applications known as VoIP phones, Web Phones, or simply IP Phones. If you prefer a graphical, intuitive environment, GnomeMeeting is the king of voice/video conferencing systems. If you just need a text-based application with voice and video support, you can use ohphone (available with OpenH323), which is lightweight and well-integrated with the OpenH323 stack. Of course, typing hard-to-remember IP addresses when trying to connect to people can be both boring and prone to mistakes, so you'll eventually need a system that can translate names into IP addresses (and add more functionality such as call routing, etc.). That system is called a gatekeeper. The most complete and up-to-date Open Source gatekeeper is Jan Willamowius's OpenH323 Gatekeeper. It's a full-featured gatekeeper that lets you define alternate gatekeepers, route calls based on E.164 prefixes, and much more. As long as you are using your H.323 IP phones from public networks, you shouldn't need to care, but what happens when you add firewalls doing NAT in the middle? If it's a Linux firewall, you have to choose one of two solutions:
If you want to be on the bleeding edge with a simpler, firewall-friendly, but not-so-interoperable protocol, you can select SIP. There are already some good SIP-based IP Phones, such as linphone. If you need to interoperate between H.323 and SIP, you'll probably need Vocal, the Vovida Open Communication Application Library, but you'll need to add some development on your own to create a working application based on it. Applications based on proprietary protocols are not recommended for anything but small, restricted implementations. A good one with encryption support is Speak Freely. Telephony gateways and software PBXesIf you want to implement an intelligent telephony system for a small company with features like call routing, answering systems, a VoIP gateway, etc., commercial PBXes are usually very expensive. Fortunately, there are many applications and frameworks that can help you accomplish the same results by yourself. One of the most complete, actively deployed, and extensible software PBXes is Asterisk. It offers features comparable to those found in telco-class PBXes which cost hundreds of thousands of dollars, and it can run on ordinary PC hardware with a variety of telephony cards. It provides H.323 and SIP support, so it's not only a full-featured telephone switchgear framework, but can also connect to VoIP phones and gatekeepers. Of course, we'd be missing a great one if we didn't mention GNU Bayonne, the telephony server of the GNU project. Bayonne offers a script-driven, threaded, multiline state event telephony service for building voice response systems and telephony plugins for runtime driver configuration. It can be used to build telephony-based system administration, home automation, automated attendant, v-commerce, and voice messaging systems. If you just want to build a gateway to let normal phones access H.323-based IP phones, look at OpenH323's pstngw2, small piece of software that let you gateway from PSTN/extensions to H.323 with commodity analog telephony cards. If you're interested in an ISDN-to-H.323 gateway, look at isdn2h323; it lets you work with ISDN cards supported by ISDN drivers in the Linux kernel. SMS, TAP, and messaging systemsIf you need to implement a system to deliver messages to beepers and mobile phones, you're lucky; there are many free applications that can help you do it easily. Many of them only work with one or a few providers, though some are more generally useful. Give Sendpage a try; it's written in Perl for sending alphanumeric pages via modems which connect to paging centers with the TAP protocol. Also try YaPS, Yet Another Paging Software, which can transfer pager messages with the UCP, TAP, and Script protocols. If you're developing an SMS platform for a paging company, you need Alamin. Alamin GSM SMS Gateway is a group of daemons which allow you to send/receive SMS messages from any GSM device which supports AT+ commands (GSM modems or GSM mobile phones) or which is supported by Gnokii. A client program allows you to send messages from any IP client. An SMTP interface is provided to allow MTAs to send SMSes directly to the GSM network. IMP (Incoming Message Processor) modules allow you to extend functionality to implement banking, network administration, bd queries, etc. from a GSM mobile phone. Software answering machinesIf you need to implement an answering machine using a voice modem and a PC, you could use the mgetty+sendfax package and get a full-featured fax machine for free, or you could develop you own answering machine software using the VoiceModem Kit. MiscellaneousNo known classification lacks a misc. topic, a bucket in which you can place stuff that doesn't fit very well in any other place. Most of these packages are small tools that complement or add some functionality to other applications. However, there is a piece of software that is in a class of its own: Interverse. Interverse is an evolution and combination of the Web, chat, instant messaging (IM), and voice communication. It is not just a graphical user interface (GUI), but an immersive user interface (IUI). It is a virtual universe running on top of the Internet. It uses the Crystal Space 3D engine to render the user's view of the world. ConclusionWe've covered many applications with different uses and scopes. Most of them are totally free (in both senses). Many are more powerful than their commercial, closed counterparts. If you use any of them and are satisfied, please send an email to the authors to let them know you liked it. If you didn't like it or you'd like to have new features or have a bug corrected, send the authors your opinions; that's the way Open software grows and matures. If you're a developer, please contribute! Others will thank you for it... Author's bio: Flavio Villanustre is the Director of Operations of one of the biggest Internet data centers in Argentina. He has been involved with Linux since 1993, and was the founder of the Buenos Aires Linux Users Group in 1994. He has participated in the design and implementation of medium- and large-scale interoperable VoIP networks based on different kinds of software and hardware. When he's not working, he enjoys coding 3D stuff for free, and he's currently involved in the development of the Stereogl stereo library. T-Shirts and Fame! We're eager to find people interested in writing articles on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an article gets a t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about. [Comments are disabled]
[»]
OpenH323 Gatekeeper project has moved The homepage for that project is now www.gnugk.org and the Freshmeat project is now here: OpenH323 Gatekeeper.
[»]
can u help me is setting up a VoIP to PSTN Gateway Hi
[»]
Re: can u help me is setting up a VoIP to PSTN Gateway
[»]
Re: can u help me is setting up a VoIP to PSTN Gateway Hi qweqwe,
[»]
Another project Telephone Control Daemon allows a user to dial a system and perform some
predefined commands. It uses a voice modem (tested with Rockwell) to
provide a DTMF-based interface to the user.
--
[»]
Asi que vos sobre IP...?! Muy lindo todo... pero a ver si la proxima lo excribimos en castellano..! Saludos
[»]
Very useful Thanks Flavio - I've been flirting with the idea of setting up a voice
server to do some routing of the calls I get late at night (on-call for
infrastructure mgmt in EMEA) .. and your article has given me some great
ideas of where to get started.
[»]
Re: Very useful
Hope you can sleep better now :-) Flavio. --
[»]
Crazy how these articles pop up when you need them... ...I was looking for a VoIP solution just as I pulled up the freshmeat page and there this article was -- immensely useful. --
[»]
Re: Crazy how these articles pop up when you need them...
--
|