[英]How to receive a browser call using twilio to a phone number using javascript
好的伙计们,过去几个小时我一直在查看 twilio 教程,但我似乎只是不明白。 有人可以给我一个关于如何执行以下操作的基本概述吗?
我想创建一个使用我电脑的麦克风/扬声器接听电话的应用程序。
我有一个 twilio 帐户和一个 twilio 语音电话 # 但我似乎不知道如何将 JS Device
object 连接到电话 #。 我认为这与功能/授权令牌有关,但有人可以一步一步地告诉我如何拨打电话以及耳机将接收语音呼叫并开始对话。 教程展示了如何让 twilio 在 twiML 中说出书面陈述,但我不明白如何让它进行实际的语音通话。
我目前的猜测是我需要在浏览器中执行以下操作才能接听电话。 但我不确定令牌中需要包含什么。
//I don't know what needs to be in the token in order to connect this
//web page twilio 'Device' to. I use c# but if you have a node.js or php example that would be fine
fetch('https://mybackend/getPhoneToken').then((token) => {
const device = new Device(token);
device.on('incoming', call => {
call.accept();
});
});
谢谢您的帮助。
这是我的第一个答案,让我们看看我是否可以提供帮助。
首先,您必须通过授予语音授权来生成访问令牌。
使用您的帐户 sid、API 密钥、API 密钥和身份生成访问令牌。
access_token = AccessToken(<Account_sid>, <api_key>,<api_secret>, identity=identity)注意:每个用户的身份应该是唯一的。 您可以将身份设置为twiliophonenumber_userid
授予语音传入访问权限。
voice_grant = VoiceGrant(outgoing_application_sid=<twiml_sid>,incoming_allow=True)
向 access_token 添加授权
access_token.add_grant(语音授权)
使用此 access_token 初始化 Twilio 设备。 然后就可以拨打twilio号码,在浏览器上接听电话。
对于所有 twilio 电话号码,您只需要一个 Twiml 应用程序。 使用请求 Url 和方法创建 Twiml 应用程序。 (每当 js 设备拨打/接听电话时,twilio 将向此 URL 发送请求以获取进一步的说明)
在上面的Request URL function中,你要告诉twilio这个request需要做什么。 这是一个示例 function
function handle_calls():
如果 outgoing_call:
dial.number(客户电话号码)
别的:
# 处理来电
dial.client(identity) # 这与我们在生成 access_token 时提供的身份相同。 这将在 Js 设备上触发“传入”事件。
为了区分呼出/呼入,您可以在呼出时向 twilio 发送额外的参数,并在上述 function(第 6 部分)中相应地处理请求。 请参见下面的示例 function。 var params = {"direction":"Outgoing"} # 根据此参数,您可以区分呼出/呼入呼叫。 设备连接(参数)
您可以设置 status_callback 事件以更好地处理呼叫进度。 看看这篇文章...https://www.twilio.com/docs/voice/twiml/number#attributes-status-callback-event
看看这篇文章,您可以获得更多信息 - https://www.twilio.com/blog/generate-access-token-twilio-chat-video-voice-using-twilio-functions
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.