DISAplus Advanced DISA Authentication Module

Synopsis

DISAplus is at it's core an authentication extension wrapper around the built-in DISA() Asterisk Application. It was inspired by the FreePBX DISA Module.

DISAMBIGUATION: THIS IS NOT AN ASTERISK MODULE. IT IS AN AGI APPLICATION WRITTEN WITH PHP

Call Flow

  1. Caller dials DISAplus extension
  2. DISAplus recognizes user based on Caller ID => extension mapping
  3. *DISAplus greets caller with name prompt
  4. If Caller ID isn't provided standard VMAuthenticate authenticates user
  5. Caller ID Name is set to Extension Name, Caller ID Number is set to original inbound Caller ID
  6. Caller gets DISA Dialtone


Implementation

Three files make up the DISAplus implementation:
  1. /var/lib/asterisk/agi-bin/led_disaplus/disaplus.php
  2. /var/lib/asterisk/agi-bin/led_disaplus/disaplus.conf
  3. /var/lib/asterisk/agi-bin/led_disaplus/disaplus.log

The codebase is PHP and uses the [http://phpagi.sourceforge.net/|PHPAGI]] class that is freely available and included in all Trixbox/FreePBX implementations. The main script disaplus.php is just 56 lines and handles all the pre-authentication before passing control back to the disaplus.conf dialplan. The final file, disaplus.log, is a simple logging file that tracks calls through the application.

Step-by-Step

  1. Download led_disaplus.tgz:
    led_disaplus.tgz
  2. tar -zxf led_disaplus.tgz /var/lib/asterisk/agi-bin/
  3. ln -s /var/lib/asterisk/agi-bin/led_disaplus/disaplus.conf /etc/asterisk
  4. EDIT: /etc/asterisk/disaplus.conf
  5. *Change 1080 to whatever extension you prefer
  6. include disaplus.conf
  7. *Add this to your dialplan at the appropriate context.

Usage

DISAplus uses the authentication information stored in /etc/voicemail.conf. If an unknown user calls in the user is prompted for mailbox number and password before being passed to DISA dialtone. Up to three additional external numbers can be pre-linked to extensions. This saves the user 1 step when calling in by recognizing them before prompting for password and greeting them with their name prompt.

Limitations

  1. "Only" three external numbers are supported per internal extension
  2. Name Lookup may only work for FreePBX users as it looks up the AMPUSER context in the the astdb
  3. *This could be overcome by using the name in voicemail.conf if the AMPUSER astdb lookup fails

Synopsis

DISAplus is at it's core an authentication extension wrapper around the built-in DISA() Asterisk Application. It was inspired by the FreePBX DISA Module.

DISAMBIGUATION: THIS IS NOT AN ASTERISK MODULE. IT IS AN AGI APPLICATION WRITTEN WITH PHP

Call Flow

  1. Caller dials DISAplus extension
  2. DISAplus recognizes user based on Caller ID => extension mapping
  3. *DISAplus greets caller with name prompt
  4. If Caller ID isn't provided standard VMAuthenticate authenticates user
  5. Caller ID Name is set to Extension Name, Caller ID Number is set to original inbound Caller ID
  6. Caller gets DISA Dialtone


Implementation

Three files make up the DISAplus implementation:
  1. /var/lib/asterisk/agi-bin/led_disaplus/disaplus.php
  2. /var/lib/asterisk/agi-bin/led_disaplus/disaplus.conf
  3. /var/lib/asterisk/agi-bin/led_disaplus/disaplus.log

The codebase is PHP and uses the [http://phpagi.sourceforge.net/|PHPAGI]] class that is freely available and included in all Trixbox/FreePBX implementations. The main script disaplus.php is just 56 lines and handles all the pre-authentication before passing control back to the disaplus.conf dialplan. The final file, disaplus.log, is a simple logging file that tracks calls through the application.

Step-by-Step

  1. Download led_disaplus.tgz:
    led_disaplus.tgz
  2. tar -zxf led_disaplus.tgz /var/lib/asterisk/agi-bin/
  3. ln -s /var/lib/asterisk/agi-bin/led_disaplus/disaplus.conf /etc/asterisk
  4. EDIT: /etc/asterisk/disaplus.conf
  5. *Change 1080 to whatever extension you prefer
  6. include disaplus.conf
  7. *Add this to your dialplan at the appropriate context.

Usage

DISAplus uses the authentication information stored in /etc/voicemail.conf. If an unknown user calls in the user is prompted for mailbox number and password before being passed to DISA dialtone. Up to three additional external numbers can be pre-linked to extensions. This saves the user 1 step when calling in by recognizing them before prompting for password and greeting them with their name prompt.

Limitations

  1. "Only" three external numbers are supported per internal extension
  2. Name Lookup may only work for FreePBX users as it looks up the AMPUSER context in the the astdb
  3. *This could be overcome by using the name in voicemail.conf if the AMPUSER astdb lookup fails

Created by: dodgly, Last modification: Tue 09 of Jun, 2009 (17:52 UTC) by mmlj4
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+