星号|帕米 |如何编写播放音频文件的拨号计划接受用户输入并播放另一个音频文件?

问题描述 投票:0回答:1

我是星号新手,为此使用 Asterisk、Laravel 和 PAMI。

想做一些发出执行以下操作的调用的东西:

  • 播放录音:“按 1 或 2”
  • 等待用户输入
  • 播放录音:“谢谢”
  • 通话结束

到目前为止我所得到的是它播放“按1或2”然后等待输入然后关闭。按下输入后如何添加另一个录音。

使用 PAMI 的 Laravel Fucntion 👇

    public function makeCall($number, $playback): \PAMI\Message\Response\Response
    {
        $client = new ClientImpl($this->managerOptions);
        $action = new OriginateAction("PJSIP/{$number}@$this->trunk");
        $action->setAsync(false);
        $action->setCallerId($this->callerId);
        $action->setExtension($number);
        $action->setContext($this->context);
        $action->setPriority(1);
        $action->setVariable('REC', $playback);

        $client->open();
        $res = $client->send($action);
        $client->close();
        return $res;
    }

每日计划

    [robo_call]
    exten => _X.,1,NoOp(Starting dial OTP)
    same => n,Set(CHANNEL(language)=bykea_robo_call)
    same => n,read(inputd,${REC},1,n,1,8)
    same => n,Hangup()

我是新手,所以真的没有任何线索,星号文档让我更加困惑......请帮助!

laravel asterisk dialplan pamie
1个回答
0
投票

这就是所谓的 IVR,几乎所有书籍都描述它。

AMI 不是正确的做法。

您应该使用(FastAGI)或异步ARI协议。

在 AMI 中,您唯一能做的就是通过

发出一些事件
 UserEvent

申请。

之后在 AMI 中捕获它并将 dialplan 移动到另一个入口点,但这将是非常低效的。

© www.soinside.com 2019 - 2024. All rights reserved.