2010-01-27 51 views
3

我有一个基于星号的PBX,并且我能够从PBX的Web控制面板成功运行AGI脚本。如何使用Perl在AGI中转发当前的Asterisk调用?

因为我从Perl的(这既不我所知,还没有)调用AGI ...
星号命令是这样的:

print "SET CALLERID $newcid \"\"\n"; 

到目前为止,我不希望需要做的任何数据库查找等。我只是想设置来电显示(我已经可以做到) - 然后将呼叫转移到特定的号码。

任何人都可以告诉我如何使用上面显示的执行星号命令的AGI/perl风格转发当前调用?

FYI:我使用的格式一样已经看到了一些例子:

Exten => blah blah.... 

但是,我不知道如何将其转换成的AGI/perl的格式。

回答

4
print "EXEC DIAL \"Zap/1/5551234567\"\n"; 

,或者,如果你正在使用Asterisk::AGI

$AGI->exec("DIAL", "Zap/1/5551234567"); 
+0

我不明白的部分: “SIP /名为myusername @ myaddres” 在你的答案。我可以在那里写一个电话号码:912035551212 - 我会在那里用“技术”代替SIP吗? – condiosluzverde 2010-01-27 18:35:51

+0

哦,我想我有 - 我们有T1/PRI--所以我认为这项技术将是Zap。 – condiosluzverde 2010-01-27 18:43:24

+0

仍在研究... Zap和ZAP无法识别。当我查询agi_type获取通道类型时,我得到:DAHDI - 我试过并发生这个错误:[Jan 27 15:58:34]警告[24831]:app_dial.c:1518 dial_exec_full:无法创建类型的通道'DAHDI'(原因0 - 未知) ==此时大家都很忙/拥挤(1:0/0/1) – condiosluzverde 2010-01-27 21:01:00