问题描述
我有一个想法,我需要通过直接电话联系客户 A(正在招聘)和客户 B(将被聘用),只需按一下按钮,客户 B(将要聘用的人)雇用)不希望任何人只能访问他的个人电话号码(以避免垃圾电话)。
好吧,为了完成这项工作,我发现 Twilio 可以处理我使用 ASP.NET Core 实现的可编程语音呼叫,但这并不是我想要的,因为不允许客户 A(正在招聘)在 TwiML 工作期间,直接与客户 B(将被聘用的人)交谈。
使用 Twilio,有没有办法让这两个客户通过直接呼叫进行交流,同时对客户 A(正在招聘的人)隐藏客户 B(将要招聘的人)的电话号码?为了更清楚地说明这一点,我代表客户 A 想使用 Twilio 的电话号码拨打客户 B 的电话号码。任何帮助将不胜感激,谢谢。
解决方法
这里是 Twilio 开发者布道者。
您绝对可以通过直接呼叫连接两个客户,同时隐藏客户 B 的号码。
我将首先向您介绍非常基础的知识,然后提出一些使其更具可扩展性的方法。
要创建一个 A 可以调用的将 A 连接到 B 的号码,您需要从 Twilio 购买该号码并对其进行配置,以便当呼叫进入 A 时,它返回连接到 B 的 TwiML。对于这个初始示例,您可以使用 TwiML Bin 或您托管的某些静态 TwiML。 TwiML 需要使用 <Dial>
和 <Number>
,如下所示:
<Response>
<Dial callerID="YOUR_TWILIO_NUMBER">
<Number>Customer B's phone number</Number>
</Dial>
</Response>
现在,当 A 拨打该号码时,他们将连接到 B。如果您将 callerId
设置为您的 Twilio 号码,B 也会看到它来自您的 Twilio 号码,同时也将他们的电话号码保密.
像这样使用硬编码的 TwiML 并不能扩展。您有几个选项可以改进这一点。
首先,您可以让 A 通过单击按钮从您的应用程序发起呼叫。该按钮可以 trigger a call to A using the REST API 并将上面的 TwiML 传递给它,以便当 A 接听电话时 然后拨 B。喜欢:
using System;
using Twilio;
using Twilio.Rest.Api.V2010.Account;
class Program
{
static void Main(string[] args)
{
// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
string twilioNumber = Environment.GetEnvironmentVariable("TWILIO_NUMBER");
TwilioClient.Init(accountSid,authToken);
var call = CallResource.Create(
twiml: new Twilio.Types.Twiml($"<Response><Dial callerId='{twilioNumber}'><Number>CUSTOMER_B_NUMBER</Number></Dial></Response>"),to: new Twilio.Types.PhoneNumber(CUSTOMER_A_NUMBER),from: new Twilio.Types.PhoneNumber(twilioNumber)
);
Console.WriteLine(call.Sid);
}
}
另一种选择是使用 Twilio Client to make the phone calls from your browser 直接从您的应用程序中调用 A。
为了深入了解,您还可以使用 Twilio Proxy 在两个客户和您的 Twilio 号码之间创建一个会话,创建一个连接,允许 A 或 B 中的任何一个呼叫 Twilio 号码并建立连接在会议期间向另一方提供。在后台,代理致力于自动化上述 TwiML 的交付,同时还维护用户之间的会话,直到完成为止,并且客户 A 可以重复使用该号码以连接到新客户。查看 Proxy quickstart 以更好地了解其工作原理。
使用 Twilio Proxy 或 Twilio Client 之一可能最适合您的应用程序,但这取决于您希望为用户提供的界面。