Book Image

FreeSWITCH 1.2 - Second Edition

Book Image

FreeSWITCH 1.2 - Second Edition

Overview of this book

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat-driven products, scaling from a soft-phone to a PBX and even up to an enterprise-class soft-switch. It is always exciting to design and build your own telephony system to suit your needs, but the task is time-consuming and involves a lot of technical skill."FreeSWITCH 1.2" comes to your rescue to help you set up a telephony system quickly and securely using FreeSWITCH. It is rich with practical examples and will give you all of the information and skills needed to implement your own PBX system.You will start with a detailed description of the FreeSWITCH system architecture. Thereafter you will receive step-by-step instructions on how to set up basic and advanced features for your telephony platform.The book begins by introducing the architecture and workings of FreeSWITCH before detailing how to plan a telephone system and then moves on to the installation, configuration, and management of a feature-packed PBX. You will learn about maintaining a user directory, XML dial plan, and advanced dial plan concepts, call routing, and the extremely powerful Event Socket. You will finally learn about the online community and history of FreeSWITCH."FreeSWITCH 1.2" is an indispensable tool for novice and expert alike.
Table of Contents (24 chapters)
FreeSWITCH 1.2
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Basic Lua syntax


Lua has a simple syntax that is easy both to learn and to read. The following is a simple script:

-- This is a sample Lua script
-- Single line comments begin with two dashes
--[[
  This is a multi-line comment.
  Everything between the double square brackets
    is part of the comment block.
]]
-- Lua is loosely typed
var = 1         -- This is a comment
var ="alpha"   -- Another comment
var ="A1"      -- You get the idea...
--[[
  When the Lua script is called from the dialplan
  you have a few magic objects. A handy one is
  the 'freeswitch' object which lets you do things
  like this:
  freeswitch.consoleLog("INFO","This is a log line\n")
  
  Another important one is the 'session' object which
  Lets you manipulate the call:
  session:answer()
  session:hangup() 
]]
-- Lua makes extensive use of tables
-- Tables are a hybrid of arrays and associative arrays
val1 = 1
val2 = 2
my_table = {
     key1 = val1,
     key2 = val2,
    "index 1",
    "index 2"
} 
freeswitch.consoleLog...