Event Handling modules
Event System is circulating events around FreeSWITCH core and modules. What if you want to tap into the event bus and listen, or inject some events in it? There are modules called event "handlers" (whose source code is in /usr/src/freeswitch/src/mod/event_handlers) that are able to interface the Event System with pretty much anything:
- mod_amqp
- mod_cdr_csv
- mod_cdr_mongodb
- mod_cdr_pg_csv
- mod_cdr_sqlite
- mod_erlang_event
- mod_event_multicast
- mod_event_socket
- mod_event_test
- mod_event_zmq
- mod_format_cdr
- mod_json_cdr
- mod_kazoo
- mod_odbc_cdr
- mod_radius_cdr
- mod_rayo
- mod_smpp
- mod_snmp
All of those modules interface the Event System with the external world, specifically for Call Detail Records accounting (all the *cdr* modules) or for more general purposes.
Particularly important are the modules that interface amqp (for example, rabbitMQ, and so on), zeroMQ, and Erlang. The most popular interface to the Event System is provided by mod_event_socket.
mod_event_socket
This is the workhorse for FreeSWITCH...