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

Incoming call processing


At line 23 in the code we checked if the env array exists or is nil.

If env exists, the script is being executed as API hangup_hook, the call has been already hung up, there is no session (the call does not exist anymore), but all channel variables have been saved into env. We'll look into it in the next section.

If env does not exist then we know the script is called in normal mode, for example, there is an incoming call and a dialplan extension (in our case 2910, in welcome.xml) is calling the script:

Before answering

We are at line 54 right now. The code in the preceding screenshot begins by setting an input callback function. That would be a function that process DTMFs entered by the caller when there is no other DTMF processor in execution (for example, when we are directly playing an audio file, and not while we're playAndGetDigits a menu, see the following (voice menu processing).

Then we set a hangup hook function. Note that this is very different from api_hangup_hook...

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