You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在网页中程序化拦截并终止Amazon Connect CCP外呼通话

拦截Amazon Connect CCP外呼通话的实现方案

首先确认你已经正确集成了Amazon Connect Streams SDK,主页面和CCP iframe的通信正常是所有操作的前提。如果之前事件监听无效,大概率是事件绑定时机不对或者用错了事件类型。

以下是可行的实现步骤:

  • 初始化Streams并绑定Agent事件
    必须在CCP完全加载完成后再绑定事件,否则会错过关键触发时机。可以通过connect.core.initCCP的回调来确保时机正确:

    // 初始化CCP iframe
    connect.core.initCCP(document.getElementById('ccp-container'), {
      ccpUrl: '你的CCP访问URL',
      loginPopup: true,
      loginPopupAutoClose: true,
      softphone: {
        allowFramedSoftphone: true
      }
    });
    
    // 监听Agent就绪事件,确保Agent实例已获取
    connect.agent(function(agent) {
      // 监听所有新发起的通话
      agent.onContactInitiated(function(contact) {
        // 判断是否为外呼通话
        if (contact.getType() === connect.ContactType.OUTBOUND) {
          // 检查你的特定条件,比如页面状态、用户权限等
          const meetsCondition = checkYourCustomCondition();
          
          if (!meetsCondition) {
            // 立即终止通话
            contact.disconnect();
            // 可选:给Agent提示
            agent.showNotification('未满足条件,外呼已终止', connect.NotificationType.ERROR);
          }
        }
      });
    });
    
  • 关键注意事项

    • 不要在页面加载完成后直接绑定事件,必须等待CCP初始化完成、Agent实例可用后再绑定,否则事件监听器无法生效。
    • onContactInitiated是外呼发起后最早能捕获的事件,此时通话还处于初始化阶段,调用disconnect()可以直接终止,不会产生有效通话记录。
    • 如果需要在用户点击外呼按钮前就拦截(比如禁用外呼按钮),可以通过监听CCP的DOM事件,但这种方式依赖CCP的内部DOM结构,稳定性较差,优先推荐用Streams SDK的事件监听方案。
  • 排查之前失败的原因
    如果你之前尝试的事件没生效,可能是以下情况:

    • 绑定事件时Agent或CCP还未初始化完成,导致监听器未被正确注册。
    • 用了错误的事件类型,比如onConnecting事件触发时通话已经在建立中,此时终止可能无法立即生效。
    • 跨域问题:确保主页面域名在Amazon Connect实例的允许列表中,否则Streams SDK无法和CCP iframe通信。

内容的提问来源于stack exchange,提问作者richard wadsworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:14:57