/django-asterisk

Phone call queuing and management for the Django web framework using an Asterisk server

Primary LanguagePythonMIT LicenseMIT

Django Asterisk

django-asterisk is a reusable Django app for queuing and managing phone calls, inspired and based on django-mailer. It makes calls through the Management interface of an Asterisk server.

Setup

  • Add the django_asterisk app in settings.INSTALLED_APPS

  • Set the following variables in settings.py:

    AST_HOST = 'localhost'
    AST_USER = 'django'
    AST_PASS = 'mysecret'
    AST_PRIO = 1
    AST_TIMEOUT_ORIGINATE = 30 # sec
    AST_TIMEOUT_HANGUP = 120 # sec
    
  • Change the default passwords!!

Requirements

Usage

Supposing you have an object called 'user' with the 'phone_number' attribute, you can create and queue a call like this:

from django_asterisk.models import Call
channel = 'SIP/%s@mysipprovider' % user.phone_number
call = Call(channel=channel, extension=user.phone_number, context='django-out', caller_id='"Django Asterisk Test" <0123456789>', related_object=user)
call.save()

You can later make the call from the admin, by selecting it and executing the "Make call" action.