首页 > 解决方案 > 如何让 Twilio 呼叫代理并呼叫客户,并将他们连接起来以相互交谈

问题描述

这是一个非常简单的情况,但我找不到解决方案。

我正在使用 ASP.NET Webforms 和 C# 来构建一个允许这种情况的系统:

代理调出客户帐户以查看他的电话号码。电话号码显示为代理屏幕上的链接。代理单击链接。Twilio 向代理发出呼叫(Twilio 通过登录已经知道代理的电话号码)。代理拿起电话。Twilio 呼叫客户(呼叫者 ID 是公司号码)。客户拿起电话。Twilio 将它们连接在一起,它们会说话。

通过这样做,客户将看不到代理的电话号码。

请注意,我们没有桌面电话,我们使用公司发行的 iPhone,因此我们不会在晚上将 iPhone 留在工作中。

标签: asp.nettwilio

解决方案


尝试使用呼叫控制器并连接两端。

using System.Configuration;
using System.Web.Mvc;
using ClickToCall.Web.Services;
using Twilio.AspNet.Mvc;
using Twilio.TwiML;

namespace ClickToCall.Web.Controllers
{
    public class CallController : TwilioController
    {
        private readonly IRequestValidationService _requestValidationService;
    public CallController() : this(new RequestValidationService())
    {
    }

    public CallController(IRequestValidationService requestValidationService)
    {
        _requestValidationService = requestValidationService;
    }

    [HttpPost]
    public ActionResult Connect(string salesNumber)
    {
        var twilioAuthToken = ConfigurationManager.AppSettings["TwilioAuthToken"];
        if (!_requestValidationService.IsValidRequest(System.Web.HttpContext.Current, twilioAuthToken))
        {
            return new HttpUnauthorizedResult();
        }

        var response = new VoiceResponse();
        response
            .Say("Thanks for contacting our sales department. Our " +
                 "next available representative will take your call.")
            .Dial(salesNumber)
            .Hangup();

        return TwiML(response);
    }
}
}

更多细节参考:https ://www.twilio.com/docs/voice/tutorials/click-to-call-csharp-mvc


推荐阅读