extensions.conf
AGI を実行しているコールを取得できますが、Perl スクリプトがループを実行している間、ダイヤル プランを実行し続けることができません。
そのため、通話がダイヤルされたときにバックグラウンドでこの AGI を実行する必要があります。
めちゃくちゃになっている私のAGIの部分:
{
my $linestatus = $agi->channel_status();
###THIS PART NEEDS TO LOOP UNTIL $linestatus == 6
###But It is also stopping the number from dialling.
do{
}
until($linestatus == 6);
my $query = $collection->insert({
caller => $num,
callername => $name,
linestatus => $linestatus,
extension => $ext,
call_start => $time }, {safe => 1});
$agi->verbose("ANSWERED\n", 1);
}
私のextensions.conf
ダイヤル プラン:
exten => _08.,1,AGI(bTel.agi)
exten => _08.,n,Dial(SIP/61${EXTEN:1}@SIPINTERNAL,,tTor)
exten => _08.,n,Hungup