如何断开呼叫者的连接,但仍继续该过程



我是星号的新手,挂断后我必须做一个过程,我有一个这样的代码:

exten => 12345,1,wait(1)
 same => n,agi(myagi.php)
 same => n,hangup()
exten => h,1,noop("hangup")
 same => n,System(sleep 1m)
 same => n,agi(sendemail.php)
因此,由于睡眠原因,呼叫在转到 H 分机

时不会挂断,但我需要在发送电子邮件之前延迟,如何断开呼叫者的连接但仍在 H 分机中继续该过程? 还是有其他方法可以做到这一点?

谢谢

您需要更改设置才能异步发送电子邮件。基本上,在您的拨号计划中,您将调用一个 shell 脚本,该脚本仅在后台执行电子邮件脚本并立即返回。您将使用 PHP 的 sleep() 函数将延迟添加到电子邮件脚本中。我以前没有这样做过,所以没有任何示例代码可以提供,但这看起来是一个很好的起点。

最好的方法是标记 cdr,例如 CDR(userfield)=EMAILTO:address。

之后,每隔几秒钟/几分钟检查一次所有 cdr 并执行所需的操作。

请不要将 h 扩展用于可能需要超过 0.5 秒的任务,这可能会导致问题。

相关内容

最新更新