Book Image

Mastering FreeSWITCH

By : Russell Treleaven, Seven Du, Darren Schreiber, Ken Rice, Mike Jerris, Kalyani Kulkarni, Florent Krieg, Charles Bujold
4 (1)
Book Image

Mastering FreeSWITCH

4 (1)
By: Russell Treleaven, Seven Du, Darren Schreiber, Ken Rice, Mike Jerris, Kalyani Kulkarni, Florent Krieg, Charles Bujold

Overview of this book

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.
Table of Contents (21 chapters)
Mastering FreeSWITCH
Credits
About the Authors
About the Reviewers
Contributors
www.PacktPub.com
Preface
7
WebRTC and Mod_Verto
Index

Structure of welcome.lua


The welcome.lua nucleus was originally written as a TTS menu demo by Meftah Tayeb, a blind Algerian tech enthusiast, who by sheer willpower and strength became a very active FreeSWITCH community member, and then a respected engineer for Algeria Telecom, and now is continuing his career in a private business.

We'll read it in detail in next section, but let's start with an outline of how its different sections fit together:

  • line 1: Use include, and all its functions and variables

  • line 3 to 21: A function that will be called later

  • line 23: Here we check if we are answering the call or we are after hangup

  • line 25 to 51: This block will be executed as api_hangup_hook, after call hangup

  • line 53 to 268: This block is executed when the call comes in

  • line 54 to 78: Set and get some session (for example, channel) variables

  • line 80: Incoming call is answered

  • line 83: First voice menu

    • line 87 to 166: Processing DTMFs pressed in the first voice menu

  • line 170: Second voice menu

    • line 174...