Why we designed OwnPages
OwnPages Mail and PBX components followed different histories, recounted below. Apologies for the length of this post.
Why OwnMail?
OwnMail began in 1999 as an in-house hosted business mail service for our ISP operations. Initially written in Perl, it was horribly inefficient. Just 3 months after the first version, we began rewriting it in C/C++ to make it use less server resources. This endeavor was spectacularly successful; OwnMail can service about 10,000 mailboxes per CPU core. The service was popular with our business clients, and over the years we added features they requested. Pretty soon however the limitations of hosted business email became clear to us. For reasons we will elaborate in a while, the ASP model is not always suited to business email, and we often felt some customers were better off running their own mail servers.
We were unsure of how to proceed further. OwnMail had developed into a mature product with potential beyond our business ISP customers. We wanted our customers to have the benefits of LAN mail services, but optimizations for efficiency made OwnMail servers difficult to setup and configure (but not to run and maintain). Even worse, they were based on Slackware Linux!
Enter virtualization. When x86 appliances made their appearance we realized we could have a hybrid model that combined the best of both worlds. Some processing could be done at the WAN level at the option of the customer and the rest by fully configured OwnMail server appliances that would run on your LAN. Thus far virtual appliances have been limited by a lack of understanding of virtualization, but that is changing fast.
Benefits of OwnMail's hybrid model over our earlier ASP model
- Saves bandwidth. Bandwidth is a bit like CPU horsepower; the available tasks expand to consume it completely. Since 90% of communication in a LAN is internal, it seems a waste to haul it into the WAN as an ASP service would.
- Customisation and integration requirements are easier to achieve in an hybrid model, while still allowing maintainability for the service provider.
- Saves storage costs. Debatable, but currently ASP hosted disk space at say Amazon S3 costs more per month than purchase cost of similar sized SATA hard disk. For infrequently accessed data (most data is), this seems expensive.
Benefits of OwnMail's hybrid model over pure LAN based servers
- Can work over ADSL type links. SMTP LAN servers force you to subscribe to expensive static IP "business" Internet connections. Dynamic IP type Internet connections are, on the other hand, seeing a drop in price/MB with an increase in availability. OwnMail's hybrid model allows you to use the latter type of connection while still using SMTP.
- Can outsource complexity. Instead of an all or nothing approach, hybrid hosted allows you to outsource some complex tasks. E.g. in OwnMail you can ask for spam or virus checking to be done in the WAN, which also saves bandwidth.
- Choice of WAN services for road warriors. This class of user is better served by ASP services. OwnMail's hybrid hosted model allows you to seamlessly choose WAN located services for them
Why OwnPages Asterisk PBX?
We began using Asterisk from its earliest days for our VoIP services. We used it to implement an IVR, voice alerts etc. Circa 2005 we decided to replace our PBX with one based on Asterisk. While the end result was more than satisfactory, the process was not. These were the problems we identified:
- Specialized Hardware: Despite the fact that we buy VoIP hardware for our ISP operations, we took forever to hunt out and order specialized hardware for our purpose. We finally setup most of our extensions using ATAs with normal phones, some others with SIP phones, operator extensions with Grandstream and SNOM SIP key phones and wifi extensions with Linksys wireless g-phone and one another. We ended up with multiple brands for most requirements because the first one ordered did not work as advertised. We also ordered Audiocodes for our PSTN interface.
- Cost: Asterisk was of course free, but its setup was decidedly not.
Our cost breakup for about 40 users:
Equipment Cost (USD) Audiocodes MP108 FXO x 2 1800 SIP ATAs x 30 2400 SIP Phones x 10 1200 Key Phones x 4 1000 Wifi Phones x 2 700 Total 7100
- Complexity: Despite the experience we had in using Asterisk, we still managed to take 6 months to setup and test the new PBX. We felt companies without earlier experience of using VoIP would be hard put to use Asterisk.
Advances made since at the Asterisk project and elsewhere have given us the opportunity to address these problems. OwnPages PBX defaults to VoIP trunks for the PSTN interface to remove need for FXO hardware. We bundle a browser phone to replace the ATAs and SIP phones. The browser operator console replaces the key phones. Wifi enabled mobile phones, most of which have SIP capability, replace specialised Wifi phones. With these, the user has the option to reduce cost and setup time for hardware to zero. Asterisk now has many GUIs, though most of them still require experience to use. OwnPages implements a wizard based approach that sets up a default PBX in the shortest time possible and with no requirement to know Asterisk internals. Customizations are then handled by the AsteriskGUI.
As an aside, we are so enamored of our browser phone and console, that we believe we have managed to increase functionality while removing cost. E.g. the browser console shows you availability of each user, manages multiple extensions for that user, and allows you to call him without knowing his extension. Using wifi enabled mobile phones lets the user use his mobile's address book and other services.
Why put them together?
We integrated the two first for our own use, and when we were done realized its full worth. You need to use OwnPages to get it, but I'll try verbalizing:- Connects users with extensions: Asterisk seems to confuse extensions with users. Users are people or roles, whereas extensions are devices that ring or give dial tones. It is essential for manageability and configuration that these two concepts are not confused. OwnMail provides the users and Asterisk the extensions. Once you see extensions as possibly owned by users, features such as multiple extension ringing and presence start becoming useful.
- They together form a communication server. Email and PBX are the two main applications of a communication server. There are others such as chat, conferencing etc, but the infrastructure in terms of user directory and presence created by these two make implementing / integrating the rest easier.
Are there problems with our approach? Yes there are. OSes are shipping with virtualization, but you still need to know how to run a virtual server. You need to be responsible for the data warehouse used by OwnPages, though basic configuration is saved remotely. Will a hybrid system work for everyone? Unlikely. However, we feel for many business requirements, OwnPages is a great fit.