Javascript 使用Twilio将POST参数发送到语音URL以接收来电
我允许我的站点接受python和javascript的传入调用。我想确保无论是谁接听电话,Twilio都正确记录了他们的用户名。正如他们在邮件中所发布的,您需要创建一个功能令牌来接受传入呼叫:Javascript 使用Twilio将POST参数发送到语音URL以接收来电,javascript,twilio,Javascript,Twilio,我允许我的站点接受python和javascript的传入调用。我想确保无论是谁接听电话,Twilio都正确记录了他们的用户名。正如他们在邮件中所发布的,您需要创建一个功能令牌来接受传入呼叫: capability.allow_client_outgoing(application_sid) capability.allow_client_incoming("jenny") 该站点上可能同时有多达20个不同的用户可以接听电话,因此我希望替换jenny字符串,以允许基于登录者的动态用户名 我使用
capability.allow_client_outgoing(application_sid)
capability.allow_client_incoming("jenny")
该站点上可能同时有多达20个不同的用户可以接听电话,因此我希望替换jenny字符串,以允许基于登录者的动态用户名
我使用Django作为我的框架,并通过从request.user.username请求用户名的视图生成令牌
我的Twilio语音URL被定向到此函数。如果它没有看到phone_number参数,则可以假定这是一个传入呼叫。我想通过这篇文章发送'call_rep'参数,该参数将匹配用户名,以允许传入呼叫具有正确的用户信息:
@twilio_view
def make_call(request):
resp = Response()
if 'phone_number' in request.POST:
phone_number = request.POST['phone_number']
resp.say("Making the call now")
resp.dial(number=phone_number, callerId=TWILIO_PHONE_NUMBER)
else:
resp.say("Incoming call")
with resp.dial(callerId=TWILIO_PHONE_NUMBER) as r:
r.client(request.POST['call_rep'])
return resp
在我的JavaScript中是否有地方需要输入呼叫代表的用户名
Twilio.Device.setup(token);
Twilio.Device.ready(function (device) {
});
Twilio.Device.error(function (error) {
console.log(error);
$("#log").text("Error: " + error.message);
});
Twilio.Device.offline(function(device) {
// Called on network connection lost.
});
Twilio.Device.connect(function (conn) {
console.log("Successfully established call");
});
Twilio.Device.disconnect(function (conn) {
// Called for all disconnections
console.log('DISCONNECT: ' + conn.status);
});
/* Listen for incoming connections */
Twilio.Device.incoming(function (conn) {
connection = conn
connection.accept()
});
对于传出呼叫,我可以传递额外的参数,没有问题。如何处理传入数据
Twilio.Device.connect({
call_rep: '{{ request.user.username }}',
phone_number: phone_number
});
嘿,奥斯汀,这里是Twilio的雇员。实际上,我正在写一篇关于在客户端使用请求参数的文章。我能澄清一些事情吗?您可以通过拨出的电话传递这些参数,但不能传入?您的意思是从客户端应用程序传出吗?正确,我可以从客户端应用程序传递传出呼叫的参数。我使用它是为了让我的Twilio语音URL中的函数调用正确的号码。我应该注意到,我正在努力建立一个呼叫中心,任何代表都可以接听来电。我试图找到一种方法将代表的名字传递到我的Twilio URL,这样它就可以接受连接。此后,我尝试使用队列解决此问题。尽管我现在遇到的问题是,如果有来电者在队列中,我会尝试联系代表。我现在正在查看pusher或Socket.IO。
Twilio.Device.connect({
call_rep: '{{ request.user.username }}',
phone_number: phone_number
});