[PATCH] osmo-bts[master]: Save RTP metadata in Control Buffer

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Wed Dec 7 12:48:54 UTC 2016


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/1343

to look at the new patch set (#2).

Save RTP metadata in Control Buffer

Having RTP metadata is useful for debugging - save Sequence Number and
Timestamp next to Marker bit from RTP header.

Change-Id: I359b3bcb74fbfc071547fe2f9d837829374fe997
---
M include/osmo-bts/msg_utils.h
M src/common/l1sap.c
2 files changed, 17 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/1343/2

diff --git a/include/osmo-bts/msg_utils.h b/include/osmo-bts/msg_utils.h
index 4f9868c..c5cd754 100644
--- a/include/osmo-bts/msg_utils.h
+++ b/include/osmo-bts/msg_utils.h
@@ -16,6 +16,12 @@
 /* Access 1st byte of msgb control buffer */
 #define rtpmsg_marker_bit(x) ((x)->cb[0])
 
+/* Access 2nd byte of msgb control buffer */
+#define rtpmsg_seq(x) ((x)->cb[1])
+
+/* Access 3rd byte of msgb control buffer */
+#define rtpmsg_ts(x) ((x)->cb[2])
+
 /**
  * Classification of OML message. ETSI for plain GSM 12.21
  * messages and IPA/Osmo for manufacturer messages.
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 553011f..0274d91 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -662,7 +662,8 @@
 	struct gsm_time g_time;
 	struct gsm_lchan *lchan;
 	uint8_t chan_nr, marker = 0;
-	uint32_t fn;
+	uint16_t seq;
+	uint32_t fn, timestamp;
 
 	chan_nr = rts_ind->chan_nr;
 	fn = rts_ind->fn;
@@ -695,6 +696,10 @@
 	} else {
 		/* Obtain RTP header Marker bit from control buffer */
 		marker = rtpmsg_marker_bit(resp_msg);
+		/* Obtain RTP header Sequence Number from control buffer */
+		seq = rtpmsg_seq(resp_msg);
+		/* Obtain RTP header Timestamp from control buffer */
+		timestamp = rtpmsg_ts(resp_msg);
 
 		resp_msg->l2h = resp_msg->data;
 		msgb_push(resp_msg, sizeof(*resp_l1sap));
@@ -1075,8 +1080,12 @@
 
 	/* Store RTP header Marker bit in control buffer */
 	rtpmsg_marker_bit(msg) = marker;
+	/* Store RTP header Sequence Number in control buffer */
+	rtpmsg_seq(msg) = seq_number;
+	/* Store RTP header Timestamp in control buffer */
+	rtpmsg_ts(msg) = timestamp;
 
-	 /* make sure the queue doesn't get too long */
+	/* make sure the queue doesn't get too long */
 	llist_for_each_entry(tmp, &lchan->dl_tch_queue, list)
 	count++;
 	while (count >= 2) {

-- 
To view, visit https://gerrit.osmocom.org/1343
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I359b3bcb74fbfc071547fe2f9d837829374fe997
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list