问题标签 [twilio-programmable-voice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
602 浏览

android - Twilio 可编程语音 TwilioVoice.connect() 无响应

我正在开发 React Native 应用程序以使用 Twilio 可编程语音呼叫进行呼叫我可以将它集成到 android 但呼叫功能不起作用

应用程序屏幕

0 投票
1 回答
852 浏览

android - 是否可以在 Twilio Programmable Voice for Android 中设置音量?

是否可以使用适用于 Android 的 Twilio 可编程语音 SDK 设置流的音量?我有一个用例,用户需要同时播放来自其他应用程序(例如 Spotify)和我的 Twilio 客户端应用程序的声音。

我想要实现的是独立设置 Twilio 呼叫的音量,以便用户可以控制它的音量,而不会影响其他应用程序的音乐音量。

0 投票
0 回答
227 浏览

twilio - 如何开始在 Twilio 中录制“进行中”的呼出电话?

我让 Twilio 开始、暂停、恢复和停止正在进行的入站呼叫的记录。但是,当我使用相同的方法、相同的代码来记录正在进行的出站呼叫时,我会收到20404错误消息。

我知道我可以使用<record>动词从一开始就记录呼出电话,但我需要能够有选择地记录正在进行的呼出电话。

正如我所说,我使用它来记录正在进行的呼入电话,所以我很困惑为什么同样的方法不适用于正在进行的呼出电话。

这是我用于启动通话录音的 javascript:

在我的 php (Laravel) 中对这个方法的 ajax 调用:

方法send_request_to_twilio如下所示:

$url正在正确地制定。我唯一能想到的是,也许当我在试用帐户上时,Twilio 改变了CallSid当它完成强制性录音时告诉我我在试用帐户上,然后开始实际通话。这个对吗?如果是这样,一旦发生这种情况,我将如何找到新的 ID?

编辑:

添加这个以显示我如何获得呼叫 sid:

这就是twilio/tokengetJSON 调用的我的样子:

0 投票
0 回答
83 浏览

twilio - 响铃组:将后续呼叫与初始呼叫关联

所以我的通话应用程序具有“响铃组”功能。这个想法是某些号码应该将呼叫分散到多个响铃组成员。Twilio 有一篇文章在这里描述了这个过程:

https://www.twilio.com/blog/2009/05/dialing-multiple-numbers-simultaneously-with-twilio.html

我想做类似的事情。遍历我可用的响铃组成员并对dial.number他们每个人执行一次。这将为他们中的每一个创建一个新的呼叫,该呼叫命中我们的常规来电 webhook。效果很好,除非没有人接听电话,否则电话将被发送到随机成员的语音信箱。

我想了几个可能解决这个问题的策略,但没有一个很有效:

  1. 管理超时。将振铃组的拨号超时设置为短于我们的来电 webhook 的超时。我的想法是这可能会跳过对来电的后续操作并转到响铃组的后续操作 - 这是一个响铃组语音信箱。但在这种情况下,在响铃组拨号上设置超时不会做任何事情。只有传入呼叫 webhook 的超时受到尊重。
  2. 传递一些上下文。如果我可以通过该dial.number方法从响铃组呼叫传递额外的参数,那么我可以在来电 webhook 中识别出这是来自响铃组并采取相应的行动。但显然你不能传递自定义参数。似乎我唯一可以更改的是 callerId - 我可以用它来指示响铃组号码,但随后我失去了呼叫来自谁的上下文。
  3. 附加一个 status_callback。dial.number我可以在 ring 组中放一个 status_callback 。一旦发起呼叫,它会通过 CallSid 向我发布。我可以使用这个 sid 来查看我的来电控制器创建的呼叫并链接 sid,从而识别哪些呼叫来自振铃组。不幸的是,我在振铃组的 status_callback 上获得的 CallSiddial.number与我的应用收到的任何其他 sid 都不匹配。来电 webhook 上的 sid 是不同的 - 如果我将它分散给多个成员,有趣的是,每个来电 webhook 都会获得不同的 sid。我最初认为,由于只有一条腿连接到来电,所以它们都会共享同一个 sid ......

我想知道是否有人有其他想法?

0 投票
1 回答
269 浏览

twilio - Twilio:在暖转接中保持通话

我正在 Twilio 建议的我的应用程序中实现热传输
我需要所有这些功能如下:
https ://www.twilio.com/docs/voice/tutorials/warm-transfer

我从 Github 下载了这个示例,以检查这种方法是否合适:
https ://github.com/TwilioDevEd/warm-transfer-csharp

现在我面临的问题是,当第一个代理呼叫第二个代理并告诉他们呼叫者的问题并挂断自己(即第一个代理)时,我不能让第一个呼叫者听一些音乐

我在示例代码中添加了这段代码来暂停调用者:

但是我收到了 Twilio 的“错误 20404”错误。
请让我知道如何实现这一点,或者我是否可以使用其他更好的方法来满足我的要求。

0 投票
0 回答
55 浏览

twilio - 特维利奥动词没有完成一个 20 秒的 wav 文件非常被执行

我的一位客户在使用我们的语音邮件丢弃功能时遇到了问题。录音时长 21 秒,但在挂断电话之前,只有前 6 到 8 秒会在收件人语音邮件中播放。

事件顺序显示在随附的屏幕截图中

在此处输入图像描述

从它的样子来看,在播放录音几秒钟后,呼叫完成的端点被击中,它返回一个挂断动词。

非常感谢这里的任何帮助,谢谢。

0 投票
1 回答
78 浏览

twilio - Twilio 语音识别:当 SpeechTimeout='auto' 时增加语音暂停时间

我已将 SpeechTimeout 设置为“自动”,这意味着 Twilio 将在语音暂停时停止语音识别。但是停顿时间非常少,即使语音中有很小的间隙,语音识别也会停止。是否有任何属性可以增加我们可以设置的暂停/休息时间?

0 投票
0 回答
167 浏览

android - 如何使用 Twilio 可编程语音在双向通话中收集 DTMF 音

我目前正在使用适用于 Android 的 Twilio Client SDK 从人 A 的 android 应用程序(由我构建)向人 B 的手机拨打电话。我试图弄清楚人 A 的 android 应用程序如何收听人 B 的拨号盘传入的 DTMF 音并根据输入提供反馈。目前,用于可编程语音的 Twilio Client SDK 似乎不支持此用例。

可以在此处找到已提出的想法之一:How to collect Twilio DTMF input from call recipient on outbound call。但是,我不希望人 B 必须从通话中断开。我也不确定是否可以设置电话会议,然后向 B 发起呼叫。

已经提出的另一个想法是允许第三方服务器加入这个会议,并处理 DTMF 音。根据输入,服务器可以向人员 A 的应用程序发送推送通知。

我不确定这里的理想解决方案是什么,什么是可行的。我想在 A 和 B 之间开始一个会议,并让我的单独服务器监听会议。但同样,我不确定这是否有效。

0 投票
1 回答
207 浏览

twilio - 立即重定向到 Twilio Autopilot 调用回退

在我的 TwiML 上,我正在重定向到自动驾驶助手。

重定向有效,但 Autopilot 中的后备任务在说出响应消息后立即执行。

期望:在 TwiML 中说出我的响应消息并重定向到 Autopilot 后,它应该等待几秒钟,如果没有来自调用者的查询,那么它应该触发回退任务。

如何防止回退任务立即执行?

0 投票
0 回答
24 浏览

twilio - 是否可以将 Twilio CallSid 与 PIN 码相关联?

在应用程序中,用户需要输入 6 位 PIN 才能加入会议。
在用户呼叫会议号码之前,将 PIN 分配给特定的用户 ID。
我希望在用户输入 PIN 后,Twilio 将 CallSid 连同输入的 PIN 一起传递给我的应用程序。
这可能吗?