|
|
@@ -444,7 +444,22 @@ JingleSessionPC.prototype.sendSessionAccept = function (localSDP,
|
|
444
|
444
|
// XXX Videobridge needs WebRTC's answer (ICE ufrag and pwd, DTLS
|
|
445
|
445
|
// fingerprint and setup) ASAP in order to start the connection
|
|
446
|
446
|
// establishment.
|
|
447
|
|
- this.connection.flush();
|
|
|
447
|
+ //
|
|
|
448
|
+ // FIXME Flushing the connection at this point triggers an issue with BOSH
|
|
|
449
|
+ // request handling in Prosody on slow connections.
|
|
|
450
|
+ //
|
|
|
451
|
+ // The problem is that this request will be quite large and it may take time
|
|
|
452
|
+ // before it reaches Prosody. In the meantime Strophe may decide to send
|
|
|
453
|
+ // the next one. And it was observed that a small request with
|
|
|
454
|
+ // 'transport-info' usually follows this one. It does reach Prosody before
|
|
|
455
|
+ // the previous one was completely received. 'rid' on the server is
|
|
|
456
|
+ // increased and Prosody ignores the request with 'session-accept'. It will
|
|
|
457
|
+ // never reach Jicofo and everything in the request table is lost. Removing
|
|
|
458
|
+ // the flush does not guarantee it will never happen, but makes it much less
|
|
|
459
|
+ // likely('transport-info' is bundled with 'session-accept' and any
|
|
|
460
|
+ // immediate requests).
|
|
|
461
|
+ //
|
|
|
462
|
+ // this.connection.flush();
|
|
448
|
463
|
};
|
|
449
|
464
|
|
|
450
|
465
|
/**
|