fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/32166 )
Change subject: fixup (partial revert): "coding: clean up Makefile.am"
......................................................................
fixup (partial revert): "coding: clean up Makefile.am"
This is a partial revert of "9dca9027 coding: clean up Makefile.am".
Even though libosmocoding does not use talloc API, it still depends on
this library indirectly via libosmo{core,codec,gsm}. Furthermore, some
of libosmocore's header files do #include <osmocom/core/talloc.h>, and
thus #include <talloc.h> via this internal header.
Under Slackware 14.2 talloc.h header lives in /usr/include/samba-4.0,
and without $(TALLOC_CFLAGS) compilation of libmsocoding fails due
to the preprocessor failing to find this header. The culprit is my
recent patch 9dca9027 removing $(TALLOC_CFLAGS) and $(TALLOC_LIBS).
Put $(TALLOC_CFLAGS) back to AM_CFLAGS; it will likely be emply under
distributions having talloc.h header in the standard include dir. The
$(TALLOC_LIBS) does not need to be resurrected because libtool will
add '-ltalloc' automatically for each libosmo*.la in LIBADD.
Change-Id: Ic1bd82159a827af21fe36bea998f8f58f732473a
Related: OS#5960
---
M src/coding/Makefile.am
1 file changed, 28 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/32166/1
diff --git a/src/coding/Makefile.am b/src/coding/Makefile.am
index bb7bde2..987e073 100644
--- a/src/coding/Makefile.am
+++ b/src/coding/Makefile.am
@@ -8,7 +8,7 @@
-I"$(top_builddir)/include" \
-I"$(top_builddir)" \
$(NULL)
-AM_CFLAGS = -Wall
+AM_CFLAGS = -Wall $(TALLOC_CFLAGS)
if ENABLE_PSEUDOTALLOC
AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/32166
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ic1bd82159a827af21fe36bea998f8f58f732473a
Gerrit-Change-Number: 32166
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: neels.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/32162
to look at the new patch set (#2).
Change subject: mgcp_client: simpler error handling
......................................................................
mgcp_client: simpler error handling
add_sdp(), add_lco():
- do not msgb_free() within these functions. Just return error, and move
the msgb_free() to the caler.
- when failing to write to the msgb, directly return error.
Change-Id: I904d56f56053952c2ebbbe5dca744fafa32b333e
---
M src/libosmo-mgcp-client/mgcp_client.c
1 file changed, 92 insertions(+), 87 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/62/32162/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/32162
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I904d56f56053952c2ebbbe5dca744fafa32b333e
Gerrit-Change-Number: 32162
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newpatchset
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32128 )
Change subject: rtp continuous-streaming: fix BFI in the quality-suppressed case
......................................................................
rtp continuous-streaming: fix BFI in the quality-suppressed case
The check for (tch_ind->lqual_cb >= bts->min_qual_norm) in
l1sap_tch_ind() has the intent of suppressing valid-seeming
speech frame output from lower layers when the link quality is
too low; this check is particularly important for FR1 codec
where the intrinsic validity check is only a 3-bit CRC which has
1/8 probability of indicating "correct" when decoding radio noise
during DTXu silence.
However, this check is effectively defeated in the current
implementation of rtp continuous-streaming: the RTP packet being
output is the presumed-bogus speech frame from lower layers,
rather than the intended zero-length payload. Fix this bug.
Related: OS#5975
Change-Id: Icee0f57be289a0592a0197469432a012d15f224c
---
M src/common/l1sap.c
1 file changed, 25 insertions(+), 2 deletions(-)
Approvals:
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 89aea58..1f173db 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1641,10 +1641,10 @@
return 1;
}
} else {
- /* Are we in rtp continuous-stream special mode? If so, send
+ /* Are we in rtp continuous-streaming special mode? If so, send
* out a BFI packet as zero-length RTP payload. */
if (bts->rtp_nogaps_mode) {
- send_ul_rtp_packet(lchan, fn, msg->data, msg->len);
+ send_ul_rtp_packet(lchan, fn, NULL, 0);
} else {
DEBUGPGT(DRTP, &g_time, "Skipping RTP frame with lost payload (chan_nr=0x%02x)\n",
chan_nr);
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32128
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Icee0f57be289a0592a0197469432a012d15f224c
Gerrit-Change-Number: 32128
Gerrit-PatchSet: 4
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32100 )
Change subject: sysmo: emit empty RTP ticks during FACCH stealing on TCH/F
......................................................................
sysmo: emit empty RTP ticks during FACCH stealing on TCH/F
When FACCH stealing occurs and sysmoBTS L1 delivers GsmL1_Sapi_FacchF
instead of GsmL1_Sapi_TchF, that 20 ms unit still needs to be
accounted for in the RTP timestamp cadence, and if we run with
rtp continuous-streaming enabled, then an actual BFI packet needs
to be emitted. The original code failed to do either; the present
change implements correct behavior for TCH/F.
The present patch only covers the case of TCH/F; handling of TCH/H
is left as a FIXME for other/later developers.
Related: OS#5974
Change-Id: I39d15faade28fb7d670493a99a0e0bdb654e2a4a
---
M src/osmo-bts-sysmo/l1_if.c
M src/osmo-bts-sysmo/l1_if.h
M src/osmo-bts-sysmo/tch.c
3 files changed, 64 insertions(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index 19f0c5a..24a3d1e 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -980,6 +980,25 @@
return rc;
}
+ /* If we got FACCH, the RTP clock needs to account for it,
+ * and if we have rtp continuous-streaming enabled,
+ * an actual BFI packet will be emitted.
+ *
+ * Only the case of TCH/F is currently handled; the task of
+ * supporting TCH/H is left as a FIXME for other/later
+ * developers. The difficulty with supporting FACCH/H is that
+ * only one GsmL1_Sapi_FacchH message will be received,
+ * covering 40 ms of time, but two RTP "tick" output calls
+ * will need to be made, with appropriately adjusted frame
+ * numbers. As a further consideration for rtp continuous-streaming
+ * mode, having the two RTP BFI packets sent directly back to back,
+ * as opposed to proper 20 ms timing, may be so undesirable
+ * that some deployments may rather disable TCH/H (use only TCH/F)
+ * than deal with the extra pain, or use TCH/H only on SDR-based
+ * BTS with osmo-bts-trx where correct timing is easily achieved. */
+ if (data_ind->sapi == GsmL1_Sapi_FacchF)
+ l1if_tch_rx_facch(trx, chan_nr, l1p_msg);
+
/* fill L1SAP header */
sap_msg = l1sap_msgb_alloc(data_ind->msgUnitParam.u8Size);
l1sap = msgb_l1sap_prim(sap_msg);
diff --git a/src/osmo-bts-sysmo/l1_if.h b/src/osmo-bts-sysmo/l1_if.h
index 8691eef..5b2da04 100644
--- a/src/osmo-bts-sysmo/l1_if.h
+++ b/src/osmo-bts-sysmo/l1_if.h
@@ -129,6 +129,8 @@
const uint8_t *rtp_pl, unsigned int rtp_pl_len, uint32_t fn,
bool use_cache, bool marker);
int l1if_tch_rx(struct gsm_bts_trx *trx, uint8_t chan_nr, struct msgb *l1p_msg);
+int l1if_tch_rx_facch(struct gsm_bts_trx *trx, uint8_t chan_nr,
+ struct msgb *l1p_msg);
int l1if_tch_fill(struct gsm_lchan *lchan, uint8_t *l1_buffer);
struct msgb *gen_empty_tch_msg(struct gsm_lchan *lchan, uint32_t fn);
diff --git a/src/osmo-bts-sysmo/tch.c b/src/osmo-bts-sysmo/tch.c
index 832991f..3e7a1a1 100644
--- a/src/osmo-bts-sysmo/tch.c
+++ b/src/osmo-bts-sysmo/tch.c
@@ -623,6 +623,29 @@
return -EINVAL;
}
+/*! \brief provide an RTP empty payload "tick" to upper layers upon FACCH */
+int l1if_tch_rx_facch(struct gsm_bts_trx *trx, uint8_t chan_nr,
+ struct msgb *l1p_msg)
+{
+ GsmL1_Prim_t *l1p = msgb_l1prim(l1p_msg);
+ GsmL1_PhDataInd_t *data_ind = &l1p->u.phDataInd;
+ struct msgb *rmsg = NULL;
+ struct gsm_lchan *lchan = &trx->ts[L1SAP_CHAN2TS(chan_nr)].lchan[l1sap_chan2ss(chan_nr)];
+
+ if (is_recv_only(lchan->abis_ip.speech_mode))
+ return -EAGAIN;
+
+ LOGPLCFN(lchan, DL1P, LOGL_DEBUG, data_ind->u32Fn, "chan_nr %d Rx FACCH\n", chan_nr);
+ /* Push empty payload to upper layers */
+ rmsg = msgb_alloc_headroom(256, 128, "L1P-to-RTP");
+ return add_l1sap_header(trx, rmsg, lchan, chan_nr, data_ind->u32Fn,
+ data_ind->measParam.fBer * 10000,
+ data_ind->measParam.fLinkQuality * 10,
+ 0, /* suppress RSSI like in osmo-bts-trx */
+ data_ind->measParam.i16BurstTiming * 64,
+ 0);
+}
+
struct msgb *gen_empty_tch_msg(struct gsm_lchan *lchan, uint32_t fn)
{
struct msgb *msg;
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32100
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I39d15faade28fb7d670493a99a0e0bdb654e2a4a
Gerrit-Change-Number: 32100
Gerrit-PatchSet: 6
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: falconia.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32128 )
Change subject: rtp continuous-streaming: fix BFI in the quality-suppressed case
......................................................................
Patch Set 3: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32128
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Icee0f57be289a0592a0197469432a012d15f224c
Gerrit-Change-Number: 32128
Gerrit-PatchSet: 3
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Comment-Date: Thu, 30 Mar 2023 17:30:06 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: pespin.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/32159 )
Change subject: Move paging queue specific handling to signal callback outside RSL code
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/32159
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Iabc1c29908a5136501d6dc6e60f8777dab511b86
Gerrit-Change-Number: 32159
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 30 Mar 2023 17:06:38 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: neels.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/32162 )
Change subject: mgcp_client: simpler error handling
......................................................................
Patch Set 1:
(2 comments)
Commit Message:
https://gerrit.osmocom.org/c/osmo-mgw/+/32162/comment/ab62eb62_fb2f6ec8
PS1, Line 12: the msgb_free() to the caler.
caller
Patchset:
PS1:
+1 once you fix the linter
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/32162
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I904d56f56053952c2ebbbe5dca744fafa32b333e
Gerrit-Change-Number: 32162
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 30 Mar 2023 16:39:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: neels.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/32161 )
Change subject: mgcp_find_section_end(): skip spaces at start of SDP
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/32161
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I015e0347a268b61c0ca45d40754942f87b461c09
Gerrit-Change-Number: 32161
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 30 Mar 2023 16:38:00 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Jenkins Builder has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/32162 )
Change subject: mgcp_client: simpler error handling
......................................................................
Patch Set 1:
(1 comment)
File src/libosmo-mgcp-client/mgcp_client.c:
Robot Comment from checkpatch (run ID jenkins-gerrit-lint-5620):
https://gerrit.osmocom.org/c/osmo-mgw/+/32162/comment/5f7e0fdd_ab31ff2d
PS1, Line 1134: #define MSGB_PRINTF_OR_RET(msg, FMT, ARGS...) \
Macros starting with if should be enclosed by a do - while loop to avoid possible if/else logic defects
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/32162
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I904d56f56053952c2ebbbe5dca744fafa32b333e
Gerrit-Change-Number: 32162
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-Comment-Date: Thu, 30 Mar 2023 16:30:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/32163 )
Change subject: client: allow passing and receiving full SDP to/from MGW
......................................................................
client: allow passing and receiving full SDP to/from MGW
Clients can continue to use the current way of providing the information
contained in the SDP part.
A client may also decide to directly provide an SDP string. That may be
useful to send a list of payload types with mixed fmtp (e.g. two
entries, one for AMR OA and one for AMR BE) or any other custom SDP that
is not possible to be represented with the previous structure of struct
mgcp_conn_peer:
struct sdp_msg sdp = {};
sdp_audio_codecs_add(&sdp.audio_codecs, 96, "AMR", 8000, "octet-align=1");
sdp_audio_codecs_add(&sdp.audio_codecs, 97, "AMR", 8000, "octet-align=0");
struct mgcp_conn_peer verb_info = { ... };
sdp_msg_to_sdp_str_buf(verb_info.sdp, sizeof(verb_info.sdp), &sdp);
osmo_mgcpc_ep_ci_request(my_ci, MGCP_VERB_MDCX, &verb_info,...);
(TODO: sdp_msg, sdp_audio_codecs_add() and sdp_msg_to_sdp_str_buf() so
far only exists in osmo-msc.git)
If no SDP is present in the passed verb_info, the SDP part is composed
as before from the mgcp_conn_peer members addr, port, ptime, ptmap,
param. If an SDP string is present in the passed verb_info, ignore the
data in the individual members, and directly pass the given SDP string
instead -- the caller does not need to pass both the individual members
and SDP, either one suffices.
A client can read the full SDP response from the MGW, again for example
to accurately parse a list with mixed fmtp for AMR like above, like
this:
/* Handling successful event after osmo_mgcpc_ep_ci_request(my_fi, my_notify_event): */
const struct mgcp_conn_peer *response_info = osmo_mgcpc_ep_ci_get_rtp_info(ci);
struct sdp_msg sdp;
sdp_msg_from_sdp_str(&sdp, response_info->sdp);
for (int i = 0; i < sdp.audio_codecs.count; i++)
printf("PT %u = %s %s",
sdp.audio_codecs.codec[i].payload_type,
sdp.audio_codecs.codec[i].subtype_name,
sdp.audio_codecs.codec[i].fmtp);
Related: OS#5723
Change-Id: Ib26b4d24546a9a9af65d4313fdf87cdeff9cbc22
---
M include/osmocom/mgcp_client/mgcp_client.h
M include/osmocom/mgcp_client/mgcp_client_fsm.h
M src/libosmo-mgcp-client/mgcp_client.c
M src/libosmo-mgcp-client/mgcp_client_fsm.c
4 files changed, 83 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/63/32163/1
diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h
index 0fb5dee..c185971 100644
--- a/include/osmocom/mgcp_client/mgcp_client.h
+++ b/include/osmocom/mgcp_client/mgcp_client.h
@@ -83,6 +83,7 @@
};
struct mgcp_response {
+ /* The complete MGCP + SDP response. See also 'sdp' below. */
char *body;
struct mgcp_response_head head;
uint16_t audio_port;
@@ -92,6 +93,8 @@
unsigned int codecs_len;
struct ptmap ptmap[MGCP_MAX_CODECS];
unsigned int ptmap_len;
+ /* Start of the SDP part of 'body'. */
+ char *sdp;
};
enum mgcp_verb {
@@ -131,6 +134,8 @@
int x_osmo_osmux_cid; /* -1 is wildcard */
bool param_present;
struct mgcp_codec_param param;
+
+ char sdp[1024];
};
void mgcp_client_conf_init(struct mgcp_client_conf *conf);
diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h
index ade4f49..de68e70 100644
--- a/include/osmocom/mgcp_client/mgcp_client_fsm.h
+++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h
@@ -61,6 +61,8 @@
* mgcp_common.h */
bool param_present;
struct mgcp_codec_param param;
+
+ char sdp[1024];
};
struct osmo_fsm_inst *mgcp_conn_create(struct mgcp_client *mgcp, struct osmo_fsm_inst *parent_fi, uint32_t parent_term_evt,
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index fb4c17a..85421a2 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -493,6 +493,7 @@
rc = 0;
goto exit;
}
+ r->sdp = data_ptr;
/* data_ptr now points to the beginning of the section-end-marker; for_each_non_empty_line()
* skips any \r and \n characters for free, so we don't need to skip the marker. */
@@ -1183,6 +1184,13 @@
/* Add separator to mark the beginning of the SDP block */
MSGB_PRINTF_OR_RET(msg, "\r\n");
+ if (mgcp_msg->sdp[0] != '\0') {
+ /* The caller provided a full SDP string, no need to compose SDP. */
+ MSGB_PRINTF_OR_RET(msg, "%s", mgcp_msg->sdp);
+ return 0;
+ }
+ /* The caller did not provide a full SDP section, compose SDP string from the mgcp_msg members. */
+
/* Add SDP protocol version */
MSGB_PRINTF_OR_RET(msg, "v=0\r\n");
@@ -1365,8 +1373,9 @@
/* Using SDP makes sense when a valid IP/Port combination is specifiec,
* if we do not know this information yet, we fall back to LCO */
- if (mgcp_msg->presence & MGCP_MSG_PRESENCE_AUDIO_IP
- && mgcp_msg->presence & MGCP_MSG_PRESENCE_AUDIO_PORT)
+ if (((mgcp_msg->presence & MGCP_MSG_PRESENCE_AUDIO_IP)
+ && (mgcp_msg->presence & MGCP_MSG_PRESENCE_AUDIO_PORT))
+ || mgcp_msg->sdp[0] != '\0')
use_sdp = true;
/* Add local connection options (LCO) */
diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c
index 660f0ad..4a33df5 100644
--- a/src/libosmo-mgcp-client/mgcp_client_fsm.c
+++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c
@@ -140,6 +140,9 @@
mgcp_msg->audio_ip = info->addr;
mgcp_msg->audio_port = info->port;
mgcp_msg->conn_mode = MGCP_CONN_RECV_SEND;
+
+ if (info->sdp[0] != '\0')
+ OSMO_STRLCPY_ARRAY(mgcp_msg->sdp, info->sdp);
}
static void set_conn_mode(struct mgcp_msg *mgcp_msg, struct mgcp_conn_peer *peer)
@@ -179,6 +182,9 @@
mgcp_msg.presence |= MGCP_MSG_PRESENCE_X_OSMO_OSMUX_CID;
}
+ if (mgcp_ctx->conn_peer_local.sdp[0] != '\0')
+ OSMO_STRLCPY_ARRAY(mgcp_msg.sdp, mgcp_ctx->conn_peer_local.sdp);
+
/* Note: We take the endpoint and the call_id from the remote
* connection info, because we can be confident that the
* information there is valid. For the local info, we explicitly
@@ -319,6 +325,9 @@
return;
}
+ if (r->sdp && r->sdp[0] != '\0')
+ OSMO_STRLCPY_ARRAY(mgcp_ctx->conn_peer_remote.sdp, r->sdp);
+
mgcp_ctx->conn_peer_remote.call_id = mgcp_ctx->conn_peer_local.call_id;
osmo_fsm_inst_dispatch(fi, EV_CRCX_RESP, mgcp_ctx);
@@ -426,6 +435,9 @@
osmo_strlcpy(mgcp_ctx->conn_peer_remote.addr, r->audio_ip, sizeof(mgcp_ctx->conn_peer_remote.addr));
mgcp_ctx->conn_peer_remote.port = r->audio_port;
+ if (r->sdp && r->sdp[0] != '\0')
+ OSMO_STRLCPY_ARRAY(mgcp_ctx->conn_peer_remote.sdp, r->sdp);
+
osmo_fsm_inst_dispatch(fi, EV_MDCX_RESP, mgcp_ctx);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/32163
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Ib26b4d24546a9a9af65d4313fdf87cdeff9cbc22
Gerrit-Change-Number: 32163
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/32159 )
Change subject: Move paging queue specific handling to signal callback outside RSL code
......................................................................
Move paging queue specific handling to signal callback outside RSL code
The signal is already there but not being used.
Let's further split generic paging code from RSL specificites.
Change-Id: Iabc1c29908a5136501d6dc6e60f8777dab511b86
---
M src/osmo-bsc/abis_rsl.c
M src/osmo-bsc/paging.c
2 files changed, 29 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/32159/1
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 6a9712e..dfe7da9 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -2311,10 +2311,9 @@
switch (rslh->data[0]) {
case RSL_IE_PAGING_LOAD:
sd.pg_buf_space = rslh->data[1] << 8 | rslh->data[2];
- if (is_ipaccess_bts(sign_link->trx->bts) && sd.pg_buf_space == UINT16_MAX) {
+ if (is_ipaccess_bts(sd.bts) && sd.pg_buf_space == UINT16_MAX) {
sd.pg_buf_space = paging_estimate_available_slots(sd.bts, sd.bts->ccch_load_ind_period);
}
- paging_update_buffer_space(sign_link->trx->bts, sd.pg_buf_space);
osmo_signal_dispatch(SS_CCCH, S_CCCH_PAGING_LOAD, &sd);
break;
case RSL_IE_RACH_LOAD:
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index e6f6fe4..6fc053f 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -841,8 +841,24 @@
return 0;
}
+/* Callback function to be called every time we receive a signal from CCCH */
+static int ccch_sig_cb(unsigned int subsys, unsigned int signal,
+ void *handler_data, void *signal_data)
+{
+ struct ccch_signal_data *sd;
+
+ if (signal != S_CCCH_PAGING_LOAD)
+ return 0;
+
+ sd = signal_data;
+
+ paging_update_buffer_space(sd->bts, sd->pg_buf_space);
+ return 0;
+}
+
/* To be called once at startup of the process: */
void paging_global_init(void)
{
osmo_signal_register_handler(SS_NM, nm_sig_cb, NULL);
+ osmo_signal_register_handler(SS_CCCH, ccch_sig_cb, NULL);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/32159
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Iabc1c29908a5136501d6dc6e60f8777dab511b86
Gerrit-Change-Number: 32159
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/32139 )
Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts
......................................................................
tests: use -no-install libtool flag to avoid ./lt-* scripts
This option should be used for any executables which are used only
for testing, or for generating other files and are consequently never
installed. By specifying this option, we are telling Libtool that
the executable it links will only ever be executed from where it is
built in the build tree. Libtool is usually able to considerably
speed up the link process for such executables.
Change-Id: Id5f88c331cf1dfd3f38120b4ef59ced9a563d4f0
---
M tests/ranap_rab_ass/Makefile.am
1 file changed, 18 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/tests/ranap_rab_ass/Makefile.am b/tests/ranap_rab_ass/Makefile.am
index 1278ae8..918682c 100644
--- a/tests/ranap_rab_ass/Makefile.am
+++ b/tests/ranap_rab_ass/Makefile.am
@@ -15,6 +15,8 @@
$(COVERAGE_CFLAGS) \
$(NULL)
+AM_LDFLAGS = -no-install
+
EXTRA_DIST = \
ranap_rab_ass_test.ok \
$(NULL)
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/32139
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Id5f88c331cf1dfd3f38120b4ef59ced9a563d4f0
Gerrit-Change-Number: 32139
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32153 )
Change subject: MGCP_Test: support multiple codecs
......................................................................
Patch Set 4:
This change is ready for review.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32153
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I8422313fccad1bfcee52c933f643068bebdaf2d5
Gerrit-Change-Number: 32153
Gerrit-PatchSet: 4
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Thu, 30 Mar 2023 12:13:22 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/32155
to look at the new patch set (#2).
Change subject: modem: initial SM layer support through libosmo-gprs-sm
......................................................................
modem: initial SM layer support through libosmo-gprs-sm
Depends: libosmo-gprs.git Change-Id I9b4a9a6364f7799540475e7e1d10ab2310768281
Related: OS#5501
Change-Id: I9476d93954c7dc348e6f97ca89eaa651f802f9a0
---
M src/host/layer23/configure.ac
M src/host/layer23/include/osmocom/bb/common/logging.h
M src/host/layer23/include/osmocom/bb/modem/Makefile.am
A src/host/layer23/include/osmocom/bb/modem/sm.h
M src/host/layer23/src/common/logging.c
M src/host/layer23/src/modem/Makefile.am
M src/host/layer23/src/modem/app_modem.c
A src/host/layer23/src/modem/sm.c
M src/host/layer23/src/modem/vty.c
9 files changed, 228 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/55/32155/2
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32155
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I9476d93954c7dc348e6f97ca89eaa651f802f9a0
Gerrit-Change-Number: 32155
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria.
Hello Jenkins Builder, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/32154
to look at the new patch set (#3).
Change subject: Introduce libosmo-gprs-sm
......................................................................
Introduce libosmo-gprs-sm
This patch itnroduces all the boilerplate required to build and package
a new libosmo-gprs-sm.so library, which aims to contain the SM layer
implementation.
A minimal implementation is provided together with a unit test,
showcasing Activation of a PDP Context and requesting implicit GPRS
attach to GMM if it is not yet attached.
This commit also adds/improves code in GMM layer implementing the GMMSM
SAP which is used to interact SM<->GMM.
Related: OS#5501
Change-Id: I9b4a9a6364f7799540475e7e1d10ab2310768281
---
M Makefile.am
M configure.ac
M contrib/libosmo-gprs.spec.in
M debian/control
A debian/libosmo-gprs-sm-dev.install
A debian/libosmo-gprs-sm0.install
M include/osmocom/gprs/Makefile.am
M include/osmocom/gprs/gmm/gmm_ms_fsm.h
M include/osmocom/gprs/gmm/gmm_prim.h
M include/osmocom/gprs/gmm/gmm_private.h
A include/osmocom/gprs/sm/Makefile.am
A include/osmocom/gprs/sm/sm.h
A include/osmocom/gprs/sm/sm_ms_fsm.h
A include/osmocom/gprs/sm/sm_pdu.h
A include/osmocom/gprs/sm/sm_prim.h
A include/osmocom/gprs/sm/sm_private.h
A libosmo-gprs-sm.pc.in
M src/Makefile.am
M src/gmm/gmm.c
M src/gmm/gmm_ms_fsm.c
M src/gmm/gmm_prim.c
A src/sm/Makefile.am
A src/sm/misc.c
A src/sm/sm.c
A src/sm/sm_ms_fsm.c
A src/sm/sm_pdu.c
A src/sm/sm_prim.c
M tests/Makefile.am
M tests/gmm/gmm_prim_test.c
M tests/gmm/gmm_prim_test.err
M tests/gmm/gmm_prim_test.ok
A tests/sm/Makefile.am
A tests/sm/sm_prim_test.c
A tests/sm/sm_prim_test.err
A tests/sm/sm_prim_test.ok
M tests/testsuite.at
36 files changed, 2,501 insertions(+), 60 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/54/32154/3
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/32154
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I9b4a9a6364f7799540475e7e1d10ab2310768281
Gerrit-Change-Number: 32154
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/32154
to look at the new patch set (#2).
Change subject: Introduce libosmo-gprs-sm
......................................................................
Introduce libosmo-gprs-sm
This patch itnroduces all the boilerplate required to build and package
a new libosmo-gprs-sm.so library, which aims to contain the SM layer
implementation.
A minimal implementation is provided together with a unit test,
showcasing Activation of a PDP Context and requesting implicit GPRS
attach to GMM if it is not yet attached.
This commit also adds/improves code in GMM layer implementing the GMMSM
SAP which is used to interact SM<->GMM.
Related: OS#5501
Change-Id: I9b4a9a6364f7799540475e7e1d10ab2310768281
---
M Makefile.am
M configure.ac
M contrib/libosmo-gprs.spec.in
M debian/control
A debian/libosmo-gprs-sm-dev.install
A debian/libosmo-gprs-sm0.install
M include/osmocom/gprs/Makefile.am
M include/osmocom/gprs/gmm/gmm_ms_fsm.h
M include/osmocom/gprs/gmm/gmm_prim.h
M include/osmocom/gprs/gmm/gmm_private.h
A include/osmocom/gprs/sm/Makefile.am
A include/osmocom/gprs/sm/sm.h
A include/osmocom/gprs/sm/sm_ms_fsm.h
A include/osmocom/gprs/sm/sm_pdu.h
A include/osmocom/gprs/sm/sm_prim.h
A include/osmocom/gprs/sm/sm_private.h
A libosmo-gprs-sm.pc.in
M src/Makefile.am
M src/gmm/gmm.c
M src/gmm/gmm_ms_fsm.c
M src/gmm/gmm_prim.c
A src/sm/Makefile.am
A src/sm/misc.c
A src/sm/sm.c
A src/sm/sm_ms_fsm.c
A src/sm/sm_pdu.c
A src/sm/sm_prim.c
M tests/Makefile.am
M tests/gmm/gmm_prim_test.c
M tests/gmm/gmm_prim_test.err
M tests/gmm/gmm_prim_test.ok
A tests/sm/Makefile.am
A tests/sm/sm_prim_test.c
A tests/sm/sm_prim_test.err
A tests/sm/sm_prim_test.ok
M tests/testsuite.at
36 files changed, 2,453 insertions(+), 60 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/54/32154/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/32154
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I9b4a9a6364f7799540475e7e1d10ab2310768281
Gerrit-Change-Number: 32154
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset