Mastering FreeSWITCH
eBook - ePub

Mastering FreeSWITCH

Anthony Minessale II, Giovanni Maruzzelli

Share book
  1. 300 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Mastering FreeSWITCH

Anthony Minessale II, Giovanni Maruzzelli

Book details
Book preview
Table of contents
Citations

About This Book

Master the art of advanced VoIP and WebRTC communication with the most dynamic application server, FreeSWITCH

About This Book

  • Forget the hassle - make FreeSWITCH work for you
  • Discover how FreeSWITCH integrates with a range of tools and APIs
  • From high availability to IVR development use this book to become more confident with this useful communication software

Who This Book Is For

SysAdmins, VoIP engineers – whoever you are, whatever you're trying to do, this book will help you get more from FreeSWITCH.

What You Will Learn

  • Get to grips with the core concepts of FreeSWITCH
  • Learn FreeSWITCH high availability
  • Work with SIP profiles, gateways, ITSPs, and Codecs optimization
  • Implement effective security on your projects
  • Master audio manipulation and recording
  • Discover how FreeSWITCH works alongside WebRTC
  • Build your own complex IVR and PBX applications
  • Connect directly to PSTN/TDM
  • Create your own FreeSWITCH module
  • Trace SIP packets with the help of best open source tools
  • Implement Homer Sipcapture to troubleshoot and debug all your platform traffic

In Detail

FreeSWITCH is one of the best tools around if you're looking for a modern method of managing communication protocols through a range of different media. From real-time browser communication with the WebRTC API to implementing VoIP (voice over internet protocol), with FreeSWITCH you're in full control of your projects. This book shows you how to unlock its full potential – more than just a tutorial, it's packed with plenty of tips and tricks to make it work for you.

Written by members of the team who actually helped build FreeSWITCH, it will guide you through some of the newest features of version 1.6 including video transcoding and conferencing. Find out how FreeSWITCH interacts with other tools and APIs, learn how to tackle common (and not so common) challenges ranging from high availability to IVR development and programming advanced PBXs.

Great communication functionality begins with FreeSWITCH – find out how and get your project up and running today.

Style and approach

Find out how it works, then put your knowledge into practice - that's how this advanced FreeSWITCH guide has been designed to help you learn. You'll soon master FreeSWITCH and be confident using it in your projects.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Mastering FreeSWITCH an online PDF/ePUB?
Yes, you can access Mastering FreeSWITCH by Anthony Minessale II, Giovanni Maruzzelli in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Networking. We have over one million books available in our catalogue for you to explore.

Information

Year
2016
ISBN
9781784398880
Edition
1

Mastering FreeSWITCH


Table of Contents

Mastering FreeSWITCH
Credits
About the Authors
About the Reviewers
Contributors
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Typical Voice Uses for FreeSWITCH
Understanding routing calls in FreeSWITCH
Wholesale (provider to providers)
Residential uses of FreeSWITCH
Routing with federated VoIP
Dialers/telemarketing
FreeSWITCH Products and Services
Business PBX services (hosted and on-premises)
Call centers
Value added services and games, prizes, and polls
"Class 4" vs "Class 5" operations (and SBCs)
WebRTC / web services / Internet-only services
Mobile "over-the-top" SIP
Development
Strict on output, broad on input
Very structured, very reusable techniques
Polyglot by vocation and destiny
Extreme scalability, from embedded to big irons
Born internationalist
Telcos internal integration ("FreeSWITCH is the Perl of VoIP")
Rapid new services prototyping
Accounting and billing
Call Detail Records (CDRs)
Mod_nibblebill / CGrateS
Other billing options (open source - commercial)
Summary
2. Deploying FreeSWITCH
Network requirements
Understanding QoS
LANs, WANs, and peering
Testing with SIPp
Running scenarios
Load testing
Logging with FreeSWITCH
Call Detail Records
Monitoring
SNMP
SNMP and FreeSWITCH
Installation and configuration (on Linux)
Getting more information
Monitoring tools
Monitoring with Nagios
Monitoring with Cacti
HA deployment
Storage, network, switches, power supply
Virtualization
Load balancing and integration with Kamailio and OpenSIPS
In the Web world
In the FreeSWITCH world
DNS SRV records for geographical distribution and HA
Summary
3. ITSP and Voice Codecs Optimization
ITSPs – what they do
Routes (to numbers)
DIDs (aka DDIs) – numbers
Quality of routes
White, black, and grey
Codecs and bandwidth
Infrastructure capability
Various important features
Support, redundancy, high availability, and number portability
Summary
4. VoIP Security
Latest versions of it all
Default configuration is a demo
Change passwords
Lock all that's not trusted
Dropping root privileges (file permissions)
Fail2ban on all services
FreeSWITCH jail
SIP(S) and (S|Z)RTP
Encrypting SIP with TLS (SIPS)
Encrypting (S)RTP via SDES (key exchange in SDP)
Encrypting (S)RTP via ZRTP (key exchange in RTP)
New frontiers of VoIP encryption (WebRTC, WebSockets, DTLS)
Summary
5. Audio File and Streaming Formats, Music on Hold, Recording Calls
Traditional telephony codecs constrain audio
HD audio frontiers are pushed by cellphones, right now
FreeSWITCH audio, file, and stream formats
Audio file formats
MP3 and streaming
Music on Hold
Playing and recording audio files and streams
Recording and modifying prompts and audio files
Recording calls
Tapping audio
Summary
6. PSTN and TDM
OpenZap
FreeTDM
I/O modules
Signaling modules
ISDN signaling modules
Analog modules
MFC-R2
SS7
Cellular GSM / CDMA (ftmod_gsm)
FreeTDM installation
Wanpipe drivers
DAHDI drivers
LibPRI
Sangoma ISDN stack
OpenR2
LibWAT
Analog modules
Configuring FreeTDM
Wanpipe
DAHDI
FreeTDM library configuration
FreeSWITCH configuration
Operation
Outbound calls
Inbound calls
Debugging
Checking the physical layer
Enabling ISDN tracing
Audio tracing
Summary
7. WebRTC and Mod_Verto
WebRTC
Browsers are already out there, waitin'
Web Real-Time Communication is coming
Under the hood
Encryption – security
Beyond peer to peer – WebRTC to communication networks and services
WebRTC gateways and application servers
Which architecture? Legacy on the Web, or Web on the Telco?
FreeSWITCH accommodates them ALL
What is Verto (module and jslib)?
Configure mod_verto
Test with Communicator
Build Your Own Verto App
Summary
8. Audio and Video Conferencing
Conference basics
Conference.conf.xml (profiles, DTMF interaction, and so on)
Configuration sections logic
Profile
Caller-Controls group
Conference invocation, dialplan, channel variables
Outbound conference
Moderating and managing conferences – API
Video conference
Video conference configuration
Mux profile settings
Video conference screen layouts
Screen sharing
Screen sharing dialplan extension
Managing video conferences
Conference performances
Summary
9. Faxing and T38
What is Fax on PSTN?
How it works
What is Fax over IP?
Enter T38
T38 terminals and gateways
Fax and FreeSWITCH
The mod_spandsp configuration
mod_spandsp usage
Debugging faxes
How to maximize reliability of fax traffic
PDF to fax and fax to PDF
Fax to mail
HylaFax and FreeSWITCH
ITSPs and Real World Fax Support
Summary
10. Advanced IVR with Lua
Installing IVR
Structure of welcome.lua
Incoming call processing
Before answering
First voice menu
Second and third voice menus
Fourth menu – asynch! Nonblocking! Fun with threads!
After hangup
Utility functions
Summary
11. Write Your FreeSWITCH Module in C
What is a FreeSWITCH module?
Developing a module
Mod_Example outline
Mandatory functions
Load function
Runtime function
Shutdown function
Configuration using XML
Reacting to channel state changes
Receiving and firing events
Dialplan application
API command
Summary
12. Tracing and Debugging VoIP
What can go wrong?
What else can go wrong? (NAT problems)
Other things can go wrong too
SIP, RTP, SDP, RTCP, OH MY!
Tools
Firewall
FreeSWITCH as SIP self tracer
Tcpdum – the mother of all packet captures
ngrep – network grep
tshark – pure packet power
pcapsipdump
sngrep – the holy grail
Sipgrep, Ngrep on steroids for VoIP
Wireshark – "the" packet overlord
Audacity – audio Swiss army knife
SoX – audio format converter
Summary
13. Homer, Monitoring and Troubleshooting Your Communication Platform
What is Homer?
Installing Homer and the Capture Server
Feeding SIP signaling from FreeSWITCH to Homer
Searching signaling with Homer
Feeding SIP signaling, QoS, MOS and RTP/RTCP stats from CaptAgent to Homer
Correlating A-leg and B-leg
Feeding logs and events to Homer
Logs to Homer
FreeSWITCH events to Homer
Summary
Index

Mastering FreeSWITCH

Copyright © 2016 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provi...

Table of contents