Attention is currently required from: jolly, dexter.
Hello Jenkins Builder, dexter,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/33548
to look at the new patch set (#2).
Change subject: ASCI: Support conference briding with 1..n connections ......................................................................
ASCI: Support conference briding with 1..n connections
An RTP bridge may have 1 or many endpoints. Each endpoint may receive, send or echo audio back. Because transcoding is not supported, it must be assumed that only connection receives RTP in a conference with more than 2 connections.
A connection that receives RTP into the endpont will have "send" pointer set to (one of) the other connection that shall send out RTP. All connection that send RTP have "send_next" pointer set to the next or first connection that sends RTP. They are linked in a ring.
Regular bridge with two connections: Each connection forwards audio towards the other connection and only towards the other connection. The "send_next" pointers are set to NULL or pointing to the other endpoint.
connection A connection B ("sendrecv") ("sendrecv") conn->send ---------------------------> <------------------------------------- conn->send conn->send_next ----------------------> <------------------------------------- conn->send_next
Conference bridge with three connections: Each connection forwards audio to itself and also towards all other connection.
connection A connection B connection C ("confecho") ("confecho") ("confecho"); conn->send --\ conn->send --\ conn->send --\ <-----------/ <-----------/ <-----------/ conn->send_next --> conn->send_next --> <------------------------------------- conn->send_next
The same conference bridge but without echo: Each connection forwards auto to all other connection but not to itself.
connection A connection B connection C ("confecho") ("confecho") ("confecho"); conn->send -------> conn->send -------> <------------------------------------- conn->send conn->send_next --> conn->send_next --> <------------------------------------- conn->send_next
Change-Id: Ic99a55ab5a3a6170e940403fadd52697e99f2f3a --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_trunk.c 5 files changed, 190 insertions(+), 60 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/48/33548/2