你能不能有人请我在指向一个方向,示例代码或在线资源完成以下任务:

<强>要求: 我想编写将运行脚本(bash或Python)的一个简单的IVR菜单选项。例如,电话Asterisk的机器,并要求对其他Linux机器重新启动服务。 “其他的Linux机器”的细节将被硬编码到IVR菜单选项,而不是需要作为IVR交互的一部分要供给 - 只要重新启动框Y.我有点担心和不确定怎么一会用这个安全服务X密码(即使它是在版本硬编码)。

<强>背景 我是一个星号的新手,从AsteriskNow分布安装了它,我还在学习的产品。基本的PBX功能是工作,是通过FreePBX的管理。 Asterisk是不是我们的开发工作,而是在工具箱中的工具的主要焦点。我们主要是做.NET的工作,但有UNIX技能。

如果可能的话我不喜欢花天的学习的Asterisk的整合细节工作做好......

有帮助吗?

解决方案

星号AGI 页保持在许多编程链接的应用程序语言。 如果你这样做主要是.NET,也许 nasterisk 或上了年纪的 MONO-TONE 会有所帮助。

其他提示

星号并不总是等待用户输入。只有背景中,WaitExten,读取命令。如果您在使用播放(),星号会忽略任何DTMF,而它的播放音频文件。

您可以更换播放与阅读(),但你必须读超时设置为一个很小的值或者会有一个沉默后,你读播放每个音频文件()。如果您使用read(),那么你必须由用户来检查值输入到检查出境,这样的事情...

相反

exten => x,n,Playback(yourfile) 
exten => x,n,somethingelse...

需要

exten => x,n,Read(Exit,yourfile,1)
exten => x,n,GotoIf($["${Exit}" = "0"]?0,1) 
exten => x,n,somethingelse...

请问您设置的Asterisk只为这抑或是/将它做其他的东西,如PBX,IVR等?

如果你正在做其他的东西与Asterisk,然后建立一个隐藏的扩展名(一个不公布的IVR菜单上),它一旦你连接,你可以拨打;在此扩展,您可以检查来电显示和比较,你的电话号码,所以只有您可以执行脚本(您可以通过要求输入PIN码添加一些更安全,这样你就可以休息更容易,如果你不能找到你的电话)。

像这样:

exten => 9999,1,GotoIf($["${CALLERID(num)}" = "yournumber"]?4)
exten => 9999,2,Playback(sorry)
exten => 9999,3,Hangup
exten => 9999,4,Read(Pin,please-enter-pin,4)
exten => 9999,5,AGI(your-script)

在您的脚本您检查引脚变量,如果它是有效的,执行,否则退出而不做任何事情。这样,您就不必硬编码拨号方案内的针,其他人可能看......这是否是信任的机器,那么你可以验证引脚就在拨号规则:

exten => 9999,5,GotoIf($["Pin" != "1234"]?2)
exten => 9999,6,AGI(your-script)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top