好的,所以我有一个 ruby 脚本,它从 FM 服务器获取一些数据并返回一个元组。我不得不这样做,因为我知道没有好的 perl FM 模块。
[测试.pl]
$ret = `ruby /root/rfm-query.rb $cid`; @extens = split(/,/, $ret, 2); 打印“DIAL SIP/$extens[0]”;
因此,当我运行它时,它会按预期打印“DIAL SIP/215”,但是当在 Asterisk AGI 脚本中使用相同的代码并使用 $extens[0] 时,它总是不返回任何内容。
#!/usr/bin/env perl 使用星号::AGI; $|=1; $AGI = 新星号::AGI; %input = $AGI->ReadParse(); $cid = substr $input{'callerid'}, 1; $cid =~ s/\+//g; $ret = `ruby /root/rfm-query.rb $cid`; #什么都不做 @extens = split(/,/, $ret, 2); $AGI->exec("DIAL SIP/$extens[0]");
为什么它在测试脚本中有效,但在 AGI 中无效?