Summary
In this chapter, we gave you a complete and detailed view of the module development process.
We described the approach we take (copying an existing, working module, and then modifying it) and then guided you through the various sections of the new module's source code.
We saw how to implement the load, runtime, and shutdown functions that are the foundation of every module. In those functions we initialized our data structures and registered hooks and callbacks in FreeSWITCH core.
Then we implemented all functionalities with simple and straightforward code that will serve you well as a base for building your own modules.
If your new module does something that could be useful to others, don't forget to contribute it back to the FreeSWITCH project, for mainline inclusion. Many useful modules were born this way!