mncc: rework passing GCR over the MNCC interface
Using *unpacked* 'struct osmo_gcr_parsed' in the MNCC PDUs makes
the protocol even more complicated than it currently is, and
moreover complicates implementing MNCCv8 in the ttcn3-sip-test.
Replace 'struct osmo_gcr_parsed' in 'struct gsm_mncc' with a
fixed-length buffer, which is supposed to hold the Global Call
Reference encoded as per 3GPP TS 29.205.
Indicate presence of GCR using the MNCC_F_GCR flag.
Change-Id: I259b6d7e4cbe26159b9b496356fc7c1c27d54521
Fixes: I705c860e51637b4537cad65a330ecbaaca96dd5b
Related: OS#5164, OS#5282
diff --git a/include/osmocom/msc/mncc.h b/include/osmocom/msc/mncc.h
index 5002227..06a5dcc 100644
--- a/include/osmocom/msc/mncc.h
+++ b/include/osmocom/msc/mncc.h
@@ -26,7 +26,6 @@
#include <osmocom/core/linuxlist.h>
#include <osmocom/gsm/mncc.h>
-#include <osmocom/gsm/gsm29205.h>
#include <stdint.h>
#include <netinet/in.h>
@@ -125,6 +124,7 @@
#define MNCC_F_CCCAP 0x0800
#define MNCC_F_KEYPAD 0x1000
#define MNCC_F_SIGNAL 0x2000
+#define MNCC_F_GCR 0x4000
struct gsm_mncc {
/* context based information */
@@ -161,7 +161,10 @@
unsigned char lchan_type;
unsigned char lchan_mode;
- struct osmo_gcr_parsed gcr;
+
+ /* Global Call Reference (encoded as per 3GPP TS 29.205) */
+ uint8_t gcr[16];
+
/* A buffer to contain SDP ('\0' terminated) */
char sdp[1024];
};