如何记录通过SIP客户端进行的通话的双方

时间:2018-07-24 15:37:26

标签: webrtc sip

我正在尝试使用sipML5完成的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并向音频元素提供所需的src。

然后,该音频元素立即开始播放音频,并且它只是对话的浏览器端。手机侧面什么也没听到。因此,只有通过麦克风的声音被记录下来。

现在我不是WebRTC的专家,但是getUserMedia似乎只为您提供设备和输入流,与您与另一方进行饮酒诱导的呼叫无关。显然,这是sipML5在内部必须要做的就是获取我的输入,并将其发送到我们使用的sip提供程序,然后将其转换为电话。来自电话的声音只是通过该音频元素呈现给我的。

所以我想知道是否有办法按原样捕获此对话? 可以将来自sip客户端的输入和语音数据捕获为一个对话。

谢谢。

0 个答案:

没有答案