Book Image

FreeSWITCH Cookbook

By : Raymond Chandler, Darren Schreiber, Anthony Minessale II, Michael Collins
Book Image

FreeSWITCH Cookbook

By: Raymond Chandler, Darren Schreiber, Anthony Minessale II, Michael Collins

Overview of this book

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice, chat, and video applications. It can scale from a soft-phone to a PBX and even up to an enterprise-class softswitch.In the FreeSWITCH Cookbook, members of the FreeSWITCH development team share some of their hard-earned knowledge with you in the book's recipes. Use this knowledge to improve and expand your FreeSWITCH installations.The FreeSWITCH Cookbook is an essential addition to any VoIP administrator's library.The book starts with recipes on how to handle call routing and then discusses connecting your FreeSWITCH server to the outside world.It then teaches you more advanced topics like CDR handling, practical examples of controlling FreeSWITCH with the event socket, and configuring many features commonly associated with a PBX installation.
Table of Contents (12 chapters)
FreeSWITCH Cookbook
About the Authors
About the Reviewers

Filtering events

Events are the lifeblood of the FreeSWITCH eventing system. FreeSWITCH throws events for virtually everything that happens. This can overwhelm a program (and indeed the programmer) with a flood of information. The solution is to use the FreeSWITCH event filter feature.

Getting ready

Learning about filters is very simple. Initially we will just use fs_cli connected to a FreeSWITCH server. Later we will look at some simple programming examples using ESL. You will need a phone connected to your FreeSWITCH server, and two terminal windows open so that you can look at your program in one session and fs_cli in another.

How to do it...

Consider a simple example. Here we will compare the event socket output before and after using a filter:

  1. Launch fs_cli and connect to a running FreeSWITCH server. Issue these two commands at fs_cli:

    /log 0
    /event plain all
  2. Wait a few seconds and no doubt you'll see some events, and possibly a lot of events.

  3. From your phone, dial *98 and wait for the...