Architecturally speaking, OpenSIPS is formed out of two logical components: the core and modules.
The core is the application itself and it provides the low-level functionalities of OpenSIPS, the definition of various interfaces, and some generic resources.
The modules are shared libraries, loaded on demand at the startup time. Each module implements a well-defined functionality for a specific routing algorithm or authentication method. There are mainly two types of modules in OpenSIPS:
The following is a figure ...