使用带有 Python 的 Twilio 进行个人对个人通话

Using Twilio with Python to make a person-to-person call

我已经使用 Twilio 设置了一个试用可编程语音帐户。我正在使用 Zoiper 软电话端点。我正在尝试让我客户的服务器通过 Twilio 向真人发起呼叫。我需要和被叫的人真正交谈。

但是,在使用教程代码时,Twilio 的 "url" 参数使用它自己的语音消息拦截调用:

from twilio.rest import Client

account_sid = 'Axxxx'
auth_token = 'xxxxx'
client = Client(account_sid, auth_token)

call = client.calls.create(
    url='http://demo.twilio.com/docs/classic.mp3',
    to='+15553334929',
    from_='+18334447682'
    )

print(call.sid)

通话对象听到了消息,但我们无法通话。

Twilio 自己的教程材料介绍如何使用 TwilML 或 "url" 参数让计算机自动处理调用。但是,我不需要那个。一旦服务器通过 Twilio 发起呼叫,我需要让两个现场人员互相交谈。现在,"url" / TwilML 就站在现场的人中间。

这叫做呼叫转移。下面的文章提供了完成此任务的所有不同方法

Setting Up Call Forwarding

这里是 Twilio 开发人员布道者。

欢迎使用 Whosebug!

您可以使用 Twilio Studio 执行此操作。在您的仪表板中,单击 + 按钮创建一个新流程并随意命名。

它带有触发器小部件,它会在触发触发器(在本例中为传入呼叫)时启动您的流程。

您只需要一个小部件:“连接呼叫至”小部件。将其拖到 canvas 上,并将初始 Incoming Call 触发器中的点连接到新的 Connect Call 小部件左上角的点。 Select 右侧边栏下拉列表中的单个号码,然后输入您要将呼叫转接到的任何号码。

最后,您需要一个 Twilio phone 号码。在控制台的 Twilio Phone 号码部分购买一个。

向下滚动到“语音和传真”部分,然后从初始下拉列表中 select Webhooks, TwiML Bins, Functions, Studio, or Proxy。在“有电话进来”旁边 select Studio Flow 并选择您刚刚制作的流程 connect/relate 到号码。最后点击保存和 tada!如果有人拨打您刚购买的 Twilio 号码,他们会将您转到您在 Twilio Studio 流程中指定的号码。

如果这有帮助,请告诉我! :D

This 博客展示了一个拨打电话然后将呼叫者加入通话的示例。请参阅 "Start a two-user call from your App" 部分。

您可能还想看看 this 答案,它显示了使用 JS API 执行此操作的另一种方法(原则应该很容易转移到 python API).基本上它会拨打两个电话并将他们加入会议。

免责声明:我不是律师,这不是法律建议,但我假设您熟悉 TCPA 并且已经阅读了与之相关的 regulations/requirements。您的代码以自动方式发起拨出呼叫(而不是代理手动单击按钮来发起呼叫)可能会改变您的监管风险级别。