fmII
Sun, May 11th home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop 23:27 PDT
in
Section
login «
register «
recover password «
[Article] add comment [Article]

 Telephony Software
 by Flavio Villanustre, in Category Reviews - Sat, Mar 30th 2002 00:00 PDT

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 IP

If 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:

  1. You could use
  2. You can use a proxy installed in your Linux firewall that translates connections between both sides like OpenH323Proxy or OpenH323 Gatekeeper for point-to-point connections or openmcu (available with OpenH323), for multipoint connections.

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 PBXes

If 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 systems

If 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 machines

If 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.

Miscellaneous

No 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.

Conclusion

We'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]

 Referenced categories

Topic :: Communications :: Conferencing
Topic :: Communications :: Internet Phone
Topic :: Communications :: Telephony

 Referenced projects

Alamin GSM SMS Gateway - An SMS-to-SMSQP/SMTP gateway and client to send SMS from an IP client.
Asterisk - An Open Source PBX for Linux.
bayonne - The telephony server of the GNU project.
Crystal Space - A free and portable 3D engine.
Ekiga - A SIP and H.323 VoIP application.
GNU Gatekeeper - A free H.323 gatekeeper.
Interverse - A 3D world for chat, voice, IM, mail, file transfer, etc.
iptables - A Linux kernel packet filter control tool.
linphone - A SIP-compatible audio and video phone.
mgetty+sendfax - An intelligent getty with fax and voice modem support.
OpenH323 - An H.323 protocol stack.
Sendpage - A utility for receiving text messages with SNPP and delivering with TAP or UCP.
Speak Freely - Internet telephony.
Yet another Pager Software - Pager Software (SMS, Scall, etc.) for wired modems and ISDN cards.

 Comments

[»] OpenH323 Gatekeeper project has moved
by Jan Willamowius - Feb 16th 2003 11:50:14

The homepage for that project is now www.gnugk.org and the Freshmeat project is now here: OpenH323 Gatekeeper.

[reply] [top]


[»] can u help me is setting up a VoIP to PSTN Gateway
by qweqwe - Apr 13th 2002 23:16:21

Hi

i am planning to setup a dialpad like server at my home so that my friends in other countries who regularly log on to my site can also call me on my other phone. i hv a extra phone line and cable connection. i did lot of research for the last few days. read the following sites /pages

http://www.ibiblio.org/pub/Linux/do...VoIP-HOWTO.html

http://www.openh323.org/code.html

http://www.linuxtelephony.org/

http://www.quicknet.com/

and few others.

based on these articles, i found out that i dont need to set up a gatekeeper, i need to setup a VoIP to PSTN Gateway.

to set up this gateway, i think the following needs to be done.

i need to buy a Quicknet LineJack Card. Install Gateway software PSTNGw for Linux from OpenH323 and my friends would use gnophone to connect to my server.

i just want to make sure what i am doing is right. i want to discuss with some one who has already done this.

BTW i hv RH 7.1 as my intranet server and Rh 6.1 as firewall at home.

any help appreciated.

thanks,
qweqwe

[reply] [top]


    [»] Re: can u help me is setting up a VoIP to PSTN Gateway
    by Parvez - Apr 26th 2002 03:17:35


    > Hi
    >
    > i am planning to setup a dialpad like
    > server at my home so that my friends in
    > other countries who regularly log on to
    > my site can also call me on my other
    > phone. i hv a extra phone line and cable
    > connection. i did lot of research for
    > the last few days. read the following
    > sites /pages
    >
    >
    > http://www.ibiblio.org/pub/Linux/do...VoIP-HOWTO.html
    >
    >
    > http://www.openh323.org/code.html
    >
    > http://www.linuxtelephony.org/
    >
    > http://www.quicknet.com/
    >
    > and few others.
    >
    > based on these articles, i found out
    > that i dont need to set up a gatekeeper,
    > i need to setup a VoIP to PSTN Gateway.
    >
    >
    > to set up this gateway, i think the
    > following needs to be done.
    >
    > i need to buy a Quicknet LineJack
    > Card. Install Gateway software PSTNGw
    > for Linux from OpenH323 and my friends
    > would use gnophone to connect to my
    > server.
    >
    > i just want to make sure what i am
    > doing is right. i want to discuss with
    > some one who has already done this.
    >
    > BTW i hv RH 7.1 as my intranet server
    > and Rh 6.1 as firewall at home.
    >
    > any help appreciated.
    >
    > thanks,
    > qweqwe
    >

    hey qweqwe,
    even I'm trying to setup a simillar kinda setup. I'm still in a resarch phase of what all is needed and how to setup since this is my first time but I would like to tel you I found a Wild Card X100P (1FXO)
    This X100P allows you to connect a standard analog phone line into your Linux server with Asterisk software which is used a PBX this would be ideal for a single line but can't say much about it since even I haven't used ..... lemme know in case you find something more :)

    NoBrains..

    [reply] [top]


    [»] Re: can u help me is setting up a VoIP to PSTN Gateway
    by Alex Lee - Nov 3rd 2002 11:55:37

    Hi qweqwe,

    Just read you plan in freshment. I have the same planning to make a dialpad like webpage. How's your project. Can you give me some idea?

    Thanks

    Alex


    > Hi
    >
    > i am planning to setup a dialpad like
    > server at my home so that my friends in
    > other countries who regularly log on to
    > my site can also call me on my other
    > phone. i hv a extra phone line and cable
    > connection. i did lot of research for
    > the last few days. read the following
    > sites /pages
    >
    > http://www.ibiblio.org/pub/Linux/do...VoIP-HOWTO.html
    >
    >
    > http://www.openh323.org/code.html
    >
    > http://www.linuxtelephony.org/
    >
    > http://www.quicknet.com/
    >
    > and few others.
    >
    > based on these articles, i found out
    > that i dont need to set up a gatekeeper,
    > i need to setup a VoIP to PSTN Gateway.
    >
    >
    > to set up this gateway, i think the
    > following needs to be done.
    >
    > i need to buy a Quicknet LineJack Card.
    > Install Gateway software PSTNGw for
    > Linux from OpenH323 and my friends would
    > use gnophone to connect to my server.
    >
    > i just want to make sure what i am doing
    > is right. i want to discuss with some
    > one who has already done this.
    >
    > BTW i hv RH 7.1 as my intranet server
    > and Rh 6.1 as firewall at home.
    >
    > any help appreciated.
    >
    > thanks,
    > qweqwe
    >

    [reply] [top]


[»] Another project
by Zygmunt M. Zarzecki - Apr 8th 2002 03:21:52

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.

http://sourceforge.net/projects/telephonectld/

--
a yyta kurka tego

[reply] [top]


[»] Asi que vos sobre IP...?!
by Pablo - Apr 2nd 2002 13:32:41

Muy lindo todo... pero a ver si la proxima lo excribimos en castellano..! Saludos

[reply] [top]


[»] Very useful
by Jerry/Paris/France - Mar 30th 2002 18:29:33

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.

I may get a little more sleep as a result ;-)



[reply] [top]


    [»] Re: Very useful
    by Flavio Villanustre - Mar 30th 2002 20:05:26


    > 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.
    >
    > I may get a little more sleep as a
    > result ;-)
    >
    >
    >
    >
    You should look at Asterisk or Bayonne. They are extensible and support many different telephone interfaces (from cheap analog to the more expensive digital ones). Additionally you could feed a voice recognition package (like cvoicecontrol ) from the telephony server and execute binaries based on what the caller says. Just imagine an alarm ringing when the caller says "emergency". You could even implement a complete IVR system based on similar principles.

    Hope you can sleep better now :-)

    Flavio.

    --
    Flavio Villanustre http://geminis.myip.org

    [reply] [top]


[»] Crazy how these articles pop up when you need them...
by Dr. Lugae - Mar 30th 2002 11:50:10

...I was looking for a VoIP solution just as I pulled up the freshmeat page and there this article was -- immensely useful.

--
-- Thomas D. Tate phoenix at psy dot ed dot asu dot edu http://tank.dyndns.org

[reply] [top]


    [»] Re: Crazy how these articles pop up when you need them...
    by Flavio Villanustre - Mar 30th 2002 12:00:58


    > ...I was looking for a VoIP solution
    > just as I pulled up the freshmeat page
    > and there this article was -- immensely
    > useful.

    Glad to hear that! Feel free to contact me if you need more information.

    Regards,

    Flavio.

    --
    Flavio Villanustre http://geminis.myip.org

    [reply] [top]




© Copyright 2007 SourceForge, Inc., All Rights Reserved.
About freshmeat.net •  Privacy Statement •  Terms of Use •  Trademark Guidelines •  Advertise •  Contact Us • 
ThinkGeek •  Slashdot  •  ITMJ •  Linux.com •  NewsForge  •  SourceForge.net  •  Surveys •  Jobs •  PriceGrabber