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

Dropping root privileges (file permissions)


The more direct way to run FreeSWITCH is to run it as "root". Being root, the all-powerful user, the Overlord of the server, a program running as root has no limits whatsoever: No limits on how much memory it can allocate, which network port it can listen to and send from, how many files it can open, which priority and nice level it can escalate, which file and directories it can read and write.

While obviously very convenient for a casual test installation (no integration problems: FreeSWITCH simply owns the machine and all its resources), many users refrain from it.

To limit the reach and damage that a FreeSWITCH process can do after going awry because of a bug (or a malicious exploitation of a bug), you had better run FreeSWITCH as a user with the minimum possible privileges. A "system" kind of user is the most logical choice: No password, no way to login, no affiliation to groups but to "daemon".

This is how it is already implemented by ready...