Connect GStreamer pipelines to Jitsi Meet conferences

Overview

gst-meet: Integrate Jitsi Meet conferences with GStreamer pipelines

Note: gst-meet is in an alpha state and is under active development. The command-line options and the lib-gst-meet API are subject to change, and some important features (simulcast, RTX, TCC) are not yet fully functional.

gst-meet provides a library and tool for integrating Jitsi Meet conferences with GStreamer pipelines. You can pipe audio and video into a conference as a participant, and pipe out other participants' audio and video streams.

Thanks to GStreamer's flexibility and wide range of plugins, this enables many new possibilities.

Installation

You will need the dependencies glib, gstreamer and libnice, as well as any GStreamer plugins you want to use in your pipelines, and a Rust toolchain (rustup is the easiest way to install one).

Then: cargo install --force gst-meet (--force will upgrade gst-meet if you have already installed it.)

To integrate gst-meet into your own application, look at lib-gst-meet.

Pipeline Structure

You can pass two different pipeline fragments to gst-meet.

--send-pipeline is for sending audio and video. If it contains an element named audio, this audio will be streamed to the conference. The audio codec must be 48kHz Opus. If it contains an element named video, this video will be streamed to the conference. The video codec must match the codec passed to --video-codec, which is VP8 by default.

--recv-pipeline-participant-template is for receiving audio and video from other participants. This pipeline will be created once for each other participant in the conference. If it contains an element named audio, the participant's audio (48kHz Opus) will be sent to that element. If it contains an element named video, the participant's video (encoded with the codec selected by --video-codec) will be sent to that element. The strings {jid}, {jid_user}, {participant_id} and {nick} are replaced in the template with the participant's full JID, user part, MUC JID resource part (a.k.a. participant/occupant ID) and nickname respectively.

Examples

A few examples of gst-meet usage are below. The GStreamer reference provides full details on available pipeline elements.

gst-meet --help lists full usage information.

Stream an Opus audio file to the conference. This is very efficient; the Opus data in the file is streamed directly without transcoding:

gst-meet --web-socket-url=wss://your.jitsi.domain/xmpp-websocket \
         --xmpp-domain=your.jitsi.domain \
         --room-name=roomname \
         --send-pipeline="filesrc location=sample.opus ! queue ! oggdemux name=audio"

Stream a FLAC audio file to the conference, transcoding it to Opus:

gst-meet --web-socket-url=wss://your.jitsi.domain/xmpp-websocket \
         --xmpp-domain=your.jitsi.domain \
         --room-name=roomname \
         --send-pipeline="filesrc location=shake-it-off.flac ! queue ! flacdec ! audioconvert ! audioresample ! opusenc name=audio"

Stream a .webm file containing VP8 video and Vorbis audio to the conference. This pipeline passes the VP8 stream through efficiently without transcoding, and transcodes the audio from Vorbis to Opus:

gst-meet --web-socket-url=wss://your.jitsi.domain/xmpp-websocket \
         --xmpp-domain=your.jitsi.domain \
         --room-name=roomname \
         --send-pipeline="filesrc location=big-buck-bunny_trailer.webm ! queue ! matroskademux name=demuxer
                          demuxer.video_0 ! queue name=video
                          demuxer.audio_0 ! queue ! vorbisdec ! audioconvert ! audioresample ! opusenc name=audio"

Stream the default video & audio inputs to the conference, encoding as VP8 and Opus, composite incoming video streams and play back incoming audio (a very basic, but completely native, Jitsi Meet conference!):

gst-meet --web-socket-url=wss://your.jitsi.domain/xmpp-websocket \
         --xmpp-domain=your.jitsi.domain \
         --room-name=roomname \
         --send-pipeline="autovideosrc ! queue ! videoconvert ! vp8enc buffer-size=1000 deadline=1 name=video
                          autoaudiosrc ! queue ! audioconvert ! audioresample ! opusenc name=audio" \
         --recv-pipeline-participant-template="opusdec name=audio ! autoaudiosink
                                               vp8dec name=video ! videoconvert ! autovideosink"

Record a .webm file for each other participant, containing VP8 video and Opus audio, without needing to do any transcoding:

gst-meet --web-socket-url=wss://your.jitsi.domain/xmpp-websocket \
         --xmpp-domain=your.jitsi.domain \
         --room-name=roomname \
         --recv-pipeline-participant-template="webmmux name=muxer ! filesink location={participant_id}.webm
                                               opusparse name=audio ! muxer.audio_0
                                               capsfilter caps=video/x-vp8 name=video ! muxer.video_0"

Play a YouTube video in the conference. By requesting Opus audio and VP9 video from YouTube, and setting the Jitsi Meet video codec to VP9, no transcoding is necessary:

YOUTUBE_URL="https://www.youtube.com/watch?v=vjV_2Ri2rfE"
gst-meet --web-socket-url=wss://your.jitsi.domain/xmpp-websocket \
         --xmpp-domain=your.jitsi.domain \
         --room-name=roomname \
         --video-codec=vp9 \
         --send-pipeline="curlhttpsrc location=\"$(youtube-dl -g $YOUTUBE_URL -f 'bestaudio[acodec=opus]')\" ! queue ! matroskademux name=audiodemux
                          curlhttpsrc location=\"$(youtube-dl -g $YOUTUBE_URL -f 'bestvideo[vcodec=vp9]')\" ! queue ! matroskademux name=videodemux
                          audiodemux.audio_0 ! queue ! clocksync name=audio
                          videodemux.video_0 ! queue ! clocksync name=video"

Debugging

It can sometimes be tricky to get GStreamer pipeline syntax and structure correct. To help with this, you can try setting the GST_DEBUG environment variable (for example, 3 is modestly verbose, while 6 produces copious per-packet output). You can also set GST_DEBUG_DUMP_DOT_DIR to the relative path to a directory (which must already exist). .dot files containing the pipeline graph will be saved to this directory, and can be converted to .png with the dot tool from GraphViz; for example dot filename.dot -Tpng > filename.png.

License

gst-meet, lib-gst-meet, nice and nice-sys are licensed under either of

at your option.

The dependency xmpp-parsers is licensed under the Mozilla Public License, Version 2.0, https://www.mozilla.org/en-US/MPL/2.0/

The dependency gstreamer is licensed under the GNU Lesser General Public License, Version 2.1, https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html.

Contribution

Any kinds of contributions are welcome as a pull request.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Acknowledgements

gst-meet development is sponsored by AVStack. We provide globally-distributed, scalable, managed Jitsi Meet backends.

Comments
  • User joins but doesn´t play any video or audio file

    User joins but doesn´t play any video or audio file

    Hi there, we are an educational institution and we might like to use the project for a big project of us. However, we have the problem that the gst-meet user enters the room, but the user doesn´t play any audio or video file. We´ve tried a YouTube video and a .mp3 file, we did not get any error messages on the console and all required packages from GStreamer should be installed/compiled. We use Debian 10, Jitsi, GStreamer and gst-meet are all installed on one server. Do you have any idea what could cause the problem? Thanks

    opened by mkn-ta 17
  • No video received with simulcast & recv-video-height

    No video received with simulcast & recv-video-height

    With simulcast enabled and without the command line argument --recv-video-height the video is received but has very low resolution (it's understandable with simulcast). Is there any way to get full resolution video from all participants? I've tried --recv-video-height=720 but then no video is received, see log below.

    I've seen in README that simulcast is not fully implemented, what remains to be done?

    $ DISPLAY=:0 GST_DEBUG=identity:7,vp8dec:7 target/debug/gst-meet --verbose --web-socket-url=wss://myserver/xmpp-websocket --xmpp-domain=meet.jitsi --muc-domain=muc.meet.jitsi --focus-jid=focus.meet.jitsi --room-name=vbck-eq98qp9r --recv-pipeline-participant-template="identity name=audio silent=true ! opusdec use-inband-fec=true plc=true ! autoaudiosink  identity name=video silent=false ! capsfilter caps=video/x-vp8 ! vp8dec discard-corrupted-frames=true ! autovideosink" --recv-video-height=720
    Oct 18 15:38:45.841  INFO Connecting XMPP WebSocket to wss://myserver/xmpp-websocket
    Oct 18 15:38:45.970 DEBUG No cached session for DNSNameRef("myserver")    
    Oct 18 15:38:45.971 DEBUG Not resuming any session    
    Oct 18 15:38:46.020 DEBUG Using ciphersuite TLS13_CHACHA20_POLY1305_SHA256    
    Oct 18 15:38:46.020 DEBUG Not resuming    
    Oct 18 15:38:46.021 DEBUG TLS1.3 encrypted extensions: [ServerNameAck]    
    Oct 18 15:38:46.021 DEBUG ALPN protocol is None    
    Oct 18 15:38:46.114 DEBUG Ticket saved    
    Oct 18 15:38:46.114 DEBUG Ticket saved    
    Oct 18 15:38:46.117 DEBUG Client handshake done.    
    Oct 18 15:38:46.118 DEBUG XMPP    >>> <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="meet.jitsi" version="1.0"/>
    Oct 18 15:38:46.169 DEBUG XMPP    <<< <open from='meet.jitsi' id='21084b44-63c9-462e-b04e-01df1ac3ea98' xml:lang='en' version='1.0' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
    Oct 18 15:38:46.169  INFO Connected XMPP WebSocket
    Oct 18 15:38:46.169 DEBUG XMPP    <<< <stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>ANONYMOUS</mechanism></mechanisms></stream:features>
    Oct 18 15:38:46.170 DEBUG XMPP    >>> <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="ANONYMOUS"></auth>
    Oct 18 15:38:46.218 DEBUG XMPP    <<< <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
    Oct 18 15:38:46.219 DEBUG XMPP    >>> <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="meet.jitsi" version="1.0"/>
    Oct 18 15:38:46.268 DEBUG XMPP    <<< <open from='meet.jitsi' id='a0d0451a-3902-4a4a-98c1-ed3509803da9' xml:lang='en' version='1.0' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
    Oct 18 15:38:46.268  INFO Logged in anonymously
    Oct 18 15:38:46.268 DEBUG XMPP    <<< <stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><c hash='sha-1' ver='G6w+5bZoHrFGJqNzkFC1TfACayE=' xmlns='http://jabber.org/protocol/caps' node='http://prosody.im'/><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><ver xmlns='urn:xmpp:features:rosterver'/></stream:features>
    Oct 18 15:38:46.269 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="390bbdad-5195-4c20-a0d3-8277b208bde6" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></iq>
    Oct 18 15:38:46.317 DEBUG XMPP    <<< <iq type='result' id='390bbdad-5195-4c20-a0d3-8277b208bde6' xmlns='jabber:client'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>[email protected]/II560aVV</jid></bind></iq>
    Oct 18 15:38:46.318  INFO My JID: [email protected]/II560aVV
    Oct 18 15:38:46.318 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/II560aVV" id="e2c9933b-aa89-408b-ba15-60a707afd18f" to="meet.jitsi" type="get"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>
    Oct 18 15:38:46.367 DEBUG XMPP    <<< <iq type='result' from='meet.jitsi' id='e2c9933b-aa89-408b-ba15-60a707afd18f' xmlns='jabber:client' to='[email protected]/II560aVV'><query xmlns='http://jabber.org/protocol/disco#info'><identity type='service' category='pubsub' name='Prosody PubSub Service'/><identity type='im' category='server' name='Prosody'/><identity type='pep' category='pubsub' name='Prosody'/><identity type='speakerstats' category='component' name='speakerstatsmeet.jitsi'/><identity type='conference_duration' category='component' name='conferencedurationmeet.jitsi'/><feature var='jabber:iq:register'/><feature var='http://jabber.org/protocol/commands'/><feature var='msgoffline'/><feature var='urn:xmpp:ping'/><feature var='jabber:iq:version'/><feature var='jabber:iq:roster'/><feature var='http://jabber.org/protocol/pubsub'/><feature var='http://jabber.org/protocol/pubsub#item-ids'/><feature var='http://jabber.org/protocol/pubsub#outcast-affiliation'/><feature var='http://jabber.org/protocol/pubsub#create-nodes'/><feature var='http://jabber.org/protocol/pubsub#modify-affiliations'/><feature var='http://jabber.org/protocol/pubsub#retrieve-items'/><feature var='http://jabber.org/protocol/pubsub#retrieve-default'/><feature var='http://jabber.org/protocol/pubsub#purge-nodes'/><feature var='http://jabber.org/protocol/pubsub#publish'/><feature var='http://jabber.org/protocol/pubsub#create-and-configure'/><feature var='http://jabber.org/protocol/pubsub#config-node'/><feature var='http://jabber.org/protocol/pubsub#delete-items'/><feature var='http://jabber.org/protocol/pubsub#meta-data'/><feature var='http://jabber.org/protocol/pubsub#multi-items'/><feature var='http://jabber.org/protocol/pubsub#member-affiliation'/><feature var='http://jabber.org/protocol/pubsub#subscribe'/><feature var='http://jabber.org/protocol/pubsub#persistent-items'/><feature var='http://jabber.org/protocol/pubsub#delete-nodes'/><feature var='http://jabber.org/protocol/pubsub#access-open'/><feature var='http://jabber.org/protocol/pubsub#subscription-options'/><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#retract-items'/><feature var='http://jabber.org/protocol/pubsub#publisher-affiliation'/><feature var='http://jabber.org/protocol/pubsub#publish-options'/><feature var='http://jabber.org/protocol/disco#info'/><feature var='http://jabber.org/protocol/disco#items'/><feature var='jabber:iq:private'/><feature var='urn:xmpp:time'/><feature var='jabber:iq:time'/><feature var='jabber:iq:last'/><feature var='vcard-temp'/></query></iq>
    Oct 18 15:38:46.369 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/II560aVV" id="2cfd8c9f-f04f-4b0b-b56b-b41206260f0e" to="meet.jitsi" type="get"><services xmlns="urn:xmpp:extdisco:2"/></iq>
    Oct 18 15:38:46.420 DEBUG XMPP    <<< <iq type='error' from='meet.jitsi' id='2cfd8c9f-f04f-4b0b-b56b-b41206260f0e' xmlns='jabber:client' to='[email protected]/II560aVV'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
    Oct 18 15:38:46.420  WARN discovering external services failed: STUN/TURN will not work
    Oct 18 15:38:46.421 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="f217ed31-44df-43ee-b581-1f3c90fc1f4d" to="focus.meet.jitsi" type="set"><conference xmlns="http://jitsi.org/protocol/focus" machine-uid="6d2c3a9e-c6c4-44fa-8ea0-23aa57008469" room="[email protected]"><property name="startBitrate" value="800"/><property name="stereo" value="true"/></conference></iq>
    Oct 18 15:38:46.471 DEBUG XMPP    <<< <iq type='result' from='focus.meet.jitsi' id='f217ed31-44df-43ee-b581-1f3c90fc1f4d' xmlns='jabber:client' to='[email protected]/II560aVV'><conference ready='true' focusjid='[email protected]' room='[email protected]' xmlns='http://jitsi.org/protocol/focus'><property value='true' name='authentication'/><property value='true' name='externalAuth'/></conference></iq>
    Oct 18 15:38:46.472 DEBUG send_presence{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), 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=51.5µs time.idle=19.2µs
    Oct 18 15:38:46.472 DEBUG XMPP    >>> <presence xmlns="jabber:client" to="[email protected]/6818f220"><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 18 15:38:46.525 DEBUG XMPP    <<< <presence from='[email protected]/fda767f7' xmlns='jabber:client' to='[email protected]/II560aVV'><stats-id>Krystel-yIc</stats-id><c hash='sha-1' ver='/LxjVAUjW56LWSj9lRquSYt35Ho=' node='https://jitsi.org/jitsi-meet' xmlns='http://jabber.org/protocol/caps'/><jitsi_participant_codecType>vp8</jitsi_participant_codecType><nick xmlns='http://jabber.org/protocol/nick'>StreamStudio</nick><audiomuted>false</audiomuted><videomuted>false</videomuted><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/TeYqpl6d' affiliation='none' role='participant'/></x></presence>
    Oct 18 15:38:46.526 DEBUG Joined MUC: [email protected]
    Oct 18 15:38:46.526 DEBUG XMPP    <<< <presence from='[email protected]/7407942f' xmlns='jabber:client' to='[email protected]/II560aVV'><stats-id>Jamaal-Xfz</stats-id><c hash='sha-1' ver='EnwHSNadxWoMLOQtrcYmdQXmu/k=' node='https://jitsi.org/jitsi-meet' xmlns='http://jabber.org/protocol/caps'/><features><feature var='https://jitsi.org/meet/e2ee'/></features><jitsi_participant_codecType>vp8</jitsi_participant_codecType><nick xmlns='http://jabber.org/protocol/nick'>teo</nick><jitsi_participant_e2ee.idKey>MEAksN9BN6fYPbduIgJfJcbqc47BrRT2oxWeLAbssHI</jitsi_participant_e2ee.idKey><audiomuted>false</audiomuted><videomuted>false</videomuted><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/OOaP6-XL' affiliation='owner' role='moderator'/></x></presence>
    Oct 18 15:38:46.526 DEBUG new participant: FullJID([email protected]/OOaP6-XL)
    Oct 18 15:38:46.526 DEBUG XMPP    <<< <presence xmlns='jabber:client' from='[email protected]/focus' id='kSFCr-137121' to='[email protected]/II560aVV'><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>vbck-eq98qp9r</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 hash='sha-1' ver='Lg0vhCNhxjoeKJi2/hukdsizNWA=' node='http://jitsi.org/jicofo' xmlns='http://jabber.org/protocol/caps'/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus' affiliation='owner' role='moderator'/></x></presence>
    Oct 18 15:38:46.527 DEBUG XMPP    <<< <presence from='[email protected]/6818f220' xmlns='jabber:client' to='[email protected]/II560aVV'><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='http://jabber.org/protocol/muc#user'><status code='100'/><item jid='[email protected]/II560aVV' affiliation='none' role='participant'/><status code='110'/></x></presence>
    Oct 18 15:38:46.528 DEBUG XMPP    <<< <message from='speakerstats.meet.jitsi' xmlns='jabber:client' to='[email protected]/II560aVV'><json-message xmlns='http://jitsi.org/jitmeet'>{&quot;type&quot;:&quot;speakerstats&quot;,&quot;users&quot;:{&quot;e0b84321&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;c25eedad&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;fd924aa8&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;3a528e0d&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;19a8e357&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;1dc70cf7&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;cf5ce225&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;9b37e0b4&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;},&quot;1809cee2&quot;:{&quot;totalDominantSpeakerTime&quot;:0,&quot;displayName&quot;:&quot;gst-meet&quot;}}}</json-message></message>
    Oct 18 15:38:46.528 DEBUG XMPP    <<< <message from='conferenceduration.meet.jitsi' xmlns='jabber:client' to='[email protected]/II560aVV'><json-message xmlns='http://jitsi.org/jitmeet'>{&quot;type&quot;:&quot;conference_duration&quot;,&quot;created_timestamp&quot;:1634563786000}</json-message></message>
    Oct 18 15:38:46.528 DEBUG XMPP    <<< <message type='groupchat' from='[email protected]' xmlns='jabber:client' to='[email protected]/II560aVV'><subject/></message>
    Oct 18 15:38:46.528 DEBUG XMPP    <<< <iq type='get' from='[email protected]/focus' id='NjgxOGYyMjAtZmE3Ny00MTNkLTg3NDAtOWQ3YzFjNTYzNThjQHJldHVybi5tZWV0LmppdHNpL0lJNTYwYVZWAGtTRkNyLTEzNzQ4NgB9MKAL27uLVhq/q96wolfF' xmlns='jabber:client' to='[email protected]/II560aVV'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
    Oct 18 15:38:46.528 DEBUG Received disco info query from [email protected]/focus for node None
    Oct 18 15:38:46.529 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/II560aVV" id="NjgxOGYyMjAtZmE3Ny00MTNkLTg3NDAtOWQ3YzFjNTYzNThjQHJldHVybi5tZWV0LmppdHNpL0lJNTYwYVZWAGtTRkNyLTEzNzQ4NgB9MKAL27uLVhq/q96wolfF" to="[email protected]/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 18 15:38:46.611 DEBUG XMPP    <<< <iq type='set' from='[email protected]/focus' id='NjgxOGYyMjAtZmE3Ny00MTNkLTg3NDAtOWQ3YzFjNTYzNThjQHJldHVybi5tZWV0LmppdHNpL0lJNTYwYVZWAGtTRkNyLTEzNzQ5MQB9MKAL27uLVhq/q96wolfF' xmlns='jabber:client' to='[email protected]/II560aVV'><jingle sid='bfempbijs0s39' action='session-initiate' initiator='[email protected]/focus' xmlns='urn:xmpp:jingle:1'><content creator='initiator' senders='both' name='audio'><description media='audio' maxptime='60' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type id='111' name='opus' channels='2' clockrate='48000'><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 name='ISAC' clockrate='16000' id='103'/><payload-type name='ISAC' clockrate='32000' id='104'/><payload-type name='telephone-event' clockrate='8000' id='126'/><rtp-hdrext uri='urn:ietf:params:rtp-hdrext:ssrc-audio-level' id='1' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtp-hdrext uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' id='5' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtcp-mux/><source ssrc='2779611839' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><parameter value='mixed' name='cname'/><parameter value='mixedlabelaudio0' name='label'/><parameter value='mixedmslabel mixedlabelaudio0' name='msid'/><parameter value='mixedmslabel' name='mslabel'/><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/></source><source ssrc='861082313' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/fda767f7' xmlns='http://jitsi.org/jitmeet'/><parameter value='fda767f7-audio-1 2e97aee7-4481-4370-8a6f-209a295a6c65-1' name='msid'/><parameter value='klf2SdfQOtoSZTWV-1' name='cname'/></source><source ssrc='2435101079' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-audio-1 7956351a-b8db-4852-ad91-6b9848814932-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source></description><transport ufrag='bs71j1fi9q0h53' pwd='3bvie3ojfilejsau1jdkg9hule' xmlns='urn:xmpp:jingle:transports:ice-udp:1'><web-socket url='wss://myserver/colibri-ws/10.255.254.4/1c75ac1492945f52/6818f220?pwd=3bvie3ojfilejsau1jdkg9hule' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint required='false' hash='sha-256' setup='actpass' xmlns='urn:xmpp:jingle:apps:dtls:0'>5E:4E:BA:E3:25:7E:02:CB:61:A9:4F:B2:F2:2C:BC:2B:07:FE:8B:28:98:4F:F0:E2:AE:30:EC:99:1B:31:BD:AA</fingerprint><candidate type='host' foundation='1' network='0' protocol='udp' component='1' ip='10.255.254.4' id='19b011b295b7667076923534' priority='2130706431' port='10000' generation='0'/><candidate type='srflx' foundation='2' network='0' protocol='udp' component='1' ip='34.240.181.38' rel-port='10000' id='13672de395b76670ffffffff8e82ec56' generation='0' priority='1694498815' port='10000' rel-addr='10.255.254.4'/></transport></content><content creator='initiator' senders='both' name='video'><description media='video' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type name='VP8' clockrate='90000' id='100'><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 name='H264' clockrate='90000' id='107'><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 name='VP9' clockrate='90000' id='101'><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 name='rtx' clockrate='90000' id='96'><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 name='rtx' clockrate='90000' id='97'><parameter value='101' name='apt'/></payload-type><payload-type name='rtx' clockrate='90000' id='99'><parameter value='107' name='apt'/></payload-type><rtp-hdrext uri='http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' id='3' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtp-hdrext uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' id='5' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtcp-mux/><source ssrc='3997726519' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><parameter value='mixed' name='cname'/><parameter value='mixedlabelvideo0' name='label'/><parameter value='mixedmslabel mixedlabelvideo0' name='msid'/><parameter value='mixedmslabel' name='mslabel'/><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/></source><source ssrc='3547134360' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/fda767f7' xmlns='http://jitsi.org/jitmeet'/><parameter value='fda767f7-video-1 b5919904-ca09-44d7-a60a-ca1ebd48b9a6-1' name='msid'/><parameter value='klf2SdfQOtoSZTWV-1' name='cname'/></source><source ssrc='3274400993' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/fda767f7' xmlns='http://jitsi.org/jitmeet'/><parameter value='fda767f7-video-1 b5919904-ca09-44d7-a60a-ca1ebd48b9a6-1' name='msid'/><parameter value='klf2SdfQOtoSZTWV-1' name='cname'/></source><source ssrc='1788627684' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source><source ssrc='1318712897' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source><source ssrc='452538405' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source><source ssrc='783699697' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source><source ssrc='3149396768' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source><source ssrc='2012982726' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='[email protected]/7407942f' xmlns='http://jitsi.org/jitmeet'/><parameter value='7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1' name='msid'/><parameter value='0OJYqZ1Su7UNN91-1' name='cname'/></source><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='3547134360'/><source ssrc='3274400993'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='1788627684'/><source ssrc='1318712897'/></ssrc-group><ssrc-group semantics='SIM' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='1788627684'/><source ssrc='452538405'/><source ssrc='783699697'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='452538405'/><source ssrc='3149396768'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='783699697'/><source ssrc='2012982726'/></ssrc-group></description><transport ufrag='bs71j1fi9q0h53' pwd='3bvie3ojfilejsau1jdkg9hule' xmlns='urn:xmpp:jingle:transports:ice-udp:1'><web-socket url='wss://myserver/colibri-ws/10.255.254.4/1c75ac1492945f52/6818f220?pwd=3bvie3ojfilejsau1jdkg9hule' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint required='false' hash='sha-256' setup='actpass' xmlns='urn:xmpp:jingle:apps:dtls:0'>5E:4E:BA:E3:25:7E:02:CB:61:A9:4F:B2:F2:2C:BC:2B:07:FE:8B:28:98:4F:F0:E2:AE:30:EC:99:1B:31:BD:AA</fingerprint><candidate type='host' foundation='1' network='0' protocol='udp' component='1' ip='10.255.254.4' id='19b011b295b7667076923534' priority='2130706431' port='10000' generation='0'/><candidate type='srflx' foundation='2' network='0' protocol='udp' component='1' ip='34.240.181.38' rel-port='10000' id='13672de395b76670ffffffff8e82ec56' generation='0' priority='1694498815' port='10000' rel-addr='10.255.254.4'/></transport></content><group semantics='BUNDLE' xmlns='urn:xmpp:jingle:apps:grouping:0'><content name='audio'/><content name='video'/></group><bridge-session id='74445_2f1bed' xmlns='http://jitsi.org/protocol/focus'/></jingle></iq>
    Oct 18 15:38:46.618 DEBUG Received Jingle session-initiate from [email protected]/focus
    Oct 18 15:38:46.618 DEBUG adding ssrc to remote_ssrc_map: Source { id: "2779611839", parameters: [Parameter { name: "cname", value: Some("mixed") }, Parameter { name: "label", value: Some("mixedlabelaudio0") }, Parameter { name: "msid", value: Some("mixedmslabel mixedlabelaudio0") }, Parameter { name: "mslabel", value: Some("mixedmslabel") }], info: Some(SsrcInfo { owner: "jvb" }) }
    Oct 18 15:38:46.618 DEBUG adding ssrc to remote_ssrc_map: Source { id: "861082313", parameters: [Parameter { name: "msid", value: Some("fda767f7-audio-1 2e97aee7-4481-4370-8a6f-209a295a6c65-1") }, Parameter { name: "cname", value: Some("klf2SdfQOtoSZTWV-1") }], info: Some(SsrcInfo { owner: "[email protected]/fda767f7" }) }
    Oct 18 15:38:46.618 DEBUG adding ssrc to remote_ssrc_map: Source { id: "2435101079", parameters: [Parameter { name: "msid", value: Some("7407942f-audio-1 7956351a-b8db-4852-ad91-6b9848814932-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.618 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3997726519", parameters: [Parameter { name: "cname", value: Some("mixed") }, Parameter { name: "label", value: Some("mixedlabelvideo0") }, Parameter { name: "msid", value: Some("mixedmslabel mixedlabelvideo0") }, Parameter { name: "mslabel", value: Some("mixedmslabel") }], info: Some(SsrcInfo { owner: "jvb" }) }
    Oct 18 15:38:46.618 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3547134360", parameters: [Parameter { name: "msid", value: Some("fda767f7-video-1 b5919904-ca09-44d7-a60a-ca1ebd48b9a6-1") }, Parameter { name: "cname", value: Some("klf2SdfQOtoSZTWV-1") }], info: Some(SsrcInfo { owner: "[email protected]/fda767f7" }) }
    Oct 18 15:38:46.618 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3274400993", parameters: [Parameter { name: "msid", value: Some("fda767f7-video-1 b5919904-ca09-44d7-a60a-ca1ebd48b9a6-1") }, Parameter { name: "cname", value: Some("klf2SdfQOtoSZTWV-1") }], info: Some(SsrcInfo { owner: "[email protected]/fda767f7" }) }
    Oct 18 15:38:46.619 DEBUG adding ssrc to remote_ssrc_map: Source { id: "1788627684", parameters: [Parameter { name: "msid", value: Some("7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.619 DEBUG adding ssrc to remote_ssrc_map: Source { id: "1318712897", parameters: [Parameter { name: "msid", value: Some("7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.619 DEBUG adding ssrc to remote_ssrc_map: Source { id: "452538405", parameters: [Parameter { name: "msid", value: Some("7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.619 DEBUG adding ssrc to remote_ssrc_map: Source { id: "783699697", parameters: [Parameter { name: "msid", value: Some("7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.619 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3149396768", parameters: [Parameter { name: "msid", value: Some("7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.619 DEBUG adding ssrc to remote_ssrc_map: Source { id: "2012982726", parameters: [Parameter { name: "msid", value: Some("7407942f-video-1 dee785af-24ee-49a6-82ae-de1cfcea0713-1") }, Parameter { name: "cname", value: Some("0OJYqZ1Su7UNN91-1") }], info: Some(SsrcInfo { owner: "[email protected]/7407942f" }) }
    Oct 18 15:38:46.619  WARN Remote DTLS fingerprint (verification not implemented yet): [94, 78, 186, 227, 37, 126, 2, 203, 97, 169, 79, 178, 242, 44, 188, 43, 7, 254, 139, 40, 152, 79, 240, 226, 174, 48, 236, 153, 27, 49, 189, 170]
    Oct 18 15:38:46.620 DEBUG Local DTLS certificate:
    -----BEGIN CERTIFICATE-----
    MIIBTzCB96ADAgECAgg3+I2aIMCEgDAKBggqhkjOPQQDAjAhMR8wHQYDVQQDDBZy
    Y2dlbiBzZWxmIHNpZ25lZCBjZXJ0MCAXDTc1MDEwMTAwMDAwMFoYDzQwOTYwMTAx
    MDAwMDAwWjAhMR8wHQYDVQQDDBZyY2dlbiBzZWxmIHNpZ25lZCBjZXJ0MFkwEwYH
    KoZIzj0CAQYIKoZIzj0DAQcDQgAEP8KIhUMSrR3IwjHtvk0HRaaANu1osA2wzunq
    s5oUtmYZWnaBS9D5tIvCCJ8bq+iOXn6ZsmWSDf2I1JSTZdGXoKMXMBUwEwYDVR0R
    BAwwCoIIZ3N0LW1lZXQwCgYIKoZIzj0EAwIDRwAwRAIgVjPjVB00Ajx82JBjGRfb
    VE3T+8NmatrIchCnga2Hoz0CIAIudlYwBNUb+WzYaQ5cdHKS/+lcamo4PFpj5LUm
    yozX
    -----END CERTIFICATE-----
    
    Oct 18 15:38:46.620 DEBUG Local DTLS fingerprint: B7:53:2:14:CC:71:DA:7F:C4:ED:66:8:B8:43:C5:AC:E0:F0:7C:D9:67:6C:3B:76:C1:8:EC:B2:A:EB:D1:19
    Oct 18 15:38:46.620 DEBUG audio SSRC: 2247495786
    Oct 18 15:38:46.620 DEBUG video SSRC: 1353629057
    Oct 18 15:38:46.620 DEBUG video RTX SSRC: 783772405
    Oct 18 15:38:46.620 DEBUG STUN address: None
    Oct 18 15:38:46.620 DEBUG ice_agent=Agent(ObjectRef { inner: 0x7f3544055010, type: NiceAgent })
    Oct 18 15:38:46.620 DEBUG ice_stream_id=1
    Oct 18 15:38:46.620 DEBUG ice_component_id=1
    Oct 18 15:38:46.620 DEBUG setting ICE remote credentials
    Oct 18 15:38:46.620 DEBUG gathering ICE candidates
    Oct 18 15:38:46.622 DEBUG ICE candidate-gathering-done 1
    Oct 18 15:38:46.622 DEBUG setting ICE remote candidates: [Candidate { component: 1, foundation: "1", generation: 0, id: "19b011b295b7667076923534", ip: 10.255.254.4, port: 10000, priority: 2130706431, protocol: "udp", rel_addr: None, rel_port: None, network: Some(0), type_: Host }, Candidate { component: 1, foundation: "2", generation: 0, id: "13672de395b76670ffffffff8e82ec56", ip: 34.240.181.38, port: 10000, priority: 1694498815, protocol: "udp", rel_addr: Some(10.255.254.4), rel_port: Some(10000), network: Some(0), type_: Srflx }]
    Oct 18 15:38:46.622 DEBUG candidate: Candidate { type_: Host, foundation: Ok("1"), addr: 10.255.254.4:10000, priority: 2130706431, stream_id: 1, component_id: 1, username: Ok("bs71j1fi9q0h53"), password: Ok("3bvie3ojfilejsau1jdkg9hule") }
    Oct 18 15:38:46.622 DEBUG candidate: Candidate { type_: ServerReflexive, foundation: Ok("2"), addr: 34.240.181.38:10000, priority: 1694498815, stream_id: 1, component_id: 1, username: Ok("bs71j1fi9q0h53"), password: Ok("3bvie3ojfilejsau1jdkg9hule") }
    Oct 18 15:38:46.623 DEBUG building gstreamer pipeline
    Oct 18 15:38:46.765 DEBUG linking video payloader -> rtpfunnel
    Oct 18 15:38:46.765 DEBUG linking audio payloader -> rtpfunnel
    Oct 18 15:38:46.765 DEBUG linking rtpfunnel -> rtpbin
    Oct 18 15:38:46.766 DEBUG creating RTX sender for session 0
    Oct 18 15:38:46.766 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtp_src_0]
    Oct 18 15:38:46.766 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtp_sink_0]
    Oct 18 15:38:46.767 DEBUG link dtlssrtpdec -> rtpbin
    Oct 18 15:38:46.767 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_sink_0]
    Oct 18 15:38:46.767 DEBUG creating RTX receiver for session 0
    Oct 18 15:38:46.767 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtcp_sink_0]
    Oct 18 15:38:46.767 DEBUG linking rtpbin -> dtlssrtpenc
    Oct 18 15:38:46.768 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtcp_src_0]
    Oct 18 15:38:46.768 DEBUG linking ice src -> dtlssrtpdec
    Oct 18 15:38:46.768 DEBUG linking dtlssrtpenc -> ice sink
    Oct 18 15:38:46.768 DEBUG local candidates: [Candidate { type_: Host, foundation: Ok("1"), addr: 192.168.1.48:55288, priority: 2015363327, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("2"), addr: 10.9.241.3:36437, priority: 2015363583, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("3"), addr: 10.9.24.97:48729, priority: 2015363839, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("4"), addr: [fe80::f17f:7072:5601:b0e6%2]:53015, priority: 2015364095, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("5"), addr: [fe80::b750:541f:f9b1:4fc6%4]:53568, priority: 2015364351, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("6"), addr: [fe80::e130:2307:81e2:a6bc%5]:59188, priority: 2015364607, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }]
    Oct 18 15:38:46.768 DEBUG building Jingle session-accept
    Oct 18 15:38:46.769 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/II560aVV" id="NjgxOGYyMjAtZmE3Ny00MTNkLTg3NDAtOWQ3YzFjNTYzNThjQHJldHVybi5tZWV0LmppdHNpL0lJNTYwYVZWAGtTRkNyLTEzNzQ5MQB9MKAL27uLVhq/q96wolfF" to="[email protected]/focus" type="result"/>
    Oct 18 15:38:46.770 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/II560aVV" id="6a50e36a-dbf0-41ad-b58e-a2703cbc9eaf" to="[email protected]/focus" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="session-accept" initiator="[email protected]/focus" responder="[email protected]/II560aVV" sid="bfempbijs0s39"><content creator="responder" name="audio" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio" ssrc="2247495786"><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="2247495786"><parameter name="cname" value="c879e6c9-99f5-4a2c-8670-61bbedacbab0"/><parameter name="msid" value="f8376d44-1d78-4f4f-9b79-f385ee6fe7a0 10834ca8-976f-47d4-a950-e6502dd313cd"/></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="Xz/5tJZuFGh2qh81Cwy6RG" ufrag="zvyy"><candidate component="1" foundation="1" generation="0" id="a9a8f16f-0c0e-4f47-a14f-9a7e36e9feb9" ip="192.168.1.48" port="55288" priority="2015363327" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="1eb095af-24ef-42bc-affc-82adc8e33cd7" ip="10.9.241.3" port="36437" priority="2015363583" protocol="udp" type="host"/><candidate component="1" foundation="3" generation="0" id="ebd1e777-9f9c-4db2-b646-843d239ed50e" ip="10.9.24.97" port="48729" priority="2015363839" protocol="udp" type="host"/><candidate component="1" foundation="4" generation="0" id="b658e428-2cd3-4d42-b2e0-35365587e33a" ip="fe80::f17f:7072:5601:b0e6" port="53015" priority="2015364095" protocol="udp" type="host"/><candidate component="1" foundation="5" generation="0" id="f659f917-1ac3-423d-8e83-f277fc109c3d" ip="fe80::b750:541f:f9b1:4fc6" port="53568" priority="2015364351" protocol="udp" type="host"/><candidate component="1" foundation="6" generation="0" id="e698f72a-6e60-4b11-9e53-98c1954afa64" ip="fe80::e130:2307:81e2:a6bc" port="59188" priority="2015364607" protocol="udp" type="host"/><fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" hash="sha-256" required="true" setup="active">B7:53:02:14:CC:71:DA:7F:C4:ED:66:08:B8:43:C5:AC:E0:F0:7C:D9:67:6C:3B:76:C1:08:EC:B2:0A:EB:D1:19</fingerprint></transport></content><content creator="responder" name="video" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="video" ssrc="1353629057"><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="1353629057"/><source ssrc="783772405"/></ssrc-group><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="1353629057"><parameter name="cname" value="aafb5e55-e5e3-417b-8f6a-582972571254"/><parameter name="msid" value="410a949b-b0e8-40e2-9761-2b62d07c341c accab753-c5fa-4340-8402-74e77fbd7216"/></source><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="783772405"><parameter name="cname" value="aafb5e55-e5e3-417b-8f6a-582972571254"/><parameter name="msid" value="410a949b-b0e8-40e2-9761-2b62d07c341c accab753-c5fa-4340-8402-74e77fbd7216"/></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="Xz/5tJZuFGh2qh81Cwy6RG" ufrag="zvyy"><candidate component="1" foundation="1" generation="0" id="a1c78250-af4e-4fb3-a3d4-201fb9582222" ip="192.168.1.48" port="55288" priority="2015363327" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="96b57bad-f246-40fe-865c-db2b2dfc8c4e" ip="10.9.241.3" port="36437" priority="2015363583" protocol="udp" type="host"/><candidate component="1" foundation="3" generation="0" id="990311ca-1e47-4f65-b236-887b7bb05d2c" ip="10.9.24.97" port="48729" priority="2015363839" protocol="udp" type="host"/><candidate component="1" foundation="4" generation="0" id="bee21e43-9b1e-415d-8304-9c5a00993d73" ip="fe80::f17f:7072:5601:b0e6" port="53015" priority="2015364095" protocol="udp" type="host"/><candidate component="1" foundation="5" generation="0" id="1bb0910c-66ad-47c7-a699-abcf9f691ece" ip="fe80::b750:541f:f9b1:4fc6" port="53568" priority="2015364351" protocol="udp" type="host"/><candidate component="1" foundation="6" generation="0" id="f3c26909-341d-4aa7-8865-8459d45a8d45" ip="fe80::e130:2307:81e2:a6bc" port="59188" priority="2015364607" protocol="udp" type="host"/><fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" hash="sha-256" required="true" setup="active">B7:53:02:14:CC:71:DA:7F:C4:ED:66:08:B8:43:C5:AC:E0:F0:7C:D9:67:6C:3B:76:C1:08:EC:B2:0A:EB:D1:19</fingerprint></transport></content></jingle></iq>
    Oct 18 15:38:46.874 DEBUG XMPP    <<< <iq type='result' from='[email protected]/focus' id='6a50e36a-dbf0-41ad-b58e-a2703cbc9eaf' xmlns='jabber:client' to='[email protected]/II560aVV'/>
    Oct 18 15:38:46.874 DEBUG Focus acknowledged session-accept
    Oct 18 15:38:46.874  INFO Connecting Colibri WebSocket to wss://myserver/colibri-ws/10.255.254.4/1c75ac1492945f52/6818f220?pwd=3bvie3ojfilejsau1jdkg9hule
    Oct 18 15:38:46.920 DEBUG No cached session for DNSNameRef("myserver")    
    Oct 18 15:38:46.920 DEBUG Not resuming any session    
    Oct 18 15:38:46.970 DEBUG Using ciphersuite TLS13_CHACHA20_POLY1305_SHA256    
    Oct 18 15:38:46.971 DEBUG Not resuming    
    Oct 18 15:38:46.971 DEBUG TLS1.3 encrypted extensions: [ServerNameAck]    
    Oct 18 15:38:46.971 DEBUG ALPN protocol is None    
    Oct 18 15:38:47.020 DEBUG Ticket saved    
    Oct 18 15:38:47.021 DEBUG Ticket saved    
    Oct 18 15:38:47.069 DEBUG Client handshake done.    
    Oct 18 15:38:47.069  INFO Connected Colibri WebSocket
    Oct 18 15:38:47.069 DEBUG Colibri <<< {"colibriClass":"ServerHello"}
    Oct 18 15:38:47.069 DEBUG join{xmpp_connection=Connection { tx: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x55d414b4dd90, 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([email protected]/II560aVV)) } } } glib_main_context=MainContext(Shared { inner: 0x55d414b4b240 }) config=JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }}: close time.busy=239µs time.idle=648ms
    Oct 18 15:38:47.069 DEBUG Colibri <<< {"colibriClass":"SenderVideoConstraints", "videoConstraints":{"idealHeight":180}}
    Oct 18 15:38:47.069 DEBUG calling on_participant with existing participant: Participant { jid: Some(FullJID([email protected]/OOaP6-XL)), muc_jid: FullJID([email protected]/7407942f), nick: Some("teo") }
    Oct 18 15:38:47.070  INFO New participant: Participant { jid: Some(FullJID([email protected]/OOaP6-XL)), muc_jid: FullJID([email protected]/7407942f), nick: Some("teo") }
    Oct 18 15:38:47.070 DEBUG Colibri <<< {"colibriClass":"DominantSpeakerEndpointChangeEvent","dominantSpeakerEndpoint":"7407942f","previousSpeakers":["fda767f7","6818f220"]}
    Oct 18 15:38:47.070 DEBUG Colibri >>> {"colibriClass":"ReceiverVideoConstraints","lastN":null,"selectedEndpoints":null,"onStageEndpoints":null,"defaultConstraints":{"idealHeight":720,"maxHeight":null},"constraints":null}
    0:00:01.239349034 3239621 0x55d414b72150 DEBUG                 vp8dec gstvp8dec.c:119:gst_vp8_dec_init:<GstVP8Dec@0x55d414b766f0> gst_vp8_dec_init
    Oct 18 15:38:47.072 DEBUG add_bin{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } } bin=Bin(ObjectRef { inner: 0x7f35440f9710, type: GstBin })}: close time.busy=55.2µs time.idle=12.5µs
    Oct 18 15:38:47.072 DEBUG set_pipeline_state{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } } state=Playing}: close time.busy=101µs time.idle=25.1µs
    Oct 18 15:38:47.119 DEBUG Colibri <<< {"colibriClass":"LastNEndpointsChangeEvent","lastNEndpoints":[]}
    Oct 18 15:38:47.120  INFO Colibri message: LastNEndpointsChangeEvent { last_n_endpoints: [] }
    Oct 18 15:38:48.197 DEBUG rtpbin request-pt-map [(GstElement) (GstRtpBin) rtpbin, (guint) 0, (guint) 111]
    Oct 18 15:38:48.197 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 18 15:38:48.218 DEBUG new jitterbuffer created for session 0 ssrc 861082313
    Oct 18 15:38:48.218 DEBUG jitterbuffer is for remote source: Source { ssrc: 861082313, participant_id: Some("fda767f7"), media_type: Audio }
    Oct 18 15:38:48.233 DEBUG new jitterbuffer created for session 0 ssrc 2435101079
    Oct 18 15:38:48.233 DEBUG jitterbuffer is for remote source: Source { ssrc: 2435101079, participant_id: Some("7407942f"), media_type: Audio }
    Oct 18 15:38:49.197 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_src_0_861082313_111]
    Oct 18 15:38:49.197 DEBUG pad added for remote source: Source { ssrc: 861082313, participant_id: Some("fda767f7"), media_type: Audio }
    Oct 18 15:38:49.198 DEBUG created depayloader
    Oct 18 15:38:49.198 DEBUG linked rtpbin.recv_rtp_src_0_861082313_111 to depayloader
    Oct 18 15:38:49.198  INFO New participant: Participant { jid: None, muc_jid: FullJID([email protected]/fda767f7), nick: None }
    Oct 18 15:38:49.198  WARN on_participant failed: missing jid
    Oct 18 15:38:49.199 DEBUG no participant bin for fda767f7
    Oct 18 15:38:49.199 DEBUG nothing linked to depayloader, adding fakesink
    Oct 18 15:38:49.199 DEBUG depayloader requested extension: 1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    Oct 18 15:38:49.199 DEBUG depayloader requested extension: 5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    Oct 18 15:38:49.226 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_src_0_2435101079_111]
    Oct 18 15:38:49.227 DEBUG pad added for remote source: Source { ssrc: 2435101079, participant_id: Some("7407942f"), media_type: Audio }
    Oct 18 15:38:49.227 DEBUG created depayloader
    Oct 18 15:38:49.227 DEBUG linked rtpbin.recv_rtp_src_0_2435101079_111 to depayloader
    Oct 18 15:38:49.227 DEBUG linking depayloader to participant bin
    Oct 18 15:38:49.229 DEBUG depayloader requested extension: 1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    Oct 18 15:38:49.229 DEBUG depayloader requested extension: 5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    Oct 18 15:38:50.885 DEBUG Colibri <<< {"colibriClass":"EndpointStats","from":"fda767f7","bitrate":{"upload":40,"download":179,"audio":{"upload":32,"download":32},"video":{"upload":8,"download":147}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":20,"jvbRTT":1,"maxEnabledResolution":180}
    Oct 18 15:38:50.885  WARN failed to parse frame on colibri websocket: Error("missing field `serverRegion`", line: 0, column: 0)
    frame: {"colibriClass":"EndpointStats","from":"fda767f7","bitrate":{"upload":40,"download":179,"audio":{"upload":32,"download":32},"video":{"upload":8,"download":147}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":20,"jvbRTT":1,"maxEnabledResolution":180}
    Oct 18 15:38:53.407 DEBUG Colibri <<< {"colibriClass":"EndpointStats","from":"7407942f","bitrate":{"upload":1120,"download":40,"audio":{"upload":32,"download":32},"video":{"upload":138,"download":8}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":100,"jvbRTT":63}
    Oct 18 15:38:53.407  WARN failed to parse frame on colibri websocket: Error("missing field `serverRegion`", line: 0, column: 0)
    frame: {"colibriClass":"EndpointStats","from":"7407942f","bitrate":{"upload":1120,"download":40,"audio":{"upload":32,"download":32},"video":{"upload":138,"download":8}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":100,"jvbRTT":63}
    Oct 18 15:38:56.529 DEBUG Colibri <<< {"colibriClass":"EndpointMessage","to":"6818f220","from":"fda767f7","msgPayload":{"type":"e2e-ping-request","id":2}}
    Oct 18 15:38:56.530  INFO Colibri message: EndpointMessage { from: Some("fda767f7"), to: Some("6818f220"), msg_payload: Object({"id": Number(2), "type": String("e2e-ping-request")}) }
    Oct 18 15:39:00.886 DEBUG Colibri <<< {"colibriClass":"EndpointStats","from":"fda767f7","bitrate":{"upload":40,"download":175,"audio":{"upload":32,"download":31},"video":{"upload":8,"download":144}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":20,"jvbRTT":1,"maxEnabledResolution":180}
    Oct 18 15:39:00.886  WARN failed to parse frame on colibri websocket: Error("missing field `serverRegion`", line: 0, column: 0)
    frame: {"colibriClass":"EndpointStats","from":"fda767f7","bitrate":{"upload":40,"download":175,"audio":{"upload":32,"download":31},"video":{"upload":8,"download":144}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":20,"jvbRTT":1,"maxEnabledResolution":180}
    ^COct 18 15:39:01.030  INFO Exiting...
    Oct 18 15:39:01.030 DEBUG leave{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } }}: pausing all sinks
    Oct 18 15:39:01.031 DEBUG leave{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } }}: setting pipeline state to NULL
    Oct 18 15:39:01.077 DEBUG leave{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } }}: waiting for state change to complete
    Oct 18 15:39:01.078 DEBUG pipeline state is null
    Oct 18 15:39:01.078 DEBUG leave{self=JitsiConference { jid: FullJID([email protected]/II560aVV), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Bare(BareJID(focus.meet.jitsi)), nick: "gst-meet", region: None, video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } }}: close time.busy=47.1ms time.idle=397µs
    
    opened by teowoz 16
  • Unable to build gst-meet

    Unable to build gst-meet

    Hi you made a great job with gst-meet, I made same tests few weeks ago but since you add dependency to xmpp-rs/xmpp-parsers and switch to gstreamer 1.19 it is more difficult to build gst-meet.

    Could you update the readme to explain a little more all the build process to have a working gst-meet ?

    Regards, Damien.

    opened by daimoc 13
  • WebSocket connection reset after 1 minute

    WebSocket connection reset after 1 minute

    gst-meet is receiving video stream flawlessly for a while, then simultaneously the WebSocket connection breaks and video freezes.

    WebSocket protocol error: Connection reset without closing handshake

    I'm using a slightly patched version and custom --xmpp-domain, --muc-domain, --focus-jid arguments to make it work with our docker-jitsi-meet server deployment.

    $ target/debug/gst-meet --verbose --web-socket-url=wss://myserver/xmpp-websocket --xmpp-domain=meet.jitsi --muc-domain=muc.meet.jitsi --focus-jid=focus.meet.jitsi --room-name=vbck --recv-pipeline-participant-template="identity name=audio silent=true ! fakesink  identity name=video silent=false ! capsfilter caps=video/x-vp8 ! vp8dec ! autovideosink"
    Oct 06 15:43:37.544  INFO Connecting XMPP WebSocket to wss://myserver/xmpp-websocket
    Oct 06 15:43:37.625 DEBUG No cached session for DNSNameRef("myserver")    
    Oct 06 15:43:37.625 DEBUG Not resuming any session    
    Oct 06 15:43:37.676 DEBUG Using ciphersuite TLS13_CHACHA20_POLY1305_SHA256    
    Oct 06 15:43:37.677 DEBUG Not resuming    
    Oct 06 15:43:37.677 DEBUG TLS1.3 encrypted extensions: []    
    Oct 06 15:43:37.677 DEBUG ALPN protocol is None    
    Oct 06 15:43:37.728 DEBUG Ticket saved    
    Oct 06 15:43:37.728 DEBUG Ticket saved    
    Oct 06 15:43:37.780 DEBUG Client handshake done.    
    Oct 06 15:43:37.781 DEBUG XMPP    >>> <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="meet.jitsi" version="1.0"/>
    Oct 06 15:43:37.833 DEBUG XMPP    <<< <open id='6b43c99c-47e4-413b-8958-fa49ef51cd3a' xmlns='urn:ietf:params:xml:ns:xmpp-framing' xml:lang='en' from='meet.jitsi' version='1.0'/>
    Oct 06 15:43:37.833  INFO Connected XMPP WebSocket
    Oct 06 15:43:37.833 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 06 15:43:37.834 DEBUG XMPP    >>> <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="ANONYMOUS"></auth>
    Oct 06 15:43:37.884 DEBUG XMPP    <<< <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
    Oct 06 15:43:37.885 DEBUG XMPP    >>> <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="meet.jitsi" version="1.0"/>
    Oct 06 15:43:37.935 DEBUG XMPP    <<< <open id='185ea9bd-2898-4499-95c1-3a8120e4a379' xmlns='urn:ietf:params:xml:ns:xmpp-framing' xml:lang='en' from='meet.jitsi' version='1.0'/>
    Oct 06 15:43:37.935  INFO Logged in anonymously
    Oct 06 15:43:37.935 DEBUG XMPP    <<< <stream:features xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' ver='MoFF4UiDpY2+1dMOwz8rvUmluaU=' node='http://prosody.im'/><ver xmlns='urn:xmpp:features:rosterver'/></stream:features>
    Oct 06 15:43:37.936 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="f02bca17-f372-4d1c-9f2f-1461c4442788" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></iq>
    Oct 06 15:43:37.988 DEBUG XMPP    <<< <iq xmlns='jabber:client' type='result' id='f02bca17-f372-4d1c-9f2f-1461c4442788'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>[email protected]/_0GGZQei</jid></bind></iq>
    Oct 06 15:43:37.989  INFO My JID: [email protected]/_0GGZQei
    Oct 06 15:43:37.990 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="ee2a2dd0-4ff3-4741-b32a-fef31bd51b4e" to="meet.jitsi" type="get"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>
    Oct 06 15:43:38.042 DEBUG XMPP    <<< <iq id='ee2a2dd0-4ff3-4741-b32a-fef31bd51b4e' xmlns='jabber:client' type='result' to='[email protected]/_0GGZQei' from='meet.jitsi'><query xmlns='http://jabber.org/protocol/disco#info'><identity type='speakerstats' category='component' name='speakerstats.meet.jitsi'/><identity type='service' category='pubsub' name='Prosody PubSub Service'/><identity type='conference_duration' category='component' name='conferenceduration.meet.jitsi'/><identity type='im' category='server' name='Prosody'/><identity type='pep' category='pubsub' name='Prosody'/><feature var='jabber:iq:roster'/><feature var='jabber:iq:version'/><feature var='http://jabber.org/protocol/pubsub'/><feature var='http://jabber.org/protocol/pubsub#subscribe'/><feature var='http://jabber.org/protocol/pubsub#publisher-affiliation'/><feature var='http://jabber.org/protocol/pubsub#publish'/><feature var='http://jabber.org/protocol/pubsub#subscription-options'/><feature var='http://jabber.org/protocol/pubsub#retrieve-default'/><feature var='http://jabber.org/protocol/pubsub#create-nodes'/><feature var='http://jabber.org/protocol/pubsub#config-node'/><feature var='http://jabber.org/protocol/pubsub#delete-nodes'/><feature var='http://jabber.org/protocol/pubsub#retract-items'/><feature var='http://jabber.org/protocol/pubsub#instant-nodes'/><feature var='http://jabber.org/protocol/pubsub#persistent-items'/><feature var='http://jabber.org/protocol/pubsub#retrieve-subscriptions'/><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#outcast-affiliation'/><feature var='http://jabber.org/protocol/pubsub#item-ids'/><feature var='http://jabber.org/protocol/pubsub#create-and-configure'/><feature var='http://jabber.org/protocol/pubsub#retrieve-items'/><feature var='http://jabber.org/protocol/pubsub#access-open'/><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#multi-items'/><feature var='http://jabber.org/protocol/pubsub#meta-data'/><feature var='http://jabber.org/protocol/pubsub#modify-affiliations'/><feature var='msgoffline'/><feature var='vcard-temp'/><feature var='http://jabber.org/protocol/disco#info'/><feature var='http://jabber.org/protocol/disco#items'/><feature var='urn:xmpp:time'/><feature var='jabber:iq:time'/><feature var='jabber:iq:private'/><feature var='jabber:iq:last'/><feature var='jabber:iq:register'/><feature var='urn:xmpp:ping'/><feature var='http://jabber.org/protocol/commands'/></query></iq>
    Oct 06 15:43:38.044 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="3038eaa6-23bf-41b4-942b-770a337853c7" to="meet.jitsi" type="get"><services xmlns="urn:xmpp:extdisco:2"/></iq>
    Oct 06 15:43:38.095 DEBUG XMPP    <<< <iq id='3038eaa6-23bf-41b4-942b-770a337853c7' xmlns='jabber:client' type='error' to='[email protected]/_0GGZQei' from='meet.jitsi'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
    Oct 06 15:43:38.095  WARN extdisco failed
    Oct 06 15:43:38.096 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="ad6c804f-f84f-48c4-8939-b77a47e179cf" to="focus.meet.jitsi" type="set"><conference xmlns="http://jitsi.org/protocol/focus" machine-uid="0918f70b-38c8-4eca-b3c0-2633d5b85ce9" room="[email protected]"><property name="stereo" value="true"/><property name="startBitrate" value="800"/></conference></iq>
    Oct 06 15:43:38.164 DEBUG XMPP    <<< <iq id='ad6c804f-f84f-48c4-8939-b77a47e179cf' xmlns='jabber:client' type='result' to='[email protected]/_0GGZQei' from='focus.meet.jitsi'><conference xmlns='http://jitsi.org/protocol/focus' ready='true' focusjid='[email protected]' room='[email protected]'><property name='authentication' value='false'/></conference></iq>
    Oct 06 15:43:38.165 DEBUG send_presence{self=JitsiConference { jid: FullJID([email protected]/_0GGZQei), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: BareJID(focus.meet.jitsi), nick: "gst-meet", region: "", 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: "", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("gst-meet")] }, Element { name: "jitsi_participant_codecType", namespace: "", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("vp8")] }, Element { name: "jitsi_participant_region", namespace: "", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("")] }, Element { name: "audiomuted", namespace: "", prefix: None, prefixes: Prefixes(), attributes: {}, children: [Text("false")] }, Element { name: "videomuted", namespace: "", 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")] }, Element { name: "region", namespace: "http://jitsi.org/jitsi-meet", prefix: None, prefixes: Prefixes(), attributes: {"id": ""}, children: [] }]}: close time.busy=52.6µs time.idle=20.9µs
    Oct 06 15:43:38.165 DEBUG XMPP    >>> <presence xmlns="jabber:client" to="[email protected]/qzg7eor_wwri8aht"><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><jitsi_participant_region></jitsi_participant_region><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns="http://jabber.org/protocol/nick">gst-meet</nick><region xmlns="http://jitsi.org/jitsi-meet" id=""/></presence>
    Oct 06 15:43:38.221 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/focus'><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>18e195365a9240f78a3e97ed4907cac5</etherpad><conference-properties xmlns='http://jitsi.org/protocol/focus'><property key='created-ms' value='1633527818134'/><property key='octo-enabled' value='false'/></conference-properties><versions xmlns='http://jitsi.org/jitmeet'><component name='xmpp'>Prosody(0.11.5,Linux)</component><component name='focus'>JiCoFo(1.0.644,Linux)</component></versions><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' ver='6dKlNV2hTmKYwGcTHveFMk15Ydg=' node='http://jitsi.org/jicofo'/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus5356607811024394' role='moderator' affiliation='owner'/></x></presence>
    Oct 06 15:43:38.222 DEBUG Joined MUC: [email protected]
    Oct 06 15:43:38.222 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/qzg7eor_wwri8aht'><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><jitsi_participant_region/><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns='http://jabber.org/protocol/nick'>gst-meet</nick><region xmlns='http://jitsi.org/jitsi-meet' id=''/><x xmlns='http://jabber.org/protocol/muc#user'><status code='100'/><item jid='[email protected]/_0GGZQei' role='participant' affiliation='none'/><status code='110'/></x></presence>
    Oct 06 15:43:38.223 DEBUG XMPP    <<< <message xmlns='jabber:client' to='[email protected]/_0GGZQei' from='conferenceduration.meet.jitsi'><json-message xmlns='http://jitsi.org/jitmeet'>{&quot;created_timestamp&quot;:1633527818000,&quot;type&quot;:&quot;conference_duration&quot;}</json-message></message>
    Oct 06 15:43:38.223 DEBUG XMPP    <<< <message xmlns='jabber:client' type='groupchat' to='[email protected]/_0GGZQei' from='[email protected]'><subject/></message>
    Oct 06 15:43:38.223 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/qzg7eor_wwri8aht'><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><jitsi_participant_region/><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns='http://jabber.org/protocol/nick'>gst-meet</nick><region xmlns='http://jitsi.org/jitsi-meet' id=''/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/_0GGZQei' role='moderator' affiliation='owner'><actor nick='focus'/></item><status code='110'/></x></presence>
    Oct 06 15:43:38.224 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/focus'><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>18e195365a9240f78a3e97ed4907cac5</etherpad><conference-properties xmlns='http://jitsi.org/protocol/focus'><property key='created-ms' value='1633527818134'/><property key='octo-enabled' value='false'/></conference-properties><versions xmlns='http://jitsi.org/jitmeet'><component name='xmpp'>Prosody(0.11.5,Linux)</component><component name='focus'>JiCoFo(1.0.644,Linux)</component></versions><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' ver='6dKlNV2hTmKYwGcTHveFMk15Ydg=' node='http://jitsi.org/jicofo'/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus5356607811024394' role='moderator' affiliation='owner'/></x></presence>
    Oct 06 15:43:49.491 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/9fd0c0b5'><stats-id>Amparo-aHQ</stats-id><c xmlns='http://jabber.org/protocol/caps' node='http://jitsi.org/jitsimeet' ver='cWj8xSCR2vP2KMorJrpHIw9Q/jA=' hash='sha-1'/><avatar-id>3e8dd52396478fe7e580eddf34b0e724</avatar-id><nick xmlns='http://jabber.org/protocol/nick'>teo0</nick><audiomuted xmlns='http://jitsi.org/jitmeet/audio'>false</audiomuted><videoType xmlns='http://jitsi.org/jitmeet/video'>camera</videoType><videomuted xmlns='http://jitsi.org/jitmeet/video'>false</videomuted><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/vFg_jsbt' role='participant' affiliation='none'/></x></presence>
    Oct 06 15:43:49.492 DEBUG new participant: FullJID([email protected]/vFg_jsbt)
    Oct 06 15:43:49.495 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/focus'><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>18e195365a9240f78a3e97ed4907cac5</etherpad><versions xmlns='http://jitsi.org/jitmeet'><component name='xmpp'>Prosody(0.11.5,Linux)</component><component name='focus'>JiCoFo(1.0.644,Linux)</component></versions><conference-properties xmlns='http://jitsi.org/protocol/focus'><property key='created-ms' value='1633527818134'/><property key='octo-enabled' value='false'/><property key='bridge-count' value='1'/></conference-properties><c xmlns='http://jabber.org/protocol/caps' node='http://jitsi.org/jicofo' ver='6dKlNV2hTmKYwGcTHveFMk15Ydg=' hash='sha-1'/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus5356607811024394' role='moderator' affiliation='owner'/></x></presence>
    Oct 06 15:43:49.496 DEBUG XMPP    <<< <iq from='[email protected]/focus' xmlns='jabber:client' type='get' to='[email protected]/_0GGZQei' id='cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpAFBaTjl5LTIyNDMxMTIArcc9MWwvvctQtbtZX7NpXA=='><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
    Oct 06 15:43:49.497 DEBUG Received disco info query from [email protected]/focus for node None
    Oct 06 15:43:49.498 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpAFBaTjl5LTIyNDMxMTIArcc9MWwvvctQtbtZX7NpXA==" to="[email protected]/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 06 15:43:49.543 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/focus'><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>18e195365a9240f78a3e97ed4907cac5</etherpad><versions xmlns='http://jitsi.org/jitmeet'><component name='xmpp'>Prosody(0.11.5,Linux)</component><component name='focus'>JiCoFo(1.0.644,Linux)</component></versions><conference-properties xmlns='http://jitsi.org/protocol/focus'><property key='created-ms' value='1633527818134'/><property key='octo-enabled' value='false'/><property key='bridge-count' value='1'/></conference-properties><c xmlns='http://jabber.org/protocol/caps' node='http://jitsi.org/jicofo' ver='6dKlNV2hTmKYwGcTHveFMk15Ydg=' hash='sha-1'/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus5356607811024394' role='moderator' affiliation='owner'/></x></presence>
    Oct 06 15:43:49.554 DEBUG XMPP    <<< <presence xmlns='jabber:client' to='[email protected]/_0GGZQei' from='[email protected]/focus'><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>18e195365a9240f78a3e97ed4907cac5</etherpad><conference-properties xmlns='http://jitsi.org/protocol/focus'><property key='created-ms' value='1633527818134'/><property key='octo-enabled' value='false'/><property key='bridge-count' value='1'/></conference-properties><versions xmlns='http://jitsi.org/jitmeet'><component name='xmpp'>Prosody(0.11.5,Linux)</component><component name='focus'>JiCoFo(1.0.644,Linux)</component><component name='videobridge'>2.1.SNAPSHOT</component></versions><c xmlns='http://jabber.org/protocol/caps' node='http://jitsi.org/jicofo' ver='6dKlNV2hTmKYwGcTHveFMk15Ydg=' hash='sha-1'/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus5356607811024394' role='moderator' affiliation='owner'/></x></presence>
    Oct 06 15:43:49.579 DEBUG XMPP    <<< <iq from='[email protected]/focus' xmlns='jabber:client' type='set' to='[email protected]/_0GGZQei' id='cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpAFBaTjl5LTIyNDMxMzMArcc9MWwvvctQtbtZX7NpXA=='><jingle xmlns='urn:xmpp:jingle:1' action='session-initiate' initiator='[email protected]/focus5356607811024394' sid='1p2fr8fdl03iu'><content name='audio' creator='initiator' senders='both'><description maxptime='60' media='audio' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type name='opus' id='111' clockrate='48000' channels='2'><parameter name='minptime' value='10'/><parameter name='stereo' value='1'/><parameter name='useinbandfec' value='1'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/></payload-type><payload-type clockrate='16000' name='ISAC' id='103'/><payload-type clockrate='32000' name='ISAC' id='104'/><payload-type clockrate='8000' name='telephone-event' id='126'/><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'/><rtcp-mux/><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='3063999702'><parameter name='cname' value='mixed'/><parameter name='label' value='mixedlabelaudio0'/><parameter name='msid' value='mixedmslabel mixedlabelaudio0'/><parameter name='mslabel' value='mixedmslabel'/><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/></source></description><transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' ufrag='6n7je1fhath513' pwd='6lhgv3f4af0cr065c0ubeicvhd'><rtcp-mux/><fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' required='false' setup='actpass' hash='sha-256'>4B:FC:8E:3A:19:59:67:0A:5A:DC:44:3A:AB:58:DD:45:B1:01:A8:ED:6B:1C:6C:92:43:0B:DA:08:E4:1D:61:8B</fingerprint><candidate port='10000' generation='0' component='1' ip='10.255.254.5' protocol='udp' id='8bce9e577f63554032cef186' foundation='1' type='host' priority='2130706431' network='0'/><candidate port='10000' priority='1694498815' component='1' type='srflx' ip='52.214.101.26' protocol='udp' rel-addr='10.255.254.5' id='10aa6ccc77f6355405ca5589b' foundation='2' rel-port='10000' generation='0' network='0'/></transport></content><content name='video' creator='initiator' senders='both'><description media='video' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type clockrate='90000' name='VP8' id='100'><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='nack' subtype='pli'/><parameter name='x-google-start-bitrate' value='800'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/></payload-type><payload-type clockrate='90000' name='H264' id='107'><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='nack' subtype='pli'/><parameter name='x-google-start-bitrate' value='800'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/><parameter name='profile-level-id' value='42e01f;level-asymmetry-allowed=1;packetization-mode=1;'/></payload-type><payload-type clockrate='90000' name='VP9' id='101'><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='nack' subtype='pli'/><parameter name='x-google-start-bitrate' value='800'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/></payload-type><payload-type clockrate='90000' name='rtx' id='96'><parameter name='apt' value='100'/><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='nack' subtype='pli'/></payload-type><payload-type clockrate='90000' name='rtx' id='97'><parameter name='apt' value='101'/></payload-type><payload-type clockrate='90000' name='rtx' id='99'><parameter name='apt' value='107'/></payload-type><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' id='3' uri='http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time'/><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'/><rtcp-mux/><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='3668235259'><parameter name='cname' value='mixed'/><parameter name='label' value='mixedlabelvideo0'/><parameter name='msid' value='mixedmslabel mixedlabelvideo0'/><parameter name='mslabel' value='mixedmslabel'/><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/></source></description><transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' ufrag='6n7je1fhath513' pwd='6lhgv3f4af0cr065c0ubeicvhd'><rtcp-mux/><fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' required='false' setup='actpass' hash='sha-256'>4B:FC:8E:3A:19:59:67:0A:5A:DC:44:3A:AB:58:DD:45:B1:01:A8:ED:6B:1C:6C:92:43:0B:DA:08:E4:1D:61:8B</fingerprint><candidate port='10000' generation='0' component='1' ip='10.255.254.5' protocol='udp' id='8bce9e577f63554032cef186' foundation='1' type='host' priority='2130706431' network='0'/><candidate port='10000' priority='1694498815' component='1' type='srflx' ip='52.214.101.26' protocol='udp' rel-addr='10.255.254.5' id='10aa6ccc77f6355405ca5589b' foundation='2' rel-port='10000' generation='0' network='0'/></transport></content><group xmlns='urn:xmpp:jingle:apps:grouping:0' semantics='BUNDLE'><content name='audio'/><content name='video'/></group><bridge-session xmlns='http://jitsi.org/protocol/focus' id='64002_edbedc'/></jingle></iq>
    Oct 06 15:43:49.583 DEBUG Received Jingle session-initiate from [email protected]/focus5356607811024394
    Oct 06 15:43:49.583 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3063999702", parameters: [Parameter { name: "cname", value: Some("mixed") }, Parameter { name: "label", value: Some("mixedlabelaudio0") }, Parameter { name: "msid", value: Some("mixedmslabel mixedlabelaudio0") }, Parameter { name: "mslabel", value: Some("mixedmslabel") }], info: Some(SsrcInfo { owner: "jvb" }) }
    Oct 06 15:43:49.583 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3668235259", parameters: [Parameter { name: "cname", value: Some("mixed") }, Parameter { name: "label", value: Some("mixedlabelvideo0") }, Parameter { name: "msid", value: Some("mixedmslabel mixedlabelvideo0") }, Parameter { name: "mslabel", value: Some("mixedmslabel") }], info: Some(SsrcInfo { owner: "jvb" }) }
    Oct 06 15:43:49.583  WARN Remote DTLS fingerprint (verification not implemented yet): [75, 252, 142, 58, 25, 89, 103, 10, 90, 220, 68, 58, 171, 88, 221, 69, 177, 1, 168, 237, 107, 28, 108, 146, 67, 11, 218, 8, 228, 29, 97, 139]
    Oct 06 15:43:49.583 DEBUG Local DTLS certificate:
    -----BEGIN CERTIFICATE-----
    MIIBUTCB96ADAgECAggj1enxder3OTAKBggqhkjOPQQDAjAhMR8wHQYDVQQDDBZy
    Y2dlbiBzZWxmIHNpZ25lZCBjZXJ0MCAXDTc1MDEwMTAwMDAwMFoYDzQwOTYwMTAx
    MDAwMDAwWjAhMR8wHQYDVQQDDBZyY2dlbiBzZWxmIHNpZ25lZCBjZXJ0MFkwEwYH
    KoZIzj0CAQYIKoZIzj0DAQcDQgAEdez4UOTyfETxjNBzYH6g83xyBe8C3H1o95ss
    Q10VSESsfv44S5ViFPOYy252X5ON6PpJR7edjY0CwzpB2UpsO6MXMBUwEwYDVR0R
    BAwwCoIIZ3N0LW1lZXQwCgYIKoZIzj0EAwIDSQAwRgIhALNOgbQFN/9po0vWyOcb
    xxiI8l6p55zaIRooS/lJmefuAiEAmIIpPqGiPocMQYTg3yN6UUjkrdOHpS7/EfRu
    +9+mqMI=
    -----END CERTIFICATE-----
    
    Oct 06 15:43:49.583 DEBUG Local DTLS fingerprint: 83:2E:45:48:A8:5A:B9:1F:3C:A0:7A:5C:81:9F:11:CA:1B:EA:A9:44:2A:77:A:7F:58:DE:92:56:67:C:FB:8B
    Oct 06 15:43:49.584 DEBUG audio SSRC: 1279764169
    Oct 06 15:43:49.584 DEBUG video SSRC: 3757068330
    Oct 06 15:43:49.584 DEBUG video RTX SSRC: 1324559620
    Oct 06 15:43:49.584 DEBUG STUN address: None
    Oct 06 15:43:49.584 DEBUG ice_agent=Agent(ObjectRef { inner: 0x7f9260046010, type: NiceAgent })
    Oct 06 15:43:49.584 DEBUG ice_stream_id=1
    Oct 06 15:43:49.584 DEBUG ice_component_id=1
    Oct 06 15:43:49.584 DEBUG setting ICE remote credentials
    Oct 06 15:43:49.584 DEBUG gathering ICE candidates
    Oct 06 15:43:49.586 DEBUG ICE candidate-gathering-done 1
    Oct 06 15:43:49.586 DEBUG setting ICE remote candidates: [Candidate { component: 1, foundation: "1", generation: 0, id: "8bce9e577f63554032cef186", ip: 10.255.254.5, port: 10000, priority: 2130706431, protocol: "udp", rel_addr: None, rel_port: None, network: Some(0), type_: Host }, Candidate { component: 1, foundation: "2", generation: 0, id: "10aa6ccc77f6355405ca5589b", ip: 52.214.101.26, port: 10000, priority: 1694498815, protocol: "udp", rel_addr: Some(10.255.254.5), rel_port: Some(10000), network: Some(0), type_: Srflx }]
    Oct 06 15:43:49.587 DEBUG candidate: Candidate { type_: Host, foundation: Ok("1"), addr: 10.255.254.5:10000, priority: 2130706431, stream_id: 1, component_id: 1, username: Ok("6n7je1fhath513"), password: Ok("6lhgv3f4af0cr065c0ubeicvhd") }
    Oct 06 15:43:49.587 DEBUG candidate: Candidate { type_: ServerReflexive, foundation: Ok("2"), addr: 52.214.101.26:10000, priority: 1694498815, stream_id: 1, component_id: 1, username: Ok("6n7je1fhath513"), password: Ok("6lhgv3f4af0cr065c0ubeicvhd") }
    Oct 06 15:43:49.588 DEBUG building gstreamer pipeline
    Oct 06 15:43:49.662 DEBUG linking video payloader -> rtpfunnel
    Oct 06 15:43:49.662 DEBUG linking audio payloader -> rtpfunnel
    Oct 06 15:43:49.662 DEBUG linking rtpfunnel -> rtpbin
    Oct 06 15:43:49.663 DEBUG creating RTX sender for session 0
    Oct 06 15:43:49.663 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtp_src_0]
    Oct 06 15:43:49.663 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtp_sink_0]
    Oct 06 15:43:49.663 DEBUG link dtlssrtpdec -> rtpbin
    Oct 06 15:43:49.663 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_sink_0]
    Oct 06 15:43:49.664 DEBUG creating RTX receiver for session 0
    Oct 06 15:43:49.664 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtcp_sink_0]
    Oct 06 15:43:49.664 DEBUG linking rtpbin -> dtlssrtpenc
    Oct 06 15:43:49.664 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) send_rtcp_src_0]
    Oct 06 15:43:49.664 DEBUG linking ice src -> dtlssrtpdec
    Oct 06 15:43:49.664 DEBUG linking dtlssrtpenc -> ice sink
    Oct 06 15:43:49.665 DEBUG local candidates: [Candidate { type_: Host, foundation: Ok("1"), addr: 192.168.1.48:43048, priority: 2015363327, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("2"), addr: 10.9.241.3:52906, priority: 2015363583, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("3"), addr: 10.9.24.97:47513, priority: 2015363839, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("4"), addr: [fe80::f17f:7072:5601:b0e6%2]:60246, priority: 2015364095, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("5"), addr: [fe80::b750:541f:f9b1:4fc6%4]:37092, priority: 2015364351, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }, Candidate { type_: Host, foundation: Ok("6"), addr: [fe80::e130:2307:81e2:a6bc%5]:60142, priority: 2015364607, stream_id: 1, component_id: 1, username: Ok(""), password: Ok("") }]
    Oct 06 15:43:49.665 DEBUG building Jingle session-accept
    Oct 06 15:43:49.667 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpAFBaTjl5LTIyNDMxMzMArcc9MWwvvctQtbtZX7NpXA==" to="[email protected]/focus" type="result"/>
    Oct 06 15:43:49.668 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="275003ea-d5a8-4d39-9e46-0009234cfa36" to="[email protected]/focus" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="session-accept" initiator="[email protected]/focus5356607811024394" responder="[email protected]/_0GGZQei" sid="1p2fr8fdl03iu"><content creator="responder" name="audio" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio" ssrc="1279764169"><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="1279764169"><parameter name="cname" value="1179bc6f-3352-4eef-894f-d893e89aa8ab"/><parameter name="msid" value="2b6cceb6-2031-4a55-8d04-4ff261d784f2 d6158b58-3e0b-487c-ba10-cbee6d5ec38a"/></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="q1+1pXrZO8SnCp2ZItIvDO" ufrag="ArXK"><candidate component="1" foundation="1" generation="0" id="d31124e6-2ebb-4b5e-8e85-5e419dc947ff" ip="192.168.1.48" port="43048" priority="2015363327" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="98ca041d-73c9-403c-912d-6b970af84c1f" ip="10.9.241.3" port="52906" priority="2015363583" protocol="udp" type="host"/><candidate component="1" foundation="3" generation="0" id="99abd936-0103-4c04-b056-f48db436ab6d" ip="10.9.24.97" port="47513" priority="2015363839" protocol="udp" type="host"/><candidate component="1" foundation="4" generation="0" id="af031314-d649-448e-abe1-bafaf528d33d" ip="fe80::f17f:7072:5601:b0e6" port="60246" priority="2015364095" protocol="udp" type="host"/><candidate component="1" foundation="5" generation="0" id="84e2e173-fedc-4efa-ace2-5737c0b180e6" ip="fe80::b750:541f:f9b1:4fc6" port="37092" priority="2015364351" protocol="udp" type="host"/><candidate component="1" foundation="6" generation="0" id="8ac21712-d9ee-4513-ae99-623b2b62f691" ip="fe80::e130:2307:81e2:a6bc" port="60142" priority="2015364607" protocol="udp" type="host"/><fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" hash="sha-256" required="true" setup="active">83:2E:45:48:A8:5A:B9:1F:3C:A0:7A:5C:81:9F:11:CA:1B:EA:A9:44:2A:77:0A:7F:58:DE:92:56:67:0C:FB:8B</fingerprint></transport></content><content creator="responder" name="video" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="video" ssrc="3757068330"><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="3757068330"/><source ssrc="1324559620"/></ssrc-group><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="3757068330"><parameter name="cname" value="54fedbc1-81f1-4947-8e83-eb3926cd795e"/><parameter name="msid" value="d5d534d9-5b70-4659-a526-d7fefcb9a7c7 8a82d12d-c251-47f8-ae64-c9f04aa43a83"/></source><source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="1324559620"><parameter name="cname" value="54fedbc1-81f1-4947-8e83-eb3926cd795e"/><parameter name="msid" value="d5d534d9-5b70-4659-a526-d7fefcb9a7c7 8a82d12d-c251-47f8-ae64-c9f04aa43a83"/></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="q1+1pXrZO8SnCp2ZItIvDO" ufrag="ArXK"><candidate component="1" foundation="1" generation="0" id="41824ad4-3d89-413d-8b8a-aae2684fb090" ip="192.168.1.48" port="43048" priority="2015363327" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="c442c07c-906c-4198-b2e9-1f17f1fd749d" ip="10.9.241.3" port="52906" priority="2015363583" protocol="udp" type="host"/><candidate component="1" foundation="3" generation="0" id="fc41d350-181e-4b6c-9094-9ee11c7c5a7a" ip="10.9.24.97" port="47513" priority="2015363839" protocol="udp" type="host"/><candidate component="1" foundation="4" generation="0" id="d1f5b7c0-7835-4a4c-a509-764f4eac03df" ip="fe80::f17f:7072:5601:b0e6" port="60246" priority="2015364095" protocol="udp" type="host"/><candidate component="1" foundation="5" generation="0" id="9aaaa913-3554-41f5-bfb0-78085dba8934" ip="fe80::b750:541f:f9b1:4fc6" port="37092" priority="2015364351" protocol="udp" type="host"/><candidate component="1" foundation="6" generation="0" id="d40f90e4-55a1-467a-9688-5d8db9bf50a8" ip="fe80::e130:2307:81e2:a6bc" port="60142" priority="2015364607" protocol="udp" type="host"/><fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" hash="sha-256" required="true" setup="active">83:2E:45:48:A8:5A:B9:1F:3C:A0:7A:5C:81:9F:11:CA:1B:EA:A9:44:2A:77:0A:7F:58:DE:92:56:67:0C:FB:8B</fingerprint></transport></content></jingle></iq>
    Oct 06 15:43:49.740 DEBUG XMPP    <<< <iq id='cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpADYxZWYzYjNmLWNkYmYtNDljNS04MTcxLWZhYjQ4NmIzYTc5ZjpzZW5kSVEAaKO50Yof4KQ8vrZtkyvSjg==' xmlns='jabber:client' type='get' to='[email protected]/_0GGZQei' from='[email protected]/9fd0c0b5'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
    Oct 06 15:43:49.741 DEBUG Received disco info query from [email protected]/9fd0c0b5 for node None
    Oct 06 15:43:49.741 DEBUG XMPP    <<< <message xmlns='jabber:client' type='chat' to='[email protected]/_0GGZQei' from='[email protected]/9fd0c0b5'><json-message xmlns='http://jitsi.org/jitmeet'>{&quot;type&quot;:&quot;olm&quot;,&quot;olm&quot;:{&quot;type&quot;:&quot;session-init&quot;,&quot;data&quot;:{&quot;idKey&quot;:&quot;jA1Fj795vZvD/5pz/4QHqbaJGdz8KTDmuvWugvaaRm4&quot;,&quot;otKey&quot;:&quot;vzm5/HXbxVhR+aGHDML4vK6o1k5Z6c8vXq6Dwr/2/Do&quot;,&quot;uuid&quot;:&quot;823a8acb-3c9e-46f0-866f-18f2dcb937fc&quot;}}}</json-message><x xmlns='http://jabber.org/protocol/muc#user'/></message>
    Oct 06 15:43:49.742 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpADYxZWYzYjNmLWNkYmYtNDljNS04MTcxLWZhYjQ4NmIzYTc5ZjpzZW5kSVEAaKO50Yof4KQ8vrZtkyvSjg==" to="[email protected]/9fd0c0b5" 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 06 15:43:49.786 DEBUG XMPP    <<< <iq from='[email protected]/focus' xmlns='jabber:client' type='result' to='[email protected]/_0GGZQei' id='275003ea-d5a8-4d39-9e46-0009234cfa36'/>
    Oct 06 15:43:49.787 DEBUG Focus acknowledged session-accept
    Oct 06 15:43:49.787 DEBUG join{xmpp_connection=Connection { tx: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x55802c2bed20, 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([email protected]/_0GGZQei)) } } } glib_main_context=MainContext(Shared { inner: 0x55802c2bc090 }) config=JitsiConferenceConfig { muc: BareJID([email protected]), focus: BareJID(focus.meet.jitsi), nick: "gst-meet", region: "", video_codec: "vp8", extra_muc_features: [] }}: close time.busy=166µs time.idle=11.7s
    Oct 06 15:43:49.787 DEBUG calling on_participant with existing participant: Participant { jid: Some(FullJID([email protected]/vFg_jsbt)), muc_jid: FullJID([email protected]/9fd0c0b5), nick: Some("teo0") }
    Oct 06 15:43:49.787  INFO New participant: Participant { jid: Some(FullJID([email protected]/vFg_jsbt)), muc_jid: FullJID([email protected]/9fd0c0b5), nick: Some("teo0") }
    Oct 06 15:43:49.789 DEBUG add_bin{self=JitsiConference { jid: FullJID([email protected]/_0GGZQei), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: BareJID(focus.meet.jitsi), nick: "gst-meet", region: "", video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } } bin=Bin(ObjectRef { inner: 0x7f92600e6710, type: GstBin })}: close time.busy=79.5µs time.idle=17.9µs
    Oct 06 15:43:49.789 DEBUG set_pipeline_state{self=JitsiConference { jid: FullJID([email protected]/_0GGZQei), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: BareJID(focus.meet.jitsi), nick: "gst-meet", region: "", video_codec: "vp8", extra_muc_features: [] }, inner: Mutex { data: JitsiConferenceInner { state: Idle } } } state=Playing}: close time.busy=96.2µs time.idle=15.2µs
    Oct 06 15:43:50.142 DEBUG XMPP    <<< <iq from='[email protected]/focus' xmlns='jabber:client' type='set' to='[email protected]/_0GGZQei' id='cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpAFBaTjl5LTIyNDMxNTIArcc9MWwvvctQtbtZX7NpXA=='><jingle xmlns='urn:xmpp:jingle:1' action='source-add' sid='1p2fr8fdl03iu'><content name='video'><description media='video' xmlns='urn:xmpp:jingle:apps:rtp:1'><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='4077975604'><parameter name='cname' value='dxmhpbDsp8fGo87v-1'/><parameter name='msid' value='3b5466e3-a12c-4d1a-afe8-ff9befcb170b-1 6a103b40-368b-4252-86b1-3521cfe1dd46-1'/><ssrc-info owner='[email protected]/9fd0c0b5' xmlns='http://jitsi.org/jitmeet'/></source><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='3875558317'><parameter name='cname' value='dxmhpbDsp8fGo87v-1'/><parameter name='msid' value='3b5466e3-a12c-4d1a-afe8-ff9befcb170b-1 6a103b40-368b-4252-86b1-3521cfe1dd46-1'/><ssrc-info owner='[email protected]/9fd0c0b5' xmlns='http://jitsi.org/jitmeet'/></source><ssrc-group xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' semantics='FID'><source ssrc='4077975604'/><source ssrc='3875558317'/></ssrc-group></description></content><content name='audio'><description media='audio' xmlns='urn:xmpp:jingle:apps:rtp:1'><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='3629437829'><parameter name='cname' value='dxmhpbDsp8fGo87v-1'/><parameter name='msid' value='109f8014-9611-4b58-b6db-d4017a5f3356-1 304a188f-6d44-4d24-b313-c891f0d1a48c-1'/><ssrc-info owner='[email protected]/9fd0c0b5' xmlns='http://jitsi.org/jitmeet'/></source></description></content></jingle></iq>
    Oct 06 15:43:50.144 DEBUG Received Jingle source-add
    Oct 06 15:43:50.144 DEBUG adding ssrc to remote_ssrc_map: Source { id: "4077975604", parameters: [Parameter { name: "cname", value: Some("dxmhpbDsp8fGo87v-1") }, Parameter { name: "msid", value: Some("3b5466e3-a12c-4d1a-afe8-ff9befcb170b-1 6a103b40-368b-4252-86b1-3521cfe1dd46-1") }], info: Some(SsrcInfo { owner: "[email protected]/9fd0c0b5" }) }
    Oct 06 15:43:50.144 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3875558317", parameters: [Parameter { name: "cname", value: Some("dxmhpbDsp8fGo87v-1") }, Parameter { name: "msid", value: Some("3b5466e3-a12c-4d1a-afe8-ff9befcb170b-1 6a103b40-368b-4252-86b1-3521cfe1dd46-1") }], info: Some(SsrcInfo { owner: "[email protected]/9fd0c0b5" }) }
    Oct 06 15:43:50.144 DEBUG adding ssrc to remote_ssrc_map: Source { id: "3629437829", parameters: [Parameter { name: "cname", value: Some("dxmhpbDsp8fGo87v-1") }, Parameter { name: "msid", value: Some("109f8014-9611-4b58-b6db-d4017a5f3356-1 304a188f-6d44-4d24-b313-c891f0d1a48c-1") }], info: Some(SsrcInfo { owner: "[email protected]/9fd0c0b5" }) }
    Oct 06 15:43:50.145 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/_0GGZQei" id="cXpnN2Vvcl93d3JpOGFodEBtZWV0LmppdHNpL18wR0daUWVpAFBaTjl5LTIyNDMxNTIArcc9MWwvvctQtbtZX7NpXA==" to="[email protected]/focus" type="result"/>
    Oct 06 15:43:50.961 DEBUG rtpbin request-pt-map [(GstElement) (GstRtpBin) rtpbin, (guint) 0, (guint) 111]
    Oct 06 15:43:50.961 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 06 15:43:50.981 DEBUG new jitterbuffer created for session 0 ssrc 3629437829
    Oct 06 15:43:50.981 DEBUG jitterbuffer is for remote source: Source { ssrc: 3629437829, participant_id: Some("9fd0c0b5"), media_type: Audio }
    Oct 06 15:43:51.043 DEBUG rtpbin request-pt-map [(GstElement) (GstRtpBin) rtpbin, (guint) 0, (guint) 100]
    Oct 06 15:43:51.043 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 06 15:43:51.048 DEBUG new jitterbuffer created for session 0 ssrc 4077975604
    Oct 06 15:43:51.048 DEBUG jitterbuffer is for remote source: Source { ssrc: 4077975604, participant_id: Some("9fd0c0b5"), media_type: Video }
    Oct 06 15:43:51.048 DEBUG enabling RTX for ssrc 4077975604
    Oct 06 15:43:51.161 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_src_0_3629437829_111]
    Oct 06 15:43:51.161 DEBUG pad added for remote source: Source { ssrc: 3629437829, participant_id: Some("9fd0c0b5"), media_type: Audio }
    Oct 06 15:43:51.161 DEBUG created depayloader
    Oct 06 15:43:51.161 DEBUG linked rtpbin.recv_rtp_src_0_3629437829_111 to depayloader
    Oct 06 15:43:51.162 DEBUG linking depayloader to participant bin
    Oct 06 15:43:51.162 DEBUG depayloader requested extension: 1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    Oct 06 15:43:51.162 DEBUG depayloader requested extension: 5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    Oct 06 15:43:51.244 DEBUG rtpbin pad-added [(GstRtpBin) (GstRtpBin) rtpbin, (GstPad) (GstGhostPad) recv_rtp_src_0_4077975604_100]
    Oct 06 15:43:51.244 DEBUG pad added for remote source: Source { ssrc: 4077975604, participant_id: Some("9fd0c0b5"), media_type: Video }
    Oct 06 15:43:51.244 DEBUG created depayloader
    Oct 06 15:43:51.244 DEBUG linked rtpbin.recv_rtp_src_0_4077975604_100 to depayloader
    Oct 06 15:43:51.244 DEBUG linking depayloader to participant bin
    Oct 06 15:43:51.245 DEBUG depayloader requested extension: 5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    Oct 06 15:44:07.437 DEBUG rtpbin request-pt-map [(GstElement) (GstRtpBin) rtpbin, (guint) 0, (guint) 96]
    Oct 06 15:44:07.437 DEBUG mapped pt to caps: Caps("application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RTX, apt=(guchar)100")
    Oct 06 15:44:50.143 ERROR fatal (in read loop): WebSocket protocol error: Connection reset without closing handshake
    Oct 06 15:45:01.187 DEBUG pipeline state is null
    
    opened by teowoz 11
  • Can't compile it by nix

    Can't compile it by nix

    https://nixos.org/guides/install-nix.html image

    I installed a new Nix environment through Docker under a brand new Ubuntu 20.04. I tried to use this combined Nix environment to compile gst-meet. Unfortunately, I did not succeed. It prompted the lack of openssl related. There are some other errors. This shows that the nix-shell mentioned in your readme can be used to solve the dependency problem and compile successfully, which is not correct. Hope to further verify

    opened by zsinba 10
  • docker could not get correct result

    docker could not get correct result

    Compile the docker and run it on ubuntu 20.04;

    root@ubuntu:~# docker logs beautiful_rhodes 2021-12-23T16:34:07.239624Z INFO Connecting XMPP WebSocket to wss://m.xxxxxxxxx.com/xmpp-websocket 2021-12-23T16:34:07.879625Z INFO Connected XMPP WebSocket 2021-12-23T16:34:07.928789Z INFO Logged in anonymously 2021-12-23T16:34:07.954366Z INFO My JID: [email protected]/uGaZr7GH 2021-12-23T16:34:08.002334Z WARN discovering external services failed: STUN/TURN will not work 2021-12-23T16:35:08.185164Z ERROR fatal (in read loop): WebSocket protocol error: Connection reset without closing handshake

    Caused by: Connection reset without closing handshake 2021-12-23T16:38:15.651776Z INFO Connecting XMPP WebSocket to wss://m.xxxxxxxxx.com/xmpp-websocket 2021-12-23T16:38:15.974019Z INFO Connected XMPP WebSocket 2021-12-23T16:38:16.028983Z INFO Logged in anonymously 2021-12-23T16:38:16.056449Z INFO My JID: [email protected]/iwrM1M1g 2021-12-23T16:38:16.112016Z WARN discovering external services failed: STUN/TURN will not work

    opened by zsinba 9
  • Release new versions of packages on crates.io

    Release new versions of packages on crates.io

    A new release is currently blocked by the released version of xmpp-parsers (0.18.1) not building:

    error[E0277]: the trait bound `BareJid: IntoAttributeValue` is not satisfied
        --> .cargo/registry/src/github.com-1ecc6299db9ec823/xmpp-parsers-0.18.1/src/util/macros.rs:697:39
         |
    697  |                       builder = builder.attr($attr_name, elem.$attr);
         |                                         ^^^^ the trait `IntoAttributeValue` is not implemented for `BareJid`
         |
        ::: .cargo/registry/src/github.com-1ecc6299db9ec823/xmpp-parsers-0.18.1/src/mix.rs:117:1
         |
    117  | / generate_element!(
    118  | |     /// Update a given subscription.
    119  | |     UpdateSubscription, "update-subscription", MIX_CORE,
    120  | |     attributes: [
    ...    |
    130  | |     ]
    131  | | );
         | |_- in this macro invocation
         |
         = note: required because of the requirements on the impl of `IntoAttributeValue` for `Option<BareJid>`
    

    I've been using a git dependency (the problem doesn't exist in the latest code on gitlab, only in the released version), but can't release to crates.io with a git dependency. Any chance of a new xmpp-parsers release @linkmauve?

    opened by jbg 4
  • could not build Dockerfile

    could not build Dockerfile

    Output below:

    #11 53.69 error: failed to run custom build command for `openssl-sys v0.9.70`
    #11 53.69 
    #11 53.69 Caused by:
    #11 53.69   process didn't exit successfully: `/target/release/build/openssl-sys-9dd4c6a0b59722d2/build-script-main` (exit status: 101)
    #11 53.69   --- stdout
    #11 53.69   cargo:rustc-cfg=const_fn
    #11 53.69   cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_LIB_DIR
    #11 53.69   X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_LIB_DIR unset
    #11 53.69   cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
    #11 53.69   OPENSSL_LIB_DIR unset
    #11 53.69   cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_INCLUDE_DIR
    #11 53.69   X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_INCLUDE_DIR unset
    #11 53.69   cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
    #11 53.69   OPENSSL_INCLUDE_DIR unset
    #11 53.69   cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_DIR
    #11 53.69   X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_DIR unset
    #11 53.69   cargo:rerun-if-env-changed=OPENSSL_DIR
    #11 53.69   OPENSSL_DIR unset
    #11 53.69   cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-musl
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_musl
    #11 53.69   cargo:rerun-if-env-changed=HOST_PKG_CONFIG
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG
    #11 53.69   cargo:rerun-if-env-changed=OPENSSL_STATIC
    #11 53.69   cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-musl
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_musl
    #11 53.69   cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_PATH
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-musl
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_musl
    #11 53.69   cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-musl
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_musl
    #11 53.69   cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
    #11 53.69   cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
    #11 53.69   run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit status: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc'\nto the PKG_CONFIG_PATH environment variable\nPackage 'openssl', required by 'virtual:world', not found\n"
    #11 53.69 
    #11 53.69   --- stderr
    #11 53.69   thread 'main' panicked at '
    #11 53.69 
    #11 53.69   Could not find directory of OpenSSL installation, and this `-sys` crate cannot
    #11 53.69   proceed without this knowledge. If OpenSSL is installed and this crate had
    #11 53.69   trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
    #11 53.69   compilation process.
    #11 53.69 
    #11 53.69   Make sure you also have the development packages of openssl installed.
    #11 53.69   For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.
    #11 53.69 
    #11 53.69   If you're in a situation where you think the directory *should* be found
    #11 53.69   automatically, please open a bug at https://github.com/sfackler/rust-openssl
    #11 53.69   and include information about your system as well as this message.
    #11 53.69 
    #11 53.69   $HOST = x86_64-unknown-linux-musl
    #11 53.69   $TARGET = x86_64-unknown-linux-musl
    #11 53.69   openssl-sys = 0.9.70
    #11 53.69 
    #11 53.69   ', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.70/build/find_normal.rs:180:5
    #11 53.69   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    #11 53.69 warning: build failed, waiting for other jobs to finish...
    #11 72.25 error: build failed
    
    opened by bar9 4
  • Panic when trying to display remote participants

    Panic when trying to display remote participants

    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='[email protected]/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>[email protected]/9D1NVFRO</jid></bind></iq>
    Oct 23 20:26:24.581  INFO My JID: [email protected]/9D1NVFRO
    Oct 23 20:26:24.583 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/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='[email protected]/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="[email protected]/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='[email protected]/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:[email protected]'/><service type='turns' port='443' restricted='1' transport='tcp' password='WK4teRpVg3nF9Owx1hTt3KTmO0o=' host='turn.avstack.net' username='1635099984:[email protected]'/></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:[email protected]"), 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:[email protected]"), password: Some("WK4teRpVg3nF9Owx1hTt3KTmO0o="), expires: None }]
    Oct 23 20:26:24.936 DEBUG XMPP    >>> <iq xmlns="jabber:client" id="d91cc50f-3be7-4edf-a092-589397114578" to="[email protected]/focus" type="set"><conference xmlns="http://jitsi.org/protocol/focus" machine-uid="d8f82f41-91bd-45e2-aada-af081408922f" room="[email protected]"><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='[email protected]/focus' to='[email protected]/9D1NVFRO'><conference focusjid='[email protected]' room='[email protected]' 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([email protected]/9D1NVFRO), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Full(FullJID([email protected]/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="[email protected]/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='[email protected]/053a9b10' xmlns='jabber:client' to='[email protected]/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='[email protected]/f61QF2nw' affiliation='owner' role='moderator'/></x></presence>
    Oct 23 20:26:25.301 DEBUG XMPP    <<< <presence id='4VDA9-7378' to='[email protected]/9D1NVFRO' xmlns='jabber:client' from='[email protected]/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='[email protected]/focus' affiliation='owner' role='moderator'/></x></presence>
    Oct 23 20:26:25.304 DEBUG XMPP    <<< <presence from='[email protected]/9df701eb' xmlns='jabber:client' to='[email protected]/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='[email protected]/9D1NVFRO' affiliation='owner' role='moderator'/><status code='110'/></x></presence>
    Oct 23 20:26:25.306 DEBUG Joined MUC: [email protected]
    Oct 23 20:26:25.307 DEBUG XMPP    <<< <message to='[email protected]/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='[email protected]' xmlns='jabber:client' to='[email protected]/9D1NVFRO'><subject/></message>
    Oct 23 20:26:25.311 DEBUG XMPP    <<< <presence id='4VDA9-7383' to='[email protected]/9D1NVFRO' xmlns='jabber:client' from='[email protected]/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='[email protected]/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='[email protected]/focus' to='[email protected]/9D1NVFRO'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
    Oct 23 20:26:25.317 DEBUG Received disco info query from [email protected]/focus for node None
    Oct 23 20:26:25.318 DEBUG XMPP    <<< <presence id='4VDA9-7386' to='[email protected]/9D1NVFRO' xmlns='jabber:client' from='[email protected]/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='[email protected]/focus' affiliation='owner' role='moderator'/></x></presence>
    Oct 23 20:26:25.324 DEBUG XMPP    >>> <iq xmlns="jabber:client" from="[email protected]/9D1NVFRO" id="OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA2WUtQNy01NjYAhSdmT3/nJiBqxKaGfE3cUg==" to="[email protected]/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='[email protected]/focus' to='[email protected]/9D1NVFRO'><jingle action='session-initiate' sid='e4t2nk7boipuq' initiator='[email protected]/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 [email protected]/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="[email protected]/9D1NVFRO" id="OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA0VkRBOS03NDA0AIUnZk9/5yYgasSmhnxN3FI=" to="[email protected]/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="[email protected]/9D1NVFRO" id="3af4ac41-df63-4eb7-bf7b-5105812cb6b9" to="[email protected]/focus" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="session-accept" initiator="[email protected]/focus" responder="[email protected]/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='[email protected]/focus' to='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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='[email protected]/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: "[email protected]/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: "[email protected]/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: "[email protected]/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: "[email protected]/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: "[email protected]/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: "[email protected]/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: "[email protected]/053a9b10" }) }
    Oct 23 20:26:26.243 DEBUG XMPP    <<< <iq type='result' xmlns='jabber:client' id='3af4ac41-df63-4eb7-bf7b-5105812cb6b9' from='[email protected]/focus' to='[email protected]/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="[email protected]/9D1NVFRO" id="OWRmNzAxZWItNjFlNC00OWM2LWI5Y2MtZWJkYzdlYmZkZTVhQGF2c3RhY2sub25hdnN0YWNrLm5ldC85RDFOVkZSTwA0VkRBOS03NDE4AIUnZk9/5yYgasSmhnxN3FI=" to="[email protected]/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([email protected]/9D1NVFRO)) } } } glib_main_context=MainContext(Shared { inner: 0x55d4307d5a10 }) config=JitsiConferenceConfig { muc: BareJID([email protected]), focus: Full(FullJID([email protected]/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([email protected]/9D1NVFRO), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Full(FullJID([email protected]/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([email protected]/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
    
    opened by linkmauve 4
  • Error: IO error: invalid certificate: BadDER

    Error: IO error: invalid certificate: BadDER

    Hi ! I'm stuck with certificate, I guess probably due to self signed certificate. Any idea how to get around this would be most welcome . Thank you! Best regards, Ales

    $ gst-meet --web-socket-url=wss://meet.iskratel.build/xmpp-websocket --xmpp-domain=meet.iskratel.build --room-name=novas --send-pipeline="autovideosrc ! queue ! videoconvert ! vp8enc buffer-size=1000 deadline=1 name=video autoaudiosrc ! queue ! audioconvert ! audioresample ! opusenc name=audio" --recv-pipeline-participant-template="opusdec name=audio ! autoaudiosink vp8dec name=video ! videoconvert ! autovideosink" --verbose=3 Oct 07 16:04:03.318 INFO Connecting XMPP WebSocket to wss://meet.iskratel.build/xmpp-websocket Oct 07 16:04:03.319 DEBUG No cached session for DNSNameRef("meet.iskratel.build")
    Oct 07 16:04:03.319 DEBUG Not resuming any session
    Oct 07 16:04:03.321 DEBUG Using ciphersuite TLS13_CHACHA20_POLY1305_SHA256
    Oct 07 16:04:03.321 DEBUG Not resuming
    Oct 07 16:04:03.321 DEBUG TLS1.3 encrypted extensions: [ServerNameAck]
    Oct 07 16:04:03.321 DEBUG ALPN protocol is None
    Oct 07 16:04:03.321 WARN Sending fatal alert DecodeError
    Error: IO error: invalid certificate: BadDER

    Caused by: invalid certificate: BadDER

    opened by alesovmed 4
  • cannot join conferences and play audio in meet.jit.si

    cannot join conferences and play audio in meet.jit.si

    hello I'm confused by this question for a long time, need your help, thanks a lot. I'm using the official jitsi website to run a gst-meet demo, but it did not work very well. I build a conference in website , use gst-meet to join the meet, but can't see any participant joined. Meanwhile, gst-meet log shows i have already joined the meet and become the moderator of the meet, and there is some warning messages.

    Here is my gst-meet commands: gst-meet --verbose=GST_DEBUG=3 --web-socket-url=wss://meet.jit.si/xmpp-websocket --room-name=bsdhd357 --send-pipeline="filesrc location=empty.opus ! queue ! oggdemux name=audio"

    This is gst-meet logs, i bolded the suspicious lines:

    2022-08-24T02:22:15.979275Z  INFO Connecting XMPP WebSocket to wss://meet.jit.si/xmpp-websocket
    2022-08-24T02:22:15.986573Z DEBUG No cached session for DnsName(DnsName(DnsName("meet.jit.si")))    
    2022-08-24T02:22:15.987042Z DEBUG Not resuming any session    
    2022-08-24T02:22:15.992200Z DEBUG Using ciphersuite TLS13_AES_256_GCM_SHA384    
    2022-08-24T02:22:15.992605Z DEBUG Not resuming    
    2022-08-24T02:22:15.993411Z DEBUG TLS1.3 encrypted extensions: [ServerNameAck]    
    2022-08-24T02:22:15.993695Z DEBUG ALPN protocol is None    
    2022-08-24T02:22:16.018759Z DEBUG Ticket saved    
    2022-08-24T02:22:16.019111Z DEBUG Ticket saved    
    2022-08-24T02:22:16.019401Z DEBUG Client handshake done.    
    2022-08-24T02:22:16.019821Z DEBUG XMPP    >>> <open xmlns='urn:ietf:params:xml:ns:xmpp-framing' to="meet.jit.si" version="1.0"/>
    2022-08-24T02:22:16.024040Z DEBUG XMPP    <<< <open xml:lang='en' id='01bc33a1-5baf-44fb-bb4e-a87a9c3c1f15' version='1.0' from='meet.jit.si' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
    2022-08-24T02:22:16.024410Z  INFO Connected XMPP WebSocket
    2022-08-24T02:22:16.024619Z 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>
    2022-08-24T02:22:16.024924Z DEBUG XMPP    >>> <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism="ANONYMOUS"></auth>
    2022-08-24T02:22:16.028142Z DEBUG XMPP    <<< <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
    2022-08-24T02:22:16.028469Z DEBUG XMPP    >>> <open xmlns='urn:ietf:params:xml:ns:xmpp-framing' to="meet.jit.si" version="1.0"/>
    2022-08-24T02:22:16.032010Z DEBUG XMPP    <<< <open xml:lang='en' id='4945201e-19af-4e9b-8e9a-c44072b23152' version='1.0' from='meet.jit.si' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/>
    2022-08-24T02:22:16.032342Z  INFO Logged in anonymously
    2022-08-24T02:22:16.032536Z DEBUG XMPP    <<< <stream:features xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><c ver='fkxeQFzLze3b2GXuumaL5rwHBIU=' node='http://prosody.im' xmlns='http://jabber.org/protocol/caps' hash='sha-1'/><sub xmlns='urn:xmpp:features:pre-approval'/><ver xmlns='urn:xmpp:features:rosterver'/><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm></stream:features>
    2022-08-24T02:22:16.032880Z DEBUG XMPP    >>> <iq xmlns='jabber:client' id="dace5f80-e267-433f-b4b2-b4cf6d38578f" type="set"><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/></iq>
    2022-08-24T02:22:16.039989Z DEBUG XMPP    <<< <message xmlns='jabber:client' to='[email protected]/MnFI49k3GZkC' from='meet.jit.si'><query xmlns='http://jabber.org/protocol/disco#info'><identity name='lobby.meet.jit.si' category='component' type='lobbyrooms'/><identity name='conferenceduration.meet.jit.si' category='component' type='conference_duration'/><identity name='Prosody' category='server' type='im'/><identity name='avmoderation.meet.jit.si' category='component' type='av_moderation'/><identity name='breakout.meet.jit.si' category='component' type='breakout_rooms'/><identity name='meet-jit-si-eu-frankfurt-1-s25' category='server' type='shard'/><identity name='eu-central-1' category='server' type='region'/><identity name='3201' category='server' type='release'/><identity name='speakerstats.meet.jit.si' category='component' type='speakerstats'/></query><services xmlns='urn:xmpp:extdisco:2'><service host='meet-jit-si-turnrelay.jitsi.net' port='443' type='stun'/><service type='turn' restricted='1' host='meet-jit-si-turnrelay.jitsi.net' port='443' password='UWQjp4nF799O8P/CyYHfhTiy+aQ=' transport='udp' username='1661394136' expires='2022-08-25T02:22:16Z'/><service type='turns' restricted='1' host='meet-jit-si-turnrelay.jitsi.net' port='443' password='UWQjp4nF799O8P/CyYHfhTiy+aQ=' transport='tcp' username='1661394136' expires='2022-08-25T02:22:16Z'/></services></message>
    2022-08-24T02:22:16.040457Z DEBUG received unexpected element while waiting for bind response: parse error: This is not a iq element.
    2022-08-24T02:22:16.040688Z DEBUG XMPP    <<< <iq id='dace5f80-e267-433f-b4b2-b4cf6d38578f' xmlns='jabber:client' type='result'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>[email protected]/MnFI49k3GZkC</jid></bind></iq>
    2022-08-24T02:22:16.040947Z  INFO My JID: [email protected]/MnFI49k3GZkC
    2022-08-24T02:22:16.041213Z DEBUG XMPP    >>> <iq xmlns='jabber:client' from="[email protected]/MnFI49k3GZkC" id="cdc728ba-42b0-4134-87fb-408602609ec2" to="meet.jit.si" type="get"><query xmlns='http://jabber.org/protocol/disco#info'/></iq>
    2022-08-24T02:22:16.042604Z DEBUG XMPP    >>> <iq xmlns='jabber:client' id="0b5d7e68-ce18-4fcf-ac92-2f09a7cef42a" type="get"><ping xmlns='urn:xmpp:ping'/></iq>
    2022-08-24T02:22:16.044838Z DEBUG XMPP    <<< <iq id='cdc728ba-42b0-4134-87fb-408602609ec2' xmlns='jabber:client' to='[email protected]/MnFI49k3GZkC' from='meet.jit.si' type='result'><query xmlns='http://jabber.org/protocol/disco#info'><identity name='lobby.meet.jit.si' category='component' type='lobbyrooms'/><identity name='conferenceduration.meet.jit.si' category='component' type='conference_duration'/><identity name='Prosody' category='server' type='im'/><identity name='avmoderation.meet.jit.si' category='component' type='av_moderation'/><identity name='breakout.meet.jit.si' category='component' type='breakout_rooms'/><identity name='meet-jit-si-eu-frankfurt-1-s25' category='server' type='shard'/><identity name='eu-central-1' category='server' type='region'/><identity name='3201' category='server' type='release'/><identity name='speakerstats.meet.jit.si' category='component' type='speakerstats'/><feature var='urn:xmpp:extdisco:1'/><feature var='http://jabber.org/protocol/disco#info'/><feature var='http://jabber.org/protocol/disco#items'/><feature var='jabber:iq:roster'/><feature var='urn:xmpp:extdisco:2'/><feature var='urn:xmpp:ping'/><feature var='jabber:iq:version'/><feature var='http://jabber.org/protocol/commands'/></query></iq>
    2022-08-24T02:22:16.045421Z DEBUG XMPP    >>> <iq xmlns='jabber:client' from="[email protected]/MnFI49k3GZkC" id="e26e87d0-684b-4c34-b7a9-56ce9302e8fe" to="meet.jit.si" type="get"><services xmlns='urn:xmpp:extdisco:2'/></iq>
    2022-08-24T02:22:16.048927Z DEBUG XMPP    <<< <iq xmlns='jabber:client' id='0b5d7e68-ce18-4fcf-ac92-2f09a7cef42a' to='[email protected]/MnFI49k3GZkC' type='result'/>
    2022-08-24T02:22:16.049246Z  WARN discovering external services failed: STUN/TURN will not work
    2022-08-24T02:22:16.049785Z DEBUG XMPP    >>> <iq xmlns='jabber:client' id="94906c95-ab7c-4272-bcc2-fd47b68726d9" to="[email protected]/focus" type="set"><conference xmlns='http://jitsi.org/protocol/focus' machine-uid="8e5de365-aa1c-4714-9509-1fc3042b8554" room="[email protected]"><property name="stereo" value="false"/><property name="startBitrate" value="800"/></conference></iq>
    2022-08-24T02:22:16.052554Z DEBUG XMPP    <<< <iq id='e26e87d0-684b-4c34-b7a9-56ce9302e8fe' xmlns='jabber:client' to='[email protected]/MnFI49k3GZkC' from='meet.jit.si' type='result'><services xmlns='urn:xmpp:extdisco:2'><service host='meet-jit-si-turnrelay.jitsi.net' port='443' type='stun'/><service type='turn' restricted='1' host='meet-jit-si-turnrelay.jitsi.net' port='443' password='UWQjp4nF799O8P/CyYHfhTiy+aQ=' transport='udp' username='1661394136' expires='2022-08-25T02:22:16Z'/><service type='turns' restricted='1' host='meet-jit-si-turnrelay.jitsi.net' port='443' password='UWQjp4nF799O8P/CyYHfhTiy+aQ=' transport='tcp' username='1661394136' expires='2022-08-25T02:22:16Z'/></services></iq>
    2022-08-24T02:22:16.069190Z DEBUG XMPP    <<< <iq xml:lang='en-US' id='94906c95-ab7c-4272-bcc2-fd47b68726d9' xmlns='jabber:client' to='[email protected]/MnFI49k3GZkC' from='[email protected]/focus' type='result'><conference ready='true' room='[email protected]' xmlns='http://jitsi.org/protocol/focus' focusjid='[email protected]'><property value='false' name='authentication'/></conference></iq>
    2022-08-24T02:22:16.069875Z DEBUG send_presence{self=JitsiConference { jid: FullJID([email protected]/MnFI49k3GZkC), config: JitsiConferenceConfig { muc: BareJID([email protected]), focus: Full(FullJID([email protected]/focus)), nick: "gst-meet", region: None, video_codec: "vp9", extra_muc_features: [], start_bitrate: 800, stereo: false, recv_video_scale_width: 1280, recv_video_scale_height: 720, buffer_size: 200 }, inner: Mutex { data: <locked> } } payloads=[Element { name: "x", namespace: "http://jabber.org/protocol/muc", prefixes: Prefixes(), attributes: {}, children: [] }, Element { name: "c", namespace: "http://jabber.org/protocol/caps", prefixes: Prefixes(), attributes: {"hash": "sha-1", "node": "https://github.com/avstack/gst-meet", "ver": "swMAgANtyBNi66ghGYklxmQQoAQ="}, children: [] }, Element { name: "c", namespace: "urn:xmpp:caps", prefixes: Prefixes(), attributes: {}, children: [Element(Element { name: "hash", namespace: "urn:xmpp:hashes:2", prefixes: Prefixes(), attributes: {"algo": "sha-256"}, children: [Text("G/kN7Lvb58mV9M0f+E0V9ctHF3+2rT5irZCuqldbjGU=")] })] }, Element { name: "stats-id", namespace: "jabber:client", prefixes: Prefixes(), attributes: {}, children: [Text("gst-meet")] }, Element { name: "jitsi_participant_codecType", namespace: "jabber:client", prefixes: Prefixes(), attributes: {}, children: [Text("vp9")] }, Element { name: "audiomuted", namespace: "jabber:client", prefixes: Prefixes(), attributes: {}, children: [Text("false")] }, Element { name: "videomuted", namespace: "jabber:client", prefixes: Prefixes(), attributes: {}, children: [Text("false")] }, Element { name: "nick", namespace: "http://jabber.org/protocol/nick", prefixes: Prefixes(), attributes: {}, children: [Text("gst-meet")] }]}: close time.busy=30.3µs time.idle=7.61µs
    2022-08-24T02:22:16.070322Z DEBUG XMPP    >>> <presence xmlns='jabber:client' to="[email protected]/f61dd71f"><x xmlns='http://jabber.org/protocol/muc'/><c xmlns='http://jabber.org/protocol/caps' hash="sha-1" node="https://github.com/avstack/gst-meet" ver="swMAgANtyBNi66ghGYklxmQQoAQ="/><c xmlns='urn:xmpp:caps'><hash xmlns='urn:xmpp:hashes:2' algo="sha-256">G/kN7Lvb58mV9M0f+E0V9ctHF3+2rT5irZCuqldbjGU=</hash></c><stats-id>gst-meet</stats-id><jitsi_participant_codecType>vp9</jitsi_participant_codecType><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns='http://jabber.org/protocol/nick'>gst-meet</nick></presence>
    2022-08-24T02:22:16.077095Z DEBUG XMPP    <<< <presence xmlns='jabber:client' xml:lang='en-US' to='[email protected]/MnFI49k3GZkC' from='[email protected]/focus'><priority>0</priority><etherpad xmlns='http://jitsi.org/jitmeet/etherpad'>bsdhd357</etherpad><versions xmlns='http://jitsi.org/jitmeet'><component name='focus'>1.0.911</component></versions><conference-properties xmlns='http://jitsi.org/protocol/focus'><property value='true' key='support-terminate-restart'/></conference-properties><c ver='Lg0vhCNhxjoeKJi2/hukdsizNWA=' node='http://jitsi.org/jicofo' xmlns='http://jabber.org/protocol/caps' hash='sha-1'/><occupant-id xmlns='urn:xmpp:occupant-id:0' id='dHPo/7vOI5L1GrWBDUYAGwYs4HEW/9JXKgUx6Nfyjqk='/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/focus' role='moderator' affiliation='owner'/></x></presence>
    2022-08-24T02:22:16.077608Z DEBUG XMPP    <<< <presence xmlns='jabber:client' xml:lang='en' to='[email protected]/MnFI49k3GZkC' from='[email protected]/f61dd71f'><c ver='swMAgANtyBNi66ghGYklxmQQoAQ=' node='https://github.com/avstack/gst-meet' xmlns='http://jabber.org/protocol/caps' hash='sha-1'/><c xmlns='urn:xmpp:caps'><hash algo='sha-256' xmlns='urn:xmpp:hashes:2'>G/kN7Lvb58mV9M0f+E0V9ctHF3+2rT5irZCuqldbjGU=</hash></c><stats-id>gst-meet</stats-id><jitsi_participant_codecType>vp9</jitsi_participant_codecType><audiomuted>false</audiomuted><videomuted>false</videomuted><nick xmlns='http://jabber.org/protocol/nick'>gst-meet</nick><occupant-id xmlns='urn:xmpp:occupant-id:0' id='TyqmYDsK4e7tghGa0ICmOm/2o5B25Iy3zuNoX/CvbuE='/><x xmlns='http://jabber.org/protocol/muc#user'><item jid='[email protected]/MnFI49k3GZkC' role='moderator' affiliation='owner'/><status code='110'/></x></presence>
    2022-08-24T02:22:16.078065Z DEBUG Joined MUC: [email protected]
    2022-08-24T02:22:16.078346Z DEBUG XMPP    <<< <message xmlns='jabber:client' to='[email protected]/MnFI49k3GZkC' from='conferenceduration.meet.jit.si'><json-message xmlns='http://jitsi.org/jitmeet'>{&quot;created_timestamp&quot;:1661307736000,&quot;type&quot;:&quot;conference_duration&quot;}</json-message></message>
    2022-08-24T02:22:16.078646Z DEBUG XMPP    <<< <message xmlns='jabber:client' to='[email protected]/MnFI49k3GZkC' from='[email protected]' type='groupchat'><subject/></message>
    
    
    opened by chunsan 3
  • Added JWT authentication

    Added JWT authentication

    Added the ability to add a JWT as a parameter to connect to Jitsi.

    fixes #45

    Note: Code quality might not be the best, this is the first time I ever wrote rust code. Open to feedback :)

    opened by ankush-zipteams 0
  • Fix  the DockerFile

    Fix the DockerFile

    Fix the Dockerfile to use the last stable Alpine image with gstreamer 1.20. Using the edge often break the gstreamer plugins installation. Also add the libnice-gstreamer to ennable the icesrc plugin in gstreamer installation.

    opened by daimoc 0
  • Make room name comparison case agnostic

    Make room name comparison case agnostic

    When providing the room name as shown by Jitsi - e.g. "DarkSignsMobilizeExpectantly" - gst-meet will connect to the room but never proceed as the response(s) to send_presence contain the room name in lower case.

    opened by ChefdeCambuse 0
  • Using JWT token auth with gst-meet

    Using JWT token auth with gst-meet

    Hello, is gst-meet able to authenticate via a generated JWT token?

    I just checked my JS logs for the format and it looks like this: wss://jitsi.example.com/xmpp-websocket?room=lobby&token=jwt-token-value

    opened by mwllgr 6
Releases(lib-gst-meet/0.6.0)
Owner
AVStack
Deploy a globally-distributed, low-latency videoconferencing backend in seconds.
AVStack
Minimal recursive "truncate file/directory names to meet requirements" tool

trunc_filenames ssokolow@monolith ~ % trunc_filenames --help trunc_filenames 0.1.0 Rename files and directories to fit length limits. WARNING: Will n

Stephan Sokolow 2 Nov 20, 2022
Meet Rustacean GPT, an experimental project transforming OpenAi's GPT into a helpful, autonomous software engineer to support senior developers and simplify coding life! 🚀🤖🧠

Rustacean GPT Welcome, fellow coding enthusiasts! ?? ?? I am excited to introduce you to Rustacean GPT, my humble yet ambitious project that aims to t

Gary McDougall 3 May 10, 2023
🦀 A Rust CLI to find the optimal time to meet given a when2meet URL

when3meet ?? The Rust when2meet CLI Install | Usage | Contributing & Issues | Docs Built with ❤️ and ?? by Garrett Ladley Install cargo install when3m

Garrett Ladley 4 Sep 18, 2023
GStreamer HTTP Live Streaming Plugin

A highly configurable GStreamer HLS sink plugin. Based on the hlssink2 element. The flexhlssink is written in Rust and has various options to configure the HLS output playlist generation.

Rafael Carício 13 Oct 25, 2021
This crate bridges between gstreamer and tracing ecosystems.

This crate provides a bridge between gstreamer and the tracing ecosystem. The goal is to allow Rust applications utilizing GStreamer to better integra

Standard Cognition OSS 17 Jun 7, 2022
All-batteries included GStreamer WebRTC producer

webrtcsink All-batteries included GStreamer WebRTC producer, that tries its best to do The Right Thing™. Use case The webrtcbin element in GStreamer i

Centricular 75 Dec 14, 2022
GStreamer plugin for speech to text using the Vosk Toolkit.

This project has moved upstream to the GStreamer Rust Plugins: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/729 Vosk Speec

Rafael Carício 7 Apr 12, 2022
A system to programmatically run data pipelines

Factotum A dag running tool designed for efficiently running complex jobs with non-trivial dependency trees. The zen of Factotum A Turing-complete job

Snowplow Analytics 194 Nov 3, 2022
Execution of and interaction with external processes and pipelines

subprocess The subprocess library provides facilities for execution of and interaction with external processes and pipelines, inspired by Python's sub

Hrvoje Nikšić 375 Jan 2, 2023
Rust native ready-to-use NLP pipelines and transformer-based models (BERT, DistilBERT, GPT2,...)

rust-bert Rust native Transformer-based models implementation. Port of Hugging Face's Transformers library, using the tch-rs crate and pre-processing

null 1.3k Jan 8, 2023
Provides a way to use enums to describe and execute ordered data pipelines. 🦀🐾

enum_pipline Provides a way to use enums to describe and execute ordered data pipelines. ?? ?? I needed a succinct way to describe 2d pixel map operat

Ben Greenier 0 Oct 29, 2021
Framework for large distributed pipelines

Rain Rain is an open-source distributed computational framework for processing of large-scale task-based pipelines. Rain aims to lower the entry barri

Substantic 705 Dec 27, 2022
chain nats.io servers with transformation & processing pipelines

NATS proxy service Simple tool to forward specific topics from one nats.io cluster to the same server or another. Provides support to process messages

Marquitos 8 Sep 19, 2022
Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance.

bevy_efficient_forest_example Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance. Grass i

Henrik Djurestål 43 Jan 5, 2023
A fast and robust MLOps tool for managing data and pipelines

xvc A Fast and Robust MLOps Swiss-Army Knife in Rust ⌛ When to use xvc? Machine Learning Engineers: When you manage large quantities of unstructured d

Emre Sahin 6 Dec 15, 2022
OpenAPI-based test coverage analysis tool that helps teams improve integration test coverage in CI/CD pipelines

Ready-to-use OpenAPI test coverage analysis tool that helps teams improve integration CoveAPI is an advanced test coverage analysis tool based on the

Yasser Tahiri 18 Aug 3, 2023
Write CI/CD pipelines using TypeScript

Katoa Katoa is a community fork of Cidada, a tool created by Fig which was sunset in late 2023 following acquisition by AWS. This fork and the underly

Katoa 47 Oct 6, 2023
A user crud written in Rust, designed to connect to a MySQL database with full integration test coverage.

SQLX User CRUD Purpose This application demonstrates the how to implement a common design for CRUDs in, potentially, a system of microservices. The de

null 78 Nov 27, 2022
Library + CLI-Tool to measure the TTFB (time to first byte) of HTTP requests. Additionally, this crate measures the times of DNS lookup, TCP connect and TLS handshake.

TTFB: CLI + Lib to Measure the TTFB of HTTP/1.1 Requests Similar to the network tab in Google Chrome or Mozilla Firefox, this crate helps you find the

Philipp Schuster 24 Dec 1, 2022
A compact implementation of connect four written in rust.

connect-four A compact implementation of connect four written in rust. Run the game At the moment there no pre-built binaries - but you can build it l

Maximilian Schulke 12 Jul 31, 2022