summaryrefslogtreecommitdiffstats
path: root/include/osmocore/mncc.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-03-07 23:39:54 +0100
committerHarald Welte <laforge@gnumonks.org>2010-03-07 23:39:54 +0100
commit1e9086684f258a9b8eed8f5c8d7d4f6c98665636 (patch)
treee4313c497771ed6a48dc2377959743e71df0712a /include/osmocore/mncc.h
parentf8b2ba7dc850396c5910e8c76875e75d37479d34 (diff)
import GSM04.08 encode/decode functions and mncc.h from openbsc
Diffstat (limited to 'include/osmocore/mncc.h')
-rw-r--r--include/osmocore/mncc.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/include/osmocore/mncc.h b/include/osmocore/mncc.h
new file mode 100644
index 00000000..a094bb9b
--- /dev/null
+++ b/include/osmocore/mncc.h
@@ -0,0 +1,71 @@
+#ifndef _OSMOCORE_MNCC_H
+#define _OSMOCORE_MNCC_H
+
+#define GSM_MAX_FACILITY 128
+#define GSM_MAX_SSVERSION 128
+#define GSM_MAX_USERUSER 128
+
+/* Expanded fields from GSM TS 04.08, Table 10.5.102 */
+struct gsm_mncc_bearer_cap {
+ int transfer; /* Information Transfer Capability */
+ int mode; /* Transfer Mode */
+ int coding; /* Coding Standard */
+ int radio; /* Radio Channel Requirement */
+ int speech_ctm; /* CTM text telephony indication */
+ int speech_ver[8]; /* Speech version indication */
+};
+
+struct gsm_mncc_number {
+ int type;
+ int plan;
+ int present;
+ int screen;
+ char number[33];
+};
+
+struct gsm_mncc_cause {
+ int location;
+ int coding;
+ int rec;
+ int rec_val;
+ int value;
+ int diag_len;
+ char diag[32];
+};
+
+struct gsm_mncc_useruser {
+ int proto;
+ char info[GSM_MAX_USERUSER + 1]; /* + termination char */
+};
+
+struct gsm_mncc_progress {
+ int coding;
+ int location;
+ int descr;
+};
+
+struct gsm_mncc_facility {
+ int len;
+ char info[GSM_MAX_FACILITY];
+};
+
+struct gsm_mncc_ssversion {
+ int len;
+ char info[GSM_MAX_SSVERSION];
+};
+
+struct gsm_mncc_cccap {
+ int dtmf;
+ int pcp;
+};
+
+enum {
+ GSM_MNCC_BCAP_SPEECH = 0,
+ GSM_MNCC_BCAP_UNR_DIG = 1,
+ GSM_MNCC_BCAP_AUDIO = 2,
+ GSM_MNCC_BCAP_FAX_G3 = 3,
+ GSM_MNCC_BCAP_OTHER_ITC = 5,
+ GSM_MNCC_BCAP_RESERVED = 7,
+};
+
+#endif