Asterisk,从外部python应用程序获取要拨号的号码/SIP



当用户调用时,我想拨一个由python脚本从数据库中提取的自定义号码。我需要传递几个参数,比如扩展名或调用python的号码。在Asterisk可以实现吗?

exten => 1001, 1, Dial(cmd("python myScript.py {extension} {didNumber}") 
same => n, Hangup()

编辑我看到有几个用于星号的Python库,但这似乎是一种过于复杂的方法,只需获取电话号码(我无法轻松想出使用这些库的简单解决方案),并且需要Python脚本对星号系统有更多的了解。

是的,可能是这样的:

exten => 1001,1,Set(LOCAL(numtodial)=${SHELL(${GETNUM_SCRIPT} ${extension} ${didNumber})})
same => n,Dial(${TECHNOLOGY}/${numtodial})

这里GETNUM_SCRIPT是一个全局变量,因为我喜欢这样的全局变量(你可以在没有dialplan reload的情况下动态重新定义它,或者根据每个对等基础定义它)。

我还建议把取号和拨号分为两行——可能你们会想做一些理智的检查。

相关内容

  • 没有找到相关文章

最新更新