1 ilanga: A Next Generation VoIP-based, TDMenabled PBX J. Penton, A. Terzoli Computer Science Department Rhodes University Grahamstown, Tel: (046) ; Fax: (046) Topic: Next Generation Networks ABSTRACT 1 - ilanga is a complete, cost-effective, computer-based PBX built and being prepared as a commercial product at Rhodes University. Running on a single PC (in its minimal configuration), ilanga provides all the features of a conventional PBX together with full support for VoIP. In this paper we introduce and discuss ilanga s architecture, emphasising its main components, Asterisk, SIP Express Router (SER) and OpenH323 Gatekeeper (OpenGK). We also discuss the development of new services and features in ilanga as well as the possibility to manage and customize it. The paper concludes with the description of a pilot deployment of ilanga that we are using to test and refine the system. I. INTRODUCTION The advancements in computer networks allows complete telephony over them, often referred to as VoIP (Voice over Internet Protocol). ilanga is an open, computer-based telecommunication product being put together at the Rhodes University Computer Science Department. ilanga can be installed in an IP-compliant computer network, with the possibility of connection to existing legacy private branch exchanges (PBX) or the public telephone network (PSTN) using specialised, low cost hardware. Ilanga is built from various components implemented by the open source community, including Asterisk , SIP Express Router (SER) , and OpenH323 Gatekeeper (OpenGK) . This paper describes the ilanga architecture with an emphasis on its main components. decided to extend its VoIP support, hence the addition of SER and OpenGK in ilanga. Development of services in ilanga is made easy by the unique design of its core switching component, Asterisk. We discuss this in section 3, with some examples to help illustrate the discussion. Most conventional PBX systems are not open and can not be customised or enhanced without the aid of the PBX vendor. We show the flexibility of ilanga in terms of customisation and enhancement, providing accomplished programmers with full control of the system. ilanga is currently deployed experimentally in the Rhodes University Computer Science Department to provide telephony services to its post graduate students. Section 5 concludes with a description of this deployment. II. ILANGA ARCHITECTURE ilanga is comprised of three open source products, Asterisk, SIP Express Router (SER) and OpenGK (see figure 1). Asterisk (core switching software) The main switching component of ilanga is Asterisk. Asterisk is an open source converged TDM and packet-based communication system, which we discussed in detail in a previous paper . Asterisk is a stand-alone component that provides limited support for large-scale VoIP networks. We This work is under the auspices of the Centre of Excellence in Distributed Multimedia at Rhodes University, which is funded by Telkom SA (Pty) Ltd, THRIP, Letlapa Mobile Solutions and Comparex Africa. SER (SIP proxy) ilanga Box Figure 1: ilanga main components OpenGK (H.323 gatekeeper)
2 II.1 Asterisk Asterisk is essentially a switching system, connecting calls among users as well as automated tasks. The switching core transparently connects calls arriving on various hardware and software interfaces by routing them according to a highly customisable dial plan. Asterisk provides all traditional PBX features, plus more. It features a complete voic system and interactive voice response system (IVR) including music on hold (MOH), as well as basic call services like call transfer, call conferencing, call intrusion, etc. Asterisk is designed to allow users to make use of its services independently of the network in which they reside. For example, ilanga users can access their voic from their SIP phone, H.323 phone or cell phone transparently. Asterisk is responsible for the interoperation of the different communications protocols and networks. Asterisk handles the translation at the call signalling layer (e.g. SIP to H.323) as well as the media layer (e.g. G723.1 audio codec on the IP network to PCM audio on the PSTN and PBX networks). To successfully carry out the signalling and media conversion, Asterisk must remain in the path of all calls at both the call signalling layer and the media layer. As a result, the load on a single Asterisk server can become high when there is a high call volume. Fortunately, Asterisk is designed to be easily distributed among a number of servers and still function as a single atomic unit. Decomposition of Asterisk into multiple servers is made possible by the Inter-Asterisk Exchange (IAX) protocol . Although developed to facilitate communication between distributed Asterisk servers, IAX is a complete VoIP protocol that is gaining popularity, with a number of clients already available. The design of IAX was inspired by SIP and MGCP and extended to: minimise bandwidth usage for both control and media transmissions provide network address translation (NAT) transparency support the ability to transmit dial plan information support efficient implementation of intercom and paging features Naturally, no additional management, registration and authorisation components are required to support IAX in ilanga. IAX clients connect directly to Asterisk with no need for an intermediate component. Currently, ilanga runs the latest stable release of Asterisk, II.2 SER Asterisk has a built-in SIP proxy server that handles SIP client registrations. This proxy server is limited in functionality and acts only as a minimal SIP location server. We decided to incorporate a more advanced SIP proxy server into the ilanga PBX. SIP Express Router (SER) is an open, high-performance SIP proxy, location and redirect server. SER is suitable for a range of scenarios including small-office use, enterprise PBX replacements and carrier services. In ilanga SER is used in conjunction with Asterisk to manage SIP registrations and provide innovative SIP services. SIP peer-to-peer proxy communication SIP Users SER SIP Proxy Asterisk IP Network Figure 2: Asterisk SER peer proxy communication SER manages all ilanga SIP users and acts as a point of entry for SIP users into the ilanga environment (figure 2). In this architecture SIP users can enjoy the functional benefits of SER, like instant messaging, presence and forking and still have access to the functionality provided by Asterisk. When configured as a forking proxy, SER enable users to register with any number of SIP clients from different locations simultaneously and still keep the same address. For example, assume that Bob is assigned the SIP address: Let us also assume that Bob has a number of active SIP clients (for example his laptop, his computer at home and his SIP telephone at work). When someone calls Bob s SIP address, SER will forward the request to all three of Bob s registered clients, causing each one to ring. As soon as Bob answers one of the clients, the call is setup and the remaining clients stop ringing. This functionality is extended to TDM networks and other VoIP networks (H.323, IAX) via Asterisk. Calls can therefore be forked to any VoIP or TDM based communication device. For example, Bob s set of ringing devices could include his H.323 phone, IAX phone and cell phone. Another advantage of this architecture is security. SIP users must register and authenticate with SER before being able to
3 use the services of ilanga. The SIP proxy server in Asterisk supports only plain text authentication, while SER provides more secure digest authentication. In ilanga SER and Asterisk complement each other and appear as one atomic unit to users. This is accomplished by the cooperation of SER and Asterisk as peer SIP proxies. SER forwards calls to Asterisk according to its dial plan. We designed SER s dial plan to forward all calls to users on different networks (for example, H.323, IAX, TDM) as well as service calls (like voic , call conferencing, directory services) to Asterisk. Asterisk s dial plan is designed to forward calls directed to SIP users to SER. Configuring SER and Asterisk to cooperate as peer proxies is relatively easy. However, care has to be taken to ensure that the individual dial plans of SER and Asterisk are complementary and that the possibility of infinite routing loops is eliminated. Currently, ilanga runs the latest release version of SER, II.3. OpenGK Asterisk supports the H.323 protocol and behaves as an H.323 terminal or H.323 gateway endpoint. Asterisk does not provide any H.323 management or alias address mapping functionality, i.e. it does not provide H.323 gatekeeper functionality. An H.323 gatekeeper is an important component of an H.323 network and is responsible for management, authentication, authorisation and alias address mapping. We decided to integrate an H.323 gatekeeper into ilanga to provide such functionality to H.323 users (see figure 3). H.323 Users OpenGK H.323 Gateway <=> Gatekeeper communication H.323 GW Asterisk Figure 3: Asterisk H.323 Gateway OpenH323 Gatekeeper communication The OpenH323 Gatekeeper (OpenGK) is a fully featured H.323 gatekeeper based on the open source OpenH323 protocol stack. OpenGK provides call control services to H.323 endpoints, such as Address Translation, Admissions Control, and Call Authorization. OpenGK manages all ilanga H.323 users and provides them with a point-of-entry into Asterisk. Similarly to SER, H.323 users must authenticate with OpenGK to access Asterisk. Again, this adds a basic level of security to ilanga s services and resources. H.323 Address Translation is an important function provided by OpenGK to ilanga H.323 users. Without address translation H.323 users would not be able to dial alphanumeric aliases (e.g. Bob ) or conventional telephone numbers (E.164, numbers), such as Instead they would have to use the IP address of the endpoint they want to call. OpenGK solves this by mapping aliases and E.164 numbers to their corresponding IP addresses. We configured OpenGK and Asterisk to cooperate by registering Asterisk with OpenGK as a gateway. By registering it as a gateway, Asterisk can instruct OpenGK to map E.164 numbers and alphanumeric aliases to their corresponding IP address. For example, we configured Asterisk to register the prefixes 7 and 8 with OpenGK to correspond with the number blocks for all ilanga users (e.g and ). The 8XXX number block is used by the Rhodes University legacy PBX: when an H.323 user dials a number of the form 8XXX, the call is routed via OpenGK to Asterisk and finally to the Rhodes University PBX via Asterisk s ISDN BRI interfaces into the PBX. The 7XXX number block is used for all other ilanga users (VoIP or TDM). H.323 calls to numbers of the form 7XXX are similarly routed via OpenGK to Asterisk where they are routed to the corresponding ilanga user according to Asterisk s dial plan. Using the above prefixes we were able to maintain consistency in the ilanga dial plan, ensuring that H.323 users can dial the same numbers as any other ilanga user (e.g. TDM user) to call other users and Asterisk services. Currently, ilanga runs the latest release version of OpenGK, III. SERVICE DEVELOPMENT IN ILANGA: PREPAID BILLING Most conventional PBXs support some form of billing. Asterisk has no built-in support for any billing so we decided to write our own. We opted for the prepaid variant of billing, which is nowadays very common. To write a good prepaid billing system, we needed to address the following: decide where the service would be located in the ilanga architecture decide on the best way to integrate the service into the chosen ilanga component source accurate tariffs from our telephony service provider, Telkom
4 As Asterisk is the central component of ilanga that acts as a gateway to the PSTN, it is the ideal component in which to implement a prepaid billing service for ilanga. We sourced accurate call cost management information from Telkom s website . This information is available in the form of three comma separated values (csv) files and we were able to populate a database with the information easily. Developers can create new services in Asterisk using either of the following two methods: the Asterisk Gateway Interface (AGI) a C API The AGI is analogous to CGI for web developers. Similarly AGI scripts can be written in any programming language, like Perl, PHP, C, etc and executed as external processes. They represent the easiest and most flexible way to extend Asterisk's capabilities. AGI scripts are executed according to the dial plan and communicate with Asterisk via Linux standard input and standard output pipes. As an example, we used an AGI script to provide an automated exam result reading service at the end of the 2003 academic year at Rhodes University. This service enabled students to call ilanga and have their exam results read to them. When a student dialed the MarkReader service from their telephone, they were routed to the MarkReader AGI script. The AGI script, which is written in Perl, prompts the student to authenticate using a student number and password using telephone touch tones (DTMF). Once authenticated, the script connects to the student database, retrieves the results for the authenticated student, synthesizes the results into an audio format, and delivers it to the student. Once the interrupt is triggered Asterisk clears the call. Telkom provides a demo application that can be used to calculate the cost of any call based on the time, the source and the destination number. The prepaid billing application in ilanga calculates call costs that correspond to the values returned by the Telkom demo application, to the cent. IV. ILANGA CUSTOMISATION AND ENHANCEMENT ilanga can be customised easily. The dial plans for OpenGK, SER and Asterisk are defined in text files making them accessible to be edited easily in standard text editors or via customised front-ends. The dial plans are also well designed, offering an intuitive means of defining dial plan logic. User information is stored in a MySQL database and can be managed directly on the ilanga box or remotely via a simple CGI-based web interface. The Asterisk manager interface can also be used to customise ilanga and to build innovative user interfaces. Using the manager interface it is possible to control ilanga s operation as well as retrieve important operating information. The Asterisk manager interface is a client-server interface that operates over TCP, enabling Asterisk to be managed and monitored remotely. For example, figure 4 illustrates an example of a flash-based web interface used for remote monitoring of registered ilanga users, and their status as well as the status of TDM lines. This interface is called Operator Panel and was written by Nicolás Gudiño . AGI scripts have limited control over Asterisk s operation. In cases where a service requires more control than is possible with AGI scripts the C API must be used. A major requirement of a prepaid billing system is to ensure that a call to the PSTN be terminated when the user runs out of credit. Such functionality is not possible through the use of AGI so we developed the prepaid billing system using the Asterisk C API. The Asterisk C API is clearly defined and easy to use. One of the design goals of the service was to minimise the load the application would place on the Asterisk server: we didn t want the billing system to continuously monitor the call and keep a running total of the call cost. Instead, we programmed the system to calculate the maximum time a user could phone a particular destination based on: the tariff rate for the called destination at the particular time the user s available prepaid credit Naturally, this method is possible only via the use of software interrupts, which signal the condition of zero prepaid balance. Figure 4: Remote monitoring of ilanga Another application that illustrates the functionality of the Asterisk manager interface is the Omniis Asterisk Telephony Application API (TAPI) driver . This Asterisk TAPI driver is a TAPI Service Provider for Asterisk that acts as a gateway between windows applications, like Outlook, and the
5 Asterisk manager interface. It can perform call origination, providing Outlook with a click-to-dial interface from its contacts window. As mentioned earlier, the Asterisk manager interface can also be used to collect data. For example, in a call centre, statistics can be obtained for the average call load, the productivity of the agents, the average time taken to answer a new call, etc. V. NEXT GENERATION SERVICES The convergence of telephony and data networks provided by ilanga opens the door to new services, until now difficult in conventional telecommunication networks. ilanga makes it possible to create new services that leverage the integration of conventional telephony services with existing data services. For example, the reception of a new voic message for an ilanga user triggers ilanga to deliver an to the appropriate user s address with the voic attached as an audio file. A more complex service written at Rhodes University enables ilanga users to dial a service number, authenticate themselves and have their s read to them using text-to-speech synthesis. Another service allows ilanga users to register VIP addresses via a web interface. When an arrives from any of the registered VIP contacts, ilanga is triggered to call and notify the user of the s presence. The user is also able to instruct ilanga to read the message. VI. ILANGA FIELD TEST ilanga is currently deployed experimentally in the Rhodes University computer science department (figure 5) and is available to staff and post graduate students. Packet Network CS LAN H.323 IAX SIP The deployed system runs on a single 2.4GHz computer with 1GB of RAM. A 100Mbit Ethernet interface provides access to the department s data network. Four ISDN cards provide access to the TDM network via ISDN lines (1 card connects to the PSTN and three cards connect to the existing Rhodes University legacy PBX). Two 4-port FXS analogue cards provide 8 interfaces for analogue telephones, which are available around the building for public use. The field test users each have an account that allows them to access the ilanga system from any VoIP (SIP, H.323 or IAX) client. A number of VoIP clients exist that allow users to use ilanga from their computers, pocket PCs or any specialised VoIP telephone. Users can also use any of the eight publicly available analogue telephones. Because the analogue telephones are open to the public, users must authenticate themselves using touch tones when accessing any protected resources (e.g. the connection to the PSTN). Users have voic boxes that they can customise to suit their needs i.e. record their busy and unavailable messages, create and configure their message folders, etc. Our initial goal for the pilot deployment of ilanga was to provide the post-graduate students of the department with telecommunications services. Currently, ilanga provides each student with an extension number and a prepaid billing account that they can use to make and receive calls from their desktop computers to the existing Rhodes University PBX, or Telkom s public network. CONCLUSION We have successfully integrated essential components of VoIP networks with Asterisk to create a next generation VoIP-based, TDM-enabled PBX. The result is a stable, cost effective and feature rich communication product. REFERENCES  Asterisk, OpenGK SER  SIP Express Router,  OpenH323 Gatekeeper, Voice Telephones on PSTN Voice Telephones on PBX 1 ISDN line Ethernet 3 ISDN lines ilanga Box 8 analog FXS lines Figure 5: ilanga field test deployment  J. Penton, A. Terzoli, Asterisk: A Converged TDM and Packet-based Communications System, South African Telecommunications Networks and Applications Conference, September 2003, Fancourt  M. Spencer, F.W. Miller, IAX Protocol Description, March 2004, Available online at  Telkom S.A Ltd., Call Cost Management Information for PABX s, Available online at
6  N. Gudiño, Asterisk Flash Operator Panel, Available online at  Omniis, The Omniis Asterisk TAPI Driver, Available online at  F. Orthman, 2002, Softswitch Architecture for VoIP, McGraw-Hill Professional Jason B. Penton is a Telkom S.A employee who is currently reading for his Doctoral Degree in Computer Science at Rhodes University. He is working in the area of VoIP focusing on SIP, H.323 and next generation softswitches.
Voipswitch Manual for version 340 and higher by Gabriel Georgescu 1 OVERVIEW 3 SOFTSWITCH 4 REQUIREMENTS. 10 PROGRAM INSTALLATION. 10 LAUNCHING THE MAIN APPLICATION VOIPSWITCH 12 GATEWAYS 18 GK/REGISTRAR
IP TELEPHONY POCKET GUIDE BY BARRY CASTLE 2nd Edition September 2004 ShoreTel, Inc. 960 Stewart Drive Sunnyvale, CA 94085 408.331.3300 1.800.425.9385 www.shoretel.com email@example.com TABLE OF CONTENTS
VoIP User Guide - Setting up your VoIP system from Gradwell dot com VoIP User Guide Author: Communication Arts, for Gradwell Effective from: August 2006 Document version: Edition 2 Gradwell dot com ltd,
Copyright 2006-2013, 3CX Ltd. http://www.3cx.com E-mail: firstname.lastname@example.org Information in this document is subject to change without notice. Companies names and data used in examples herein are fictitious unless
Station Features Abbreviated Dial Call Park Call Pick-up Call Transfer Call Waiting Call Waiting with Caller ID Call Waiting / ID Manager Day, Date, and Time Display Denied Origination Direct Extension
HP VoIP solution for service providers white paper Introduction...2 Target voice...4 VoIP networks...4 OCSC components...6 Deployment in operation...9 Edge domain...12 Core Class IV domain...13 Class V
NENA VoIP Technical Committee VoIP Characteristics NENA 08-503 - VoIP Characteristics (TID) Issue 0, June 10, 2004 Prepared by: National Emergency Number Association (NENA) VoIP Technical Committee - VoIP
Report Number: I332-016R-2005 Security Guidance for Deploying IP Telephony Systems Systems and Network Attack Center (SNAC) Released: 14 February 2006 Version 1.01 SNAC.Guides@nsa.gov ii This Page Intentionally
Common VoIP Architecture Executive Summary This white paper describes the architecture of AT&T s common infrastructure for real-time communications services over Internet protocol, commonly referred to
The Definitive IP PBX Guide Understand what an IP PBX or Hosted VoIP solution can do for your organization and discover the issues that warrant consideration during your decision making process. This comprehensive
Analysing the Characteristics of VoIP Traffic A Thesis Submitted to the College of Graduate Studies and Research in Partial Fulfillment of the Requirements for the degree of Master of Science in the Department
Table of Contents Introduction... 3 What is VoIP... 3 What is Asterisk... 4 Benefits and Costs... 6 Design... 9 Setting Requirements... 9 Core Selection/Distribution Selection... 9 VoIP, PSTN, Internet...
SMALL BUSINESS PHONE SYSTEMS OFFER BIG BUSINESS ADVANTAGES Investing in a phone system is an important step for any small business. Your decision to sign up for small business phone service service should
IceWarp Unified Communications VoIP Service Reference Version 10.4 Printed on 13 April, 2012 Contents VoIP Service 1 Introduction... 1 The Big Picture... 4 Reference... 5 General... 5 Dial Plan... 7 Dial
Voice over Internet Protocol (VoIP): The Dynamics of Technology and Regulation by Chintan Vaishnav Bachelor of Engineering, Electronics and Communications Rastriya Vidyalaya College of Engineering, Bangalore
967 COMPUTING April 213 Vol4 No9 967984 Implementation of VoIP services through the Integration of technologies Call Manager Express and Asterisk Server HUERTAE *, CANOM, HERRERAJ, BARRONJ, QUINTANILLAJ,
Document Scope This solutions document describes how to deploy and manage SonicWALL s integrated VoIP security features to enable the secure deployment of VoIP communications in a variety of network environments.
Document Scope This solutions document describes how to deploy and manage SonicWALL s integrated VoIP security features to enable the secure deployment of VoIP communications in a variety of network environments.
VoIP Solutions Guide Everything You Need to Know Simplify, Save, Scale VoIP: The Next Generation Phone Service Ready to Adopt VoIP? 10 Things You Need to Know 1. What are my phone system options? Simplify,
IceWarp Unified Communications Reference Version 11.1 Published on 11/4/2014 Contents... 4 About... 5 The Big Picture... 7 Reference... 8 General... 8 Dial Plan... 9 Dial Plan Examples... 12 Devices...
Representing Chief Information Officers of the States May 2005 VoIP and IP TELEPHONY: Planning for Convergence in State Government Representing Chief Information Officers of the States VoIP and IP Telephony:
Solution Brief Business VoIP Buyers Guide So you ve heard the hype. Perhaps you ve decided that it makes sense to consider a move to VoIP (of some kind)...you re not alone: The 2011 version of a regular
BT Hosted VoIP (Enhanced) User Manual Bringing it all together IT communications support Congratulations, and thank you for choosing BT Hosted VoIP A powerful business phone system at a fraction of the
Business Telephone Systems www.toshiba.com.au Toshiba gives you more... A world renowned leader in technology for more than 130 years, Toshiba delivers the most reliable IP business communication solutions
Network And Internet Management Services VoIP Products Guide Contents Contents... 2 1. What is VoIP?... 5 Why choose VoIP?... 5 2. What VoIP products do we offer?... 5 VoIP EasyAccess... 5 VoIP Express...