A Distributed Feature-Rich Ip Telephony System Towards Achieving High Availability

A Distributed Feature-Rich Ip Telephony System Towards Achieving High Availability

A DISTRIBUTED FEATURE-RICH IP TELEPHONY SYSTEM TOWARDS ACHIEVING HIGH AVAILABILITY By GAUTAM BATRA A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2012 c 2012 Gautam Batra 2 To my parents 3 ACKNOWLEDGMENTS I would like to express my sincere gratitude to my advisor Prof. Haniph A. Latchman for giving me the opportunity to work on this project. Without the insightful guidance and help he provided at every stage, this thesis would not have been possible. I would also like to thank Prof. John Shea and Prof. Janise McNair for being on my supervisory committee. A special thanks goes to Mr. Daniel Oceno for helping me with the configuration of the provisioning system. Finally, I want to thank my family for their patience and unconditional support in all my endeavors. 4 TABLE OF CONTENTS page ACKNOWLEDGMENTS .................................. 4 LIST OF TABLES ...................................... 8 LIST OF FIGURES ..................................... 9 ABSTRACT ......................................... 10 CHAPTER 1 INTRODUCTION ................................... 12 1.1 Private Branch Exchange ........................... 13 1.1.1 Generations of PBXs .......................... 13 1.1.1.1 First generation ....................... 13 1.1.1.2 Second generation ...................... 14 1.1.1.3 Third generation ....................... 14 1.1.1.4 Fourth generation ...................... 14 1.1.2 Components of a Conventional PBX ................. 14 1.1.2.1 Common control ....................... 15 1.1.2.2 Switching matrix ....................... 15 1.1.2.3 Trunk and line interfaces .................. 15 1.1.2.4 Terminal equipment ..................... 16 1.2 Five Nines Availability in a Legacy PBX ................... 16 1.3 Limitations of the Traditional PBX ....................... 18 1.4 The Internet Protocol Private Branch Exchange ............... 19 2 AVAILABILITY AND THE FIVE NINES CRITERION ............... 22 2.1 What is Availability? .............................. 22 2.1.1 Heartbeat ................................ 24 2.1.2 Network Issues ............................. 24 2.2 High Availability Systems for IP Telephony .................. 24 2.3 N+1 Redundancy ................................ 25 2.4 Cisco’s Five-Nines Solution .......................... 25 2.5 ShoreTel’s Five-Nines Solution ........................ 27 3 COMMUNICATION PROTOCOLS USED IN IP TELEPHONY .......... 29 3.1 Session Initiation Protocol ........................... 29 3.2 Real Time Protocol ............................... 32 3.3 Session Description Protocol ......................... 33 3.4 Telephone Number Mapping (ENUM) .................... 34 5 4 COMPONENTS OF THE PHONE SYSTEM .................... 37 4.1 Overview of a Complete VOIP System .................... 37 4.1.1 SIP Proxy ................................ 37 4.1.2 User Administration and Provision Portal .............. 38 4.1.3 PSTN Gateway ............................. 38 4.1.4 Media Server .............................. 38 4.1.5 Media Proxy ............................... 38 4.1.6 Monitoring Tools ............................ 39 4.2 Alpine Linux ................................... 39 4.3 Kamailio ..................................... 40 4.3.1 Scalability ................................ 41 4.3.2 Kamailio Architecture .......................... 41 4.3.3 The Configuration File ......................... 42 4.3.3.1 Global definitions ...................... 42 4.3.3.2 Modules ........................... 43 4.3.3.3 Modules configuration .................... 43 4.3.3.4 Main routing block ...................... 43 4.3.3.5 Secondary routing blocks .................. 43 4.3.3.6 Reply routing blocks ..................... 44 4.3.3.7 Failure routing blocks .................... 44 4.3.4 Role of Kamailio in the VOIP Phone System ............. 44 4.4 FreeSWITCH .................................. 45 4.4.1 Architecture of FreeSWITCH ..................... 45 4.4.2 Basic Operation ............................. 46 4.4.3 Session Border Controller ....................... 48 4.5 The Provisioning Server ............................ 50 5 WORKING OF THE COMPLETE SYSTEM .................... 55 5.1 Overview .................................... 55 5.2 Processing of Calls ............................... 56 5.2.1 Internal Calls .............................. 58 5.2.2 External Calls .............................. 58 5.2.3 Music on Hold .............................. 60 5.2.4 Voice-mail ................................ 60 5.2.5 Conference Calls ............................ 61 5.2.6 Automated Attendant .......................... 62 5.3 Making the System Secure .......................... 62 5.4 Towards Achieving High Availability ...................... 63 6 CONCLUSION .................................... 65 APPENDIX A THE KAMAILIO CONFIGURATION FILE ..................... 66 6 B THE FREESWITCH DIALPLAN ........................... 81 REFERENCES ....................................... 86 BIOGRAPHICAL SKETCH ................................ 88 7 LIST OF TABLES Table page 2-1 Downtimes for different values of availability .................... 22 3-1 SIP response codes ................................. 32 4-1 Popular FreeSWITCH modules [1] ......................... 46 8 LIST OF FIGURES Figure page 1-1 Redundancy in a traditional PBX .......................... 17 2-1 Causes of downtime [2] ............................... 23 2-2 Cisco’s five nines system [3] ............................ 26 2-3 Effect of redundant power supplies, discs and fans [4] .............. 27 3-1 SIP registration process ............................... 30 3-2 SIP main components [5] .............................. 31 3-3 Triangular topology between the SIP proxy, UAS and UAC ............ 31 3-4 RTP message format ................................ 33 3-5 Operation of ENUM ................................. 35 4-1 Components of a complete VOIP system ..................... 37 4-2 The FreeSWITCH default configuration [6] ..................... 48 4-3 FreeSWITCH hiding the network topology ..................... 50 4-4 FreeSWITCH as a B2BUA .............................. 51 4-5 The provisioning process .............................. 53 4-6 Configuring the provisioning server ......................... 54 5-1 Structure of the VOIP phone system ........................ 57 5-2 Call handling process ................................ 59 5-3 Flow chart of the proposed system ......................... 64 9 Abstract of Thesis Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Science A DISTRIBUTED FEATURE-RICH IP TELEPHONY SYSTEM TOWARDS ACHIEVING HIGH AVAILABILITY By Gautam Batra May 2012 Chair: Haniph A. Latchman Major: Electrical and Computer Engineering Voice over Internet Protocol (VOIP) is increasingly gaining popularity over the Public Switched Telephone Network (PSTN) because of its advanced features and flexibility. A crucial factor in the success of a VOIP system is its reliability. VOIP systems must attain reliability levels comparable to the PSTN, which has five nines availability. This thesis describes the design and implementation of a fully functional VOIP system that is well suited for a high availability design. For a comprehensive understanding of the IP based PBX, the working of traditional PBXs and their evolution has been described. A discussion on high availability and how the existing systems achieve it has also been given. The protocols and individual components of the designed system have also been described in detail. The fully functional VOIP system was successfully designed and implemented from basic elements. and is completely developed from open source software. It uses Kamailio, a Session Initiation Protocol (SIP) router for the setting up and routing of calls. It also contains FreeSWITCH, which acts as a SIP accessory to provide extra features such as music-on-hold, voice-mail, automated attendant and conference calls. Calls to the PSTN are supported with the help of FreeSWITCH, which also functions as the Session Border Controller (SBC). Alpine Linux is the operating source used as it is highly conducive for running VOIP systems. The system implemented is flexible and 10 can even be accessed through analog legacy phones with the help of Analog Telephone Adapters (ATAs). The system can be scaled to provide thousands of call setups per second. It uses a modular design and DNS based telephone number mapping. This makes it highly favorable to achieve high availability by adding redundant components and managing failovers with the help of DNS Service Resource (SRV) records. 11 CHAPTER 1 INTRODUCTION Reliability of service is the defining aspect of a telephone system. For several decades, providers of the traditional Public Switched Telephone Network (PSTN) voice switches have been delivering highly reliable services. In order for the IP telephony solutions to be commercially successful and prove to be a viable alternative, they must at least match the level of reliability of the PSTN systems. They must be able to tackle potential failures in service arising because of any possible cause such as hardware, software, network, link or configuration errors, as these cause the reliability of the system to decrease. The metric used to describe the reliability of a telephony system is availability. In simple terms, availability is a measure of the probability that a system is functioning

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    88 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us