Computer Telephony – The Evolution within Open Source

Computer Telephony

Computer Telephony, commonly known as Computer Telephony Integration (CTI) is the use of computers to manage telephone calls. The term is used to describe the computerized services of call centers, such as those that direct a phone call to the right department at a business a customer is calling. It is also sometimes used to describe the ability to use a personal computer to initiate and manage phone calls.

Open Source Computer Telephony

In the early 80s, AT&T started offering an API that allowed users to customize functionality of their Audix voicemail/attendant system, which ran on an AT&T 3BX (usually 3B10) Unix platform. This system cost thousands of dollars a port, and had very limited functionality.

In an attempt to make things more possible and attractive, a couple of manufacturers came out with a card that can be put in the PC, which ran under MS-DOS, and answered one single telephone line. These were rather low quality, compared with today’s standards but still cost over $1000 each. Most of these cards ended up being of really poor audio quality and had flaky personal answering machines. Around the year 1985, few companies came out with good 4-port cards that cost about $1000 each (thus, bringing down the cost to $250 per port). Their functionality was much more reliable than their single port predecessors and offered good sound quality. It was even possible to put 6 or 8 of such cards in a fast 286 machine, creating a 32-port system easily. The age of practical Computer Telephony had just begun!

Jim Dixon, a telecommunications consulting engineer who was inspired by the incredible advances in CPU speeds believed that far more economical telephony systems could be created if a card existed that had nothing more on it than the basic electronic components required to interface with a telephone circuit. Rather than having expensive components on the card, digital signal processing (DSP) would be handled in the CPU by software. Like so many visionaries, Dixon believed that many others would see this opportunity and someone would build such a card. However, after few years, when he realized that no one had built such a card, he decided to do it himself and the Zapata Telephony Project was born.

Jim Dixon wrote the drivers for the cards for BSD. The cards still had to work for Linux systems. This was achieved when Mark Spencer, the father of Asterisk approached Dixon and offered to build the Linux driver for the cards. Together, they worked towards a common goal – bring the ultimate in Telecom Technology to the public at a realistic and affordable price.

In 1999, Mark Spencer started the Asterisk project and released it under the GPL open source license. The success of the project was phenomenal as thousands of developers from around the world began to submit new features and functions.

Zapata Technology has now been used by and included in a number of software packages and many companies presently produce Zapata Technology compatible hardware. It has indeed started a revolution in telephony technology and the telephony business model.

Voice over IP (VoIP)

The VoIP telephone service is a growing industry. It has evolved tremendously from its introduction in 1995 and has become a billion dollar industry today. While it started as a simple means of voice communication between two people in the same network, today it offers world-wide calling with endless capabilities and features.

Due to the standardization of processes and the advent of protocols such as SIP, by the early 2000’s VoIP gained popularity. These also led to various open source implementations of VoIP packages such as Asterisk, FreeSwitch, Kamailio, OpenSIPS, etc. Standardization brought about various open source protocol stacks such as reSIProcate, oRTP and others.

Real-time communications evolved to also incorporate multimedia such as video-conferencing, screen sharing, data sharing, and text-messaging. Telecom operators started deploying their IP services using a framework known as “IP Multimedia Subsystem” (IMS). This led to the launch of Project Clearwater, an open-source cloud-optimized IMS system sponsored by Metaswitch Networks.

Similarly, Google started promoting a standard called WebRTC. WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications capabilities via simple APIs. The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Some Open Source Telecom and VoIP Projects

Asterisk (http://www.asterisk.org/)

Asterisk is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and other custom solutions. It is used by small and large businesses; call centers, carriers and government agencies worldwide. Asterisk is sponsored by Digium.

FreesSWITCH (https://freeswitch.org/)

FreeSWITCH is a scalable open source cross-platform telephony platform  designed to route and interconnect popular communication protocols using audio, video, text or any other form of media.  It was created in 2006 to fill the void left by proprietary commercial solutions.  FreeSWITCH also provides a stable telephony platform on which many applications can be developed using a wide range of free tools.

Kamailio (http://www.kamailio.org/)

Kamailio is an Open Source SIP Server released under GPL, that can handle thousands of call setups per second. It can be used to build large VoIP servicing platforms or to scale up SIP-to-PSTN gateways, PBX systems or media servers like Asterisk, FreeSWITCH or SEMS.

OpenSIPS (http://opensips.org/)

OpenSIPS is an Open Source SIP proxy/server for voice, video, IM, presence and any other SIP extensions. It is a multi-functional, multi-purpose signaling SIP server that can act as SIP Router/Switch, SIP Registrar, Application Server, Redirect Server, Load Balancer / Dispatcher, Back-to-Back User Agent, Presence Server, IM Server, Session Border Controller, SIP Front-End, NAT traversal Server, IP Gateway (SMS, XMPP), etc.

WebRTC (http://www.webrtc.org/)

WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose. The WebRTC team’s mission is to enable rich, high quality, RTC applications development for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols. The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

ClearWater (http://www.projectclearwater.org/)

Clearwater is an open source implementation of IMS (the IP Multimedia Subsystem) designed from the ground up for massively scalable deployment in the Cloud to provide voice, video and messaging services to millions of users. Clearwater combines the economics of over-the-top style service platforms with the standards compliance expected of telco-grade communications network solutions, and its Cloud-oriented design makes it extremely well suited for deployment in a Network Functions Virtualization (NFV) environment. The project is sponsored by Metaswitch Networks.

Bibliography

1.    https://askozia.com/voip/what-is-computer-telephony-integration-cti/
2.    http://searchnetworking.techtarget.com/definition/CTI
3.    http://www.zapatatelephony.org/
4.    http://www.asterisk.org/community/astricon-user-conference/speakers/jim-dude-dixon
5.    http://www.callforwarding.com/blog/evolution-of-voip/
6.    http://www.daitangroup.com/blog/197-the-impact-of-open-source-in-telecom
7.    http://www.broadviewnet.com/blog/2014/03/history-lesson-who-invented-voip/
8.    http://www.asterisk.org/get-started
9.    https://wiki.asterisk.org/wiki/display/AST/A+Brief+History+of+the+Asterisk+Project
10.    http://www.daitangroup.com/blog/197-the-impact-of-open-source-in-telecom
11.    http://www.projectclearwater.org/about-clearwater/
12.    http://www.webrtc.org/
13.    https://freeswitch.org/
14.    http://www.kamailio.org/
15.    http://opensips.org/