Mastering FreeSWITCH
eBook - ePub

Mastering FreeSWITCH

Anthony Minessale II, Giovanni Maruzzelli

Partager le livre
  1. 300 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Mastering FreeSWITCH

Anthony Minessale II, Giovanni Maruzzelli

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

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.

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Mastering FreeSWITCH est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Mastering FreeSWITCH par Anthony Minessale II, Giovanni Maruzzelli en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Computer Science et Computer Networking. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
2016
ISBN
9781784398880
Édition
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 des matiĂšres