数字接线员功能包含了一些实用功能,可帮助您向 3CX 添加基本的自动化和集成功能。如果您具有一定的脚本编码技能,则可以为 IVR 使”启动脚本”选项来处理客户输入并将结果返回给 3CX 以采取进一步的措施。
“启动脚本” 类型的 IVR 可以在 Linux 和 Windows 上运行,你只需要在 3CX 主机上设置了脚本可以执行的库和环境。在 Linux 上你可以使用内置的 shell ,bash 编写脚本,也可以使用高级语言的 Python 或者 Perl 编写。在 Windows 上你可以使用内置的批处理或者 Powershell 来创建脚本,你也可以使用安装了环境的高级语言来进行编写,比如 C# .NET。
想了解如何创建基于脚本的 IVR 或者具体的选项解释,可以查看 创建基于脚本的 IVR。
Linux 上的一个例子
我们在这里将使用 Linux 上的一个样例,实现最基础的功能和参数来展示基于脚本的 IVR 概念。接收呼叫的使用方案是播放欢迎提示,获取来电者的输入,并在确认输入后,脚本将 IVR 传递的参数记录在日志文件中的脚本。在处理之后,脚本将退出代码返回到 IVR,以发出信号以指示要采取的下一个操作,例如播放另一个提示音。因此,下面的示例让我们看看如何创建和使用这个非常基本的自动化脚本:
在 3CX 的 Linux 宿主机上为例创建脚本,使用 nano 编辑器:
$ nano /home/pi/script/test_ivr_script_0.sh
接着输入下面的代码,按 Ctrl + O 保存。请注意按位置传递给脚本的参数 $0 到 $3。
#!/bin/bash# Set log file pathlogFile="/var/log/3cx_automation.log"# Show script name and variablesecho Ran script $0 with parameters: >> "${logFile}"echo CallerID: $1, DIDNumber: $2, CallerInput: $3 >> "${logFile}"echo _____________________________________________ >> "${logFile}"# Return exit codeexit 3
将文件的所有权分给 “phonesystem” 用户:
$ sudo chown phonesystem:phonesystem /home/pi/script/test_ivr_script_0.sh
创建日志文件,并将日志文件的所有权也分给 “phonesystem”:
$ sudo touch /var/log/3cx_automation.log$ chown phonesystem:phonesystem /var/log/3cx_automation.log
进入 3CX 的数字接线员菜单创建一个 IVR:
- 输入 IVR 的名字,比如 “Script Input to Log IVR #1″。
- 将类型设置为 “启动脚本”。
- 选择或者上传一个提示音。
- 在脚本选项中,开启 “收集用户输入并将其传递给脚本”,关闭 “预计号码长度”,开启”播放用户输入和请求确认”。
- 添加退出代码,比如脚本中返回 “3” 。
- 选择播放提示并退出,选择或上传一个提示音,点击 OK 保存。
打开命令行窗口,输入下列命令监视日志:
$ sudo tail -f /var/log/3cx_automation.log
现在,拨打给 IVR 分配的虚拟分机号。在出现初始提示后,输入一些数字作为输入,然后按“#”确认输入。
IVR 现在执行脚本。如果脚本运行正常,您现在应该听到由脚本返回的退出代码触发的指定要播放的音频提示。否则,您将听到 “发生内部错误”。抱歉。在结束通话之前提示,这意味着我们需要返回到绘图板并进行故障排除。
脚本成功执行后,受监视的日志应显示此示例日志输出。
结论
这是一个基本示例,在日志输出中记录了 IVR 传递给脚本的参数。由于基于脚本的 IVR 最多可以有101个退出代码,并且可以调用另一个 IVR 菜单(无论是否基于脚本),如果您具有编码技巧来发挥想像力,可能性将是无限的。 3CX 为你提供了工具,由你来创造一切。
查看我们的文档: 创建基于脚本的 IVR。