Attention is currently required from: laforge, dexter.
jolly has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33511 )
Change subject: ASCI: Add call control for VGCS/VBS
......................................................................
Patch Set 14:
(1 comment)
File src/libmsc/msc_vgcs.c:
https://gerrit.osmocom.org/c/osmo-msc/+/33511/comment/22c52a11_b6b0ccb8
PS12, Line 224: static uint8_t _rx_callref(uint8_t *ie, unsigned int remaining_len, uint32_t *callref, bool *with_prio, uint8_t *prio)
> the function still has an 'int' return type ?!?
It is int because it returns IE length or an error code.
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33511
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I9947403fde8212b66758104443c60aaacc8b1e7b
Gerrit-Change-Number: 33511
Gerrit-PatchSet: 14
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: dexter <pmaier(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Jul 2023 08:51:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: jolly <andreas(a)eversberg.eu>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/33548 )
Change subject: ASCI: Support conference briding with 1..n connections
......................................................................
ASCI: Support conference briding with 1..n connections
For each RTP packet that is received from a connection, the mode is
checked whether receiving is allowed or not. If not it is discarded.
In case of "confecho" mode, the RTP is also sent by the receiving
connection.
Then a loop is used to send RTP to all sending endpoints except the one
that received the packet.
Because we have a loop that allows to have 1..n connections, we have no
maximum number of allowed connections anymore.
Change-Id: Ic99a55ab5a3a6170e940403fadd52697e99f2f3a
Related: OS#4853
---
M src/libosmo-mgcp/mgcp_conn.c
M src/libosmo-mgcp/mgcp_endp.c
M src/libosmo-mgcp/mgcp_network.c
M src/libosmo-mgcp/mgcp_protocol.c
4 files changed, 52 insertions(+), 30 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c
index b97c161..0ba10e5 100644
--- a/src/libosmo-mgcp/mgcp_conn.c
+++ b/src/libosmo-mgcp/mgcp_conn.c
@@ -173,8 +173,8 @@
struct mgcp_conn *conn;
int rc;
- /* Do not allow more then two connections */
- if (llist_count(&endp->conns) >= endp->type->max_conns)
+ /* Do not allow more than the maximum number of connections */
+ if (endp->type->max_conns > 0 && llist_count(&endp->conns) >= endp->type->max_conns)
return NULL;
/* Create new connection and add it to the list */
diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c
index 20088b7..4c870ec 100644
--- a/src/libosmo-mgcp/mgcp_endp.c
+++ b/src/libosmo-mgcp/mgcp_endp.c
@@ -38,7 +38,6 @@
const struct mgcp_endpoint_typeset ep_typeset = {
/* Specify endpoint properties for RTP endpoint */
.rtp = {
- .max_conns = 2,
.dispatch_rtp_cb = mgcp_dispatch_rtp_bridge_cb,
.cleanup_cb = mgcp_cleanup_rtp_bridge_cb,
},
diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index 33cd8af..46d0cb4 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -1290,8 +1290,10 @@
struct mgcp_conn_rtp *conn_src = mc->conn_src;
struct mgcp_conn *conn = conn_src->conn;
struct mgcp_conn *conn_dst;
+ struct mgcp_endpoint *endp = conn->endp;
struct osmo_sockaddr *from_addr = mc->from_addr;
char ipbuf[INET6_ADDRSTRLEN];
+ int rc = 0;
/*! NOTE: This callback function implements the endpoint specific
* dispatch behaviour of an rtp bridge/proxy endpoint. It is assumed
@@ -1323,36 +1325,35 @@
return mgcp_conn_rtp_dispatch_rtp(conn_src, msg);
}
- /* Find a destination connection. */
- /* NOTE: This code path runs every time an RTP packet is received. The
- * function mgcp_find_dst_conn() we use to determine the detination
- * connection will iterate the connection list inside the endpoint.
- * Since list iterations are quite costly, we will figure out the
- * destination only once and use the optional private data pointer of
- * the connection to cache the destination connection pointer. */
- if (!conn->priv) {
- conn_dst = mgcp_find_dst_conn(conn);
- conn->priv = conn_dst;
- } else {
- conn_dst = (struct mgcp_conn *)conn->priv;
+ /* If the mode does not allow receiving RTP, we are done. */
+ switch (conn->mode) {
+ case MGCP_CONN_RECV_ONLY:
+ case MGCP_CONN_RECV_SEND:
+ case MGCP_CONN_CONFECHO:
+ break;
+ default:
+ return rc;
}
- /* There is no destination conn, stop here */
- if (!conn_dst) {
- LOGPCONN(conn, DRTP, LOGL_DEBUG,
- "no connection to forward an incoming RTP packet to\n");
- return -1;
- }
+ /* If the mode is "confecho", send RTP back to the sender. */
+ if (conn->mode == MGCP_CONN_CONFECHO)
+ rc = mgcp_conn_rtp_dispatch_rtp(conn_src, msg);
- /* The destination conn is not an RTP connection */
- if (conn_dst->type != MGCP_CONN_TYPE_RTP) {
- LOGPCONN(conn, DRTP, LOGL_ERROR,
- "unable to find suitable destination conn\n");
- return -1;
+ /* Dispatch RTP packet to all other connection(s) that send audio. */
+ llist_for_each_entry(conn_dst, &endp->conns, entry) {
+ if (conn_dst == conn)
+ continue;
+ switch (conn_dst->mode) {
+ case MGCP_CONN_SEND_ONLY:
+ case MGCP_CONN_RECV_SEND:
+ case MGCP_CONN_CONFECHO:
+ rc = mgcp_conn_rtp_dispatch_rtp(&conn_dst->u.rtp, msg);
+ break;
+ default:
+ break;
+ }
}
-
- /* Dispatch RTP packet to destination RTP connection */
- return mgcp_conn_rtp_dispatch_rtp(&conn_dst->u.rtp, msg);
+ return rc;
}
/*! dispatch incoming RTP packet to E1 subslot, handle RTCP packets locally.
diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c
index 978af42..7795734 100644
--- a/src/libosmo-mgcp/mgcp_protocol.c
+++ b/src/libosmo-mgcp/mgcp_protocol.c
@@ -967,7 +967,7 @@
}
/* Check if we are able to accept the creation of another connection */
- if (llist_count(&endp->conns) >= endp->type->max_conns) {
+ if (endp->type->max_conns > 0 && llist_count(&endp->conns) >= endp->type->max_conns) {
LOGPENDP(endp, DLMGCP, LOGL_ERROR,
"CRCX: endpoint full, max. %i connections allowed!\n",
endp->type->max_conns);
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/33548
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Ic99a55ab5a3a6170e940403fadd52697e99f2f3a
Gerrit-Change-Number: 33548
Gerrit-PatchSet: 5
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: osmith, fixeria.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33591 )
Change subject: csd_bs_list_to_gsm0808_channel_type: add T 300
......................................................................
Patch Set 2:
(2 comments)
File src/libmsc/csd_bs.c:
https://gerrit.osmocom.org/c/osmo-msc/+/33591/comment/03458eba_a3a8c935
PS1, Line 187: GSM0808_DATA_HALF_LM
> See my comment below, I think either TCH/H2.4 or TCH/F2. […]
I agree
https://gerrit.osmocom.org/c/osmo-msc/+/33591/comment/2b0d2ea8_290eb48c
PS1, Line 196: GSM0808_DATA_FULL_BM
> Rates below 9600 can be carried over half-rate channels too, since we have TCH/H4.8 and TCH/H2.4. […]
technically it is true, one can carry those rates over TCH/H. I'm not sure how good a policy decision it is, given that TCH/F provides so much more redundancy and hence robustness...
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33591
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I7297cc481fbe36355b5231ca800cf566a1ee93c0
Gerrit-Change-Number: 33591
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Jul 2023 07:51:40 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: Hoernchen, pespin.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/32764 )
Change subject: devices: add freq/gain override for uhd
......................................................................
Patch Set 10:
(2 comments)
File Transceiver52M/device/uhd/UHDDevice.cpp:
https://gerrit.osmocom.org/c/osmo-trx/+/32764/comment/ac869510_a9bf6cd0
PS5, Line 298: if (cfg->overrides.ul_freq_override)
> I'm lost here. […]
Done
https://gerrit.osmocom.org/c/osmo-trx/+/32764/comment/8526a769_446ff07a
PS5, Line 344: return 0.0f;
> I would expect the power atenuattion to be set to the overwriten value instead of returning?
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/32764
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I3c1b9a067cafc6d696b9aa2da8ee0480ec1e094f
Gerrit-Change-Number: 32764
Gerrit-PatchSet: 10
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Jul 2023 07:48:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: Hoernchen, fixeria.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/32762 )
Change subject: transceiver: pass cfg struct instead of args
......................................................................
Patch Set 3: Code-Review+1
(1 comment)
File Transceiver52M/device/lms/LMSDevice.h:
https://gerrit.osmocom.org/c/osmo-trx/+/32762/comment/a140951c_cc660dbb
PS3, Line 110: LMSDevice(InterfaceType iface, const struct trx_cfg *cfg);
> The only part of osmotrx that follow any style is the ms subdirectory, everythting else is 15 years […]
so then let's please take the opportunity (after this patch/series) to do that cosmetic re-formatting once
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/32762
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I48386900d15ff4d770c70a4efc246d32f921904b
Gerrit-Change-Number: 32762
Gerrit-PatchSet: 3
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Jul 2023 07:47:21 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Hoernchen <ewild(a)sysmocom.de>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment