如何在Amazon Connect联络流中获取活跃IVR呼叫数?
获取Amazon Connect联络流中的活跃IVR呼叫数
方案1:联络流自定义属性+Lambda实时计数
- 在IVR入口节点添加「设置自定义用户属性」操作,为每个进入IVR的呼叫标记专属标识(如
ivr_active=true),同时触发Lambda将计数器+1。 - 在IVR流程的所有退出节点(挂断、转队列/人工前)触发Lambda,将计数器-1,并清除该呼叫的IVR活跃标记。
- Lambda用DynamoDB或Redis维护全局计数器,确保跨实例同步。若需在联络流中实时获取数值,可通过「调用Lambda函数」节点拉取当前计数。
方案2:EventBridge事件驱动统计
- 开启Amazon Connect事件通知,配置EventBridge捕获
Contact Initiated和Contact Terminated事件。 - 通过事件中的
ContactFlowType字段筛选纯IVR呼叫(排除已进入队列/人工的呼叫),或者在联络流中给IVR阶段的呼叫添加自定义标签,用于事件筛选。 - 用Lambda监听筛选后的事件,更新DynamoDB中的计数器:呼叫进入IVR时+1,结束时-1。需要时可通过Lambda将计数返回给联络流。
方案3:CloudWatch Logs Insights批量统计
- 确保Amazon Connect联络流日志输出到CloudWatch Logs,编写Insights查询筛选当前活跃IVR呼叫:
fields contactId | filter @message contains "IVR流程执行中" and contactFlowType = "IVR" | stats count(distinct contactId) as active_ivr_calls - 该方案适合周期性统计,实时性不足,无法直接在联络流中实时调用,但可用于监控面板展示。
注:CloudWatch原生指标确实没有直接的IVR并发呼叫数指标,以上方案均为自定义实现方式。
内容的提问来源于stack exchange,提问作者Anish Singh
相关产品推荐
相关产品推荐

