-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
As commented in #69, with the meet.jit.si instance it seems to be a problem when parsing the IQ message, as it contains two web-socket children. I'm using the last commit in master a42e069 and the issue seems to persist as of 2023-06-24:
% GST_DEBUG=2 gst-meet -v --nick=robot --web-socket-url=wss://meet.jit.si/xmpp-websocket --room-name=testing-gst --send-pipeline="audiotestsrc wave=sine is-live=true ! audioconvert ! audioresample ! opusenc name=audio"
...
2023-06-24T09:00:31.782511Z DEBUG XMPP <<< <iq xmlns='jabber:client' to='eff97c0b-100b-4812-ab88-d078db3af7a5@meet.jit.si/_ffC_eFYxhek' type='set' xml:lang='en' from='testing-gst@conference.meet.jit.si/focus' id='ZWZmOTdjMGItMTAwYi00ODEyLWFiODgtZDA3OGRiM2FmN2E1QG1lZXQuaml0LnNpL19mZkNfZUZZeGhlawBGTTdFWi0xOTgwNTg0MwC6iP94aQ/MVg=='><jingle sid='dq1s3ded0k27n' action='session-initiate' xmlns='urn:xmpp:jingle:1' initiator='focus@auth.meet.jit.si/focus'><content creator='initiator' senders='both' name='audio'><description xmlns='urn:xmpp:jingle:apps:rtp:1' media='audio' maxptime='60'><payload-type clockrate='48000' id='111' channels='2' name='opus'><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='126' clockrate='8000' name='telephone-event'/><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='urn:ietf:params:rtp-hdrext:ssrc-audio-level' id='1'/><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' id='5'/><rtcp-mux/><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='1414071450' name='jvb-a0'><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/><parameter xmlns='urn:xmpp:jingle:apps:rtp:1' value='mixedmslabel mixedlabelaudio0' name='msid'/></source></description><transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' ufrag='egn7j1h3ma4bjf' pwd='5r0m6g5qnl5p075geg9og0gr42'><web-socket url='wss://meet.jit.si:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42' xmlns='http://jitsi.org/protocol/colibri'/><web-socket url='wss://meet-jit-si-jvb-42-126-24.jitsi.net:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint required='false' hash='sha-256' setup='actpass' xmlns='urn:xmpp:jingle:apps:dtls:0'>96:94:D5:65:28:19:81:08:FC:C5:C4:59:2E:58:2D:CB:5B:E1:32:FD:EE:B6:D1:8C:0D:F9:49:D0:7D:4C:3C:7D</fingerprint><candidate ip='140.238.69.61' type='srflx' priority='1694498815' id='b413ff7f00adc50fffffffff7dc444d' port='10000' rel-port='9' generation='0' protocol='udp' network='0' foundation='2' component='1' rel-addr='0.0.0.0'/></transport></content><content creator='initiator' senders='both' name='video'><description media='video' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type id='100' clockrate='90000' name='VP8'><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='107' clockrate='90000' name='H264'><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/><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' clockrate='90000' name='VP9'><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='96' clockrate='90000' name='rtx'><parameter value='100' name='apt'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/></payload-type><payload-type id='97' clockrate='90000' name='rtx'><parameter value='101' name='apt'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/></payload-type><payload-type id='99' clockrate='90000' name='rtx'><parameter value='107' name='apt'/></payload-type><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' id='3'/><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' id='5'/><rtcp-mux/><source xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' ssrc='3249223227' name='jvb-v0'><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/><parameter xmlns='urn:xmpp:jingle:apps:rtp:1' value='mixedmslabel mixedlabelvideo0' name='msid'/></source></description><transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' ufrag='egn7j1h3ma4bjf' pwd='5r0m6g5qnl5p075geg9og0gr42'><web-socket url='wss://meet.jit.si:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42' xmlns='http://jitsi.org/protocol/colibri'/><web-socket url='wss://meet-jit-si-jvb-42-126-24.jitsi.net:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint required='false' hash='sha-256' setup='actpass' xmlns='urn:xmpp:jingle:apps:dtls:0'>96:94:D5:65:28:19:81:08:FC:C5:C4:59:2E:58:2D:CB:5B:E1:32:FD:EE:B6:D1:8C:0D:F9:49:D0:7D:4C:3C:7D</fingerprint><candidate ip='140.238.69.61' type='srflx' priority='1694498815' id='b413ff7f00adc50fffffffff7dc444d' port='10000' rel-port='9' generation='0' protocol='udp' network='0' foundation='2' component='1' rel-addr='0.0.0.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' region='eu-west-2' id='9283052d-ebda-41c3-98ea-b33eff12429f'/></jingle></iq>
2023-06-24T09:00:31.813099Z DEBUG IQ did not successfully parse as Jingle: ParseError("Element transport must not have more than one web-socket child.")
Here is the message indented with xmllint --format:
<?xml version="1.0"?>
<iq xmlns="jabber:client" to="eff97c0b-100b-4812-ab88-d078db3af7a5@meet.jit.si/_ffC_eFYxhek" type="set" xml:lang="en" from="testing-gst@conference.meet.jit.si/focus" id="ZWZmOTdjMGItMTAwYi00ODEyLWFiODgtZDA3OGRiM2FmN2E1QG1lZXQuaml0LnNpL19mZkNfZUZZeGhlawBGTTdFWi0xOTgwNTg0MwC6iP94aQ/MVg==">
<jingle xmlns="urn:xmpp:jingle:1" sid="dq1s3ded0k27n" action="session-initiate" initiator="focus@auth.meet.jit.si/focus">
<content creator="initiator" senders="both" name="audio">
<description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio" maxptime="60">
<payload-type clockrate="48000" id="111" channels="2" name="opus">
<parameter value="10" name="minptime"/>
<parameter value="1" name="useinbandfec"/>
<rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="transport-cc"/>
</payload-type>
<payload-type id="126" clockrate="8000" name="telephone-event"/>
<rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" id="1"/>
<rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" id="5"/>
<rtcp-mux/>
<source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="1414071450" name="jvb-a0">
<ssrc-info xmlns="http://jitsi.org/jitmeet" owner="jvb"/>
<parameter xmlns="urn:xmpp:jingle:apps:rtp:1" value="mixedmslabel mixedlabelaudio0" name="msid"/>
</source>
</description>
<transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="egn7j1h3ma4bjf" pwd="5r0m6g5qnl5p075geg9og0gr42">
<web-socket xmlns="http://jitsi.org/protocol/colibri" url="wss://meet.jit.si:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42"/>
<web-socket xmlns="http://jitsi.org/protocol/colibri" url="wss://meet-jit-si-jvb-42-126-24.jitsi.net:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42"/>
<rtcp-mux/>
<fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" required="false" hash="sha-256" setup="actpass">96:94:D5:65:28:19:81:08:FC:C5:C4:59:2E:58:2D:CB:5B:E1:32:FD:EE:B6:D1:8C:0D:F9:49:D0:7D:4C:3C:7D</fingerprint>
<candidate ip="140.238.69.61" type="srflx" priority="1694498815" id="b413ff7f00adc50fffffffff7dc444d" port="10000" rel-port="9" generation="0" protocol="udp" network="0" foundation="2" component="1" rel-addr="0.0.0.0"/>
</transport>
</content>
<content creator="initiator" senders="both" name="video">
<description xmlns="urn:xmpp:jingle:apps:rtp:1" media="video">
<payload-type id="100" clockrate="90000" name="VP8">
<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"/>
<rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="transport-cc"/>
</payload-type>
<payload-type id="107" clockrate="90000" name="H264">
<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"/>
<rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="transport-cc"/>
<parameter value="42e01f;level-asymmetry-allowed=1;packetization-mode=1;" name="profile-level-id"/>
</payload-type>
<payload-type id="101" clockrate="90000" name="VP9">
<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"/>
<rtcp-fb xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0" type="transport-cc"/>
</payload-type>
<payload-type id="96" clockrate="90000" name="rtx">
<parameter value="100" name="apt"/>
<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 id="97" clockrate="90000" name="rtx">
<parameter value="101" name="apt"/>
<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 id="99" clockrate="90000" name="rtx">
<parameter value="107" name="apt"/>
</payload-type>
<rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" id="3"/>
<rtp-hdrext xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0" uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" id="5"/>
<rtcp-mux/>
<source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="3249223227" name="jvb-v0">
<ssrc-info xmlns="http://jitsi.org/jitmeet" owner="jvb"/>
<parameter xmlns="urn:xmpp:jingle:apps:rtp:1" value="mixedmslabel mixedlabelvideo0" name="msid"/>
</source>
</description>
<transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="egn7j1h3ma4bjf" pwd="5r0m6g5qnl5p075geg9og0gr42">
<web-socket xmlns="http://jitsi.org/protocol/colibri" url="wss://meet.jit.si:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42"/>
<web-socket xmlns="http://jitsi.org/protocol/colibri" url="wss://meet-jit-si-jvb-42-126-24.jitsi.net:443/colibri-ws/jvb-42-126-24/9f94e557105628db/eff97c0b?pwd=5r0m6g5qnl5p075geg9og0gr42"/>
<rtcp-mux/>
<fingerprint xmlns="urn:xmpp:jingle:apps:dtls:0" required="false" hash="sha-256" setup="actpass">96:94:D5:65:28:19:81:08:FC:C5:C4:59:2E:58:2D:CB:5B:E1:32:FD:EE:B6:D1:8C:0D:F9:49:D0:7D:4C:3C:7D</fingerprint>
<candidate ip="140.238.69.61" type="srflx" priority="1694498815" id="b413ff7f00adc50fffffffff7dc444d" port="10000" rel-port="9" generation="0" protocol="udp" network="0" foundation="2" component="1" rel-addr="0.0.0.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" region="eu-west-2" id="9283052d-ebda-41c3-98ea-b33eff12429f"/>
</jingle>
</iq>I assume this is a problem related with the xmpp-rs parser. As a workaround I was trying to remove one of the web-socket children (similar to a42e069), but I'm not familiar with the xmpp API and I'm not very fluent in rust.
Metadata
Metadata
Assignees
Labels
No labels