Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
FreeSWITCH 1.2

You're reading from   FreeSWITCH 1.2 Whether you're an IT pro or an enthusiast, setting up your own fully-featured telephony system is an exciting challenge, made all the more realistic for beginners by this brilliant book on FreeSWITCH. A 100% practical tutorial.

Arrow left icon
Product type Paperback
Published in May 2013
Publisher Packt
ISBN-13 9781782161004
Length 428 pages
Edition 2nd Edition
Concepts
Arrow right icon
Toc

Table of Contents (24) Chapters Close

FreeSWITCH 1.2
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
1. Architecture of FreeSWITCH 2. Building and Installation FREE CHAPTER 3. Test Driving the Example Configuration 4. SIP and the User Directory 5. Understanding the XML Dialplan 6. Using XML IVRs and Phrase Macros 7. Dialplan Scripting with Lua 8. Advanced Dialplan Concepts 9. Moving Beyond the Static XML Configuration 10. Controlling FreeSWITCH Externally 11. Web-based Call Control with mod_httapi 12. Handling NAT 13. VoIP Security 14. Advanced Features and Further Reading The FreeSWITCH Online Community Migrating from Asterisk to FreeSWITCH The History of FreeSWITCH Index

The FreeSWITCH design – modular, scalable, and stable


The design goal of FreeSWITCH is to provide a modular, scalable system around a stable switching core, and to provide a robust interface for developers to add to and control the system. Various elements in FreeSWITCH are independent of each other and do not have much knowledge about how the other parts are working, other than what is provided in what are called exposed functions. The functionality of FreeSWITCH can also be extended with loadable modules, which tie a particular external technology into the core.

FreeSWITCH has many different module types that revolve around the central core, much like satellites orbiting a planet. The list includes:

Module type:

Purpose:

Endpoint

Telephone protocols like SIP/H.323 and POTS lines

Application

Performs a task such as playing audio or setting data

Application Programming Interface (API)

Exports a function that takes text input and returns text output, which could be used across modules or from an external connection

Automated Speech Recognition (ASR)

Interfaces with speech recognition systems

Chat

Bridges and exchanges various chat protocols

Codec

Translates between audio formats

Dialplan

Parses the call details and decides where to route the call

Directory

Connects directory information services, such as LDAP, to a common core lookup API

Event handlers

Allows external programs to control FreeSWITCH

File

Provides an interface to extract and play sound from various audio file formats

Formats

Plays audio files in various formats

Languages

Programming language interfaces used for call control

Loggers

Controls logging to the console, system log, or log files

Say

Strings together audio files in various languages to provide feedback to say things like phone numbers, time of day, spell words, and so on

Text-To-Speech (TTS)

Interfaces with text-to-speech engines

Timers

POSIX or Linux kernel timing in applications

XML Interfaces

Uses XML for Call Detail Records (CDRs), RADIUS, CURL, LDAP, RPC, and/or SCGI

The following image shows what the FreeSWITCH architecture looks like and how the modules orbit the core of FreeSWITCH:

By combining the functionality of the various module interfaces, FreeSWITCH can be configured to connect IP phones, POTS lines, and IP-based telephone services. It can also translate audio formats and interfaces with a custom menu system, which you can create by yourself. You can even control a running FreeSWITCH server from another machine. Let's start by taking a closer look at a pair of important module types.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image