Architecture¶
DjangoPBX is written in Python using the Django Framework.
The main component is of course FreeSWITCH which is a very powerful and highly scalable multi-platform voice and video switch.
uWSGI serves the DjangoPBX output to both FreeSWITCH and a NGINX web server.
PostgreSQL provides the database back end.
RabbitMQ is used as a message broker for more advanced clustering operations.
All services are protected by nftables which provides a firewall that can be dynamically configured from within the DjangoPBX application.