DjangoPBX - A full-featured domain based multi-tenant PBX driven by Django and FreeSWITCH™.
The objective of this project is to provide a GUI wrap around FreeSWITCH™ using Django and the Python language. To minimise the number of .lua support scripts by utilising the FreeSWITCH modules mod_xml_curl and mod_httapi, and also provide a platform that is easy to learn and code owing to it's use of just one programming language.
DjangoPBX basically does two things.
- It provides a portal for end users and device configuration.
- It generates FreeSITCH configuration from the data you provide in the Admin interface.
- Simple, straight forward and un-complicated.
- Use of Python leads to more robust applications through exception handling and strong types.
- Uses the proven Django Application Framework, so upgrades and database migrations are handled for you.
- Multi language, all user text is passed through the Django translation mechanism.
- Easily extended by adding new application modules.
- Full REST API provided by the Django REST Framework.
From an ITSP or end user perspective DjangoPBX provides all the facilities of a modern call handling platform. Telephony features include:
- Multi Tenancy
- Device Provisioning
- Voicemail
- Messages and notifications by email
- Call Centres
- Call Centre Wallboards
- Conference Centres
- Music on Hold
- Call Parking
- Dynamic Call Routing
- Ring Groups
- IVR Menus
- Find Me / Follow Me
- Ability to directly edit XML in the Web UI
This code has entered a stage of Alpha Testing. Several test deployments have been made and testing is underway.
Installation has been scripted at djangopbx-install.sh