diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-03-24 18:03:17 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-04-08 07:44:45 +0000 |
commit | 6f725d6da3b488558e78d4ba8dacfecde196f07f (patch) | |
tree | 836a3fdaf1472515de807a7116a40091c3d3a23b /include/osmocom/gsm/protocol | |
parent | 22401433aad9f19074229f00d4f3b091de4804ce (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.h | 22 |
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; +}; |