ilanga: A Next Generation VoIP-based, TDMenabled



Similar documents
ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers.

Using Asterisk with Odin s OTX Boards

Integrate VoIP with your existing network

Voice over IP Basics for IT Technicians

Internet Telephony Terminology

RT Series IP PBX Products Introduction. All in one telephone system

IP PBX. SD Card Slot. FXO Ports. PBX WAN port. FXO Ports LED, RED means online

Asterisk: A Non-Technical Overview

Crash Course in Asterisk

Overview ENUM ENUM. VoIP Introduction (2/2) VoIP Introduction (1/2)

Voice over IP (VoIP) Basics for IT Technicians

IP Implementation in Private Branch Exchanges From 9:30 a.m until 4:30 p.m (7 hrs./day) 5 days / week

Integrating Voice over IP services in IPv4 and IPv6 networks

Troubleshooting Voice Over IP with WireShark

Softswitch & Asterisk Billing System

Gateways and Their Roles

Management Summary for Unified Communications IP PBX

Operation Manual Voice Overview (Voice Volume) Table of Contents

VoIP Solutions Guide Everything You Need to Know

Mediatrix 3000 with Asterisk June 22, 2011

Contents Introduction Why Fax over IP? How Real-time Fax over IP works Implementation with MessagePlus/Open Summary. About this document

Chapter 1 - Introduction

Advances in Japan Office Telephony

2- Technical Training (9 weeks) 3- Applied Project (3 weeks) 4- On Job Training (OJT) (4 weeks)

Introduction to VOIP. Stephen Okay Abdus Salam Int l Center for Theoretical Physics Trieste, Italy, February 21, 2007

SIP and H.323. SIP call flow example

LessWires Advanced IP Soft-PBX System

Contents. Specialty Answering Service. All rights reserved.

Integrating VoIP Phones and IP PBX s with VidyoGateway

4. H.323 Components. VOIP, Version 1.6e T.O.P. BusinessInteractive GmbH Page 1 of 19

Main characteristics. System

and Voice Applications Eyal Wirsansky, Verso Technologies JaxJUG

Configuration of Applied VoIP Sip Trunks with the Toshiba CIX40, 100, 200 and 670

Need for Signaling and Call Control

Overview of Asterisk (*) Jeff Gunther

Com.X1 the Complete Telephony Solution in a Box

Network Connection Considerations for Microsoft Response Point 1.0 Service Pack 2

Packetized Telephony Networks

Open Source Telephony Projects as an Application Development Platform. Frederic Dickey Director Product Management

Peer-to-Peer SIP Mode with FXS and FXO Gateways

Technical Configuration Notes

Com.X2 Intelligent Branch Exchange

An Introduction to VoIP Protocols

VOICE SOLUTIONS NGN. Telephone-Handbook NEXT GENERATION NETWORK. UAN: (051) /Nayatel

Cisco CME Features and Functionality

Software-Powered VoIP

Configuration Notes 283

IP Telephony Deployment Models

Fig. Setting up of a VoIP call. Fig. Experimental setup

Cisco Small Business Unified Communications 300 Series

Asterisk Fast Start. The Asterisk Fast Start course is a three-day course. The class will consist of a combination of lectures and lab exercises.

Leveraging Asterisk to Deliver Large Scale VoIP Services in a Carrier Environment. JR Richardson

CVOICE Exam Topics Cisco Voice over IP Exam # /14/2005

Direct IP Calls. Quick IP Call Mode

IP- PBX. Functionality Options

Curso de Telefonía IP para el MTC. Sesión 1 Introducción. Mg. Antonio Ocampo Zúñiga

TDS Series. Enterprise Class Hybrid IP Communication System. A High Performance Communication System for Midsize to Large Enterprises 40 TO1280 PORTS

Implementing Cisco IOS Telephony and Unified Communications Express (IITUCX)

DATA COMMUNICATIONS MANAGEMENT. Larry Schessel INSIDE

IP Office - Voice Communications Capabilities

Introduction to VoIP Technology

Any to Any Connectivity Transparent Deployment Site Survivability

VoIP and IP IT Tralee

Written Testimony of John L. Barnes Director of Product Development Verizon Business. Hearing on VoIP: Who Has Jurisdiction to Tax It?

Combining Voice over IP with Policy-Based Quality of Service

Building Voice VPN with Simton IPX

ZyXEL V100 Support Notes. ZyXEL V100. (V100 Softphone 1 Runtime License) Support Notes

NTP VoIP Platform: A SIP VoIP Platform and Its Services

To ensure you successfully install Timico VoIP for Business you must follow the steps in sequence:

Hands on VoIP. Content. Tel +44 (0) Introduction

BLACK BOX. The Changing Communications Market. PBX Systems for Voice over IP (VoIP)

B rismark. Open Source IP PBX The Future of Telephony. T: W:

Configuration Notes 290

Computer Networks. Voice over IP (VoIP) Professor Richard Harris School of Engineering and Advanced Technology (SEAT)

Implementing Cisco IOS Telephony and Unified Communications Express (IITUCX)

How To Set Up An Ip Trunk For A Business

With 360 Cloud VoIP, your company will benefit from more advanced features:

The MOST Affordable HD Video Conferencing. Conferencing for Enterprises, Conferencing for SMBs

Indepth Voice over IP and SIP Networking Course

ehealth and VoIP Overview

Selecting the Right SIP Phone for Your IP PBX By Gary Audin May 5, 2014

Voice Rate Plans. A Call Path + Inbound Phone Number combination is commonly referred to as a Phone Line.

8 Port Modular IP PBX Solution 8 Port IP PBX + SIP Gateway System IPG-80XG

CVOICE - Cisco Voice Over IP

ICTTEN5168A Design and implement an enterprise voice over internet protocol and a unified communications network

Understanding IP Faxing (Fax over IP)

Whitepaper: Microsoft Office Communications Server 2007 R2 and Cisco Unified Communications Manager Integration Options

Literature Review. Re-establishing and improving the experimental VoIP link with the University of Namibia: A Case Study

Multimedia Service Platform

Understanding Voice over IP

IIUC Implementing Cisco IOS Unified Communications (IIUC) Version: Demo. Page <<1/9>>

VoIP Glossary. Client (Softphone client): The software installed in the userâ s computer to make calls over the Internet.

NCS 416 Paul Brennan Mohammed Haque IAX2 Trunking

Internet Telephony PBX System

Integration of GSM Module with PC Mother Board (GSM Trunking) WHITE/Technical PAPER. Author: Srinivasa Rao Bommana

Transcription:

ilanga: A Next Generation VoIP-based, TDMenabled PBX J. Penton, A. Terzoli Computer Science Department Rhodes University Grahamstown, 6140 Email: j.penton@ru.ac.za Tel: (046) 603 8640; Fax: (046) 636 1915 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 [1], SIP Express Router (SER) [2], and OpenH323 Gatekeeper (OpenGK) [3]. 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 [4]. 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)

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 voicemail 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 voicemail 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 [5]. 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, 0.9.0. 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: bob@sip.ru.ac.za. 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, bob@sip.ict.ru.ac.za, 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

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 voicemail, 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, 0.8.12 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 8640. 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. 7000-7999 and 8000-8999). 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, 2.0.7. 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

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 [6]. 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 [7]. 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 [8]. This Asterisk TAPI driver is a TAPI Service Provider for Asterisk that acts as a gateway between windows applications, like Outlook, and the

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 voicemail message for an ilanga user triggers ilanga to deliver an email to the appropriate user s email address with the voicemail 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 emails read to them using text-to-speech synthesis. Another service allows ilanga users to register VIP email addresses via a web interface. When an email arrives from any of the registered VIP contacts, ilanga is triggered to call and notify the user of the email 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 voicemail 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 [1] Asterisk, www.asterisk.org OpenGK SER [2] SIP Express Router, www.iptel.org/ser [3] OpenH323 Gatekeeper, www.gnugk.org 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 [4] J. Penton, A. Terzoli, Asterisk: A Converged TDM and Packet-based Communications System, South African Telecommunications Networks and Applications Conference, September 2003, Fancourt [5] M. Spencer, F.W. Miller, IAX Protocol Description, March 2004, Available online at www.cornfed.com/iax.pdf [6] Telkom S.A Ltd., Call Cost Management Information for PABX s, Available online at www.telkom.co.za/mpi

[7] N. Gudiño, Asterisk Flash Operator Panel, Available online at www.asternic.org [8] Omniis, The Omniis Asterisk TAPI Driver, Available online at www.omniss.com/ntsgr/cms/page.asp?688 [9] 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.