asp.net - 如何让 Twilio 呼叫代理并呼叫客户,并将他们连接起来以相互交谈
问题描述
这是一个非常简单的情况,但我找不到解决方案。
我正在使用 ASP.NET Webforms 和 C# 来构建一个允许这种情况的系统:
代理调出客户帐户以查看他的电话号码。电话号码显示为代理屏幕上的链接。代理单击链接。Twilio 向代理发出呼叫(Twilio 通过登录已经知道代理的电话号码)。代理拿起电话。Twilio 呼叫客户(呼叫者 ID 是公司号码)。客户拿起电话。Twilio 将它们连接在一起,它们会说话。
通过这样做,客户将看不到代理的电话号码。
请注意,我们没有桌面电话,我们使用公司发行的 iPhone,因此我们不会在晚上将 iPhone 留在工作中。
解决方案
尝试使用呼叫控制器并连接两端。
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
推荐阅读
- java - Spring Security Crypto 模块 - BadPaddingException:给定最终块未正确填充
- php - 通过 Python 上的服务器进行串行数据通信
- rust - 如何直接将有限的字节从读取器复制到写入器
- php - 面临这个问题“上传的文件超过了php.ini中的upload_max_filesize指令。”
- android - 有没有办法为多个控件编写相同的 onclick 函数?
- pandas - 如何将不同的聚合函数应用于熊猫中的不同列?
- android - 使位图越过 ImageView 边框
- python - 使用python去除一堆文件中的短语
- oracle - 甲骨文中的多次插入只能触发一次吗?
- arrays - 过滤一个数组,其中第一个数组中的值包含打字稿中第二个数组中的值