CFD 工作区

介绍

CFD 界面有以下部分组成:

  • a: “Components” 组件工具箱 – 可以往你的项目添加内置或者自定义的组件。
  • b: 设计工作区 – 打开或创建新的呼叫流程时显示。 在打开项目后,会显示你可能执行操作的 “Start Page”,比如在其中显示创建一个 callflow, dialer 或组件等等。
  • c: 自定义视图 – 使用工具栏的或者 “Tools” 菜单下的这些工具:
    • “Zoom Level” – 按设定的比例显示组件和呼叫流程。
    • “Navigation Tool” – 手性图标可以抓取并移动视图。
    • “Default” – 箭头光标可以在视图中选择组件。
  • d: “Project Explorer” 和 “Properties Window” 面板 – 控制并配置项目和组件的选项。
  • e: “Error List” 和 “Output” 面板 – 查看你的项目的错误信息。

流程类型

一个呼叫流程由一系列的内置组件或自定义组件构成。你可以从工具箱将他们拖拽到设计工作区的任意位置。当一个组件被放置在对应位置后,用户可以修改它的参数,使用 “Properties Window” 或者 “Configure” 对话框。

对于每一个呼叫流程,CFD 可以为呼叫流和组件创建三种呼叫类型(主流程, 错误处理流程,断开处理流程 ),其中主流程和错误处理流程也可以用于拨号器。

主流程(Main Flow)

常见的执行流程:只要没有错误发生或呼叫断开,每个组件就会在 “主流程” 中按顺序执行。发生错误时,将执行 “错误处理流程”。当呼叫断开时,继续执行 “断开处理流程”。呼叫相关组件不能在“断开处理流程”中使用。

错误处理流程(Error Handler Flow)

如果在执行主流程或者断开处理流程的时候发生错误,就将执行错误处理流程。

用户定义的组件始终从调用流,拨号程序或包含它的其他用户定义组件执行。因此:

  • 当执行调用流程时发生错误时,将执行调用流程的错误处理程序,然后完成调用。
  • 当执行拨号程序时发生错误时,执行拨号程序的错误处理程序,然后循环结束,拨号程序暂停直到下一次迭代。
  • 当执行用户定义组件时发生错误时,将执行用户定义组件的错误处理程序,然后在父主流上继续执行。但是,如果错误处理程序为空,则在父级的错误处理程序流上继续执行。它表现为一个 catch block。

比如一个呼叫抵达,开始执行:Callflow1, 分别将呼叫送至 Component1和 Component2。当在主流程的 Component2 发生错误后,执行 Component2 的错误处理程序是空的,因此不处理错误。Component1 的错误处理程序通过处理错误的包含组件执行,最后在 Callflow1 的主流上继续执行,因为错误是在子组件上处理的。

断开处理流程(Disconnect Handler Flow)

当呼叫流程中的呼叫断开连接时,断开处理程序将会执行,整个呼叫流程将会结束。另一方面,如果呼叫在用户定义的组件上断开连接,则当断开处理流程结束其执行时,将在父类断开处理流程上继续执行。

行为类似于用于错误处理的行为,但在这种情况下,呼叫将断开连接。

比如一个呼叫抵达,开始执行流程:

Callflow1 呼叫 Component1,呼叫 Component2。如果此时断开连接,则执行 Component2 的断开处理程序,然后执行 Component1 的断开处理程序,最后执行 Callflow1 的断开处理程序。此调用不会再次执行主流程。

组件工具箱

工具箱包含提供的内置组件,以及用户为特定项目创建的自定义组件。我们简单介绍一下每个组件:

  • “Call Control”
    • Menu: 播放一段音频,并使用单个 DTMF 选项。
    • User Input: 采集呼叫者输入的 DTMF 数字。
    • Authentication: 为后续的验证采集用户的 ID 和 PIN 码。
    • Creadit Card: 收集用户的信用卡号码,到期时间和安全码。输入数字的输号不会录音。
    • Prompt Playback: 播放一段音频。
    • Record: 为用户录音。
    • Record and Email: 用户录音后将录音文件通过邮件发送。
    • Transfer: 呼叫转接。
    • Attach Call Data: 为一通呼叫添加数据。
    • Get Attached Call Data: 读取之前为呼叫添加的数据。
    • Disconect Call: 断开呼叫。
    • Make Call: 在两个号码直接建立呼叫。
  • “Call Flow”
    • Assign a Variable: 设置变量的值。
    • Increment Variable: 变量按固定值增长。
    • Decrement Variable: 变量按固定值减少。
    • Create a Condition: 根据条件判断,选择不同分支。
    • Date & Time Condition: 根据日期和时间选择不同分支,也可以过滤送到 3CX 的 DID。
    • Loop: 满足条件时进行循环。
    • Logger: 向 3CXCallFlow.log 文件写入信息。
    • Exit Callflow: 退出呼叫流程。
  • “Application Tools”
    • Encryption: 使用TripleDES加密或解密数据,并计算MD5哈希值。
    • Database Access: 在SQL Server,PostgreSQL 或 MySQL数据库上执行SQL语句。
    • E-Mail Sender: 可以发送带附件的邮件。
    • Execute C# File: 执行 C# 代码(.NET Core)文件。
    • Execute C# Code: 在组件中执行 C# 代码(.NET Code)。
    • Read / Write to File: 读取或写入文件。
    • Open a Socket: 打开TCP或UDP连接,通过连接发送数据,并可选择等待远程端点的响应。
    • HTTP Requests: 执行 HTTP 请求。
    • Web Service REST: 执行 REST Web 服务,提供身份验证。
    • Web Service (POST): 执行简单的网页服务。
  • “3CX Internal Properties”
    • Get DN Property: 读取 DN 属性值。
    • Set DN Property: 写入 DN 属性值。
    • Get Global Property: 读取 3CX 全局参数。
    • Set Global Property: 写入 3CX 全局参数。
    • Get Extension Status: 获取分机正在使用的状态,并确认是否在通话中。
    • Set Extension Status: 改变分机的状态。
    • Get Queue Extension: 获取队列中登入的坐席列表。
  • “User Defined Components” – 创建的这些用户自定义组件会自动添加到工具箱中。

关于 CFD 组件的更多功能,请参考: CFD 组件

Project Explorer Window

该面板可以浏览项目文件,包含 callflow, dialer 以及用户自定义模块。我们可以将这些组件按组的方式放在文件夹中。呼叫的入口始终是 callflow,而 dialer 是开始自动进行出站呼叫的入口。

“Project Explorer” 允许用户执行以下操作:

  • 保持项目或文件
  • 重命名项目,文件夹及文件
  • 关闭项目或文件
  • 创建一个新文件夹, callflow, dialer 或组件
  • 添加一个已经存在的文件夹及, callflow, dialer 或组件
  • 删除已经存在的文件夹, callflow, dialer 或组件
  • 编译项目

这些动作都可以在选中一个项目后右键,在弹出的菜单中选择。文件和文件夹可以直接用拖拽的方式直接移动。如果 CFD 不能找到引用的文件或文件夹,会以红色字体显示,表示它已丢失。

Properties Window

“Properties Window” 显示当前选择的项目信息。窗口中会显示项目可以执行的一些动作,以方便执行。比如,”Create a condition” 组件包含 “Add Branch” 动作,可以更轻松的创建分支。

Error List Window

“Error List” 面板会显示项目编译过程中的几种信息:

  • Errors: 项目因为某些组件的错误而无法编译。用户需要正确处理生成的错误。
  • Warning: 有一些问题存在,但是可以编译输出文件。用户需要考虑这些信息,并检查某些动作在 CFD 中是否多余。
  • Messages: 用户在不影响输出生成的情况下考虑的信息。

每条消息都会包含与之相关的组件信息以及文件位置。对某条信息双击或者按下回车,会自动打开引用的文件并选中组件。

CFD可以通过单击每种消息类型的按钮来过滤消息列表。

Output Window

“Output” 面板显示编译过程中执行的操作。比如,什么时候编译开始,什么时候编译文件等等。

CFD 用户手册

1. CFD 安装及简介

2. 创建一个简单的 CFD 流程

3. CFD 工作区

4. CFD 组件

5. CFD 条件和变量

6. CFD 提示和表达式

7. CFD 错误排查