Reader small image

You're reading from  Mastering FreeSWITCH

Product typeBook
Published inJul 2016
Reading LevelExpert
PublisherPackt
ISBN-139781784398880
Edition1st Edition
Languages
Concepts
Right arrow
Authors (8):
Darren Schreiber
Darren Schreiber
author image
Darren Schreiber

Darren Schreiber is the CEO and Co-founder of 2600 Hz. He began working heavily in open source voice with the FreeSWITCH project, where he engaged with Brian, Mike, and Anthony. His projects have since evolved into two enterprise VoIP platforms that allow a multitude of development of voice, SMS, and video applications to be delivered to customers.He has 15 years of voice and IT experience including developing multiple enterprise SaaS infrastructures for hosting and remotely managing IT, voice, and e-commerce services. He is a guest lecturer at major universities on VoIP technology and leads paid international VoIP trainings. As a serious telephony enthusiast since a young age, he has worked extensively with VoIP technologies. He graduated from Rensselaer Polytechnic Institute with a degree in Computer Science and Business Management.He is also a co-author of FreeSWITCH Cookbook, Packt Publishing.
Read more about Darren Schreiber

View More author details
Right arrow

Utility functions


We've used a lot of self-written functions. It's time to have a look at them. Let's open the top half of the utils.lua file, in the preceding screenshot.

The first three functions serve mainly to build the fourth function, stamp(), that we use throughout our scripts to do structured logging.

shell() is an example of a typical Lua interaction with an operating system. It executes a command, and returns the output as a string. We use it in stamp() to obtain the result of the command date.

trim() uses Lua native string manipulation, and is equivalent to the chomp() command in Perl, and many similar others in different languages: it deletes the trailing newline in a string, if it exists, and returns the string without the newline.

whichline() comes from the debug package. It returns the current line number in the script, for example, like __line__ in C.

stamp() is our logging workhorse; it takes the string we want to log (our log message), a string (returned by whichline()) representing...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering FreeSWITCH
Published in: Jul 2016Publisher: PacktISBN-13: 9781784398880

Authors (8)

author image
Darren Schreiber

Darren Schreiber is the CEO and Co-founder of 2600 Hz. He began working heavily in open source voice with the FreeSWITCH project, where he engaged with Brian, Mike, and Anthony. His projects have since evolved into two enterprise VoIP platforms that allow a multitude of development of voice, SMS, and video applications to be delivered to customers.He has 15 years of voice and IT experience including developing multiple enterprise SaaS infrastructures for hosting and remotely managing IT, voice, and e-commerce services. He is a guest lecturer at major universities on VoIP technology and leads paid international VoIP trainings. As a serious telephony enthusiast since a young age, he has worked extensively with VoIP technologies. He graduated from Rensselaer Polytechnic Institute with a degree in Computer Science and Business Management.He is also a co-author of FreeSWITCH Cookbook, Packt Publishing.
Read more about Darren Schreiber