通过 Twilio 客户端连接两个人
Connect two persons through Twilio client
我有一个描述如下的任务:
实现呼叫按钮:
- 单击呼叫图标时,Twilio 首先呼叫 phone 号码 #1(管理员)
- 一旦管理员拿起 phone,就会呼叫号码 #2(提供者)。
- 都已连接。
此时我想出了如何通过浏览器呼叫 phone 个号码(例如管理员可以在浏览器中呼叫供应商)。
但我找不到任何信息,如何根据任务通过 Twilio 联系人们。
有什么方法可以实现这个解决方案吗?
我不太明白你是想在网站上点击一个phone号,还是想自动完全连接两个phone号
场景 1:用户拨打您的 Twilio 帐户的号码
您为该号码设置了一个回调 URL 并设置了一个 Web 端点,该端点生成类似于以下内容的响应(XML,TwiML):
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
在我的示例中,我使用 TypeScript/JavaScript 模板根据我们的系统逻辑替换 callerId
和 targetNumber
变量。
场景 2:您想通过 Twilio
连接两个 phone 号码
在这种情况下,您的软件首先确保 Twilio 调用您的管理员。这可以通过 REST 调用或 Twilio 的 API 来完成。根据您使用的编程语言以及您是否想使用 Twilio 的库,有很多选项。但这里记录了基本思想:
https://www.twilio.com/docs/voice/make-calls
并且您最终总是会针对 /2010-04-01/Accounts/{AccountSid}/Calls
进行 REST 调用以发起调用。
在请求中您再次指定一个 URL,然后 Twilio 可以回读 XML / TwiML 以了解它应该如何处理它所连接的呼叫。再次在这里您可以使用与上面几乎相同的 TwiML:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Just a second you are going to be connected to your provider.</Say>
<Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
在上面的示例中,我还添加了一个 <Say>
语句,以便管理员知道,他们将要连接并且需要耐心等待,直到呼叫最终连接。
重要提示:
在我们的应用场景中,我们试图隐藏连接方的phone号码。目的是拨入我们系统的呼叫者应该有机会在需要时保持完全匿名。因此,我们使用 callerId
指定我们希望通过出站 phone 呼叫发送的呼叫者 ID。请记住,这必须是您拥有的 phone 号码(是通过 Twilio 租用的号码,或者是您在 Twilio 注册的 phone 号码)。
我有一个描述如下的任务:
实现呼叫按钮:
- 单击呼叫图标时,Twilio 首先呼叫 phone 号码 #1(管理员)
- 一旦管理员拿起 phone,就会呼叫号码 #2(提供者)。
- 都已连接。
此时我想出了如何通过浏览器呼叫 phone 个号码(例如管理员可以在浏览器中呼叫供应商)。
但我找不到任何信息,如何根据任务通过 Twilio 联系人们。 有什么方法可以实现这个解决方案吗?
我不太明白你是想在网站上点击一个phone号,还是想自动完全连接两个phone号
场景 1:用户拨打您的 Twilio 帐户的号码
您为该号码设置了一个回调 URL 并设置了一个 Web 端点,该端点生成类似于以下内容的响应(XML,TwiML):
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
在我的示例中,我使用 TypeScript/JavaScript 模板根据我们的系统逻辑替换 callerId
和 targetNumber
变量。
场景 2:您想通过 Twilio
连接两个 phone 号码在这种情况下,您的软件首先确保 Twilio 调用您的管理员。这可以通过 REST 调用或 Twilio 的 API 来完成。根据您使用的编程语言以及您是否想使用 Twilio 的库,有很多选项。但这里记录了基本思想:
https://www.twilio.com/docs/voice/make-calls
并且您最终总是会针对 /2010-04-01/Accounts/{AccountSid}/Calls
进行 REST 调用以发起调用。
在请求中您再次指定一个 URL,然后 Twilio 可以回读 XML / TwiML 以了解它应该如何处理它所连接的呼叫。再次在这里您可以使用与上面几乎相同的 TwiML:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Just a second you are going to be connected to your provider.</Say>
<Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
在上面的示例中,我还添加了一个 <Say>
语句,以便管理员知道,他们将要连接并且需要耐心等待,直到呼叫最终连接。
重要提示:
在我们的应用场景中,我们试图隐藏连接方的phone号码。目的是拨入我们系统的呼叫者应该有机会在需要时保持完全匿名。因此,我们使用 callerId
指定我们希望通过出站 phone 呼叫发送的呼叫者 ID。请记住,这必须是您拥有的 phone 号码(是通过 Twilio 租用的号码,或者是您在 Twilio 注册的 phone 号码)。