Change in osmo-bsc[master]: bsc: Add mgcp_port_to_cic() to determine CIC from RTP Port

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Fri May 25 18:58:17 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/9318 )

Change subject: bsc: Add mgcp_port_to_cic() to determine CIC from RTP Port
......................................................................

bsc: Add mgcp_port_to_cic() to determine CIC from RTP Port

Also: Move mgcp_timeslot_to_port() next to it, as they are
more or less the inverse transformation of each other.

Change-Id: Ica908e2bb8fc4e59e0d146b428c93a9efc385688
---
M include/osmocom/bsc/bsc_msc_data.h
M src/osmo-bsc/osmo_bsc_bssap.c
2 files changed, 22 insertions(+), 13 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h
index c69a9ca..2ace178 100644
--- a/include/osmocom/bsc/bsc_msc_data.h
+++ b/include/osmocom/bsc/bsc_msc_data.h
@@ -28,6 +28,7 @@
 #define _OSMO_MSC_DATA_H
 
 #include "bsc_msc.h"
+#include "debug.h"
 
 #include <osmocom/core/timer.h>
 #include <osmocom/gsm/protocol/gsm_04_08.h>
@@ -42,6 +43,7 @@
 #include <osmocom/gsm/gsm23003.h>
 
 #include <regex.h>
+#include <errno.h>
 
 struct osmo_bsc_rf;
 struct gsm_network;
@@ -164,5 +166,25 @@
 struct bsc_msc_data *osmo_msc_data_find(struct gsm_network *, int);
 struct bsc_msc_data *osmo_msc_data_alloc(struct gsm_network *, int);
 
+/* Helper function to calculate the port number for a given
+ * timeslot/multiplex. This functionality is needed to support
+ * the sccp-lite scenario where the MGW is handled externally */
+static inline int mgcp_timeslot_to_port(int multiplex, int timeslot, int base)
+{
+	if (timeslot == 0) {
+		LOGP(DLMGCP, LOGL_ERROR, "Timeslot should not be 0\n");
+		timeslot = 255;
+	}
+
+	return base + (timeslot + (32 * multiplex)) * 2;
+}
+
+static inline int mgcp_port_to_cic(uint16_t port, uint16_t base)
+{
+	if (port < base)
+		return -EINVAL;
+	return (port - base) / 2;
+}
+
 
 #endif
diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c
index 24dbc95..2adbb3f 100644
--- a/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/src/osmo-bsc/osmo_bsc_bssap.c
@@ -634,19 +634,6 @@
 	return -1;
 }
 
-/* Helper function to calculate the port number for a given
- * timeslot/multiplex. This functionality is needed to support
- * the sccp-lite scenario where the MGW is handled externally */
-static inline int mgcp_timeslot_to_port(int multiplex, int timeslot, int base)
-{
-	if (timeslot == 0) {
-		LOGP(DLMGCP, LOGL_ERROR, "Timeslot should not be 0\n");
-		timeslot = 255;
-	}
-
-	return base + (timeslot + (32 * multiplex)) * 2;
-}
-
 /*
  * Handle the assignment request message.
  *

-- 
To view, visit https://gerrit.osmocom.org/9318
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ica908e2bb8fc4e59e0d146b428c93a9efc385688
Gerrit-Change-Number: 9318
Gerrit-PatchSet: 2
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180525/88f3c903/attachment.htm>


More information about the gerrit-log mailing list