Webrtc 如何记录SIP客户端呼叫的双方

Webrtc 如何记录SIP客户端呼叫的双方,webrtc,sip,Webrtc,Sip,我正在尝试用chrome录制一个电话,该电话已使用完成 因此,基本上,电话处理工作正常,通话顺利,双方都能完美地听到对方的声音 当我想录制通话时,问题就出现了。 所以我只做了最低限度的工作来得到一张唱片 chunks = []; navigator.mediaDevices.getUserMedia({audio:true}) .then(stream => { rec = new MediaRecorder(stream); rec.ondataa

我正在尝试用chrome录制一个电话,该电话已使用完成

因此,基本上,电话处理工作正常,通话顺利,双方都能完美地听到对方的声音

当我想录制通话时,问题就出现了。 所以我只做了最低限度的工作来得到一张唱片

chunks = [];
navigator.mediaDevices.getUserMedia({audio:true})
    .then(stream => {
        rec = new MediaRecorder(stream);
        rec.ondataavailable = e => {
            chunks.push(e.data);
        }
    })
    .catch(e=>console.log(e));
然后打电话给某人,电话响了,他们接了, 然后我做
rec.start()。然后在5秒钟的对话后,我结束通话并执行
rec.stop()

那么我会:

blob = new Blob(chunks,{type:'audio/ogg'});
$('.audio-remote', document).attr('src',URL.createObjectURL(blob))
创建blob并为audio元素提供所需的src

然后,音频元素立即开始播放音频,它只是对话的浏览器端。从手机侧面听不到任何声音。所以只有我的声音通过麦克风被记录下来

现在我不是WebRTC方面的专家,但getUserMedia似乎只为您提供设备和输入流,而与您与另一方的sip诱导呼叫无关。很明显,sipML5在内部必须做的就是接收我的输入并将其发送给我们使用的sip提供商,该提供商将其转换为电话。从电话里传来的声音就是通过这个音频元素呈现给我的

所以,我想知道是否有办法将这段对话记录下来? 将我的输入和来自sip客户端的语音数据捕获为一个对话


提前感谢。

在世界上大多数地方,未经允许录制对话是非法的。你在提醒你的受害者录音吗?这是一个很好的观察,是的,我们的客户会通知他们打电话的人。另一方面,我在多看了一些之后才发现这个,真不敢相信我第一次没有发现这个,因为我尝试了各种各样的搜索,这个看起来一定命中过一次,但是唉。