avstack / gst-meet

Connect GStreamer pipelines to Jitsi Meet conferences
Apache License 2.0
70 stars 25 forks source link

Panic when trying to display remote participants #11

Closed linkmauve closed 3 years ago

linkmauve commented 3 years ago

Hi, thanks for this piece of software!

After #8, #9 and #10, gst-meet now properly joins the room, to finish with this panic:

If I comment out the auto-header-extension code in jingle.rs, it doesn’t panic and I can see and hear myself in the web!

% GST_DEBUG=3 target/debug/gst-meet --verbose --nick=gst-meet --room-name=testlinkmauve --web-socket-url=wss://meet.avstack.io/avstack/xmpp-websocket --xmpp-domain=avstack.onavstack.net --recv-pipeline-participant-template="opusdec name=audio ! autoaudiosink vp8dec name=video ! videoconvert ! autovideosink" | colout -s xml+evoque
Oct 23 20:26:22.953  INFO Connecting XMPP WebSocket to wss://meet.avstack.io/avstack/xmpp-websocket
Oct 23 20:26:22.999 DEBUG No cached session for DNSNameRef("meet.avstack.io")
Oct 23 20:26:22.999 DEBUG Not resuming any session
Oct 23 20:26:23.009 DEBUG Using ciphersuite TLS13_AES_128_GCM_SHA256
Oct 23 20:26:23.010 DEBUG Not resuming
Oct 23 20:26:23.012 DEBUG TLS1.3 encrypted extensions: [ServerNameAck]
Oct 23 20:26:23.012 DEBUG ALPN protocol is None
Oct 23 20:26:23.868 DEBUG Client handshake done.
Oct 23 20:26:23.882 DEBUG XMPP    >>> <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="avstack.onavstack.net" version="1.0"/>
Oct 23 20:26:24.056 DEBUG XMPP    <<< <open version='1.0' id='d526ac37-611e-42ac-b912-8bdd16bf648f' from='avstack.onavstack.net' xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
Oct 23 20:26:24.057  INFO Connected XMPP WebSocket
Oct 23 20:26:24.057 DEBUG XMPP    <<< <stream:features xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>ANONYMOUS</mechanism></mechanisms></stream:features>
Oct 23 20:26:24.060 DEBUG XMPP    >>> <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="ANONYMOUS"></auth>
Oct 23 20:26:24.229 DEBUG XMPP    <<< <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
Oct 23 20:26:24.232 DEBUG XMPP    >>> <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="avstack.onavstack.net" version="1.0"/>
Oct 23 20:26:24.402 DEBUG XMPP    <<< <open version='1.0' id='b99d0ace-6886-44d8-8bd8-fe942b5a9291' from='avstack.onavstack.net' xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
Oct 23 20:26:24.403  INFO Logged in anonymously
Oct 23 20:26:24.403 DEBUG XMPP    <<< <stream:features xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm><ver xmlns='urn:xmpp:features:rosterver'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><c node='http://prosody.im' hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='cSXJh+g1CZMK5sjShaZIolUWcDo='/></stream:features>
Oct 23 20:26:24.407 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="6d5265e5-1929-4d28-adfe-a1bdf634c1ef" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></iq>
Oct 23 20:26:24.577 DEBUG XMPP    <<< <message to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO' xmlns='jabber:client' from='avstack.onavstack.net'><query xmlns='http://jabber.org/protocol/disco#info'><identity type='speakerstats' category='component' name='speakerstats.avstack.onavstack.net'/><identity type='im' category='server' name='Prosody'/><identity type='av_moderation' category='component' name='avmoderation.avstack.onavstack.net'/><identity type='lobbyrooms' category='component' name='lobby.avstack.onavstack.net'/><identity type='pep' category='pubsub' name='Prosody'/><identity type='service' category='pubsub' name='Prosody PubSub Service'/><identity type='conference_duration' category='component' name='conferenceduration.avstack.onavstack.net'/></query><services><service type='stun' port='3478' transport='udp' host='turn.avstack.net'/><service type='turn' port='3478' restricted='1' transport='udp' password='9s3HA0wPIy2yGNH6fwn6AREYgH8=' host='turn.avstack.net' username='1635099984'/><service type='turns' port='443' restricted='1' transport='tcp' password='9s3HA0wPIy2yGNH6fwn6AREYgH8=' host='turn.avstack.net' username='1635099984'/></services></message>
Oct 23 20:26:24.580 DEBUG received unexpected element while waiting for bind response: parse error: This is not a iq element.
Oct 23 20:26:24.580 DEBUG XMPP    <<< <iq type='result' xmlns='jabber:client' id='6d5265e5-1929-4d28-adfe-a1bdf634c1ef'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO</jid></bind></iq>
Oct 23 20:26:24.581  INFO My JID: 9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO
Oct 23 20:26:24.583 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" id="88fbac4b-cd8b-47bf-bcb5-fe6b97af9da3" to="avstack.onavstack.net" type="get"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>
Oct 23 20:26:24.753 DEBUG XMPP    <<< <iq type='result' xmlns='jabber:client' id='88fbac4b-cd8b-47bf-bcb5-fe6b97af9da3' from='avstack.onavstack.net' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><query xmlns='http://jabber.org/protocol/disco#info'><identity type='speakerstats' category='component' name='speakerstats.avstack.onavstack.net'/><identity type='im' category='server' name='Prosody'/><identity type='av_moderation' category='component' name='avmoderation.avstack.onavstack.net'/><identity type='lobbyrooms' category='component' name='lobby.avstack.onavstack.net'/><identity type='pep' category='pubsub' name='Prosody'/><identity type='service' category='pubsub' name='Prosody PubSub Service'/><identity type='conference_duration' category='component' name='conferenceduration.avstack.onavstack.net'/><feature var='msgoffline'/><feature var='http://jabber.org/protocol/disco#info'/><feature var='http://jabber.org/protocol/disco#items'/><feature var='jabber:iq:roster'/><feature var='http://jabber.org/protocol/commands'/><feature var='urn:xmpp:ping'/><feature var='http://jabber.org/protocol/pubsub#publish'/><feature var='vcard-temp'/><feature var='jabber:iq:private'/><feature var='http://jabber.org/protocol/pubsub'/><feature var='http://jabber.org/protocol/pubsub#persistent-items'/><feature var='http://jabber.org/protocol/pubsub#instant-nodes'/><feature var='http://jabber.org/protocol/pubsub#retrieve-subscriptions'/><feature var='http://jabber.org/protocol/pubsub#meta-data'/><feature var='http://jabber.org/protocol/pubsub#modify-affiliations'/><feature var='http://jabber.org/protocol/pubsub#publisher-affiliation'/><feature var='http://jabber.org/protocol/pubsub#item-ids'/><feature var='http://jabber.org/protocol/pubsub#member-affiliation'/><feature var='http://jabber.org/protocol/pubsub#purge-nodes'/><feature var='http://jabber.org/protocol/pubsub#access-open'/><feature var='http://jabber.org/protocol/pubsub#outcast-affiliation'/><feature var='http://jabber.org/protocol/pubsub#retrieve-items'/><feature var='http://jabber.org/protocol/pubsub#config-node'/><feature var='http://jabber.org/protocol/pubsub#publish-options'/><feature var='http://jabber.org/protocol/pubsub#delete-items'/><feature var='http://jabber.org/protocol/pubsub#retrieve-default'/><feature var='http://jabber.org/protocol/pubsub#multi-items'/><feature var='http://jabber.org/protocol/pubsub#create-nodes'/><feature var='http://jabber.org/protocol/pubsub#delete-nodes'/><feature var='http://jabber.org/protocol/pubsub#subscribe'/><feature var='http://jabber.org/protocol/pubsub#retract-items'/><feature var='http://jabber.org/protocol/pubsub#create-and-configure'/><feature var='http://jabber.org/protocol/pubsub#subscription-options'/><feature var='urn:xmpp:time'/><feature var='jabber:iq:time'/><feature var='urn:xmpp:extdisco:2'/><feature var='urn:xmpp:extdisco:1'/></query></iq>
Oct 23 20:26:24.763 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" id="1684080b-1270-49f5-85eb-9d4000aa07ed" to="avstack.onavstack.net" type="get"><services xmlns="urn:xmpp:extdisco:2"/></iq>
Oct 23 20:26:24.932 DEBUG XMPP    <<< <iq type='result' xmlns='jabber:client' id='1684080b-1270-49f5-85eb-9d4000aa07ed' from='avstack.onavstack.net' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><services xmlns='urn:xmpp:extdisco:2'><service type='stun' port='3478' transport='udp' host='turn.avstack.net'/><service type='turn' port='3478' restricted='1' transport='udp' password='WK4teRpVg3nF9Owx1hTt3KTmO0o=' host='turn.avstack.net' username='1635099984:9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net'/><service type='turns' port='443' restricted='1' transport='tcp' password='WK4teRpVg3nF9Owx1hTt3KTmO0o=' host='turn.avstack.net' username='1635099984:9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net'/></services></iq>
Oct 23 20:26:24.934 DEBUG external services: [Service { type: "stun", name: None, host: "turn.avstack.net", port: Some(3478), transport: Some("udp"), restricted: None, username: None, password: None, expires: None }, Service { type: "turn", name: None, host: "turn.avstack.net", port: Some(3478), transport: Some("udp"), restricted: Some(true), username: Some("1635099984:9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net"), password: Some("WK4teRpVg3nF9Owx1hTt3KTmO0o="), expires: None }, Service { type: "turns", name: None, host: "turn.avstack.net", port: Some(443), transport: Some("tcp"), restricted: Some(true), username: Some("1635099984:9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net"), password: Some("WK4teRpVg3nF9Owx1hTt3KTmO0o="), expires: None }]
Oct 23 20:26:24.936 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="d91cc50f-3be7-4edf-a092-589397114578" to="focus@auth.avstack.onavstack.net/focus" type="set"><conference xmlns="http://jitsi.org/protocol/focus" machine-uid="d8f82f41-91bd-45e2-aada-af081408922f" room="testlinkmauve@conference.avstack.onavstack.net"><property name="stereo" value="true"/><property name="startBitrate" value="800"/></conference></iq>
Oct 23 20:26:25.107 DEBUG XMPP    <<< <iq type='result' xmlns='jabber:client' id='d91cc50f-3be7-4edf-a092-589397114578' from='focus@auth.avstack.onavstack.net/focus' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><conference focusjid='focus@auth.avstack.onavstack.net' room='testlinkmauve@conference.avstack.onavstack.net' xmlns='http://jitsi.org/protocol/focus' ready='true'><property value='false' name='authentication'/><property value='true' name='sipGatewayEnabled'/></conference></iq>
Oct 23 20:26:25.114 DEBUG send_presence{self=JitsiConference { jid: FullJID(9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO), config: JitsiConferenceConfig { muc: BareJID(testlinkmauve@conference.avstack.onavstack.net), focus: Full(FullJID(focus@auth.avstack.onavstack.net/focus)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Discovering } } } payloads=[Element { name: "x", namespace: "http://jabber.org/protocol/muc", prefix: None, prefixes: Prefixes(), attributes: {}, children: [] }, Element { name: "c", namespace: "urn:xmpp:caps", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Element(Element { name: "hash", namespace: "urn:xmpp:hashes:2", prefix: None, prefixes: Prefixes(), attributes: {"algo": "sha-256"}, children: [Text("pr/wwetmaxozjpmQn1lvYrzZnmR8UdWw0/Gr1XPkV+0=")] })] }, Element { name: "stats-id", namespace: "jabber:client", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("gst-meet")] }, Element { name: "jitsi_participant_codecType", namespace: "jabber:client", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("vp8")] }, Element { name: "audiomuted", namespace: "jabber:client", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("false")] }, Element { name: "videomuted", namespace: "jabber:client", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("false")] }, Element { name: "nick", namespace: "http://jabber.org/protocol/nick", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("gst-meet")] }]}: close time.busy=297µs time.idle=122µs
Oct 23 20:26:25.117 DEBUG XMPP    >>> <presence xmlns="jabber:client" to="testlinkmauve@conference.avstack.onavstack.net/9df701eb"><x xmlns="http://jabber.org/protocol/muc"/><c xmlns="urn:xmpp:caps"><hash xmlns="urn:xmpp:hashes:2" algo="sha-256">pr/wwetmaxozjpmQn1lvYrzZnmR8UdWw0/Gr1XPkV+0=</hash></c><stats-id>gst-meet</stats-id><jitsi_participant_codecType>vp8</jitsi_participant_codecType><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns="http://jabber.org/protocol/nick">gst-meet</nick></presence>
Oct 23 20:26:25.298 DEBUG XMPP    <<< <presence from='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='jabber:client' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><stats-id>Adrain-YIP</stats-id><region id='ams' xmlns='http://jitsi.org/jitsi-meet'/><c node='https://jitsi.org/jitsi-meet' hash='sha-1' ver='C/LX/6n5rIR223X+13VzZmCrCZs=' xmlns='http://jabber.org/protocol/caps'/><jitsi_participant_region>ams</jitsi_participant_region><jitsi_participant_codecType>vp8</jitsi_participant_codecType><jitsi_participant_transcription_language>fr-FR</jitsi_participant_transcription_language><audiomuted>false</audiomuted><videomuted>false</videomuted><x xmlns='vcard-temp:x:update'><photo/></x><x xmlns='http://jabber.org/protocol/muc#user'><item jid='053a9b10-3ce9-490f-b3a9-df9a8fd7859a@avstack.onavstack.net/f61QF2nw' affiliation='owner' role='moderator'/></x></presence>
Oct 23 20:26:25.301 DEBUG XMPP    <<< <presence id='4VDA9-7378' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO' xmlns='jabber:client' from='testlinkmauve@conference.avstack.onavstack.net/focus'><priority>0</priority><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>testlinkmauve</etherpad><versions xmlns='http://jitsi.org/jitmeet'><component name='focus'>1.1.SNAPSHOT</component></versions><conference-properties xmlns='http://jitsi.org/protocol/focus'><property value='true' key='support-terminate-restart'/></conference-properties><c node='http://jitsi.org/jicofo' hash='sha-1' ver='Lg0vhCNhxjoeKJi2/hukdsizNWA=' xmlns='http://jabber.org/protocol/caps'/><x xmlns='vcard-temp:x:update'><photo/></x><x xmlns='http://jabber.org/protocol/muc#user'><item jid='focus@auth.avstack.onavstack.net/focus' affiliation='owner' role='moderator'/></x></presence>
Oct 23 20:26:25.304 DEBUG XMPP    <<< <presence from='testlinkmauve@conference.avstack.onavstack.net/9df701eb' xmlns='jabber:client' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><c xmlns='urn:xmpp:caps'><hash algo='sha-256' xmlns='urn:xmpp:hashes:2'>pr/wwetmaxozjpmQn1lvYrzZnmR8UdWw0/Gr1XPkV+0=</hash></c><stats-id>gst-meet</stats-id><jitsi_participant_codecType>vp8</jitsi_participant_codecType><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns='http://jabber.org/protocol/nick'>gst-meet</nick><x xmlns='vcard-temp:x:update'><photo/></x><x xmlns='http://jabber.org/protocol/muc#user'><item jid='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO' affiliation='owner' role='moderator'/><status code='110'/></x></presence>
Oct 23 20:26:25.306 DEBUG Joined MUC: testlinkmauve@conference.avstack.onavstack.net
Oct 23 20:26:25.307 DEBUG XMPP    <<< <message to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO' xmlns='jabber:client' from='conferenceduration.avstack.onavstack.net'><json-message xmlns='http://jitsi.org/jitmeet'>{&quot;type&quot;:&quot;conference_duration&quot;,&quot;created_timestamp&quot;:1635013569000}</json-message></message>
Oct 23 20:26:25.308 DEBUG XMPP    <<< <message type='groupchat' from='testlinkmauve@conference.avstack.onavstack.net' xmlns='jabber:client' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><subject/></message>
Oct 23 20:26:25.311 DEBUG XMPP    <<< <presence id='4VDA9-7383' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO' xmlns='jabber:client' from='testlinkmauve@conference.avstack.onavstack.net/focus'><priority>0</priority><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>testlinkmauve</etherpad><versions xmlns='http://jitsi.org/jitmeet'><component name='focus'>1.1.SNAPSHOT</component></versions><conference-properties xmlns='http://jitsi.org/protocol/focus'><property value='true' key='support-terminate-restart'/><property value='1' key='bridge-count'/></conference-properties><c node='http://jitsi.org/jicofo' hash='sha-1' ver='Lg0vhCNhxjoeKJi2/hukdsizNWA=' xmlns='http://jabber.org/protocol/caps'/><x xmlns='vcard-temp:x:update'><photo/></x><x xmlns='http://jabber.org/protocol/muc#user'><item jid='focus@auth.avstack.onavstack.net/focus' affiliation='owner' role='moderator'/></x></presence>
Oct 23 20:26:25.315 DEBUG XMPP    <<< <iq type='get' xmlns='jabber:client' id='OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA2WUtQNy01NjYAhSdmT3/nJiBqxKaGfE3cUg==' from='testlinkmauve@conference.avstack.onavstack.net/focus' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
Oct 23 20:26:25.317 DEBUG Received disco info query from testlinkmauve@conference.avstack.onavstack.net/focus for node None
Oct 23 20:26:25.318 DEBUG XMPP    <<< <presence id='4VDA9-7386' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO' xmlns='jabber:client' from='testlinkmauve@conference.avstack.onavstack.net/focus'><priority>0</priority><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>testlinkmauve</etherpad><versions xmlns='http://jitsi.org/jitmeet'><component name='focus'>1.1.SNAPSHOT</component></versions><conference-properties xmlns='http://jitsi.org/protocol/focus'><property value='true' key='support-terminate-restart'/><property value='2' key='bridge-count'/></conference-properties><c node='http://jitsi.org/jicofo' hash='sha-1' ver='Lg0vhCNhxjoeKJi2/hukdsizNWA=' xmlns='http://jabber.org/protocol/caps'/><x xmlns='vcard-temp:x:update'><photo/></x><x xmlns='http://jabber.org/protocol/muc#user'><item jid='focus@auth.avstack.onavstack.net/focus' affiliation='owner' role='moderator'/></x></presence>
Oct 23 20:26:25.324 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" id="OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA2WUtQNy01NjYAhSdmT3/nJiBqxKaGfE3cUg==" to="testlinkmauve@conference.avstack.onavstack.net/focus" type="result"><query xmlns="http://jabber.org/protocol/disco#info"><feature var="urn:xmpp:jingle:apps:rtp:audio"/><feature var="urn:xmpp:jingle:apps:rtp:video"/><feature var="urn:xmpp:jingle:transports:ice-udp:1"/><feature var="urn:xmpp:jingle:apps:dtls:0"/><feature var="urn:ietf:rfc:5888"/><feature var="urn:ietf:rfc:5761"/><feature var="urn:ietf:rfc:4588"/><feature var="http://jitsi.org/tcc"/></query></iq>
Oct 23 20:26:25.842 DEBUG XMPP    <<< <iq type='set' xmlns='jabber:client' id='OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA0VkRBOS03NDA0AIUnZk9/5yYgasSmhnxN3FI=' from='testlinkmauve@conference.avstack.onavstack.net/focus' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><jingle action='session-initiate' sid='e4t2nk7boipuq' initiator='focus@auth.avstack.onavstack.net/focus' xmlns='urn:xmpp:jingle:1'><content senders='both' creator='initiator' name='audio'><description media='audio' xmlns='urn:xmpp:jingle:apps:rtp:1' maxptime='60'><payload-type name='opus' id='111' clockrate='48000' channels='2'><parameter value='10' name='minptime'/><parameter value='1' name='useinbandfec'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='103' name='ISAC' clockrate='16000'/><payload-type id='104' name='ISAC' clockrate='32000'/><payload-type id='126' name='telephone-event' clockrate='8000'/><rtp-hdrext uri='urn:ietf:params:rtp-hdrext:ssrc-audio-level' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' id='1'/><rtp-hdrext uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' id='5'/><rtcp-mux/><source ssrc='3038017796' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' name='jvb-a0'><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/><parameter value='mixedmslabel mixedlabelaudio0' name='msid'/></source></description><transport ufrag='27eeu1fin6eqo6' pwd='62dnlh3v89ddlhm47htlfr0gpc' xmlns='urn:xmpp:jingle:transports:ice-udp:1'><web-socket url='wss://meet.avstack.io/colibri-ws/lon-c6ddf806.media.avstack.net/174abe7132081fa4/9df701eb?pwd=62dnlh3v89ddlhm47htlfr0gpc' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint setup='actpass' hash='sha-256' xmlns='urn:xmpp:jingle:apps:dtls:0' required='false'>46:44:E9:88:BD:DD:54:D5:CA:9A:A9:08:C5:C7:27:56:27:EB:FE:22:59:06:13:89:B5:3F:A8:99:21:8C:D4:5F</fingerprint><candidate type='host' ip='176.58.117.73' network='0' component='1' foundation='1' port='10000' id='3a49c6477ae8dcc0ffffffffe63db379' priority='2130706431' protocol='udp' generation='0'/></transport></content><content senders='both' creator='initiator' name='video'><description xmlns='urn:xmpp:jingle:apps:rtp:1' media='video'><payload-type id='100' name='VP8' clockrate='90000'><rtcp-fb type='ccm' subtype='fir' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' subtype='pli' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter value='800' name='x-google-start-bitrate'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='107' name='H264' clockrate='90000'><rtcp-fb type='ccm' subtype='fir' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' subtype='pli' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter value='800' name='x-google-start-bitrate'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter value='42e01f;level-asymmetry-allowed=1;packetization-mode=1;' name='profile-level-id'/></payload-type><payload-type id='101' name='VP9' clockrate='90000'><rtcp-fb type='ccm' subtype='fir' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' subtype='pli' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter value='800' name='x-google-start-bitrate'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='96' name='rtx' clockrate='90000'><parameter value='100' name='apt'/><rtcp-fb type='ccm' subtype='fir' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' subtype='pli' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='97' name='rtx' clockrate='90000'><parameter value='101' name='apt'/><rtcp-fb type='ccm' subtype='fir' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' subtype='pli' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='99' name='rtx' clockrate='90000'><parameter value='107' name='apt'/></payload-type><rtp-hdrext uri='http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' id='3'/><rtp-hdrext uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' id='5'/><rtcp-mux/><source ssrc='4057023823' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' name='jvb-v0'><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/><parameter value='mixedmslabel mixedlabelvideo0' name='msid'/></source></description><transport ufrag='27eeu1fin6eqo6' pwd='62dnlh3v89ddlhm47htlfr0gpc' xmlns='urn:xmpp:jingle:transports:ice-udp:1'><web-socket url='wss://meet.avstack.io/colibri-ws/lon-c6ddf806.media.avstack.net/174abe7132081fa4/9df701eb?pwd=62dnlh3v89ddlhm47htlfr0gpc' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint setup='actpass' hash='sha-256' xmlns='urn:xmpp:jingle:apps:dtls:0' required='false'>46:44:E9:88:BD:DD:54:D5:CA:9A:A9:08:C5:C7:27:56:27:EB:FE:22:59:06:13:89:B5:3F:A8:99:21:8C:D4:5F</fingerprint><candidate type='host' ip='176.58.117.73' network='0' component='1' foundation='1' port='10000' id='3a49c6477ae8dcc0ffffffffe63db379' priority='2130706431' protocol='udp' generation='0'/></transport></content><group semantics='BUNDLE' xmlns='urn:xmpp:jingle:apps:grouping:0'><content name='audio'/><content name='video'/></group><bridge-session id='59bc04' xmlns='http://jitsi.org/protocol/focus' region='lon'/></jingle></iq>
Oct 23 20:26:25.850 DEBUG Received Jingle session-initiate from focus@auth.avstack.onavstack.net/focus
Oct 23 20:26:25.850 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3038017796", name: Some("jvb-a0"), parameters: [Parameter { name: "msid", value: Some("mixedmslabel mixedlabelaudio0") }], info: Some(SsrcInfo { owner: "jvb" }) }
Oct 23 20:26:25.850 DEBUG adding ssrc to remote_ssrc_map: Source { id: "4057023823", name: Some("jvb-v0"), parameters: [Parameter { name: "msid", value: Some("mixedmslabel mixedlabelvideo0") }], info: Some(SsrcInfo { owner: "jvb" }) }
Oct 23 20:26:25.850  WARN Remote DTLS fingerprint (verification not implemented yet): [70, 68, 233, 136, 189, 221, 84, 213, 202, 154, 169, 8, 197, 199, 39, 86, 39, 235, 254, 34, 89, 6, 19, 137, 181, 63, 168, 153, 33, 140, 212, 95]
Oct 23 20:26:25.852 DEBUG Local DTLS certificate:
-----BEGIN CERTIFICATE-----
MIIBUDCB96ADAgECAghmBMYGlI0/RDAKBggqhkjOPQQDAjAhMR8wHQYDVQQDDBZy
Y2dlbiBzZWxmIHNpZ25lZCBjZXJ0MCAXDTc1MDEwMTAwMDAwMFoYDzQwOTYwMTAx
MDAwMDAwWjAhMR8wHQYDVQQDDBZyY2dlbiBzZWxmIHNpZ25lZCBjZXJ0MFkwEwYH
KoZIzj0CAQYIKoZIzj0DAQcDQgAE04bmfnzJh3XNWIdmp1WJKrAzTjO/qAUHMG63
AHQOzYLy5iMVS71YxEXVvgQGyNf2YoXiPSWqAD8iwF6G7JJRe6MXMBUwEwYDVR0R
BAwwCoIIZ3N0LW1lZXQwCgYIKoZIzj0EAwIDSAAwRQIgagP4klpwNX9d86ZCrTqB
DTDOL33c6PPTVJit+N/qnngCIQDy2GsWMi+yVA3zaWt5WmTgYebozlBtZIGjOjDj
hlUjfg==
-----END CERTIFICATE-----

Oct 23 20:26:25.852 DEBUG Local DTLS fingerprint: 61:27:C0:45:6D:BC:53:E7:6D:A:60:24:CB:17:85:94:10:D5:C9:29:FB:D2:D6:87:87:89:3F:47:CD:78:FF:FA
Oct 23 20:26:25.852 DEBUG audio SSRC: 3242684937
Oct 23 20:26:25.852 DEBUG video SSRC: 2292321838
Oct 23 20:26:25.852 DEBUG video RTX SSRC: 885434804
Oct 23 20:26:25.853 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" id="OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA0VkRBOS03NDA0AIUnZk9/5yYgasSmhnxN3FI=" to="testlinkmauve@conference.avstack.onavstack.net/focus" type="result"/>
Oct 23 20:26:25.866 DEBUG STUN address: Some(178.79.144.47:3478)
Oct 23 20:26:25.868 DEBUG TURN address: 178.79.144.47:443
Oct 23 20:26:25.868 DEBUG ice_agent=Agent(ObjectRef { inner: 0x7f556403d000, type: NiceAgent })
Oct 23 20:26:25.868 DEBUG ice_stream_id=1
Oct 23 20:26:25.868 DEBUG ice_component_id=1
Oct 23 20:26:25.869 DEBUG setting ICE remote credentials
Oct 23 20:26:25.869 DEBUG gathering ICE candidates
Oct 23 20:26:25.869 DEBUG setting ICE remote candidates: [Candidate { component: 1, foundation: "1", generation: 0, id: "3a49c6477ae8dcc0ffffffffe63db379", ip: 176.58.117.73, port: 10000, priority: 2130706431, protocol: "udp", rel_addr: None, rel_port: None, network: Some(0), type_: Host }]
Oct 23 20:26:25.869 DEBUG candidate: Candidate { type_: Host, foundation: Ok("1"), addr: 176.58.117.73:10000, priority: 2130706431, stream_id: 1, component_id: 1, username: Ok("27eeu1fin6eqo6"), password: Ok("62dnlh3v89ddlhm47htlfr0gpc") }
Oct 23 20:26:25.869 DEBUG building gstreamer pipeline
Oct 23 20:26:26.057 DEBUG linking video payloader -> rtpfunnel
Oct 23 20:26:26.057 DEBUG linking audio payloader -> rtpfunnel
Oct 23 20:26:26.058 DEBUG linking rtpfunnel -> rtpbin
Oct 23 20:26:26.058 DEBUG creating RTX sender for session 0
Oct 23 20:26:26.060 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtp_src_0]
Oct 23 20:26:26.060 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtp_sink_0]
Oct 23 20:26:26.060 DEBUG link dtlssrtpdec -> rtpbin
Oct 23 20:26:26.060 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_sink_0]
Oct 23 20:26:26.061 DEBUG creating RTX receiver for session 0
Oct 23 20:26:26.061 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtcp_sink_0]
Oct 23 20:26:26.061 DEBUG linking rtpbin -> dtlssrtpenc
Oct 23 20:26:26.061 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtcp_src_0]
Oct 23 20:26:26.061 DEBUG linking ice src -> dtlssrtpdec
Oct 23 20:26:26.061 DEBUG linking dtlssrtpenc -> ice sink
Oct 23 20:26:26.062 DEBUG local candidates: [Candidate { type_: Host, foundation: Ok("1"), addr: [2a01:e0a:828:c7c0:2e0:4cff:fe68:6a]:44477, priority: 2015363327, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("2"), addr: 192.168.0.10:56519, priority: 2015363583, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("3"), addr: [fe80::2e0:4cff:fe68:6a%4]:57453, priority: 2015363839, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }]
Oct 23 20:26:26.062 DEBUG building Jingle session-accept
Oct 23 20:26:26.064 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" id="3af4ac41-df63-4eb7-bf7b-5105812cb6b9" to="testlinkmauve@conference.avstack.onavstack.net/focus" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="session-accept" initiator="focus@auth.avstack.onavstack.net/focus" responder="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" sid="e4t2nk7boipuq"><content creator="responder" name="audio" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio" ssrc="3242684937"><payload-type channels="2" clockrate="48000" id="111" name="opus"><rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="transport-cc"/></payload-type><rtcp-mux/><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="3242684937"><parameter name="cname" value="a5dbce79-584b-49f0-9ea7-8a7097f38bb5"/><parameter name="msid" value="179df409-67b5-4a02-877c-15d2d0cf6871 9cf5ca36-db42-4505-bccd-2409dee57291"/></source><rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" id="1" uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level"/><rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" id="5" uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"/></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" pwd="MVIJ/zc/DjzgOOmTfx9WaD" ufrag="nMrI"><candidate component="1" foundation="1" generation="0" id="3dd69681-74a6-4402-851a-511c0dc82068" ip="2a01:e0a:828:c7c0:2e0:4cff:fe68:6a" port="44477" priority="2015363327" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="685e14eb-5081-4762-a061-79b64374c60b" ip="192.168.0.10" port="56519" priority="2015363583" protocol="udp" type="host"/><candidate component="1" foundation="3" generation="0" id="75d32f20-9a32-4b5a-ba42-8e1e8df62987" ip="fe80::2e0:4cff:fe68:6a" port="57453" priority="2015363839" protocol="udp" type="host"/><fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" hash="sha-256" required="true" setup="active">61:27:C0:45:6D:BC:53:E7:6D:0A:60:24:CB:17:85:94:10:D5:C9:29:FB:D2:D6:87:87:89:3F:47:CD:78:FF:FA</fingerprint></transport></content><content creator="responder" name="video" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="video" ssrc="2292321838"><payload-type clockrate="90000" id="100" name="VP8"><rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" subtype="fir" type="ccm"/><rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="nack"/><rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" subtype="pli" type="nack"/><rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="transport-cc"/></payload-type><payload-type clockrate="90000" id="96" name="rtx"><parameter name="apt" value="100"/></payload-type><rtcp-mux/><ssrc-group xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" semantics="FID"><source ssrc="2292321838"/><source ssrc="885434804"/></ssrc-group><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="2292321838"><parameter name="cname" value="f1886b6a-6dcb-4d58-a225-5814129d62ab"/><parameter name="msid" value="907e15c0-a4d9-46b3-b06e-8c7bf9ad850d afa24cee-c612-4afe-911b-ab4a5c1dc9c1"/></source><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="885434804"><parameter name="cname" value="f1886b6a-6dcb-4d58-a225-5814129d62ab"/><parameter name="msid" value="907e15c0-a4d9-46b3-b06e-8c7bf9ad850d afa24cee-c612-4afe-911b-ab4a5c1dc9c1"/></source><rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" id="5" uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"/></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" pwd="MVIJ/zc/DjzgOOmTfx9WaD" ufrag="nMrI"><candidate component="1" foundation="1" generation="0" id="b8855884-573a-4e72-8fb3-21598957e2ce" ip="2a01:e0a:828:c7c0:2e0:4cff:fe68:6a" port="44477" priority="2015363327" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="bfd6299d-1b42-4aea-aa66-3983df3b222e" ip="192.168.0.10" port="56519" priority="2015363583" protocol="udp" type="host"/><candidate component="1" foundation="3" generation="0" id="2d79c81e-7dde-452f-947b-07b73d724909" ip="fe80::2e0:4cff:fe68:6a" port="57453" priority="2015363839" protocol="udp" type="host"/><fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" hash="sha-256" required="true" setup="active">61:27:C0:45:6D:BC:53:E7:6D:0A:60:24:CB:17:85:94:10:D5:C9:29:FB:D2:D6:87:87:89:3F:47:CD:78:FF:FA</fingerprint></transport></content></jingle></iq>
Oct 23 20:26:26.240 DEBUG XMPP    <<< <iq type='set' xmlns='jabber:client' id='OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA0VkRBOS03NDE4AIUnZk9/5yYgasSmhnxN3FI=' from='testlinkmauve@conference.avstack.onavstack.net/focus' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'><jingle action='source-add' sid='e4t2nk7boipuq' xmlns='urn:xmpp:jingle:1'><content name='audio'><description xmlns='urn:xmpp:jingle:apps:rtp:1' media='audio'><source ssrc='3918284339' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-audio-1 e81540b9-80ed-4fef-8dbe-95b8c42b3baa-1' name='msid'/></source></description></content><content name='video'><description xmlns='urn:xmpp:jingle:apps:rtp:1' media='video'><source ssrc='3711541118' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1' name='msid'/></source><source ssrc='2323649837' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1' name='msid'/></source><source ssrc='1288007527' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1' name='msid'/></source><source ssrc='3249409212' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1' name='msid'/></source><source ssrc='3444550817' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1' name='msid'/></source><source ssrc='1099310120' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='testlinkmauve@conference.avstack.onavstack.net/053a9b10' xmlns='http://jitsi.org/jitmeet'/><parameter value='053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1' name='msid'/></source><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='3711541118'/><source ssrc='2323649837'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='1288007527'/><source ssrc='3249409212'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='3444550817'/><source ssrc='1099310120'/></ssrc-group><ssrc-group semantics='SIM' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='3711541118'/><source ssrc='1288007527'/><source ssrc='3444550817'/></ssrc-group></description></content></jingle></iq>
Oct 23 20:26:26.243 DEBUG Received Jingle source-add
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3918284339", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-audio-1 e81540b9-80ed-4fef-8dbe-95b8c42b3baa-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3711541118", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "2323649837", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "1288007527", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3249409212", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3444550817", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG adding ssrc to remote_ssrc_map: Source { id: "1099310120", name: None, parameters: [Parameter { name: "msid", value: Some("053a9b10-video-1 395719c2-6c66-47af-b342-4bcfe97a352c-1") }], info: Some(SsrcInfo { owner: "testlinkmauve@conference.avstack.onavstack.net/053a9b10" }) }
Oct 23 20:26:26.243 DEBUG XMPP    <<< <iq type='result' xmlns='jabber:client' id='3af4ac41-df63-4eb7-bf7b-5105812cb6b9' from='testlinkmauve@conference.avstack.onavstack.net/focus' to='9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO'/>
Oct 23 20:26:26.244 DEBUG Focus acknowledged session-accept
Oct 23 20:26:26.244  INFO Connecting Colibri WebSocket to wss://meet.avstack.io/colibri-ws/lon-c6ddf806.media.avstack.net/174abe7132081fa4/9df701eb?pwd=62dnlh3v89ddlhm47htlfr0gpc
Oct 23 20:26:26.244 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO" id="OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA0VkRBOS03NDE4AIUnZk9/5yYgasSmhnxN3FI=" to="testlinkmauve@conference.avstack.onavstack.net/focus" type="result"/>
Oct 23 20:26:26.249 DEBUG No cached session for DNSNameRef("meet.avstack.io")
Oct 23 20:26:26.249 DEBUG Not resuming any session
Oct 23 20:26:26.256 DEBUG Using ciphersuite TLS13_AES_128_GCM_SHA256
Oct 23 20:26:26.256 DEBUG Not resuming
Oct 23 20:26:26.257 DEBUG TLS1.3 encrypted extensions: [ServerNameAck]
Oct 23 20:26:26.257 DEBUG ALPN protocol is None
Oct 23 20:26:26.311 DEBUG Client handshake done.
Oct 23 20:26:26.311  INFO Connected Colibri WebSocket
Oct 23 20:26:26.311 DEBUG join{xmpp_connection=Connection { tx: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x55d4307d8640, tail_position: 6 }, semaphore: (Semaphore { permits: 64 }, 64), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } }, inner: Mutex { data: ConnectionInner { state: Idle, jid: Some(FullJID(9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO)) } } } glib_main_context=MainContext(Shared { inner: 0x55d4307d5a10 }) config=JitsiConferenceConfig { muc: BareJID(testlinkmauve@conference.avstack.onavstack.net), focus: Full(FullJID(focus@auth.avstack.onavstack.net/focus)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }}: close time.busy=652µs time.idle=1.38s
Oct 23 20:26:26.311 DEBUG set_pipeline_state{self=JitsiConference { jid: FullJID(9df701eb-61e4-49c6-b9cc-ebdc7ebfde5a@avstack.onavstack.net/9D1NVFRO), config: JitsiConferenceConfig { muc: BareJID(testlinkmauve@conference.avstack.onavstack.net), focus: Full(FullJID(focus@auth.avstack.onavstack.net/focus)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } } state=Playing}: close time.busy=91.1µs time.idle=17.5µs
Oct 23 20:26:26.312 DEBUG ICE candidate-gathering-done 1
0:00:03.384780170  8830 0x7f5544003640 FIXME               basesink gstbasesink.c:3395:gst_base_sink_default_event:<nicesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:03.385226666  8830 0x7f5544004180 FIXME                default gstutils.c:4025:gst_pad_create_stream_id_internal:<nicesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Oct 23 20:26:26.706 DEBUG Colibri <<< {"colibriClass":"ServerHello"}
Oct 23 20:26:26.707 DEBUG Colibri <<< {"colibriClass":"SenderVideoConstraints", "videoConstraints":{"idealHeight":2160}}
Oct 23 20:26:26.708 DEBUG Colibri <<< {"colibriClass":"DominantSpeakerEndpointChangeEvent","dominantSpeakerEndpoint":"053a9b10","previousSpeakers":[]}
Oct 23 20:26:26.710  INFO Colibri message: ServerHello { version: None }
Oct 23 20:26:26.710  INFO Colibri message: SenderVideoConstraints { video_constraints: Constraints { ideal_height: Some(2160), max_height: None } }
Oct 23 20:26:26.711  INFO Colibri message: DominantSpeakerEndpointChangeEvent { dominant_speaker_endpoint: "053a9b10", previous_speakers: [] }
Oct 23 20:26:27.361 DEBUG rtpbin request-pt-map [(GstElement) (GstRtpBin) rtpbin, (guint) 0, (guint) 111]
Oct 23 20:26:27.362 DEBUG mapped pt to caps: Caps("application/x-rtp, media=(string)audio, encoding-name=(string)OPUS, clock-rate=(int)48000, extmap-1=(string)urn:ietf:params:rtp-hdrext:ssrc-audio-level, extmap-5=(string)http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01")
Oct 23 20:26:27.380 DEBUG new jitterbuffer created for session 0 ssrc 3918284339
Oct 23 20:26:27.381 DEBUG jitterbuffer is for remote source: Source { ssrc: 3918284339, participant_id: Some("053a9b10"), media_type: Audio }
Oct 23 20:26:27.489 DEBUG rtpbin request-pt-map [(GstElement) (GstRtpBin) rtpbin, (guint) 0, (guint) 100]
Oct 23 20:26:27.489 DEBUG mapped pt to caps: Caps("application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP8, extmap-5=(string)http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01")
Oct 23 20:26:27.495 DEBUG new jitterbuffer created for session 0 ssrc 3711541118
Oct 23 20:26:27.495 DEBUG jitterbuffer is for remote source: Source { ssrc: 3711541118, participant_id: Some("053a9b10"), media_type: Video }
Oct 23 20:26:27.495 DEBUG enabling RTX for ssrc 3711541118
Oct 23 20:26:27.560 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_src_0_3918284339_111]
Oct 23 20:26:27.560 DEBUG pad added for remote source: Source { ssrc: 3918284339, participant_id: Some("053a9b10"), media_type: Audio }
Oct 23 20:26:27.560 DEBUG created depayloader
Oct 23 20:26:27.560 DEBUG linked rtpbin.recv_rtp_src_0_3918284339_111 to depayloader
Oct 23 20:26:27.560  INFO New participant: Participant { jid: None, muc_jid: FullJID(testlinkmauve@conference.avstack.onavstack.net/053a9b10), nick: None }
Oct 23 20:26:27.560  WARN on_participant failed: missing jid
Oct 23 20:26:27.561 DEBUG no participant bin for 053a9b10
Oct 23 20:26:27.561 DEBUG nothing linked to depayloader, adding fakesink
Oct 23 20:26:27.561 DEBUG depayloader requested extension: 1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
thread '<unnamed>' panicked at 'Signal 'request-extension' of type 'GstRTPOpusDepay' required return value of type 'GstRTPHeaderExtension' but got None', /home/linkmauve/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.14.8/src/object.rs:1836:21
Oct 23 20:26:27.561  WARN request-extension: failed to create hdrext
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
zsh: abort (core dumped)  GST_DEBUG=3 target/debug/gst-meet --verbose --nick=gst-meet     |
zsh: done                 colout -s xml+evoque
jbg commented 3 years ago

This means that gstreamer's RTPHeaderExtension::create_from_uri is failing.

Which version of gstreamer are you using?

linkmauve commented 3 years ago

Ah, I’m still on Gstreamer 1.19.2-r93777 commit 2853c085c7 and related -base and -bad plugins (all of which I built the day you contacted me, one or two weeks ago), I’ll try updating to latest master.

jbg commented 3 years ago

1.19.2 should be OK (it's what I'm testing with, via the nix environment described in shell.nix). Is it possible that you somehow didn't build with RTP header extension support? Not sure whether that is possible.

linkmauve commented 3 years ago

I actually missed the gst-plugins-good from master, I was still using 1.18 so this element wasn’t present…

Now that I built all the relevant plugins in their latest version, I can finally receive remote participants streams (yay!) but sending my own now fails. I’ll debug it for a bit and open another issue if I can’t figure it/fix it on my own, thanks again!