Please can someone help me understand why "connectNow" does not get call?

Hi, i am new to kurento and meteor with webrtc. I am trying to implement kurento into my app. The only problem i am facing now is the remoteVideo does not show up. it keep spinning. Even though, the ice candidate are passed to the endpoint.

Is the problem related to the fact that connectNow does not get call? or a wrong use of wrapAsync ?

Please help me, for days i am struggling with this.

function startViewer(sessionId, sdpOffer) {
clearCandidatesQueue(sessionId);

var syncedwebRtc = Meteor.wrapAsync(presenter.pipeline.create, presenter.pipeline);
var webRtcEndpoint = syncedwebRtc('WebRtcEndpoint');

viewers[sessionId] = {
  "webRtcEndpoint" : webRtcEndpoint
}

if (candidatesQueue[sessionId]) {
  while(candidatesQueue[sessionId].length) {
    var candidate = candidatesQueue[sessionId].shift();
    webRtcEndpoint.addIceCandidate(candidate);
  }
}

webRtcEndpoint.on('OnIceCandidate', function(event) {
  if(!kurento){ 
    console.log('this candidate comes but no kurento here.')
    return; 
  }
    var candidate = kurento.register.complexTypes.IceCandidate(event.candidate);
    roomStream.emit("serverMessage",JSON.stringify({
        id : 'iceCandidate',
        candidate : candidate
    }));
});


var syncedOffer = Meteor.wrapAsync(webRtcEndpoint.processOffer, webRtcEndpoint);
var sdpAnswer = syncedOffer(sdpOffer);

var syncedConnect = Meteor.wrapAsync(presenter.webRtcEndpoint.connect, presenter.webRtcEndpoint);
var connectNow = syncedConnect(webRtcEndpoint); 

var syncedGatherCandidates = Meteor.wrapAsync(webRtcEndpoint.gatherCandidates, webRtcEndpoint);
syncedGatherCandidates();

return sdpAnswer; 

}