首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将参数从拨号计划发送到Perl子程序AGI,并将尊重返回到拨号计划

如何将参数从拨号计划发送到Perl子程序AGI,并将尊重返回到拨号计划
EN

Stack Overflow用户
提问于 2019-12-10 12:11:19
回答 1查看 313关注 0票数 0

我使用星号::AGI模块与星号1.8进行交互,但我没有看到使用perl子程序的示例。我想连接一个web服务并更好地组织AGI,最好是使用子程序来代替if- all块中的所有代码,从拨号计划发送arg并获得这些子例程的返回。

我知道如何使用这个模块获取和设置变量,但我想知道是否存在这样的情况:

代码语言:javascript
复制
use Asterisk::AGI;

my $AGI = new Asterisk::AGI;

sub some_subroutine {

    my ($param1, $param2, param3) = @ARGV;

    # do something with parameters

    $agi_data = something_done_with_parameters;

    return $AGI->set_variable("agi_data", $agi_data);
}

在方言计划中:

代码语言:javascript
复制
[simple_interact]
exten = s,1,AGI(script.pl, some_subroutine, param1, param2, param3)
 same = n,NoOp(${agi_data})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-11 13:05:39

似乎没有办法调用一个函数,将函数的名称作为自变量传递。因此,我发现用Perl o PHP处理AGI的方法之一,不是拥有一个具有各种函数的文件,我们必须定义一个函数来生成对这些函数的动态调用,传递函数的标识符和通过拨号计划所需的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59266941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档