exten => _4XXX,1,Perl(LoadFile:dynamicexten.pl,${EXTEN}) sample /etc/asterisk/perl/apps/dyanmicexten.pl: package Asterisk::Embed; use DBI; sub { ($chan_name,$exten) = shift; $chan = asterisk_get_channel_by_name($chan_name); $dbh = DBI->connect('dbi:mysql:dynamicdail','asterisk','astdbi'); $cmd = $dbh->prepare(qq!select extenuser.*,sip.* from extenuser,sip where extenuser.exten = "$exten" and sip.name = "$exten"!); $cmd->execute || return -1; # if cmd cannot execute send return -1 to dialplan to change priority by 101 $data = $cmd->fetchrow_hashref; # get data from DB asterisk_setcontext($chan,"dynamic"); asterisk_setpriority($chan,"1"); asterisk_setextension($chan,"s"); foreach(keys %$data) { # load up variables for dialplan asterisk_setvariable($chan,$_,$_,$data->{$_}); } return 0; }