【问题标题】:Twilio call hold is not working as expectedTwilio 呼叫保持未按预期工作
【发布时间】:2021-04-27 17:59:51
【问题描述】:

我正在使用 Twilio 从我的 Twilio 客户端呼叫我的客户,并希望在需要时让用户保持等待状态。为此,每当用户单击“保留”按钮时,我都会调用 RESTAPI。 但是在调用方法调用后,我的 Twilio 客户端断开连接并为我的客户播放保持声音。你能为此提出一些建议吗?以下两种方法都不起作用

   var response = new VoiceResponse();
        var dial = new Dial();
        dial.Conference("Customer Waiting Room", beep: Conference.BeepEnum.False);
        response.Append(dial);
        var call = Twilio.Rest.Api.V2010.Account.CallResource.Read(parentCallSid: callSid).ToList();
        Twilio.Rest.Api.V2010.Account.CallResource.Update(new Twilio.Rest.Api.V2010.Account.UpdateCallOptions(call[0].Sid) { Twiml = response.ToString() });
        return Content(response.ToString(), "application/xml");

替代方案:

 var response = new VoiceResponse();
                response.Say("You have a caller on hold.");
                var call = Twilio.Rest.Api.V2010.Account.CallResource.Read(parentCallSid: callSid).ToList();
                response.Enqueue("admin");
                Twilio.Rest.Api.V2010.Account.CallResource.Update(new Twilio.Rest.Api.V2010.Account.UpdateCallOptions(call[0].ParentCallSid) { Twiml = response.ToString() });

【问题讨论】:

    标签: twilio twilio-api twilio-twiml twilio-programmable-chat twilio-click-to-call


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    您的代理和您的客户之间建立了直接通话设置。当您将客户呼叫从那里移开时,您的代理呼叫将转到下一条 TwiML 指令。如果您的代理没有更多可用的 TwiML 说明,则它们将断开连接。

    要克服这个问题,您需要考虑在客户处于等待状态时您希望代理做什么。例如,在会议中进行通话可能会更好。这样一来,当您将客户搁置时,座席可以留在会议中。

    否则,您应该在代理的<Dial> 之后提供进一步的 TwiML 说明,以便他们在客户离开后继续通话。

    【讨论】:

    • 嗨@philnash 我在哪里可以分别为客户和代理提及 TWIML。一旦我让客户参加会议,代理就会断开连接,反之亦然。你能帮我提供任何代码示例吗?
    • 我建议,如果您想让人们处于等待状态,您可以在会议中与他们开始。然后,您可以按预期实际使用会议的保持功能。查看这篇博文以了解如何做到这一点:twilio.com/blog/2016/06/introducing-conference-hold.html
    • 嗨@philnash,我会试一试并更新你。同时,您能否查看我发布的stackoverflow.com/questions/67379853/… 的新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多