Я использую Quickblox Javascript 2.11 в своем проекте Ionic 3. Я сделал чат с опциями видеозвонка, и все работает между Android и Интернетом. У меня проблема во время ответа, когда я нахожусь в iOS, ошибка:
"Can't accept the call, there is no information about peer connection by some reason."
(полный лог здесь: https://gist.github.com/niccolofanton/9be410e30c8771139ffe14dbf9e05d93)
Я прочитал документы и из примера, который я сделал этот код, чтобы присоединиться к чату и настроить onCallListener:
QB.createSession({ login: '*********', password: '*********' }, (err, result) => {
if (err) { console.info(err, err) } else {
QB.chat.connect({ userId: *********, password: "*********" }, (err, roster) => {
if (err) { console.info('Chat error:', err) } else {
QB.webrtc.onCallListener = (session, extension) => {
var mediaParams = {
audio: true,
video: true,
options: {
muted: true,
mirror: true
},
elemId: 'localVideo'
};
session.getUserMedia(mediaParams, function(err, stream) {
if (err) { console.info('error getting user media:', err) } else {
session.accept({});
}
});
};
QB.webrtc.onRemoteStreamListener = (session, userID, remoteStream) => {
session.attachMediaStream('remoteVideo', remoteStream)
};
}
}); } });
Думаю, я решил, проблема заключалась в версии Quickblox Javascript SDK: я использовал 2.11, но он не работает в Ionic3 (не знаю почему), но я переключился на более старую версию (2.4), и теперь я могу ответить.
Это простая демонстрация github.com/niccolofanton/quickblox-ionic3