如何使用 Twilio API 在两个客户之间进行直接 phone 调用

How make a direct phone call to exist between two customers using Twilio API

我有这样的想法,我需要通过直接 phone 呼叫将客户 A(正在招聘)与客户 B(将被聘用)联系起来,只需按一下按钮,客户B(将被雇用)不希望任何人只能访问他的个人 phone 号码(以避免垃圾电话)。

好吧,为了完成这项工作,我发现 Twilio 可以处理我使用 ASP.NET Core 实现的可编程语音呼叫,但这并不是我想要的,因为客户 A(正在招聘)在 TwiML 工作时,不允许直接与客户 B(将被雇用)交谈。

使用 Twilio,有没有一种方法可以让这两个客户通过直接呼叫进行通信,同时对客户 A(正在招聘)隐藏客户 B(待雇)的 phone 号码?为了更清楚地说明这一点,我代表客户 A 想使用 Twilio 的 phone 号码拨打客户 B 的 phone 号码。任何帮助将不胜感激,谢谢。

此处为 Twilio 开发人员布道师。

您绝对可以通过直接呼叫连接两个客户,同时隐藏客户 B 的号码。

我将首先向您介绍最基本的知识,然后提出一些使其更具可扩展性的方法。

要创建一个 A 可以呼叫并将 A 连接到 B 的号码,您需要从 Twilio 购买该号码并对其进行配置,以便当 A 接到电话时 returns TwiML 连接到 B . 对于这个初始示例,您可以使用 TwiML Bin or some static TwiML that you host. The TwiML needs to use <Dial> and <Number>,如下所示:

<Response>
  <Dial callerID="YOUR_TWILIO_NUMBER">
    <Number>Customer B's phone number</Number>
  </Dial>
</Response>

现在,当 A 拨打该号码时,他们将接通 B。如果您将 callerId 设置为您的 Twilio 号码,B 也会将其视为来自您的 Twilio 号码,从而保持他们的 phone 号码也是私人的。

不过,像这样使用硬编码的 TwiML 无法扩展。您有几个选项可以改进这一点。

首先,您可以通过单击按钮让 A 从您的应用程序发起呼叫。该按钮可以 trigger a call to A using the REST API 并将其传递给上面的 TwiML,这样当 A 回答 phone 然后它拨给 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);
    }
}

另一种方法是让 A 使用 Twilio Client to make the phone calls from your browser.

直接从您的应用程序中调用

要更深入地挖掘,您还可以使用 Twilio Proxy to create a session between the two customers and your Twilio number, creating a connection that would allow either of A or B to call the Twilio number and get connected to the other for the duration of the session. Under the hood Proxy works to automate the delivery of the TwiML described above whilst also maintaining the session between the users until it is done with and the number can be reused by customer A to connect to a new customer. Check out the Proxy quickstart 来更好地了解它的工作原理。

使用 Twilio 代理或 Twilio 客户端之一可能最适合您的应用程序,但这取决于您要为用户提供的界面。