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/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/736
IuPS: GMM Service Request: add local gsm_04_08_gprs.h and .c
These items will probably move to libosmocore's gsm_04_08_gprs.h and .c, add
them here in openbsc until things have settled.
Change-Id: Iaf9316f07d21280b6e090d65892c338f9555313a
---
M openbsc/include/openbsc/Makefile.am
A openbsc/include/openbsc/gsm_04_08_gprs.h
M openbsc/src/gprs/Makefile.am
M openbsc/src/gprs/gprs_gmm.c
A openbsc/src/gprs/gsm_04_08_gprs.c
M openbsc/tests/sgsn/Makefile.am
6 files changed, 62 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/36/736/1
diff --git a/openbsc/include/openbsc/Makefile.am b/openbsc/include/openbsc/Makefile.am
index 2bca6b7..d0f1ca2 100644
--- a/openbsc/include/openbsc/Makefile.am
+++ b/openbsc/include/openbsc/Makefile.am
@@ -8,7 +8,7 @@
vty.h socket.h e1_config.h trau_upqueue.h token_auth.h \
handover_decision.h rrlp.h \
crc24.h gprs_llc.h gprs_gmm.h \
- gb_proxy.h gprs_sgsn.h sgsn.h \
+ gb_proxy.h gprs_sgsn.h gsm_04_08_gprs.h sgsn.h \
auth.h osmo_msc.h bsc_msc.h bsc_nat.h \
osmo_bsc_rf.h osmo_bsc.h network_listen.h bsc_nat_sccp.h \
osmo_msc_data.h osmo_bsc_grace.h sms_queue.h abis_om2000.h \
diff --git a/openbsc/include/openbsc/gsm_04_08_gprs.h b/openbsc/include/openbsc/gsm_04_08_gprs.h
new file mode 100644
index 0000000..42b9a79
--- /dev/null
+++ b/openbsc/include/openbsc/gsm_04_08_gprs.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <osmocom/gsm/protocol/gsm_04_08_gprs.h>
+
+/* TODO: Move this to osmocom/gsm/protocol/gsm_04_08_gprs.h ? */
+
+/* Table 10.4 in 3GPP TS 24.008 (successor to 04.08) */
+#define GSM48_MT_GMM_SERVICE_REQ 0x0c
+#define GSM48_MT_GMM_SERVICE_ACK 0x0d
+#define GSM48_MT_GMM_SERVICE_REJ 0x0e
+
+/* 3GPP 24.008 / Chapter 10.5.5.20 / Table 10.5.153a */
+enum gsm48_gmm_service_type {
+ GPRS_SERVICE_T_SIGNALLING = 0x00,
+ GPRS_SERVICE_T_DATA = 0x01,
+ GPRS_SERVICE_T_PAGING_RESP = 0x02,
+ GPRS_SERVICE_T_MBMS_MC_SERV = 0x03,
+ GPRS_SERVICE_T_MBMS_BC_SERV = 0x04,
+};
+
+extern const struct value_string *gprs_service_t_strs;
diff --git a/openbsc/src/gprs/Makefile.am b/openbsc/src/gprs/Makefile.am
index cc135f7..191f115 100644
--- a/openbsc/src/gprs/Makefile.am
+++ b/openbsc/src/gprs/Makefile.am
@@ -31,7 +31,7 @@
gprs_llc.c gprs_llc_parse.c gprs_llc_vty.c crc24.c \
sgsn_ctrl.c sgsn_auth.c gprs_subscriber.c \
gprs_utils.c gprs_gsup_client.c \
- sgsn_cdr.c sgsn_ares.c \
+ gsm_04_08_gprs.c sgsn_cdr.c sgsn_ares.c \
oap.c oap_messages.c
osmo_sgsn_LDADD = \
$(top_builddir)/src/libcommon/libcommon.a
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c
index 1c0418b..aac3d86 100644
--- a/openbsc/src/gprs/gprs_gmm.c
+++ b/openbsc/src/gprs/gprs_gmm.c
@@ -44,7 +44,6 @@
#include <osmocom/core/rate_ctr.h>
#include <osmocom/crypt/auth.h>
#include <osmocom/gsm/apn.h>
-#include <osmocom/gsm/protocol/gsm_04_08_gprs.h>
#include <osmocom/gprs/gprs_bssgp.h>
@@ -56,6 +55,7 @@
#include <openbsc/gsm_data.h>
#include <openbsc/gsm_subscriber.h>
#include <openbsc/gsm_04_08.h>
+#include <openbsc/gsm_04_08_gprs.h>
#include <openbsc/paging.h>
#include <openbsc/transaction.h>
#include <openbsc/gprs_llc.h>
diff --git a/openbsc/src/gprs/gsm_04_08_gprs.c b/openbsc/src/gprs/gsm_04_08_gprs.c
new file mode 100644
index 0000000..90657eb
--- /dev/null
+++ b/openbsc/src/gprs/gsm_04_08_gprs.c
@@ -0,0 +1,37 @@
+/* (C) 2009-2010 by Harald Welte <laforge at gnumonks.org>
+ * (C) 2010 by On-Waves
+ * (C) 2014-2015 by Sysmocom s.f.m.c. GmbH
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/* TODO: Move this to osmocom/gsm/protocol/gsm_04_08_gprs.h ? */
+
+#include <openbsc/gsm_04_08_gprs.h>
+
+#include <osmocom/core/utils.h>
+
+const struct value_string gprs_service_t_strs_[] = {
+ { GPRS_SERVICE_T_SIGNALLING, "signalling" },
+ { GPRS_SERVICE_T_DATA, "data" },
+ { GPRS_SERVICE_T_PAGING_RESP, "paging response" },
+ { GPRS_SERVICE_T_MBMS_MC_SERV, "MBMS multicast service" },
+ { GPRS_SERVICE_T_MBMS_BC_SERV, "MBMS broadcast service" },
+ { 0, NULL }
+};
+
+const struct value_string *gprs_service_t_strs = gprs_service_t_strs_;
diff --git a/openbsc/tests/sgsn/Makefile.am b/openbsc/tests/sgsn/Makefile.am
index 025e2c9..4931b3f 100644
--- a/openbsc/tests/sgsn/Makefile.am
+++ b/openbsc/tests/sgsn/Makefile.am
@@ -30,6 +30,7 @@
$(top_builddir)/src/gprs/gprs_gsup_client.o \
$(top_builddir)/src/gprs/gprs_utils.o \
$(top_builddir)/src/gprs/gprs_subscriber.o \
+ $(top_builddir)/src/gprs/gsm_04_08_gprs.o \
$(top_builddir)/src/gprs/gprs_gb_parse.o \
$(top_builddir)/src/gprs/oap.o \
$(top_builddir)/src/gprs/oap_messages.o \
--
To view, visit https://gerrit.osmocom.org/736
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf9316f07d21280b6e090d65892c338f9555313a
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>