IP Communication: Open For Business Kevin P. Fleming Senior Software Engineer Digium, Inc. kpfleming@digium.com +1.256.428.6012
Community Worldwide participation Hobbyists Corporate users Contracted/Employed developers Competition
Competition What's good for you is good for your competitors Contributing your code makes you and your company a valued member of the community, but... Your competitor gets to leverage your work in their own products and may not return their own code
Technologies SIP, H.323, MGCP, IAX2, SCCP, Unistim, etc. TDM protocols (T1/E1/J1/R2, ISDN BRI/PRI) PBX, IVR, ACD, Class 4/5 Routing, transcoding, monitoring, recording Database connectivity to all major database systems Protocol translation
Platforms Open Source operating systems: Linux, FreeBSD, OpenBSD, Mac OS X Commercial operating systems: Solaris, Windows Hardware platforms: X86/X86-64, Power, Sparc, MIPS (and many more)
Licensing Most FOSS projects use GNU General Public License version 2 (or similar) Contributors retain copyright to their code Code cannot be used with or linked to non-gpl code without exceptions being granted Code cannot be incorporated into commercial product without complying with GPL or obtaining alternative license
Support Google is your best friend! Mailing lists, IRC channels, web sites/wikis Paid support available for many projects Consultants specialize in specific areas and can provide a great deal of configuration/development assistance Urgent support requests will fall on deaf ears in most cases... using FOSS projects means you need to be very self-sufficient
Project Management FOSS projects run on 'Internet time' Bugs are usually fixed quickly, unless obscure Features are added when someone feels like coding/testing them Many projects have commercial enterprises involved who can develop and add code for a fee Code (especially development code) can change radically in a short time period, making developing add-on products a challenge
Lifecycle FOSS projects have widely varying release cycles Backwards compatibility is not always preserved Documentation lags code releases (sometimes by many months) Major new features that you contribute may not appear in an actual release for an extended period Bug fixes (especially security issues) are frequently the driving force for minor releases
Standard Software Development
Open Software Development
Advantages of Open Source Economics lower costs to try and implement Free market analogy: Minimal central planning Community of self-interested developers Necessity is the mother of invention Features and fixes follow community (market) needs Quick time to market, short development cycle User Transparency results in quick fixes to problems Given enough eyeballs, all bugs are shallow (Eric S. Raymond) Open Standards If supporting company dies, software lives on
Where Open Source Fits
Status of Open Source Telephony FOSS telephony is used in all market segments, not just IP-PBX (carrier switches, call centers, feature servers, etc.) FOSS products are installed around the world Every significant VOIP and PSTN protocol is supported, and some FOSS products can interconnect all of them FOSS telephony products have become platforms for new and innovative applications to be developed and deployed
Enterprise Usage of Open Source Few 'showcase' enterprise users... There are large deployments that have completely replaced traditional telephony products OSS products are being introduced and adopted into enterprise networks via the IT/networking staff, as they find these products are good solutions to problems that they need to solve Once the products gain a foothold in the enterprise network, they begin being used for traditional telephony tasks as well
Phased Migration to Open Source Many users start the process of deploying FOSS telephony in their network by inserting the FOSS solution between their existing proprietary system and their PSTN providers This allows for either additional features to be added to the proprietary system, or migration of users to the FOSS platform, or both In many cases, FOSS products can provide VOIP connectivity to proprietary systems at a small fraction of the cost of the product from that system's manufacturer
Feature Replacement Some users use FOSS products to completely replace entire 'feature' services of their existing solution University of Pennsylvania is replacing traditional Centrex-connected voicemail solution with FOSS product Discovery Research began using FOSS product for ACD/call center functionality Aheeva also began using FOSS product for ACD/call center functionality
Application Platforms FOSS projects are frequently being used as platforms for development of new applications Many applications that are being used today would not have been possible using commercial application platforms (at least not in the time frame or cost structure that FOSS allowed)
Capabilities of Open Source FOSS products have the ability to be used in every application that traditional products can be used FOSS products are ideally suited to building signaling gateways or 'translators' between disparate systems FOSS products can even be used to build 'border controllers' between proprietary IP telephony platforms
Limitations of Open Source FOSS telephony solutions lag behind proprietary systems in some areas, including law enforcement compliance and advanced call routing in the PSTN There is some usage of FOSS products in emergency response networks, but primarily as a migration tool for VOIP support in those networks FOSS telephony is actually leading the move towards encrypted/secure voice communications, but this impacts interoperability
Ground Rules for using Open Source A thorough understanding of all protocols and services being used is mandatory; FOSS products tend to expose the complete details of the system, rather than 'packaging' it for the user FOSS telephony products tend to be 'toolkits' or 'platforms', which can be used in many ways but don't come preconfigured to act in any particular way Using FOSS products in your telephony network will be challenging, rewarding, fun and frustrating all at the same time!
Thank You!