Open Source VoIP / FAX / IM / Email Server Project

From Kathmann Labs

Jump to: navigation, search

Contents

Open Source VoIP / FAX / IM / Email Server Project

The concept behind this project was to create a single integrated system that would take care of most SMB communications needs. The system will include a VoIP PBX to replace their existing phone system (or add to it), Unified Voice Messaging, FAX server capable of sending and receiving faxes directly to email, Instant Messenger server integrated with the whole solution, and last but not least email.
The systems work unbelievably well, and have actually taken my heart away from Cisco for VoIP. I currently have several systems in client sites that work flawlessly, and also use one internally in my office (and also Kathmann Labs of course). When done right, the voice quality and reliability are remarkable. When done wrong however, just like anything else, it can be a nightmare.
Some of the really nice features of this system are call center queuing, automated attendants, custom contexts for just about anything, meetme conferencing, the ability to run many different companies completely separately on the same system, configuration from database (native mysql or odbc, for the db of your choice) etc. In addition to the features, the architecture of the system was planned out extremely well. The system can handle SIP, IAX, Skinny, H.323, and I forgot the rest. While it will support many protocols, the main protocol to be used is SIP for phones and devices, and usually IAX for connecting Asterisk based systems together. You have a huge selection of phones; my two personal favorites are the Polycom Phones and Cisco Phones.
For the fax server I chose Hylafax working in conjunction with IAXModem. Hylafax is an open source fax server that allows for you to send faxes to email, email the server to send faxes, install a virtual printer on the desktop machines to send faxes through the fax server, etc. IAXModem is a soft phone that emulates TTY on the linux machine, and connects to Asterisk using the IAX protocol. You can set up many different IAXModems with different extensions to allow for each end user to have fax to email capabilities.
For the IM server I chose Wildfire Server, which is a variation on the Jabber/XMMP project. It's connections into Asterisk were the furthest along when I decided to start the project. It uses a backend database to store the configuration info, which can either by MYSql or the built in database. It integrates into Asterisk so that when a user picks up the phone, it automatically changes the IM Status to "On the Phone". It also allows for you to right click someone in your contacts list (buddy list) and call them directly from there.
For the email server I chose Zimbra, which is by far the closest version to an open source version of MS Exchange that I've been able to find. The Rich Web interface is really AJAX heavy, but allows for drag and drop, right click, etc all inside of the web page. Zimbra also includes a shared calendar, allowing you to send out meeting requests and check the availability of the recipients, just like in Exchange. You can also (for a small fee per user), give MAPI connectivity to Outlook, allowing all of the functionality in Outlook to work seamlessly with Zimbra. You can also do the same with the Apple email client (I don't have a Mac, so I don't know the proper name for it). With that same small fee per user, you can setup Blackberries, Treo's, and some other smartphones to work with the system (or you can set them up for POP/IMAP without that fee).
Do to the sheer size of the configs on this project, I've decided to break the project up into separate projects. One for VoIP, one for Fax, one for IM, etc.
Picture Gallery

Expertise Level

3 of out 5

Hardware

Dell Poweredge SC430
Mini-Box M300
IBM xSeries Servers
Digium TDM2400 w/ Echo Cancellation
Sangoma Remora A2000
Polycom Soundpoint 301
Polycom Soundpoint 601
Sipura / Linksys SPA-841
Linksys 24 Port PoE Switch
DLink 8 Port PoE Switch
Grandstream 486 ATA
Grandstream 488 ATA
Linksys PAP2 ATA

Software

Asterisk
Hylafax
Wildfire Server
IAXModem
Zimbra
CentOS (or your favorite linux flavor

Tools

Wireshark
SipP

Web Links

Voip-Info, an invaluable resource for VoIP related projects
Asterisk website
Commercial company that hosts the Asterisk development. They also make a lot of the PSTN interface boards
Another leading provider of PSTN interfaces for Asterisk
Hylafax Open Source FAX server project
VoIPSupply Website. Cheap source of almost anything Asterisk related
TelephonyWare Website. My other favorite source of anything Asterisk related
Personal tools
extras