The DID Machine is an application for procuring direct inward dial phone numbers (DIDs), building FreeSWITCH servers and centrally managing the functional configuration for the phone numbers routed to any of the servers in the FreeSWITCH fabric.
Before installing the application you will need to load git submodules:
$ git submodule update --init --recursive
Alternatively you can clone the repository with
$ git clone --recursive
$ vagrant up
Only tested with Debian 8 Jessie host.
webapp_playbook.yml playbook. Nginx and uWSGI Emperor services will be installed and configured on the remote host.
WSGI process log file will be located in
$ pip install -r requirements.txt # install Python requirements $ python manage.py migrate # create sqlite database $ python manage.py runserver # run the built-in (single-threaded) Django webserver
Obtaining trunk group and API credentials
- Order an inbound or bidirectional SIP trunk at https://apeiron.io/order
- Make sure to configure the trunk with public IPs of servers that will be hosting FreeSwitch
- Generate an API key in Developer Portal
Application configuration is located in config.yml. You will need to edit this file before starting the application.
Provisioning FreeSwitch servers
DID Machine utilizes Ansible to install and configure FreeSwitch on a remote server.
- Only Debian 8 Jessie is fully supported at this time. Ubuntu 14.04 should work but it hasn't been fully tested.
- Servers must to be configured in your
~/.ssh/configfile for password-less authentication.
Deploy new servers using the following command:
$ python manage.py provision_freeswitch --help