0

我有一个 Asterisk 拨号计划,它执行一个 bash 脚本,该脚本将 callerID 与数据库相匹配,以对呼叫者进行地理定位(通过匹配国家和地区代码)。由于数据库相当大(全球规模),最多需要 15 秒才能完成。

我需要在接听电话后立即运行此脚本(以防用户在通话结束前挂断),但不希望用户等待脚本执行。理想情况下,返回值应该在挂断之前的拨号计划结束时处理。

Q1:我发现http://www.voip-info.org/wiki/view/Asterisk+AGI#Forkandcontinuedialplan解决了我关于 perl 脚本的问题。我如何在 bash 中完成相同的任务?我知道我可以通过在末尾添加“&”将任何 bash 脚本发送到后台,但我不知道如何在拨号计划中执行此操作/使用 AGI 脚本时。

Q2:即使用户之前挂断/拨号方案“退出非零”,我如何处理这些值?

谢谢你的帮助!

4

1 回答 1

2

使用 fastagi 界面。或使用 AMI 侦听器触发 UserEvent。

AGI 并非设计为按您的意愿工作,因此它不会工作。

当然,您可以使用 nohup 命令来获得不朽的 bash 脚本,但事实并非如此。

于 2013-11-07T16:40:39.497 回答