FreeSWITCH 1.8

Build a robust, high-performance telephony system with FreeSWITCH

FreeSWITCH 1.8

This ebook is included in a Mapt subscription
Anthony Minessale II, Giovanni Maruzzelli

Build a robust, high-performance telephony system with FreeSWITCH
$10.00
$44.99
RRP $35.99
RRP $44.99
eBook
Print + eBook
Access every Packt eBook & Video for just $100
 
  • 4,000+ eBooks & Videos
  • 40+ New titles a month
  • 1 Free eBook/Video to keep every month
Find Out More
 
Preview in Mapt

Book Details

ISBN 139781785889134
Paperback378 pages

Book Description

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat-driven products, scaling from a soft-phone to a PBX and even up to an enterprise-class soft-switch. This book introduces FreeSWITCH to IT professionals who want to build their own telephony system.

This book starts with a brief introduction to the latest version of FreeSWITCH. We then move on to the fundamentals and the new features added in version 1.6, showing you how to set up a basic system so you can make and receive phone calls, make calls between extensions, and utilize basic PBX functionality.

Once you have a basic system in place, we’ll show you how to add more and more functionalities to it. You’ll learn to deploy the features on the system using unique techniques and tips to make it work better.

Also, there are changes in the security-related components, which will affect the content in the book, so we will make that intact with the latest version. There are new support libraries introduced, such as SQLite, OpenSS, and more, which will make FreeSWITCH more efficient and add more functions to it. We’ll cover these in the new edition to make it more appealing for you.

Table of Contents

Chapter 1: Architecture of FreeSWITCH
Real-time communication without mysteries
The FreeSWITCH design - modular, scalable, and stable
Important modules - Endpoint and Dialplan
Complex applications made simple
Summary
Chapter 2: Building and Installation
Where to Install FreeSWITCH
Installing FreeSWITCH
Summary
Chapter 3: Test Driving the Example Configuration
Important concepts to understand
FS_CLI and Console, Controlling FreeSWITCH
Configure SIP and make the first calls in demo dialplan
Summary
Chapter 4: User Directory, SIP, and Verto
User Directory concepts
AAA: Authentication, Authorization, Accounting
Exploring and Using the Demo Example User Directory
Communicate with the World via SIP Gateways and DIDs
Summary
Chapter 5: WebRTC, SIP, and Verto
WebRTC concepts
Encryption Everywhere
WebRTC in FreeSWITCH
Installing and Configuring WebRTC in FS
Writing WebRTC Clients
WebRTC Rooms, both SIP and Verto Clients
Summary
Chapter 6: XML Dialplan
Forget all you know
Contexts
Extensions
Conditions (and "patterns")
Call legs (channels)
Channel Variables
Regular Expressions
Actions and anti-actions
How dialplan processing works
Important dialplan applications
Dialstring formats
Summary
Chapter 7: Phrase Macros and XML IVRs
Phrase Macros and Voice Prompts
XML IVRs
Summary
Chapter 8: Lua FreeSWITCH Scripting
Many scripting languages
Basic Lua syntax
Lua and FreeSWITCH
Lua scripting IVR Applications
Summary
Chapter 9: Dialplan in Deep
Where are the previous Dialplan seasons?
XML Dialplan Recap
More about conditions
Pitfalls to avoid
Variables
API commands from Dialplan
FreeSWITCH string interpreter functions
"Hotkeys", Listening, Barging
Dialplan Cookbook
Summary
Chapter 10: Dialplan, Directory, and ALL via XML_CURL and Scripts
mod_xml_curl rationale
mod_xml_curl configuration
mod_xml_curl: Caveats and Pitfalls
php/mysql setup for mod_xml_curl
Lua XML handler
Summary
Chapter 11: ESL - FreeSWITCH Controlled by Events
Event System Fundamentals
Event format - Headers and Body
Event Handling modules
Event System Commands
Outbound Socket - call connects to you
ESL - Event Socket Library
ESL Reference
ESL installation
ESL: Examples in Perl
Summary
Chapter 12: HTTAPI - FreeSWITCH Asks Webserver Next Action
HTTAPI Rationale
HTTAPI dialplan
HTTAPI document syntax
mod_httapi configuration file
HTTPAPI libraries for PHP and Python
The demo-ivr in PHP-HTTAPI
Summary
Chapter 13: Conferencing and WebRTC Video-Conferencing
Conferencing Concepts
Conferencing Support in FreeSWITCH
Audio Conferencing setup in FreeSWITCH
Video-WebRTC conferencing setup in FreeSWITCH
FreeSWITCH conferencing operation
Verto Communicator and Video-WebRTC Conferencing
Summary
Chapter 14: Handling NAT
A brief introduction to NAT
The four pitfalls of NAT
Demystifying NAT settings in FreeSWITCH
Making media flow
Advanced options and settings
FreeSWITCH behind NAT
Other creative uses of FreeSWITCH in a NAT situation
NAT and WebRTC (SOLVED)
Conclusion
Summary
Chapter 15: VoIP Security
Network level protection
Intrusion detection
Encryption in non-WebRTC SIP: Signaling and Media
Protecting WebRTC SIP and VERTO Signaling and Media
Protecting passwords
Summary
Chapter 16: Troubleshooting, Asking for Help, and Reporting Bugs
Troubleshooting FreeSWITCH
Asking for Help
Reporting Problems
ClueCon
Summary

What You Will Learn

  • Build a complete WebRTC/SIP VoIP platform able to interconnect and process audio and video in real time
  • Use advanced PBX features to create powerful dialplans
  • Understand the inner workings and architecture of FreeSWITCH
  • Real time configuration from database and webserver with mod_xml_curl
  • Integrate browser clients into your telephony service
  • Use scripting to go beyond the dialplan with the power and flexibility of a programming language
  • Secure your FreeSWITCH connections with the help of effective techniques
  • Deploy all FreeSWITCH features using best practices and expert tips
  • Overcome frustrating NAT issues
  • Control FreeSWITCH remotely with the all-powerful event socket
  • Trace packets, check debug logging, ask for community and commercial help

Authors

Table of Contents

Chapter 1: Architecture of FreeSWITCH
Real-time communication without mysteries
The FreeSWITCH design - modular, scalable, and stable
Important modules - Endpoint and Dialplan
Complex applications made simple
Summary
Chapter 2: Building and Installation
Where to Install FreeSWITCH
Installing FreeSWITCH
Summary
Chapter 3: Test Driving the Example Configuration
Important concepts to understand
FS_CLI and Console, Controlling FreeSWITCH
Configure SIP and make the first calls in demo dialplan
Summary
Chapter 4: User Directory, SIP, and Verto
User Directory concepts
AAA: Authentication, Authorization, Accounting
Exploring and Using the Demo Example User Directory
Communicate with the World via SIP Gateways and DIDs
Summary
Chapter 5: WebRTC, SIP, and Verto
WebRTC concepts
Encryption Everywhere
WebRTC in FreeSWITCH
Installing and Configuring WebRTC in FS
Writing WebRTC Clients
WebRTC Rooms, both SIP and Verto Clients
Summary
Chapter 6: XML Dialplan
Forget all you know
Contexts
Extensions
Conditions (and "patterns")
Call legs (channels)
Channel Variables
Regular Expressions
Actions and anti-actions
How dialplan processing works
Important dialplan applications
Dialstring formats
Summary
Chapter 7: Phrase Macros and XML IVRs
Phrase Macros and Voice Prompts
XML IVRs
Summary
Chapter 8: Lua FreeSWITCH Scripting
Many scripting languages
Basic Lua syntax
Lua and FreeSWITCH
Lua scripting IVR Applications
Summary
Chapter 9: Dialplan in Deep
Where are the previous Dialplan seasons?
XML Dialplan Recap
More about conditions
Pitfalls to avoid
Variables
API commands from Dialplan
FreeSWITCH string interpreter functions
"Hotkeys", Listening, Barging
Dialplan Cookbook
Summary
Chapter 10: Dialplan, Directory, and ALL via XML_CURL and Scripts
mod_xml_curl rationale
mod_xml_curl configuration
mod_xml_curl: Caveats and Pitfalls
php/mysql setup for mod_xml_curl
Lua XML handler
Summary
Chapter 11: ESL - FreeSWITCH Controlled by Events
Event System Fundamentals
Event format - Headers and Body
Event Handling modules
Event System Commands
Outbound Socket - call connects to you
ESL - Event Socket Library
ESL Reference
ESL installation
ESL: Examples in Perl
Summary
Chapter 12: HTTAPI - FreeSWITCH Asks Webserver Next Action
HTTAPI Rationale
HTTAPI dialplan
HTTAPI document syntax
mod_httapi configuration file
HTTPAPI libraries for PHP and Python
The demo-ivr in PHP-HTTAPI
Summary
Chapter 13: Conferencing and WebRTC Video-Conferencing
Conferencing Concepts
Conferencing Support in FreeSWITCH
Audio Conferencing setup in FreeSWITCH
Video-WebRTC conferencing setup in FreeSWITCH
FreeSWITCH conferencing operation
Verto Communicator and Video-WebRTC Conferencing
Summary
Chapter 14: Handling NAT
A brief introduction to NAT
The four pitfalls of NAT
Demystifying NAT settings in FreeSWITCH
Making media flow
Advanced options and settings
FreeSWITCH behind NAT
Other creative uses of FreeSWITCH in a NAT situation
NAT and WebRTC (SOLVED)
Conclusion
Summary
Chapter 15: VoIP Security
Network level protection
Intrusion detection
Encryption in non-WebRTC SIP: Signaling and Media
Protecting WebRTC SIP and VERTO Signaling and Media
Protecting passwords
Summary
Chapter 16: Troubleshooting, Asking for Help, and Reporting Bugs
Troubleshooting FreeSWITCH
Asking for Help
Reporting Problems
ClueCon
Summary

Book Details

ISBN 139781785889134
Paperback378 pages
Read More

Read More Reviews