Building Application with FreeSwitch: Design - kerbsx/fs GitHub Wiki
In previous write up, we already explored how to implement ESL application using Python either by implementing the socket application directly or using the ESL library that come with Freeswitch. Either way, this is still low level and will be tedious to implement for real application.
This bring the need to design more high level API in how we can interact with Freeswitch to manipulate incoming and outgoing call. Switchy internals docs has some good insight on how to design your ESL implementation.
The general idea is to split the implementation into Client
class that handling the connection and receiving events from freeswitch, and Session
class for specific call manipulation.
mod_lua session API - https://freeswitch.org/confluence/display/FREESWITCH/Lua+API+Reference#LuaAPIReference-APISessions