[asterisk-users] [1.2.18] Wrong steps in extensions.conf?

Luis Morales lmorales at sigmadental.net
Tue May 29 04:39:40 MST 2007


Hi Gilles,

I think that you must be take the incomming call control using AGI perl
scripting. Take a look on this script:


;extensions.conf
[internal]
exten => group,1,LookupCIDName
exten => group,n,AGI(web.agi|${CALLERID(num)}|${CALLERID(name)}|
${EXT204})

===================== web.agi=====================
#!/usr/bin/perl

use LWP::Simple;
use URI::Escape;
use LWP 5.64;
use Asterisk::AGI;

my $AGI         = new Asterisk::AGI;

open STDOUT, '>/dev/null';
#Causes double entry?
fork and exit;

my $cidnum = $ARGV[0];
my $cidname = $ARGV[1];
my $ext = $ARGV[2]

$safe_cidname = uri_escape($cidname);

my $browser = LWP::UserAgent->new;

my $url = "http://www.acme.com/input.php?";
$url .= "name=" . $safe_cidname . "&";
$url .= "number=" . $cidnum . "&";

($min, $hrs, $day, $month, $year) = (localtime) [1,2,3,4,5];
$currentdate = sprintf("%02d/%02d/%02d", $day, $month+1, $year % 100);
$currenttime = sprintf("%02d:%02d", $hrs,$min);
$url .= "date=" . $currentdate . "&";
$url .= "time=" . $currenttime;
#print $url . "\n";

my $response = $browser->get( $url );
die "Can't get $url -- ", $response->status_line unless
$response->is_success;
print $response->content;

# send the result over callerid ;-)
$AGI->exec('SetCallerId', $response->content); 
$AGI->exec('Dial', "$ext");
$AGI->hangup();
#
==================================================


exten => group,n,Dial(${EXT204})


On Tue, 2007-05-29 at 04:38 +0200, Gilles Ganault wrote:
> Hello,
> 
>         Sometimes, when a call comes in from the PSTN through our VoIP
> gateway, 
> the information that is sent to our web page that logs calls includes
> the 
> original CID name instead of the one that is we expect to be rewritten
> on 
> the fly using Asterisk's LookupCIDName:
> 
> =================
> ;extensions.conf
> [internal]
> exten => group,1,LookupCIDName
> exten => group,n,AGI(web.agi|${CALLERID(num)}|${CALLERID(name)})
> exten => group,n,Dial(${EXT204})
> =========
> ;/var/lib/asterisk/agi-bin/web.agi
> #!/usr/bin/perl
> 
> #use LWP::Simple;
> use URI::Escape;
> use LWP 5.64;
> 
> open STDOUT, '>/dev/null';
> #Causes double entry?
> fork and exit;
> 
> my $cidnum = $ARGV[0];
> my $cidname = $ARGV[1];
> 
> $safe_cidname = uri_escape($cidname);
> 
> my $browser = LWP::UserAgent->new;
> 
> my $url = "http://www.acme.com/input.php?";
> $url .= "name=" . $safe_cidname . "&";
> $url .= "number=" . $cidnum . "&";
> 
> ($min, $hrs, $day, $month, $year) = (localtime) [1,2,3,4,5];
> $currentdate = sprintf("%02d/%02d/%02d", $day, $month+1, $year % 100);
> $currenttime = sprintf("%02d:%02d", $hrs,$min);
> $url .= "date=" . $currentdate . "&";
> $url .= "time=" . $currenttime;
> #print $url . "\n";
> 
> my $response = $browser->get( $url );
> die "Can't get $url -- ", $response->status_line unless
> $response->is_success;
> print $response->content;
> =================
> 
> Could it be that, sometimes, Asterisk doesn't wait for the previous
> step to 
> be completed before moving on to the next?
> 
> Thank you.
> 
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users 
-- 
.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
  Sigma Dental Plan
  Jefe de Soporte y Sistemas
  Telf. Oficina   : +58(212)2646811
  Cel.            : +58(416)4242091
  Caracas, Venezuela
.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.



More information about the asterisk-users mailing list