Во-первых, вам нужно включить сигнализацию. Используя приведенный ниже код, вы можете сделать звонок или принять звонок.
QBRTCClient.getInstance(context).prepareToProcessCalls();
QBChatService.getInstance().getVideoChatWebRTCSignalingManager()
.addSignalingManagerListener(new QBVideoChatSignalingManagerListener() {
@Override
public void signalingCreated(QBSignaling qbSignaling, boolean createdLocally) {
if (!createdLocally) {
QBRTCClient.getInstance(context).addSignaling((QBWebRTCSignaling) qbSignaling);
}
}
});
Затем вам нужно добавить сеанс обратного вызова, который поможет вам входящие звонки
QBRTCClient.getInstance(context).addSessionCallbacksListener(this);
Теперь он переопределяет один из onReceiveNewSession . В этом методе вы будете получать вызов, когда противник звонит вам.
Чтобы позвонить,
QBRTCTypes.QBConferenceType qbConferenceType = QB_CONFERENCE_TYPE_VIDEO;
List<Integer> opponents = new ArrayList<Integer>();
opponents.add(userid); //12345 - QBUser ID
//Set user information
Map<String, String> userInfo = new HashMap<>();
userInfo.put("key", "value");
//Init session
QBRTCSession session = QBRTCClient.getInstance(this).createNewSessionWithOpponents(opponents, qbConferenceType);
//Start call
session.startCall(userInfo);
Чтобы принять звонок
@Override
public void onReceiveNewSession(QBRTCSession qbrtcSession) {
qbrtcSession.acceptCall(qbrtcSession.getUserInfo());
}