【问题标题】:How make a direct phone call to exist between two customers using Twilio API如何使用 Twilio API 在两个客户之间进行直接电话通话
【发布时间】:2021-06-28 07:55:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: twilio twilio-api twilio-twiml twilio-click-to-call


    【解决方案1】:

    这里是 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);
        }
    }
    

    另一种选择是让 A 使用 Twilio Client to make the phone calls from your browser 在您的应用程序中直接调用。

    为了更深入地挖掘,您还可以使用 Twilio Proxy 在两个客户和您的 Twilio 号码之间创建一个会话,创建一个连接,允许 A 或 B 呼叫 Twilio 号码并连接到其他在会议期间。在幕后,Proxy 致力于自动交付上述 TwiML,同时还维持用户之间的会话,直到完成并且客户 A 可以重用该号码以连接到新客户。查看Proxy quickstart 以更好地了解其工作原理。

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

    【讨论】:

    • 我喜欢答案详细而直截了当。谢谢@philnash,我会尽快处理并回复。
    • 希望你一切顺利!
    • 谢谢@philnash 一切都像魔术一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多