如何让Twilio呼叫代理并致电客户,并使他们相互交谈

时间:2018-07-05 20:38:45

标签: asp.net twilio

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

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

代理人开设一个客户帐户以查看其电话号码。电话号码显示为座席屏幕上的链接。代理单击链接。 Twilio向座席打了一个电话(Twilio通过登录已经知道座席的电话号码)。代理拿起电话。 Twilio致电客户(呼叫者ID是公司号码)。客户拿起电话。 Twilio将他们连接在一起,然后他们交谈。

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

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

1 个答案:

答案 0 :(得分:1)

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

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