2013-04-01 6 views
0

AGI를 사용하여 Asterisk Dialplan에서 perl 스크립트로 변수를 전달하려고합니다. 나는 지금이 일을하고 있으며 정확히 어떻게 작동하는지에 대해 매우 혼란 스럽다. 지금 내 dialplan을 내가이 있습니다Asterisk Dialplan에서 AGI perl 스크립트로 변수 전달

exten=>1122,1,Answer 
exten=>1122,n,Read(digit) 
exten=>1122,n,agi(/home/steve/Desktop/testperlping.pl,${digit}) 
exten=>1122,n,Hangup() 

나는 사용자가 확장 1122를 다이얼 할을 한 다음 1 ~ 10의 숫자를 입력하고 그들이 AGI를 사용하여 펄에 전달 입력 한 번호가 있습니다.

#!/usr/bin/perl -w 
$|=1; 

use Net::Ping; 
use Asterisk::AGI; 

$AGI = new Asterisk::AGI; 

my %input = $AGI->ReadParse(); 

***I think I need something here*** 

$AGI->verbose("$numbertheytypedintophone"); #This will display the entered number back to the CLI. 

어떤 도움을 크게 감상 할 수 다음과 같이

내 펄 스크립트입니다.

+0

'my ($ digit) = @ARGV;'? – ikegami

+0

도움이되지 않는 것 같음 – Cheesegraterr

+0

perl AGI API에서 setvariable 또는 비슷한 방법을 찾으십시오. https://wiki.asterisk.org/wiki/display/AST/AGICommand_set+variable을 참조하십시오. – number5

답변

0

내가 별표 : (펄 통합 시스템 권장됩니다) FastAGI 코드를 사용하고하는 것은 다음과 같습니다

를 들어
my $dst = $self->param('dst'); 

별표 :: AGI가 (난 그냥 AGI.pm 소스를 읽기) 할 수 있습니다 :

my $digits=$input{'arg_1'}; 

안녕하세요. 문제가있는 경우 모듈의 소스 코드를 읽어 보시는 것이 좋습니다. 빠를 것입니다.