summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/protocol
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2017-03-24 18:03:17 +0100
committerHarald Welte <laforge@gnumonks.org>2017-04-08 07:44:45 +0000
commit6f725d6da3b488558e78d4ba8dacfecde196f07f (patch)
tree836a3fdaf1472515de807a7116a40091c3d3a23b /include/osmocom/gsm/protocol
parent22401433aad9f19074229f00d4f3b091de4804ce (diff)
gsm0808: Add utils for Speech Codec List and Speech Codec
The planned support for true A over IP requires the encoding and decoding of a so called "Speech Codec Element" element. This commt adds parsing functionality and tests for the element mentioned above, however, it is not yet actively used. Change-Id: I0e1e2edf47adaa45b22d4b0bcae3640dba7ca200
Diffstat (limited to 'include/osmocom/gsm/protocol')
-rw-r--r--include/osmocom/gsm/protocol/gsm_08_08.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h
index 6fb4e9e8..3e5514dc 100644
--- a/include/osmocom/gsm/protocol/gsm_08_08.h
+++ b/include/osmocom/gsm/protocol/gsm_08_08.h
@@ -3,6 +3,9 @@
#pragma once
#include <stdlib.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <osmocom/core/linuxlist.h>
/*
* this is from GSM 03.03 CGI but is copied in GSM 08.08
@@ -416,3 +419,22 @@ enum gsm0808_paging_info {
GSM0808_PAGINF_FOR_SMS = 0x01,
GSM0808_PAGINF_FOR_USSD = 0x02,
};
+
+/* 3GPP TS 48.008 3.2.2.104 Speech Codec */
+struct gsm0808_speech_codec {
+ bool fi;
+ bool pi;
+ bool pt;
+ bool tf;
+ uint8_t type;
+ uint16_t cfg;
+ bool type_extended;
+ bool cfg_present;
+};
+
+/* 3GPP TS 48.008 3.2.2.103 Speech Codec List */
+#define SPEECH_CODEC_MAXLEN 255
+struct gsm0808_speech_codec_list {
+ struct gsm0808_speech_codec codec[SPEECH_CODEC_MAXLEN];
+ uint8_t len;
+};