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

Developing a module


As we commoners always do, and which sets us apart from Jedis such as Anthony Minessale II, we start developing our new FreeSWITCH module by copying from a working one.

You can start by copying the one I'm presenting here, mod_example. I have started copying mod_skel, removing complex things from it, then I added simple things. I like simple things.

You copy the entire directory and rename it, you delete Makefile.in and Makefile (for example, you only leave and edit Makefile.am) and you rename all occurrences of the same name in each of the files contained in that directory. In my case, mod_skel.c was renamed mod_example, and all instances of skel were modified to example inside all other files. At the end of this process, if you grep in the new directory, you don't find any more mention of skel (the original module name).

You then go in the main FreeSWITCH sources directory, edit modules.conf file, and add a line for your new module. After that, from that same main sources...