首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Amazon呼叫进度跟踪

Amazon呼叫进度跟踪
EN

Stack Overflow用户
提问于 2022-02-17 11:33:02
回答 2查看 260关注 0票数 0

我目前正在从事一个项目,其中一个元素是Amazon。到目前为止,我的功能是在磁盘上本地触发连接,并根据文档使用以下代码。

代码语言:javascript
复制
const AWS = require('aws-sdk');
AWS.config.loadFromPath('./configuration/keys/key-aws.json');

exports.makeCall = (number) => {
    let connect = new AWS.Connect();
    var params = {
        InstanceId: 'xxxxxx',
        ContactFlowId: 'xxxxxx',
        SourcePhoneNumber: 'xxxxxx',
        DestinationPhoneNumber: number,
        Attributes: {},
    };

connect.startOutboundVoiceContact(
    params,
    function(error, response) {

        if (error) {
            console.log(error)
            callback('Error', null);
        } else {
            console.log('Initiated an outbound call with Contact Id ' + JSON.stringify(response.ContactId));
        }
    }
);

};

我的问题是:

  1. 是否有可能跟踪呼叫状态(正在进行/已完成/拒绝),因为在上面的解决方案中,我们只获得连接已启动的信息,并且响应中只有ContactId。
  2. 是否可以在亚马逊连接中使用自定义函数而不使用AWS,但可以使用外部源(如GCP的应用程序引擎)。
  3. 是否可以创建一个解决方案,在完成第一个调用之后才能再次调用?

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-04 20:51:10

  1. ,这里有几个选项。您可以调用DecribeContact并检查DisconnectTimestamp和ConnectedToAgentTimestamp --这可以告诉您调用是否仍在进行中,以及是否已到达代理,因此是否得到了响应。但是,您必须继续调用这个函数来跟踪调用。

另一种选择是使用动态数据流和监视来跟踪联系人,并在联系人完成时调用lamba。请参阅https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html

我将将触觉写到dynamodb,并在监视运动流的lambda中使用它。

  1. ,你的意思是从一个接触流中?如果是这样,则不能直接调用lambda,但是lambda可以调用外部源。

  1. 当然可以使用上面提到的DecribeContact调用,或者,如果您将出站调用发送到一个只有一个与其关联的代理的队列(通过路由配置文件或使用代理队列),则可以使用GetCurrentMetricData并检查AGENTS_AVAILABLE和CONTACTS_IN_QUEUE指标,以决定是否创建一个新的调用。
票数 1
EN

Stack Overflow用户

发布于 2022-08-25 04:22:04

为什么不使用呢?您将在每个事件中获得调用状态。例如OnConnecting,OnConnected,OnMissed和OnCompleted。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71157354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档