【问题标题】:Blind Transfer in JSSIPJSSIP 中的盲转
【发布时间】:2021-03-24 23:53:57
【问题描述】:

我一直在尝试对正在进行的通话进行盲转。

下面是我实现的代码:

transfersession(ext) {
    this.rtcSession.refer('sip:' + ext + '@' + serveraddress);
}

谁能告诉我还有什么要写的吗?

以上代码断开正在进行的通话并将通话添加到队列中。

我做错了什么?提前致谢。

【问题讨论】:

    标签: webrtc asterisk sip jssip


    【解决方案1】:

    对方应该支持refer。但是,这可能是不安全的,因此被大多数提供商禁用。

    无论如何,你应该学习如何使用 tcpdump/wireshark 并检查 sip 跟踪。

    【讨论】:

    • 我想我可能误会了。用例是客户将呼叫代理 A,现在代理 A 必须将呼叫转移到代理 B。我们用于接受和结束呼叫的客户端库是 JSSip。
    • @arheops 我想发送自定义数据,请指导我。无法使用 JSSIP 将自定义数据从本地发送到远程。 jssip.net/documentation/3.7.x/api/session/#attribute_data
    • 指不是为发送自定义数据而设计的。添加自定义 X-header 或使用自定义数据更改数字,例如 customer_id#dest_number@ip
    【解决方案2】:

    这是我进行盲转的代码

    function makeBlindTransfer(numberToTransfer) {
      let eventHandlers = {
        requestSucceeded: function (e) {
          console.log("Transferencia realizada con exito");
        },
        requestFailed: function (e) {
          console.log("Transferencia fallo");
        },
        trying: function (e) {
          console.log("trying", e);
        },
        progress: function (e) {
          console.log("progress", e);
        },
        accepted: function (e) {
          console.log("accepted", e);
        },
        failed: function (e) {
          console.log("failed", e);
        },
      };
      try {
        ssession.refer(numberToTransfer, {
          eventHandlers,
          extraHeaders: [`Contact: <sip:${dest}@yourhost:yourport>`],
        });
      } catch (err) {
        console.log("no pudimos realizar su solicitud");
      }
    }
    

    您也可以查看文档: https://jssip.net/documentation/2.0.x/api/refer_subscriber/ https://jssip.net/documentation/2.0.x/api/session/#method_refer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多