Asterisk Server Pass Variable from Dialplan to AGI Script
14,816
Solution 1
Here is how I implemented same with php-agi.php
failed.php (will execute if call failed)
<?php
require_once "phpagi.php";
require_once "phpagi-asmanager.php";
$astman = new AGI();
$astman->set_variable('CallState','failed');
?>
success.php (will execute if call success)
<?php
require_once "phpagi.php";
require_once "phpagi-asmanager.php";
$astman = new AGI();
$astman->set_variable('CallState','success');
?>
hangup.php (will execute on end of the call, if call failed or success)
<?php
require_once "phpagi.php";
require_once "phpagi-asmanager.php";
$astman = new AGI();
$call_state = agi_get_var('CallState');
if($call_state == "success"){
//call was success
}
elseif($call_state == "failed"){
//call was failed
}
?>
Solution 2
The agi will be called with some standard paramaters, include the called-from extension (in your case, that will be i
or failed
). Make sure you are parsing the arguments being passed to your script (via stdin)!
Author by
Miqdad Ali
I cяєαтє мa σωи ѕтуℓєѕ, ∂oит Foℓℓoω αиу σиє... ℓιvє ωι∂ мa σωи тєямѕ.... [:d) ι мαkє мa σωи яυℓєѕ.... ι ∂oит *cαяє *ωнαт oтнєяѕ ѕαу αßσυт мє* you can check out my website by clicking right here
Updated on June 29, 2022Comments
-
Miqdad Ali almost 2 years
My Dialplan is like this
[dial-plan] exten => s,1,Answer() exten => s,n,Noop(exten = ${EXTEN} exten => s,n,Macro(dumpvars) exten => s,n,Macro(record-enable) exten => s,n,AGI(success.php) exten => i,1,Noop(REASON = ${REASON}) exten => i,n,Macro(dumpvars) exten => i,n,AGI(faile.php) exten => failed,1,Noop(REASON = ${REASON}) exten => failed,n,Macro(dumpvars) exten => failed,n,AGI(faile.php)
I want to catch from where faile.php called , It may be called from
failed
or fromi
. How can I check thisI need to make like this is faile.php
if($some_var == 1){ //Invalid } elsif($some_var == 2){ //Failed }