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 variablesline 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 hangupline 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...