Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何设置分机号,让座席可以直接在我的 Amazon Connect 联络中心互相呼叫?
我想设置分机号,以便我的 Amazon Connect 联络中心的座席可以直接互相呼叫。
解决方案
**注意:**在您的 Amazon Connect 实例所在的同一 AWS 区域完成以下步骤。
创建包含座席登录名及其分机号的 DynamoDB 表
完成以下步骤:
- 打开 Amazon DynamoDB 控制台。
- 在 Create DynamoDB table(创建 DynamoDB 表)页面上,为 Table name(表名)输入 AgenttoAgent。
- 对于 Primary key(主键),在 Partition key(分区键)面板中输入 Extension(分机号)。
- 对于 Data type(数据类型),选择 String(字符串)。
- 选择 Create(创建)。
- 为每个座席登录名分配唯一的分机号。
- 将分机号和座席登录名添加到表中。
**注意:**对于分机号 Attribute name key(属性名称键),请输入 Extension(分机号)。对于座席登录名 Attribute name key(属性名称键),请输入 AgentLoginNameAgentLoginName。
**注意:**有关如何编辑 DynamoDB 表的详细信息,请参阅将数据写入 DynamoDB 表。
为 Lambda 函数创建 IAM 角色
为您的 AWS Lambda 函数创建 AWS Identity and Access Management (IAM) 角色。然后,将以下策略附加到该角色,以便 Lambda 可以在 DynamoDB 中找到座席的登录名:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:BatchGetItem", "dynamodb:GetItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:BatchWriteItem", "dynamodb:PutItem", "dynamodb:UpdateItem" ], "Resource": "Replace with ARN of DynamoDB table you created" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }
创建 Lambda 函数
创建 Lambda 函数。在内置代码编辑器中,输入以下 Python 代码,该代码使用分机号输入查询 DynamoDB 表,并从表中返回相应的座席登录名:
import jsonimport boto3 from boto3.dynamodb.conditions import Key def get_agent_id(Extension, dynamodb=None): if not dynamodb: dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('AgenttoAgent') response = table.query( KeyConditionExpression=Key('Extension').eq(str(Extension)) ) return response['Items'] def lambda_handler(event, context): Extension = event['Details']['Parameters']['Extension'] AgentLoginName = get_agent_id(Extension) for agent in AgentLoginName: print(agent['Extension'], ":", agent['AgentLoginName']) print(AgentLoginName) return agent
创建函数后,将 IAM 角色附加到您的函数。
将 Lambda 函数添加到您的 Amazon Connect 实例
完成以下步骤:
- 打开 Amazon Connect 控制台。
- 在 Instance alias(实例别名)列中,选择您的 Amazon Connect 实例的名称。
- 在导航窗格中,选择 Contact flows(联系流)。
- 在 AWS Lambda 部分中,从 Function(函数)下拉列表中选择 Lambda 函数。
- 选择 Add Lambda Function(添加 Lambda 函数)。
- 在 Lambda Functions(Lambda 函数)下,添加该函数的 ARN。
有关如何将 Lambda 与 Amazon Connect 集成的详细信息,请参阅允许 Amazon Connect 访问您的 AWS Lambda 函数。
创建客户队列流,检查座席是否可以接听电话
完成以下步骤:
- 创建新的客户队列流。
- 添加 Check staffing(检查人员配置)块。
- 选择 Branch(分支)。
- 将 Check staffing(检查人员配置)块拖放到画布上的 Entry point(入口点)块之后。
- 对于 Status to check(要检查的状态),请选择 Available(可用)。
- 选择 Save(保存)。
**注意:**配置的 Check staffing(检查人员配置)块有三个分支,分别是 True、False 和 Error。
将“Loop prompts”(循环提示)块添加到“Check staffing”(检查人员配置)块的“True”分支中
完成以下步骤:
- 选择 Interact(互动)。
- 将 Loop prompts(循环提示)块拖放到画布上的 Check staffing(检查人员配置)块之后。
- 将 Loop prompts(循环提示)块连接到 Check staffing(检查人员配置)块的 True 分支。
- 选择 Loop prompts(循环提示)以打开块的设置菜单。
- 对于 Prompts(提示),选择 Text-to-speech(文字转语音),然后输入类似于以下内容的提示:“Now we will be transferring the call to $.External.AgentLoginName”(现在我们将把呼叫转接到 $.External.AgentLoginName)。
- 选择 Add another prompt to the loop(向循环中添加其他提示)。
- 选择 Audio recording(音频录制),然后选择呼叫者在等待座席接听通话时听到的音乐。
- 对于 Interrupt(中断),选择呼叫超时的时间范围。例如,选择 Interrupt every 1 minute(每 1 分钟中断一次)。
- 选择 Save(保存)。
将“Play prompts”(播放提示)块添加到“Check staffing”(检查人员配置)块的“False”和“Error”分支中
完成以下步骤:
- 选择 Interact(互动)。
- 将 Play prompts(播放提示)块拖放到画布上的 Check staffing(检查人员配置)块之后。
- 将 Play prompts(播放提示)块连接到 Check staffing(检查人员配置)块的 False 和 Error 分支中。
- 选择 Play prompts(播放提示)以打开块的设置菜单。
- 选择 Text-to-speech(文字转语音)或 chat text(聊天文本)。
- 在 Set manually(手动设置)部分中,输入类似于以下内容的提示:“您尝试联系的座席不可用或正在忙线中。请稍后再试。”
- 选择 Save(保存)。
添加“Disconnect / hang up”(断开连接/挂断)块
完成以下步骤:
- 选择 Terminate/Transfer(终止/转接)。
- 将 Disconnect / hang up(断开连接/挂断)块拖放到画布上的 Play prompts(播放提示)块之后。
- 将所有 Timeout 和 Error 分支连接到 Disconnect / hang up(断开连接/挂断)块和 Play prompts(播放提示)块的 Success 分支。
- 选择 Save(保存)。
- 选择 Publish(发布)。
创建入站联系流,当一位座席呼叫其他座席的分机号时启用 Lambda 函数
- 创建新的入站联系流。
- 选择 Create contact flow(创建联系流)以打开联系流设计器。
**注意:**您可以为您的用例添加或编辑块。例如,您可以将 Error 分支连接到 Play prompt(播放提示)块以播放自定义消息。
添加存储客户输入块
完成以下步骤:
- 选择 Interact(互动)。
- 将 Store customer input(存储客户输入)块拖放到画布上的 Entry point(入口点)块之后。
- 选择 Store customer input(存储客户输入)以打开该块的设置菜单。
- 选择 Text-to-speech(文字转语音),然后输入类似于以下内容的提示:“请输入座席的分机号码以继续。”
- 在 Customer input(客户输入)部分中,选择 Custom(自定义),然后输入用于每个座席分机号的位数。
- 选择 Save(保存)。
添加 Invoke AWS Lambda function(调用 AWS Lambda 函数)块
完成以下步骤:
- 选择 Integrate(集成)。
- 将 Invoke AWS Lambda function(调用 AWS Lambda 函数)块拖放到画布上的 Store customer input(存储客户输入)块之后。
- 选择 Invoke AWS Lambda function(调用 AWS Lambda 函数)以打开该块的设置。
- 选择 Lambda 函数。
- 在 Function input parameters(函数输入参数)部分中,选择 Add a parameter(添加参数),然后选择 Use attribute(使用属性)。
- 对于 Destination key(目标键),输入 Extension(分机号)属性名称。
- 对于 Type(类型),选择 System(系统)。
- 对于 Attribute(属性),选择 Stored customer input(存储的客户输入)。
- 选择 Save(保存)。
添加 Set working queue(设置工作队列)块
完成以下步骤:
- 选择 Set(设置)。
- 将 Set working queue(设置工作队列)块拖放到画布上的 Invoke AWS Lambda function(调用 AWS Lambda 函数)块之后。
- 选择 Set working queue(设置工作队列)以打开该块的设置菜单。
- 对于 Outputs(输出),选择 By agent(按座席),然后选择 Use attribute(使用属性)。
- 对于 Type(类型),选择 External(外部)。
- 对于 Attribute(属性),输入 AgentLoginName。
- 选择 Save(保存)。
添加 Set customer queue flow(设置客户队列流)块
完成以下步骤:
- 选择 Set(设置)。
- 将 Set customer queue flow(设置客户队列流)块拖放到画布上的 Set working queue(设置工作队列)块之后。
- 选择 Select a flow(选择流)。
- 选择 AgentQueueFlow。
- 选择 Save(保存)。
添加 Transfer to queue(转接到队列)块
完成以下步骤:
- 选择 Terminate/Transfer(终止/转接)。
- 将 Transfer to queue(转接到队列)块拖放到画布上的 Set customer queue flow(设置客户队列流)块之后。
**注意:**对于此用例,您无需为 Transfer to queue(转接到队列)块配置设置。
添加 Disconnect / hang up(断开连接/挂断)块
完成以下步骤:
- 选择 Terminate/Transfer(终止/转接)。
- 将 Disconnect / hang up(断开连接/挂断)块拖放到画布上的 Transfer to queue(转接到队列)块之后。
- 选择 Save(保存)。
- 选择 Publish(发布)。
**重要事项:**确保为座席分配电话号码以便向 AgentToAgentCall 联系流拨打内部电话。
创建允许座席使用内部呼叫功能的快速连接
完成以下步骤:
- 将快速连接命名为 InternalCalling。
- 对于 Type(类型),选择 External(外部)。
- 对于 Destination(目标),输入您分配给 AgentToAgentCall 联系流的号码。
- 添加 InternalCalling 快速连接到您分配给座席的队列中。
**注意:**每次通话的费用根据通话时长而变化。有关定价的详细信息,请参阅 Amazon Connect 定价。
相关信息
相关内容
AWS 官方已更新 1 年前