Mastering FreeSWITCH
eBook - ePub

Mastering FreeSWITCH

Anthony Minessale II, Giovanni Maruzzelli

Buch teilen
  1. 300 Seiten
  2. English
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

Mastering FreeSWITCH

Anthony Minessale II, Giovanni Maruzzelli

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

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.

Häufig gestellte Fragen

Wie kann ich mein Abo kündigen?
Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
(Wie) Kann ich Bücher herunterladen?
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Welcher Unterschied besteht bei den Preisen zwischen den Aboplänen?
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Was ist Perlego?
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Unterstützt Perlego Text-zu-Sprache?
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ist Mastering FreeSWITCH als Online-PDF/ePub verfügbar?
Ja, du hast Zugang zu Mastering FreeSWITCH von Anthony Minessale II, Giovanni Maruzzelli im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Computer Networking. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2016
ISBN
9781784398880

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...

Inhaltsverzeichnis