Receiving and firing events

Events are FreeSWITCH's nervous system. They carry around information, commands, and feedback.

Tapping into the event flow will give your module a complete and real-time view of what's happening in each of the many components and subsystems of FreeSWITCH, from channels to reporting.

Firing events enables your module to actively participate in this flow, making information available that other modules can act upon in real time, or sending API commands as if typed in the console.

Events come in various types and subcategories. Each module can subscribe to ALL events or only to a certain subset, and then further filter to which event to react to based on the content of the event's oh so many fields:

Receiving and firing events

In our implementation, we subscribed to ALL events during the LOAD function.

Then, in the example_event_handler(), function we filter the events flow based on event_id (the specific kind of event), and if the event is suitable, then we get a particular header (for example, field) from it, and print a log line.

We'll describe how to fire events later, see the API command section in this chapter.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.234.225