Amazon Connect (Contact Flow/AVR语音导航)的配置与应用

-- Aws Connect (Contact Flow/AVR语音导航)的配置与应用
【官网】:https://aws.amazon.com

应用场景

涉及国外的系统中,如果有呼叫中心,电话坐席管理,这时可以考虑使用Aws Connect (Contact Flow/AVR语音导航)

基础资源

Aws云中的Connect (Contact Flow/IVR)

使用须知

目前已经有中国站了(https://aws.amazon.com/cn/), 具体费用,资质等请自行查看官网。

配置步骤

【什么时候要用到Aws Contact Flow

如果你的系统是服务欧美国家,而且系统中要搭建类似呼叫中心,IVR语音导航那种服务,并且为了合规以及避免不必要的麻烦,建议尽量选用AWS上的。

Aws上的IVR导航服务是什么】

大家都用过类似10086那种语音导航“查询话费请按1,办理服务请按2,人工客服请按3...”这种就是IVR导航服务了。

AWS上的IVR实际上是一个叫做Contact Flow的东西,它可以创建IVR导航服务,也可以实现对客服,呼叫队列,转移呼叫,转移队列,IVR转人工,记录按键信息,记录通话语音,与客户自有系统打通,支持文字语音两种通道的AI聊天等等。

【如何从零开始创建Contact Flow

1)开设Aws账户,我们称之为总账户.

2)登录上述Aws总账户后,搜索Aws connect, 创建Aws connect Instance实例。每个实例实际上都可以定义单独的二级域名,并且维护实例自身的客服账号,客服角色权限,呼叫队列,电话号码等等。

3)登录Aws实例后,依次完成如下操作:

3.1)创建Queue(队列名,拨出号码,出站回拨名称,规定了工作小时,队列最大Contact数等).

3.2)创建Route Profile文件(指定队列,通道<语音,chat>,chat并发个数)。

3.3)创建Contact Flow(编辑IVR,语音,可通过Lambda函数与自由系统交互,可引入aws lex实现AI深度学习的聊天,能获取一些客户意图. 其中Contact Attribute又可以作为ccp与服务端交互的中介变量。其中Contact Flow 又分为:(inbound contact flow,customer queue flow,customer hold flow,customer whisper flow,Outbound whisper flow,Agent whisper flow, Transfer to agent Flow,Transflow queue flow)

3.4)申请电话号码Phone Number(设置关联的 Contact Flow).

3.5)创建客服账号(分配Route Profile, 指定号码).

【一些技术细节问题】

1) Aws Contact Flow中的语音是如何生成的?

可以上传语音文件,也可以录入文本然后通过系统自带的TTS转化为语音。文本中还能包含一些上一步的选择值,比如按键或者调用函数返回值,例如:$.External.BusinessType,这里假设BusinessType是中国移动客户在打电话中按键选择的要办理的业务类型。

2) 业务太复杂,Contact Flow/IVR太复杂怎么办?

大的Contact Flow可以拆成多个小的,中间可以进行转移,类似转移通话那种效果。

3)  Contact Flow中能支持判断运算吗?

支持的,能支持>=,Equal,Contains等比较运算. 具体参考:Check Contact Attributes

4) 如何与现有的自有系统对接。

Aws Contact Flow可以调用lambda函数,而lambda函数支持 .net ,java, nodejs等语言,写好了lambda函数之后,发布了就可以呗Aws Contact Flow使用。当然这里涉及到一个白名单的问题,并且要支持https。函数的入参或者返回值一般借助Contact Flow中的Contact Attribute来实现的。

常见问题

  • lambda函数总是执行失败
    【解决方案】可能是没有权限,或者没有关联到connect实例
  • contact flow似乎进入某个环节就卡死了
    【解决方案】可能是SSML类型的内容中没有xml标记
  • 设置队列后,跳转失败
    【解决方案】可能是队列size超额了,无法设置

快速入门

A)一般定义Contact Flow的步骤。


使用以下步骤创建入站联系流。

  1. 在导航窗格中,选择路由选择,然后选择联系流

  2. 选择创建联系流。这将打开联系流设计器并创建入站联系流(类型 = 联系流)。

  3. 键入联系流的名称和描述。

  4. 使用搜索栏搜索联系人数据块,或者展开相关组以找到此数据块。有关联系人数据块的描述,请参阅联系人块定义

  5. 将联系人数据块拖放到画布上。您可以按任意顺序或序列添加数据块,因为元素之间的连接不需要是严格线性的。

    提示

    您可以在画布上移动数据块,使得布局符合您的首选项。要同时选择多个数据块,请按笔记本电脑上的 Ctrl 键(或 Mac 上的 Cmd 键),选择所需的数据块,然后使用鼠标将它们在联系流中作为组拖动。您还可以使用 Ctrl/Cmd 键从画布上的一个点开始,然后在画布上拖动指针以选择包括在框架中的所有数据块。

  6. 双击数据块的标题。在“配置”窗格中,为该数据块配置设置,然后选择保存以关闭窗格。

  7. 回到画布上,请单击第一个(原始)数据块。

  8. 选择操作要执行的循环,例如成功。

  9. 将箭头拖动到执行下一个操作的组的连接器。对于支持多个分支的组,将连接器拖到适当的操作上。

  10. 重复步骤以创建满足您需求的联系流。

  11. 选择保存以保存流的草稿。选择发布以立即激活流。



B)查看各个连接块的定义.


Block Description

Call phone number

Initiates an outbound call from an outbound whisper flow.

Change routing priority / age

Changes the priority of the contact in queue. You may want to do this, for example, based on the contact‘s issue or other variable.

Check contact attributes

Checks the values of contact attributes.

Check hours of operation

Checks whether the contact is occurring within or outside of the hours of operation defined for the queue.

Check queue status

Checks the status of the queue based on specified conditions.

Check staffing

Checks the current working queue, or queue you specify in the block, for whether agents are available, staffed, or online. Staffed availability could be on call, or after contact work status.

Disconnect / hang up

Terminates a customer contact.

Distribute by percentage

Routes customers randomly based on a percentage.

End flow / Resume

Ends the current flow without disconnecting the contact.

Get customer input

Branches based on customer intent.

Get queue metrics

Retrieves real-time metrics about queues and agents in your contact center and returns them as attributes.

Hold customer or agent

Places a customer or agent on or off hold.

Invoke AWS Lambda function

Calls AWS Lambda, optionally returns key-value pairs.

Loop

Loops through, or repeats, the Looping branch for the number of loops specified.

Loop prompts

Loops a sequence of prompts while a customer or agent is on hold or in queue.

Play prompt

Plays an interruptible audio prompt, delivers a text-to-speech message, or delivers a chat response.

Set callback number

Sets a callback number.

Set contact attributes

Stores key-value pairs as contact attributes.

Set customer queue flow

Specifies the flow to invoke when a customer is transferred to a queue.

Set disconnect flow

Sets the flow to run when the agent disconnects from the chat.

Set hold flow

Links from one contact flow type to another.

Set recording and analytics behavior

Sets options for recording conversations.

Set voice

Sets the text-to-speech (TTS) language and voice to be used in the contact flow.

Set whisper flow

Overrides the default whisper by linking to a whisper flow.

Set working queue

Specifies the queue to be used when Transfer to queue is invoked.

Start media streaming

Starts capturing customer audio for a contact.

Stop media streaming

Stops capturing customer audio after it is started with a Start media streaming block.

Store customer input

Stores numerical input to a contact attribute.

Transfer to agent (beta)

Transfers the customer to an agent.

Transfer to flow

Transfers the customer to another contact flow.

Transfer to phone number

Transfers the customer to a phone number external to your instance.

Transfer to queue

In most contact flows, this block ends the current contact flow and places the customer in queue. When used in a customer queue flow, this block transfers a contact already in a queue to another queue.

Wait

Pauses the contact flow.





参考资料