【问题标题】:Open new (popup) window to answer Twilio call打开新(弹出)窗口以接听 Twilio 呼叫
【发布时间】:2017-03-20 12:10:56
【问题描述】:

我正在使用 Twilio JavaScript SDK 在浏览器中发出和接收调用。作为其中的一部分,我需要在新的弹出窗口中拨打和接听电话。这样用户就可以在不中断通话的情况下继续浏览网站。

我已经为拨出电话工作了(用户点击一个号码,然后我拨打window.open 发起呼叫)。

但是对于来电,我尝试在发起浏览器窗口中执行以下操作:

Twilio.Device.incoming(function (connection) {
    $('#callPopup').show();
    $('.js-answer-call').on('click', function (event) {
        event.preventDefault();
        var receiveCallWindow = window.open('/call/incoming', '', 'width=350,height=200');
        receiveCallWindow.connection = connection;
        $('#callPopup').hide();
    });
    $('.js-reject-call').on('click', function (event) {
        event.preventDefault();
        connection.reject();
        $('#callPopup').hide();
    });
});

这会将连接对象传递给弹窗,然后弹窗运行如下代码:

var connection = window.connection;
$(document).ready(function () {
    connection.accept();
});

这确实会接听电话,但通话上下文仍在父窗口中,如果用户离开该页面,它将结束通话。

我知道我可以通过一个只包含调用逻辑的主 iframe 来实现这一点,主网络应用程序位于框架内,但是我认为这是一个非常混乱的实现,并希望避免这种情况。

【问题讨论】:

    标签: javascript jquery twilio twilio-twiml


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    在这种情况下,您的问题确实是调用上下文在父窗口中。我现在唯一想到的是当您的用户登录并准备接听电话时弹出呼叫窗口,然后在弹出窗口中初始化Twilio.Device

    您仍然可以将此弹出窗口连接到出站呼叫的代码。

    这有帮助吗?

    【讨论】:

    • 是的,我明白你的意思,但是我只是希望当有人打电话时我可以通过一个简单的弹出窗口来实现这一点。我需要重新考虑如何解决这个问题
    • 我有同样的问题....实际上我发布了一个问题:stackoverflow.com/questions/55820638/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    相关资源
    最近更新 更多