【问题标题】:How to execute a dialplan by asterisk's AMI API?如何通过星号的 AMI API 执行拨号计划?
【发布时间】:2011-09-19 02:48:22
【问题描述】:

找不到具体的答案。我是星号和 AMI 的新手。我需要使用星号自动生成调用并将参数传递给 AGI 程序。使用调用文件似乎首先生成不需要的调用。那么,我如何使用星号 AMI API (PHP) 通过将所有参数传递给它来执行其中包含 AGI 的拨号计划?因此,AGI 将接管并发出呼叫。

【问题讨论】:

    标签: asterisk telephony asteriskami agi


    【解决方案1】:

    我认为在您的情况下,使用调用文件实际上会更简单。原因如下:

    1. AMI 要求您编写网络代码,这(如果您是初学者)构建简单的文本文件(调用文件)会更加棘手。
    2. 调用文件允许您将变量传递给 Asterisk,您可以在拨号方案代码中使用这些变量。
    3. 调用文件非常简单。

    以下是使用调用文件的简单方法的完整示例。我已尽力在相关的 cmets 中进行解释。

    首先,假设您有一些使用变量的拨号方案代码,并调用 AGI 脚本(根据您的问题,我假设您正在这样做)。这意味着您的extensions.conf 文件中的代码类似于:

    [test_stuff]
    exten => s,1,NoOp(starting test!)
    exten => s,n,NoOp(my variable's value is: ${somevar})
    exten => s,n,NoOp(my other variable's value is: ${some_other_var})
    exten => s,n,AGI(/path/to/my/script.sh,${somevar})
    exten => s,n,NoOp(i just ran an AGI script and passed it a command line argument!)
    exten => s,n,Hangup()
    

    下面是一个调用文件,它将:

    1. 需要在某个临时目录中创建(可能是/tmp/)。
    2. 保存后,您可以将其移至/var/spool/asterisk/outgoing/ 运行它(例如:mv /tmp/blah.call /var/spool/asterisk/outgoing/)。
    3. 呼叫文件将立即向外拨出电话号码 818-222-3333。
    4. 一旦 818-222-3333 的人接听电话,Asterisk 将立即开始执行您的 [test_stuff] 拨号方案代码,并将在您的呼叫文件中设置的变量可供它使用:

      频道:SIP/trunkname/18182223333

      上下文:test_stuff

      扩展名:s

      优先级:1

      设置:somevar=hithere

      设置:some_other_var=woot

    希望有帮助!

    【讨论】:

    • 谢谢rdegges。您会看到,生成的呼叫来自订阅者的帐户。因此,AGI 将首先检查他/她是否有足够的信用来拨打电话。然后开始拨号。这就是为什么呼叫文件在这里没有用,因为它首先开始拨号。
    【解决方案2】:

    例如,您的问题可以通过本地渠道解决

    在通话文件中使用Local/1812222222@test_stuff作为频道,同时使用以下拨号方案

    [test_stuff]
    exten => _X.,1,NoOp(starting test!)
    exten => _X.,n,Set(phone=${EXTEN})
    exten => _X.,n,AGI(/path/to/my/billing,${phone},${other_variables_account_etc..})
    exten => _X.,n,Dial(SIP/trunkName/${phone})
    

    您可以将此方法与 AMI 或 .call 文件接口一起使用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      相关资源
      最近更新 更多