[jitsi-users] Selective forwarding of audio


#1

Hello,

I've been attempting to add some more strict conference policy to
lib-jitsi-meet/jicofo/jvb so that video and audio are only relayed after a
moderator / participant exchange. For example in a teacher / multiple
students scenario where a student could raise there hand, and then
audio/video could be relayed between the two of them.

I have managed to control the video so far by filtering the Jingle
ssrc-info XMPP stanzas for non-moderators so that all the participants are
not broadcasting to each other, and that allows me to have video one-on-one
with the moderator.

The audio however falls apart once a participant starts conversing with the
moderator, as the audio for -everyone- is being relayed.

Are there any particular parts of the XMPP messages I should look to for
the control of audio relaying, or is this perhaps the default behavior of
the video bridge when anyone transmits audio toward it?

I am also at a bit of a loss as to how to debug further, it's not clear how
to inspect the state of the client and server to see what is happening, and
then investigate why so that I can modify it. Any insights would be
appreciated!

Cheers,
Simon


#2

So you're preventing video forwarding by basically filtering streams from
what becomes the bridge's offer? I would think this same strategy would
work for audio.

···

On Thu, Feb 22, 2018 at 12:05 PM, Simon Ditner <spditner@gmail.com> wrote:

Hello,

I've been attempting to add some more strict conference policy to
lib-jitsi-meet/jicofo/jvb so that video and audio are only relayed after a
moderator / participant exchange. For example in a teacher / multiple
students scenario where a student could raise there hand, and then
audio/video could be relayed between the two of them.

I have managed to control the video so far by filtering the Jingle
ssrc-info XMPP stanzas for non-moderators so that all the participants are
not broadcasting to each other, and that allows me to have video one-on-one
with the moderator.

The audio however falls apart once a participant starts conversing with
the moderator, as the audio for -everyone- is being relayed.

Are there any particular parts of the XMPP messages I should look to for
the control of audio relaying, or is this perhaps the default behavior of
the video bridge when anyone transmits audio toward it?

I am also at a bit of a loss as to how to debug further, it's not clear
how to inspect the state of the client and server to see what is happening,
and then investigate why so that I can modify it. Any insights would be
appreciated!

Cheers,
Simon

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#3

Slight footnote to what I said above: obviously this won't prevent the
actual *forwarding* of the data, but would prevent the successful
reception/rendering of it on the client.

···

On Thu, Feb 22, 2018 at 1:49 PM, Brian Baldino <brian@jitsi.org> wrote:

So you're preventing video forwarding by basically filtering streams from
what becomes the bridge's offer? I would think this same strategy would
work for audio.

On Thu, Feb 22, 2018 at 12:05 PM, Simon Ditner <spditner@gmail.com> wrote:

Hello,

I've been attempting to add some more strict conference policy to
lib-jitsi-meet/jicofo/jvb so that video and audio are only relayed after a
moderator / participant exchange. For example in a teacher / multiple
students scenario where a student could raise there hand, and then
audio/video could be relayed between the two of them.

I have managed to control the video so far by filtering the Jingle
ssrc-info XMPP stanzas for non-moderators so that all the participants are
not broadcasting to each other, and that allows me to have video one-on-one
with the moderator.

The audio however falls apart once a participant starts conversing with
the moderator, as the audio for -everyone- is being relayed.

Are there any particular parts of the XMPP messages I should look to for
the control of audio relaying, or is this perhaps the default behavior of
the video bridge when anyone transmits audio toward it?

I am also at a bit of a loss as to how to debug further, it's not clear
how to inspect the state of the client and server to see what is happening,
and then investigate why so that I can modify it. Any insights would be
appreciated!

Cheers,
Simon

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#4

I would have hoped that some dialog was happening between the client and
the video bridge such that the video and audio streams weren't being
broadcast anyways, however from your last comment, it sounds like my
assumption was wrong, and that it's going to be an uphill battle to have it
running optimally for the teacher/students scenario I outline.

I believe I've done as you are thinking in terms of my filtering. I remove
the <source> entries from the '<jingle xmlns="urn:xmpp:jingle:1"
action="session-initiate" ...>' and '<jingle xmlns="urn:xmpp:jingle:1"
action="source-add" ...>' based on the conference participant ID's
moderator/participant status.

So for instance, here if "a84ff7f8" were not a moderator, and this message
were being sent to a participant on join, I filter out all the "a84ff7f8"
related <source> entries that I've greyed out:

<?xml version=“1.0”?>
<iq xmlns=“jabber:client” type=“set”
to=“c5ab1b16-e51b-4963-bc1e-78a134b9749d@jitsi.lan/83cdd102-d88e-47f0-985a-8b53dd807623”
from=“conference10@conference.jitsi.lan/focus”
id=“YzVhYjFiMTYtZTUxYi00OTYzLWJjMWUtNzhhMTM0Yjk3NDlkQGppdHNpLWhvbWUtMjAxODAxLnVjLm9yZy84M2NkZDEwMi1kODhlLTQ3ZjAtOTg1YS04YjUzZGQ4MDc2MjMAeVA2ZGQtMjEzNAASgVlsoHih00zBW51ByhOg”>
  <jingle xmlns=“urn:xmpp:jingle:1” sid=“vl5edgmubepm”
action=“session-initiate” initiator=“focus@auth.jitsi.lan
/focus1025790048160920”>
    <content name=“audio” senders=“both” creator=“initiator”>
      <description xmlns=“urn:xmpp:jingle:apps:rtp:1” maxptime=“60”
media=“audio”>
        ...
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“4137908222”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
4119bd10-6585-4d39-999d-ebb995c3fada” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“725771979”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
bb9a97ff-7b8b-49f5-98ca-ae856710e3a1” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
      </description>
      ...
    </content>
    <content name=“video” senders=“both” creator=“initiator”>
      <description xmlns=“urn:xmpp:jingle:apps:rtp:1” media=“video”>
        ...
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“690216534”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1750390230”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3940423400”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3759341254”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3718842928”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1746834723”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“2801176678”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1496414469”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“49665366”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1073105577”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“38658428”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3223567864”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet
owner=“conference10@conference.jitsi.lan/2f23adad”/>
        </source>
        ...
      </description>
      <transport xmlns=“urn:xmpp:jingle:transports:ice-udp:1”
pwd=“76j0vo2b85jg6s1flv1ec98og3” ufrag=“7vqqq1c6v95kf8”>
      ...
      </transport>
      <bundle xmlns=“http://estos.de/ns/bundle”/>
    </content>
    <group xmlns=“urn:xmpp:jingle:apps:grouping:0” semantics=“BUNDLE”>
      <content xmlns=“urn:xmpp:jingle:1” name=“audio”/>
      <content xmlns=“urn:xmpp:jingle:1” name=“video”/>
    </group>
  </jingle>
</iq>

···

--
Simon P. Ditner <spditner@gmail.com>
Office: +1 (416) 848-7573 / Mobile: +1 (647) 899-1293

On Thu, Feb 22, 2018 at 4:50 PM, Brian Baldino <brian@jitsi.org> wrote:

Slight footnote to what I said above: obviously this won't prevent the
actual *forwarding* of the data, but would prevent the successful
reception/rendering of it on the client.

On Thu, Feb 22, 2018 at 1:49 PM, Brian Baldino <brian@jitsi.org> wrote:

So you're preventing video forwarding by basically filtering streams from
what becomes the bridge's offer? I would think this same strategy would
work for audio.

On Thu, Feb 22, 2018 at 12:05 PM, Simon Ditner <spditner@gmail.com> >> wrote:

Hello,

I've been attempting to add some more strict conference policy to
lib-jitsi-meet/jicofo/jvb so that video and audio are only relayed after a
moderator / participant exchange. For example in a teacher / multiple
students scenario where a student could raise there hand, and then
audio/video could be relayed between the two of them.

I have managed to control the video so far by filtering the Jingle
ssrc-info XMPP stanzas for non-moderators so that all the participants are
not broadcasting to each other, and that allows me to have video one-on-one
with the moderator.

The audio however falls apart once a participant starts conversing with
the moderator, as the audio for -everyone- is being relayed.

Are there any particular parts of the XMPP messages I should look to for
the control of audio relaying, or is this perhaps the default behavior of
the video bridge when anyone transmits audio toward it?

I am also at a bit of a loss as to how to debug further, it's not clear
how to inspect the state of the client and server to see what is happening,
and then investigate why so that I can modify it. Any insights would be
appreciated!

Cheers,
Simon

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#5

Yeah, the bridge will always forward all the audio. So did your strategy
work and you were hoping for a better/easier way? Or is the audio still
flowing? The messages you're filtering there are what get turned into the
remote description SDP, so if you remove them chrome shouldn't be aware of
the streams and not play them out, but agree it would be nice to have a
better solution. Also, since you have to dynamically change which audio is
flowing there (in response to 'raising of hands') I imagine this gets
awkward pretty quickly, having to do o/a flows every time.

I think a patch that could handle this would certainly be welcome, I'd love
if it were done in such a way that 'last n for audio' would also be
possible as I think that would be interesting to play with and have appeal
for users.

···

On Thu, Feb 22, 2018 at 3:02 PM, Simon Ditner <spditner@gmail.com> wrote:

I would have hoped that some dialog was happening between the client and
the video bridge such that the video and audio streams weren't being
broadcast anyways, however from your last comment, it sounds like my
assumption was wrong, and that it's going to be an uphill battle to have it
running optimally for the teacher/students scenario I outline.

I believe I've done as you are thinking in terms of my filtering. I remove
the <source> entries from the '<jingle xmlns="urn:xmpp:jingle:1"
action="session-initiate" ...>' and '<jingle xmlns="urn:xmpp:jingle:1"
action="source-add" ...>' based on the conference participant ID's
moderator/participant status.

So for instance, here if "a84ff7f8" were not a moderator, and this message
were being sent to a participant on join, I filter out all the "a84ff7f8"
related <source> entries that I've greyed out:

<?xml version=“1.0”?>
<iq xmlns=“jabber:client” type=“set” to=“c5ab1b16-e51b-4963-bc1e-
78a134b9749d@jitsi.lan/83cdd102-d88e-47f0-985a-8b53dd807623”
from=“conference10@conference.jitsi.lan/focus” id="
YzVhYjFiMTYtZTUxYi00OTYzLWJjMWUtNzhhMTM0Yjk3NDlkQGppdHNpLWhv
bWUtMjAxODAxLnVjLm9yZy84M2NkZDEwMi1kODhlLTQ3ZjAtOTg1YS04YjUz
ZGQ4MDc2MjMAeVA2ZGQtMjEzNAASgVlsoHih00zBW51ByhOg">
  <jingle xmlns=“urn:xmpp:jingle:1” sid=“vl5edgmubepm”
action=“session-initiate” initiator=“focus@auth.jitsi.
lan/focus1025790048160920”>
    <content name=“audio” senders=“both” creator=“initiator”>
      <description xmlns=“urn:xmpp:jingle:apps:rtp:1” maxptime=“60”
media=“audio”>
        ...
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“4137908222
<(413)%20790-8222>”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
4119bd10-6585-4d39-999d-ebb995c3fada” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“725771979”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
bb9a97ff-7b8b-49f5-98ca-ae856710e3a1” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
      </description>
      ...
    </content>
    <content name=“video” senders=“both” creator=“initiator”>
      <description xmlns=“urn:xmpp:jingle:apps:rtp:1” media=“video”>
        ...
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“690216534”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1750390230”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3940423400”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3759341254”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3718842928”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1746834723”>
          <parameter value=“S7ppOjDk1UbXqlKG” name=“cname”/>
          <parameter value=“e9db05bf-396c-4633-a5f3-3e6a6d7a9e29
d42bc7a4-45c3-4167-b60d-83aa6a62a210” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/a84ff7f8”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“2801176678”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1496414469”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“49665366”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“1073105577”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“38658428”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
        <source xmlns=“urn:xmpp:jingle:apps:rtp:ssma:0” ssrc=“3223567864”>
          <parameter value=“lWQTLguZkw6xH2F6” name=“cname”/>
          <parameter value=“4220ae08-e861-4e08-9854-215a9d3ef894
5adf7c31-1320-4c0f-9942-4abc39f93d4a” name=“msid”/>
          <ssrc-info xmlns=“http://jitsi.org/jitmeet” owner=“conference10@
conference.jitsi.lan/2f23adad”/>
        </source>
        ...
      </description>
      <transport xmlns=“urn:xmpp:jingle:transports:ice-udp:1” pwd=“76j0vo2b85jg6s1flv1ec98og3”
ufrag=“7vqqq1c6v95kf8”>
      ...
      </transport>
      <bundle xmlns=“http://estos.de/ns/bundle”/>
    </content>
    <group xmlns=“urn:xmpp:jingle:apps:grouping:0” semantics=“BUNDLE”>
      <content xmlns=“urn:xmpp:jingle:1” name=“audio”/>
      <content xmlns=“urn:xmpp:jingle:1” name=“video”/>
    </group>
  </jingle>
</iq>

--
Simon P. Ditner <spditner@gmail.com>
Office: +1 (416) 848-7573 <(416)%20848-7573> / Mobile: +1 (647) 899-1293
<(647)%20899-1293>

On Thu, Feb 22, 2018 at 4:50 PM, Brian Baldino <brian@jitsi.org> wrote:

Slight footnote to what I said above: obviously this won't prevent the
actual *forwarding* of the data, but would prevent the successful
reception/rendering of it on the client.

On Thu, Feb 22, 2018 at 1:49 PM, Brian Baldino <brian@jitsi.org> wrote:

So you're preventing video forwarding by basically filtering streams
from what becomes the bridge's offer? I would think this same strategy
would work for audio.

On Thu, Feb 22, 2018 at 12:05 PM, Simon Ditner <spditner@gmail.com> >>> wrote:

Hello,

I've been attempting to add some more strict conference policy to
lib-jitsi-meet/jicofo/jvb so that video and audio are only relayed after a
moderator / participant exchange. For example in a teacher / multiple
students scenario where a student could raise there hand, and then
audio/video could be relayed between the two of them.

I have managed to control the video so far by filtering the Jingle
ssrc-info XMPP stanzas for non-moderators so that all the participants are
not broadcasting to each other, and that allows me to have video one-on-one
with the moderator.

The audio however falls apart once a participant starts conversing with
the moderator, as the audio for -everyone- is being relayed.

Are there any particular parts of the XMPP messages I should look to
for the control of audio relaying, or is this perhaps the default behavior
of the video bridge when anyone transmits audio toward it?

I am also at a bit of a loss as to how to debug further, it's not clear
how to inspect the state of the client and server to see what is happening,
and then investigate why so that I can modify it. Any insights would be
appreciated!

Cheers,
Simon

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users