This guide provides an overview of the FreeSWITCH internal architecture, based on core principles and enriched with examples from the actual codebase. It is designed to help developers use the framework effectively.
The FreeSWITCH core functions as a library (libfreeswitch), contained primarily in src/*.c. It provides common abstractions and services used by modules.
- OS Abstraction (
src/switch_apr.c): Wraps the Apache Portable Runtime (APR). Do not use APR directly; useswitch_prefixed functions for threads, sockets, mutexes, and memory management.
