我有一个 Asterisk 拨号计划,它执行一个 bash 脚本,该脚本将 callerID 与数据库相匹配,以对呼叫者进行地理定位(通过匹配国家和地区代码)。由于数据库相当大(全球规模),最多需要 15 秒才能完成。
我需要在接听电话后立即运行此脚本(以防用户在通话结束前挂断),但不希望用户等待脚本执行。理想情况下,返回值应该在挂断之前的拨号计划结束时处理。
Q1:我发现http://www.voip-info.org/wiki/view/Asterisk+AGI#Forkandcontinuedialplan解决了我关于 perl 脚本的问题。我如何在 bash 中完成相同的任务?我知道我可以通过在末尾添加“&”将任何 bash 脚本发送到后台,但我不知道如何在拨号计划中执行此操作/使用 AGI 脚本时。
Q2:即使用户之前挂断/拨号方案“退出非零”,我如何处理这些值?
谢谢你的帮助!