Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering FreeSWITCH

You're reading from  Mastering FreeSWITCH

Product type Book
Published in Jul 2016
Publisher Packt
ISBN-13 9781784398880
Pages 300 pages
Edition 1st Edition
Languages
Concepts
Authors (8):
Russell Treleaven Russell Treleaven
Profile icon Russell Treleaven
Seven Du Seven Du
Profile icon Seven Du
Darren Schreiber Darren Schreiber
Profile icon Darren Schreiber
Ken Rice Ken Rice
Profile icon Ken Rice
Mike Jerris Mike Jerris
Profile icon Mike Jerris
Kalyani Kulkarni Kalyani Kulkarni
Profile icon Kalyani Kulkarni
Florent Krieg Florent Krieg
Profile icon Florent Krieg
Charles Bujold Charles Bujold
Profile icon Charles Bujold
View More author details
Toc

Table of Contents (21) Chapters close

Mastering FreeSWITCH
Credits
About the Authors
About the Reviewers
Contributors
www.PacktPub.com
Preface
1. Typical Voice Uses for FreeSWITCH 2. Deploying FreeSWITCH 3. ITSP and Voice Codecs Optimization 4. VoIP Security 5. Audio File and Streaming Formats, Music on Hold, Recording Calls 6. PSTN and TDM 7. WebRTC and Mod_Verto 8. Audio and Video Conferencing 9. Faxing and T38 10. Advanced IVR with Lua 11. Write Your FreeSWITCH Module in C 12. Tracing and Debugging VoIP 13. Homer, Monitoring and Troubleshooting Your Communication Platform Index

Index

A

  • A-leg
    • correlating / Correlating A-leg and B-leg
  • accounting
    • about / Accounting and billing
  • A leg / First voice menu
  • analog modules
    • about / Analog modules, Analog modules
  • Analog Telephone Adapters (ATA) / Residential uses of FreeSWITCH
  • API interfaces / Various important features
  • Asterisk
    • download link / ISDN signaling modules
  • Audacity
    • about / Audacity – audio Swiss army knife
  • audio
    • tapping / Tapping audio

B

  • B-leg
    • correlating / Correlating A-leg and B-leg
  • Back to Back User Agent (B2BUA)
    • about / Correlating A-leg and B-leg
  • Bi-Directional Replication (BDR)
    • about / In the FreeSWITCH world
  • billing
    • about / Accounting and billing
    • options / Other billing options (open source - commercial)
  • B leg / First voice menu

C

  • Call Detail Record (CDR)
    • about / Call Detail Records
  • Call Detail Records (CDRs) / Accounting and billing, Call Detail Records (CDRs)
    • about / Feeding logs and events to Homer
  • Caller ID Name (CNAM) / Various important features
  • calls
    • recording / Recording calls
  • calls per second (cps)
    • about / Running scenarios
  • call_uuid-SIP packet correlation, tool
    • reference / FreeSWITCH as SIP self tracer
  • Capture Server
    • installing / Installing Homer and the Capture Server
  • Carrier-Grade Rating System (CGRateS) / Mod_nibblebill / CGrateS
  • Comma Separated Value (CSV)
    • about / Call Detail Records
  • Conference.conf.xml
    • about / Conference.conf.xml (profiles, DTMF interaction, and so on)
    • sections logic / Configuration sections logic
    • profile / Profile
    • Caller-Controls group / Caller-Controls group
    • conference invocation / Conference invocation, dialplan, channel variables
    • dialplan / Conference invocation, dialplan, channel variables
    • channel variables / Conference invocation, dialplan, channel variables
    • outbound conference / Outbound conference
  • conferencing
    • basics / Conference basics
    • moderating / Moderating and managing conferences – API
    • managing / Moderating and managing conferences – API

D

  • DAHDI drivers
    • about / DAHDI drivers
    • reference / DAHDI drivers
  • debugging
    • about / Debugging
    • physical layer, checking / Checking the physical layer
    • ISDN tracing, enabling / Enabling ISDN tracing
    • audio tracing / Audio tracing
  • dialplan
    • about / Dialplan application
  • DID
    • about / DIDs (aka DDIs) – numbers
  • DNS SRV records
    • for geographical distribution / DNS SRV records for geographical distribution and HA
    • for HA / DNS SRV records for geographical distribution and HA

E

  • events
    • feeding, to Homer / Feeding logs and events to Homer
  • Event Socket Layer (ESL)
    • about / What is Verto (module and jslib)?
  • Extensible Encapsulation Protocol (EEP)
    • about / What is Homer?

F

  • Fail2ban
    • about / Fail2ban on all services
  • Fax, and FreeSWITCH
    • about / Fax and FreeSWITCH
    • mod_spandsp configuration / The mod_spandsp configuration
    • mod_spandsp usage / mod_spandsp usage
    • faxes, debugging / Debugging faxes
    • fax traffic, reliability maximizing / How to maximize reliability of fax traffic
    • PDF to fax and fax to PDF / PDF to fax and fax to PDF
    • fax to mail / Fax to mail
    • HylaFax / HylaFax and FreeSWITCH
  • Fax on PSTN
    • about / What is Fax on PSTN?
    • working / How it works
  • Fax over IP (FoIP)
    • about / What is Fax over IP?
    • Enter T38 / Enter T38
    • T38 terminals and gateways / T38 terminals and gateways
  • fax transmission
    • about / Various important features
  • federated VoIP / Routing with federated VoIP
  • firewall
    • about / Firewall
  • FreeSWITCH
    • wholesale (provider to providers) / Wholesale (provider to providers)
    • WebRTC / WebRTC / web services / Internet-only services
    • web services / WebRTC / web services / Internet-only services
    • Internet-only services / WebRTC / web services / Internet-only services
    • network requirements / Network requirements
    • testing, with SIPp / Testing with SIPp
    • logging with / Logging with FreeSWITCH
    • Call Detail Record (CDR) / Call Detail Records
    • monitoring / Monitoring
    • audio file formats / Audio file formats
    • MP3, and streaming / MP3 and streaming
    • Music on Hold / Music on Hold
    • audio files, playing / Playing and recording audio files and streams
    • audio files, recording / Playing and recording audio files and streams, Recording and modifying prompts and audio files
    • streams, recording / Playing and recording audio files and streams
    • streams, playing / Playing and recording audio files and streams
    • prompts, recording / Recording and modifying prompts and audio files
    • prompts, modifying / Recording and modifying prompts and audio files
    • audio files, modifying / Recording and modifying prompts and audio files
    • about / FreeSWITCH accommodates them ALL
    • communicator, testing with / Test with Communicator
    • verto app, building / Build Your Own Verto App
    • as, SIP self tracer / FreeSWITCH as SIP self tracer
  • FreeSWITCH, best practices
    • latest versions / Latest versions of it all
    • default configuration / Default configuration is a demo
    • passwords, changing / Change passwords
    • locking all that's not trusted / Lock all that's not trusted
  • FreeSWITCH events, feeding
    • to Homer / FreeSWITCH events to Homer
  • FreeSWITCH jail / FreeSWITCH jail
  • FreeSWITCH module
    • about / What is a FreeSWITCH module?
    • developing / Developing a module
    • functions / Mandatory functions
    • Load function / Load function
    • Runtime function / Runtime function
    • Shutdown function / Shutdown function
    • XML, configuration / Configuration using XML
    • channel state changes, reacting to / Reacting to channel state changes
    • receiving events / Receiving and firing events
    • firing events / Receiving and firing events
    • dialplan application / Dialplan application
    • API command / API command
  • FreeSWTICH
    • residential uses / Residential uses of FreeSWITCH
    • routing, with federated VoIP / Routing with federated VoIP
    • Dialers/Telemarketing / Dialers/telemarketing, FreeSWITCH Products and Services
    • Business PBX services / Business PBX services (hosted and on-premises)
    • call centers / Call centers
    • Value Added Services (VAS) / Value added services and games, prizes, and polls
    • Class 4, vs Class 5 operations / "Class 4" vs "Class 5" operations (and SBCs)
    • mobile over-the-top SIP / Mobile "over-the-top" SIP
  • FreeSWTICH, development
    • about / Development
    • strict on output, broad on input / Strict on output, broad on input
    • techniques / Very structured, very reusable techniques
    • Polyglot, by vocation and destiny / Polyglot by vocation and destiny
    • scalability / Extreme scalability, from embedded to big irons
    • internationalist / Born internationalist
    • Telcos internal integration / Telcos internal integration ("FreeSWITCH is the Perl of VoIP")
    • new services prototyping / Rapid new services prototyping
  • FreeTDM
    • about / FreeTDM
    • configuring / Configuring FreeTDM
    • outbound calls / Outbound calls
    • inbound calls / Inbound calls
    • reference / Audio tracing
  • FreeTDM installation
    • about / FreeTDM installation
    • Wanpipe drivers / Wanpipe drivers
    • DAHDI drivers / DAHDI drivers
    • LibPRI / LibPRI
    • Sangoma ISDN stack / Sangoma ISDN stack
    • OpenR2 / OpenR2
    • LibWAT / LibWAT
  • ftmod_gsm module
    • about / Cellular GSM / CDMA (ftmod_gsm)
  • Fully Qualified Domain Name (FQDN)
    • about / Installing Homer and the Capture Server

G

  • group parameter / FreeTDM library configuration
  • gw1
    • about / Getting more information

H

  • HA deployment
    • about / HA deployment
    • storage / Storage, network, switches, power supply
    • network / Storage, network, switches, power supply
    • switches / Storage, network, switches, power supply
    • power supply / Storage, network, switches, power supply
    • virtualization / Virtualization
    • load balancing, with Kamailio / Load balancing and integration with Kamailio and OpenSIPS
    • load balancing, with OpenSIPS / Load balancing and integration with Kamailio and OpenSIPS
    • integration, with Kamailio / Load balancing and integration with Kamailio and OpenSIPS
    • integration, with OpenSIPS / Load balancing and integration with Kamailio and OpenSIPS
    • DNS SRV records, for geographical distribution / DNS SRV records for geographical distribution and HA
  • HD audio frontiers / HD audio frontiers are pushed by cellphones, right now
  • HEPipe-ESL.js
    • URL / FreeSWITCH events to Homer
  • HEPipe.js
    • URL / Logs to Homer
  • Homer
    • about / What is Homer?
    • installing / Installing Homer and the Capture Server
  • HylaFax
    • and FreeSWITCH / HylaFax and FreeSWITCH

I

  • incoming call processing
    • about / Incoming call processing
    • before answering / Before answering
    • first voice menu / First voice menu
    • second and third voice menu / Second and third voice menus
    • fourth voice menu / Fourth menu – asynch! Nonblocking! Fun with threads!
    • after hangup / After hangup
  • input/output (IO) modules
    • about / I/O modules
  • integration, with Kamailio
    • web world / In the Web world
    • FreeSWITCH world / In the FreeSWITCH world
  • integration, with OpenSIPS
    • web world / In the Web world
    • FreeSWITCH world / In the FreeSWITCH world
  • International Telecommunication Union (ITU) / What is Fax on PSTN?
  • Internet Telephony Service Provider (ITSP) / Residential uses of FreeSWITCH
  • ISDN signaling modules
    • about / ISDN signaling modules
  • ITSPs
    • working / ITSPs – what they do
    • features / Various important features
    • and Real World Fax Support / ITSPs and Real World Fax Support
  • IVR
    • installing / Installing IVR

L

  • least cost route (LCR)
    • about / ITSPs – what they do
  • LibPRI
    • about / LibPRI
    • reference / LibPRI
  • LibWAT
    • about / LibWAT
  • Linux Container (LXC)
    • about / Virtualization
  • load balancing, with Kamailio
    • web world / In the Web world
    • FreeSWITCH world / In the FreeSWITCH world
  • load balancing, with OpenSIPS
    • web world / In the Web world
    • FreeSWITCH world / In the FreeSWITCH world
  • logs
    • feeding, to Homer / Feeding logs and events to Homer, Logs to Homer
  • luarun api / Fourth menu – asynch! Nonblocking! Fun with threads!

M

  • Management Information Base (MIB)
    • about / SNMP and FreeSWITCH
  • Mean Opinion Score (MOS)
    • about / Running scenarios
  • media
    • about / What can go wrong?
  • messaging services / Various important features
  • MFC-R2 protocol
    • about / MFC-R2
  • mod_example outline
    • about / Mod_Example outline
  • mod_nibblebill / Mod_nibblebill / CGrateS
  • mod_snmp
    • about / SNMP and FreeSWITCH
  • mod_spandsp
    • configuration / The mod_spandsp configuration
    • usage / mod_spandsp usage
    • faxes, debugging / Debugging faxes
  • mod_verto
    • configuring / Configure mod_verto
  • monitoring
    • about / Monitoring
    • Simple Network Management Protocol (SNMP) / SNMP
    • with Nagios / Monitoring with Nagios
    • with Cacti / Monitoring with Cacti
  • monitoring tools
    • about / Monitoring tools
  • MOS
    • feeding, from CaptAgent to Homer / Feeding SIP signaling, QoS, MOS and RTP/RTCP stats from CaptAgent to Homer
  • Multipoint Control Unit (MCU) / Video conference

N

  • NagiosSIPplugin
    • URL / Monitoring with Nagios
  • Network Address Translation (NAT) / Residential uses of FreeSWITCH
    • about / What else can go wrong? (NAT problems)
  • network requirements
    • about / Network requirements
    • Quality of Service (QoS) / Understanding QoS
    • LAN / LANs, WANs, and peering
    • WAN / LANs, WANs, and peering
    • peering / LANs, WANs, and peering
  • ngrep
    • about / ngrep – network grep

O

  • object identifier (OID)
    • about / SNMP and FreeSWITCH
  • OpenR2
    • about / OpenR2
    • URL / OpenR2
  • OpenZap
    • about / OpenZap

P

  • pcapsipdump
    • about / pcapsipdump
    • reference / pcapsipdump
  • PCMA / What is Fax over IP?
  • PCMU / What is Fax over IP?
  • profile, Conference.conf.xml
    • about / Profile
    • Conference-flags / Profile
    • Member-flags / Profile
    • Caller-controls / Profile
    • Moderator-controls / Profile
    • Sounds / Profile
  • PSTN / What is Fax on PSTN?, How it works
  • public address (PA) / How it works
  • Public Land Mobile Network (PLMN)
    • about / ITSPs – what they do
  • Public Switched Telephone Network (PSTN)
    • about / ITSPs – what they do

Q

  • QoS
    • feeding, from CaptAgent to Homer / Feeding SIP signaling, QoS, MOS and RTP/RTCP stats from CaptAgent to Homer
  • Quality of Service (QoS)
    • about / Network requirements

R

  • REST interfaces / Various important features
  • root privileges
    • dropping / Dropping root privileges (file permissions)
  • routes
    • about / Routes (to numbers)
  • routes, quality
    • about / Quality of routes
    • white, black and grey / White, black, and grey
    • codecs / Codecs and bandwidth
    • bandwidth / Codecs and bandwidth
    • infrastructure capability / Infrastructure capability
  • routing calls
    • about / Understanding routing calls in FreeSWITCH
  • RTCP
    • about / SIP, RTP, SDP, RTCP, OH MY!
  • RTP
    • about / SIP, RTP, SDP, RTCP, OH MY!
  • RTP/RTCP stats
    • feeding, from CaptAgent to Homer / Feeding SIP signaling, QoS, MOS and RTP/RTCP stats from CaptAgent to Homer
  • rxgain parameter / FreeTDM library configuration

S

  • (S)RTP
    • encrypting, via SDES / Encrypting (S)RTP via SDES (key exchange in SDP)
    • encrypting, via ZRTP / Encrypting (S)RTP via ZRTP (key exchange in RTP)
  • (S|Z)RTP / SIP(S) and (S|Z)RTP
  • Sangoma ISDN stack
    • about / Sangoma ISDN stack
    • reference / Sangoma ISDN stack
  • screen sharing
    • about / Screen sharing
    • dialplan extension / Screen sharing dialplan extension
  • SDES
    • (S)RTP, encrypting via / Encrypting (S)RTP via SDES (key exchange in SDP)
  • SDP
    • about / SIP, RTP, SDP, RTCP, OH MY!
  • Session Border Controller (SBC) / "Class 4" vs "Class 5" operations (and SBCs)
  • Session Description Protocol (SDP) / Web Real-Time Communication is coming
  • Session Initiation Protocol (SIP)
    • about / Testing with SIPp
  • Session Initiation Protocol (SIP) stack / Residential uses of FreeSWITCH
  • signaling
    • about / What can go wrong?
    • searching, with Homer / Searching signaling with Homer
  • signaling modules
    • about / Signaling modules
    • ISDN / ISDN signaling modules
    • analog modules / Analog modules
    • MFC-R2 protocol / MFC-R2
    • SS7 / SS7
    • cellular GSM / CDMA (ftmod_gsm) / Cellular GSM / CDMA (ftmod_gsm)
  • Simple Network Management Protocol (SNMP)
    • about / SNMP
    • and FreeSWITCH / SNMP and FreeSWITCH
    • installation, on Linux / Installation and configuration (on Linux)
    • configuration, on Linux / Installation and configuration (on Linux)
  • SIP
    • encrypting, with TLS (SIPS) / Encrypting SIP with TLS (SIPS)
    • about / SIP, RTP, SDP, RTCP, OH MY!
  • SIPCAPTURE
    • about / What is Homer?
  • sipgrep
    • about / Sipgrep, Ngrep on steroids for VoIP
    • URL / Sipgrep, Ngrep on steroids for VoIP
  • SIPp
    • testing with / Testing with SIPp
  • SIPp, testing with
    • scenarios, running / Running scenarios
    • Load testing / Load testing
  • SIPS (SIP Secure) / SIP(S) and (S|Z)RTP
  • SIP Signaling
    • feeding, from FreeSWITCH to Homer / Feeding SIP signaling from FreeSWITCH to Homer
    • feeding, from CaptAgent to Homer / Feeding SIP signaling, QoS, MOS and RTP/RTCP stats from CaptAgent to Homer
  • sngrep
    • about / sngrep – the holy grail
    • reference / sngrep – the holy grail
  • Sofia / Residential uses of FreeSWITCH
  • SoX
    • about / SoX – audio format converter
  • SS7
    • about / SS7
  • system configuration, FreeTDM
    • about / Configuring FreeTDM
    • Wanpipe / Wanpipe
    • DAHDI / DAHDI
    • FreeTDM library configuration / FreeTDM library configuration
    • FreeSWITCH configuration / FreeSWITCH configuration
    • operation / Operation

T

  • T38
    • about / Enter T38
    • terminals / T38 terminals and gateways
    • gateways / T38 terminals and gateways
  • tcpdump
    • about / Tcpdum – the mother of all packet captures
  • Text to Speech (TTS) / Recording and modifying prompts and audio files
  • Text To Speech (TTS) / Installing IVR
  • time domain multiplexing (TDM)
    • about / OpenZap
  • TLS (SIPS)
    • SIP, encrypting with / Encrypting SIP with TLS (SIPS)
  • tools, for troubleshooting
    • about / Tools
    • firewall / Firewall
    • FreeSWITCH, as SIP self tracer / FreeSWITCH as SIP self tracer
    • tcpdump / Tcpdum – the mother of all packet captures
    • ngrep / ngrep – network grep
    • tshark / tshark – pure packet power
    • pcapsipdump / pcapsipdump
    • sngrep / sngrep – the holy grail
    • wireshark / Wireshark – "the" packet overlord
    • Audacity / Audacity – audio Swiss army knife
    • SoX / SoX – audio format converter
  • traditional telephony codecs constrain audio / Traditional telephony codecs constrain audio
  • troubleshooting
    • signaling / What can go wrong?
    • media / What can go wrong?
    • NAT / What else can go wrong? (NAT problems)
    • VoIP packets / Other things can go wrong too
  • trunk_type parameters / FreeTDM library configuration
  • tshark
    • about / tshark – pure packet power
  • txgain parameter / FreeTDM library configuration

U

  • User Agent Client (UAC)
    • about / Testing with SIPp
  • User Agent Server (UAS)
    • about / Testing with SIPp
  • utility functions
    • about / Utility functions
    • shell() / Utility functions
    • trim() / Utility functions
    • whichline() / Utility functions
    • stamp() / Utility functions
    • fs_urlencode() / Utility functions
    • fs_urldecode() / Utility functions
    • isready() / Utility functions
    • isnil() / Utility functions
    • input_callback() / Utility functions
    • myHangupHook() / Utility functions

V

  • Value Added Services (VAS) / Value added services and games, prizes, and polls
  • Verto
    • about / What is Verto (module and jslib)?
  • video conference
    • about / Video conference
    • configuration / Video conference configuration
    • mux profile settings / Mux profile settings
    • screen layouts / Video conference screen layouts
    • managing / Managing video conferences
    • performances / Conference performances
  • Voice Response (IVR) / Residential uses of FreeSWITCH
  • VoIP encryption
    • new frontiers / New frontiers of VoIP encryption (WebRTC, WebSockets, DTLS)

W

  • Wanpipe drivers
    • about / Wanpipe drivers
    • reference / Wanpipe drivers
  • WebRTC
    • about / WebRTC, Web Real-Time Communication is coming
    • browsers / Browsers are already out there, waitin'
    • under the hood / Under the hood
    • encryption / Encryption – security
    • to communication networks and services / Beyond peer to peer – WebRTC to communication networks and services
    • gateways and application servers / WebRTC gateways and application servers
    • legacy on Web / Which architecture? Legacy on the Web, or Web on the Telco?
    • FreeSWITCH / FreeSWITCH accommodates them ALL
    • mod_verto, configuring / Configure mod_verto
  • welcome.lua
    • structure / Structure of welcome.lua
  • wireshark
    • about / Wireshark – "the" packet overlord

Z

  • ZRTP
    • (S)RTP, encrypting via / Encrypting (S)RTP via ZRTP (key exchange in RTP)
lock icon The rest of the chapter is locked
arrow left Previous Section
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 $15.99/month. Cancel anytime