To reproduce:
Having two users with jids user1@domain, user2@domain.
user1@domain joins the room (opens domain/room), and then user2@domain
joins the same room. They are connected.
If user2@domain reloads the page and joins again to the conference, user1
gets infinite error logs in console.
If useRtcpMux is enabled, also the focus is lost, and both users has the
page reloaded (according to
https://github.com/jitsi/jitsi-meet/blob/master/moderator.js#L64).
Error logs in console comes from
https://github.com/jitsi/jitsi-meet/blob/master/rtp_sts.js#L465 and
https://github.com/jitsi/jitsi-meet/blob/master/rtp_sts.js#L667
If I exclude the lines where the ssrcs are removed (
https://github.com/jitsi/jitsi-meet/blob/master/app.js#L870), there are no
more errors. But with useRtcpMux enabled, the focus is still lost.
In jicofo logs, I get the following error:
org.jitsi.jicofo.JitsiMeetConference.allocateChannels().565 Failed to
allocate channels using bridge:
jitsi-videobridge.domainnet.java.sip.communicator.service.protocol.OperationFailedException:
Failed to allocate colibri channels: internal-server-error(500)
In jitsi-videobridge:
[pool-2-thread-14] WARN org.jitsi.videobridge.xmpp.ComponentImpl - (serving
component 'JitsiVideobridge') Unexpected exception while processing IQ
stanza:
<iq type="get" to="jitsi-videobridge.domain"
from="focus@auth.domain/focus763545131222919"
id="SBqSK-43"><conference xmlns="http://jitsi.org/protocol/colibri"
id="2b594b60861b26f3"><content name="audio"><channel
channel-bundle-id="15ppz5" initiator="true" last-n="-1"
endpoint="15ppz5"><payload-type name="opus" clockrate="48000" id="111"
channels="2"><parameter value="10"
name="minptime"/></payload-type><payload-type id="103" name="ISAC"
clockrate="16000"/><payload-type id="104" name="ISAC"
clockrate="32000"/><payload-type id="0" name="PCMU"
clockrate="8000"/><payload-type id="8" name="PCMA"
clockrate="8000"/><payload-type id="106" name="CN"
clockrate="32000"/><payload-type id="105" name="CN"
clockrate="16000"/><payload-type id="13" name="CN"
clockrate="8000"/><payload-type id="126" name="telephone-event"
clockrate="8000"/></channel></content><content name="video"><channel
channel-bundle-id="15ppz5" initiator="true" last-n="-1"
endpoint="15ppz5"><payload-type id="100" name="VP8"
clockrate="90000"><rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"
type="ccm" subtype="fir"/><rtcp-fb
xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="nack"/><rtcp-fb
xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"
type="goog-remb"/></payload-type><payload-type id="116" name="red"
clockrate="90000"/><payload-type id="117" name="ulpfec"
clockrate="90000"/></channel></content><content name="data"><sctpconnection
channel-bundle-id="15ppz5" port="5000" initiator="true"
endpoint="15ppz5"/></content><channel-bundle id="15ppz5"><transport
xmlns="urn:xmpp:jingle:transports:ice-udp:1"/></channel-bundle></conference></iq>
java.lang.NullPointerException
at
org.jitsi.videobridge.IceUdpTransportManager.doStartConnectivityEstablishment(IceUdpTransportManager.java:958)
at
org.jitsi.videobridge.IceUdpTransportManager.startConnectivityEstablishment(IceUdpTransportManager.java:1781)
at
org.jitsi.videobridge.Videobridge.handleColibriConferenceIQ(Videobridge.java:995)
at
org.jitsi.videobridge.Videobridge.handleColibriConferenceIQ(Videobridge.java:552)
at
org.jitsi.videobridge.xmpp.ComponentImpl.handleColibriConferenceIQ(ComponentImpl.java:209)
at
org.jitsi.videobridge.xmpp.ComponentImpl.handleIQRequest(ComponentImpl.java:380)
at
org.jitsi.videobridge.xmpp.ComponentImpl.handleIQ(ComponentImpl.java:311)
at
org.jitsi.videobridge.xmpp.ComponentImpl.handleIQ(ComponentImpl.java:263)
at
org.jitsi.videobridge.xmpp.ComponentImpl.handleIQGet(ComponentImpl.java:362)
at
org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:511)
at
org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
at
org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
at
org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
at
org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Of corse, the problem is not related to the case when user2's jid is
changed, as when we do not use login form (using anonymousdomain).
Regards,
Zalmoxisus