diff options
author | Harald Welte <laforge@osmocom.org> | 2020-02-27 15:42:58 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-03-05 21:15:38 +0000 |
commit | 1d3e9de26b00d2ea30e39a074bdfe151430017f7 (patch) | |
tree | f08fb78862f2a9287fd293984c02440b59d9db67 /include | |
parent | fde9fdc1d3602b78d2e1ef8e1f9b7cda483976c3 (diff) |
gsmtap.h: Add definitions for voice inside GSMTAP
We so far are only able to transmit signalling data inside GSMTAP,
but not actual voice / user plane payload data.
we cannot use the existing TCHF/TCHH sub-types, as those are already
used [without further discrimination] for FACCH + SACCH Data on those
channels.
Instead, we will introduce a new GSMTAP_CHANNEL_VOICE sub-type, which
then will have the first byte for a sub-sub-type specifying the payload
format in detail.
Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8
Related: OS#2557
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/core/gsmtap.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/include/osmocom/core/gsmtap.h b/include/osmocom/core/gsmtap.h index 35ba71e5..87c18e31 100644 --- a/include/osmocom/core/gsmtap.h +++ b/include/osmocom/core/gsmtap.h @@ -82,8 +82,8 @@ #define GSMTAP_CHANNEL_SDCCH 0x06 #define GSMTAP_CHANNEL_SDCCH4 0x07 #define GSMTAP_CHANNEL_SDCCH8 0x08 -#define GSMTAP_CHANNEL_TCH_F 0x09 -#define GSMTAP_CHANNEL_TCH_H 0x0a +#define GSMTAP_CHANNEL_TCH_F 0x09 /* Actually, it's FACCH/F (signaling) */ +#define GSMTAP_CHANNEL_TCH_H 0x0a /* Actually, it's FACCH/H (signaling) */ #define GSMTAP_CHANNEL_PACCH 0x0b #define GSMTAP_CHANNEL_CBCH52 0x0c #define GSMTAP_CHANNEL_PDTCH 0x0d @@ -91,6 +91,7 @@ #define GSMTAP_CHANNEL_PDCH GSMTAP_CHANNEL_PDTCH #define GSMTAP_CHANNEL_PTCCH 0x0e #define GSMTAP_CHANNEL_CBCH51 0x0f +#define GSMTAP_CHANNEL_VOICE 0x10 /* voice codec payload (HR/FR/EFR/AMR) */ /* GPRS Coding Scheme CS1..4 */ #define GSMTAP_GPRS_CS_BASE 0x20 @@ -318,3 +319,26 @@ struct gsmtap_osmocore_log_hdr { uint32_t line_nr;/*!< line number */ } src_file; } __attribute__((packed)); + +/*! First byte of type==GSMTAP_TYPE_UM sub_type==GSMTAP_CHANNEL_VOICE payload */ +enum gsmtap_um_voice_type { + /*! 1 byte TOC + 112 bits (14 octets) = 15 octets payload; + * Reference is RFC5993 Section 5.2.1 + 3GPP TS 46.030 Annex B */ + GSMTAP_UM_VOICE_HR, + /*! 33 payload bytes; Reference is RFC3551 Section 4.5.8.1 */ + GSMTAP_UM_VOICE_FR, + /*! 31 payload bytes; Reference is RFC3551 Section 4.5.9 + ETSI TS 101 318 */ + GSMTAP_UM_VOICE_EFR, + /*! 1 byte TOC + 5..31 bytes = 6..32 bytes payload; RFC4867 octet-aligned */ + GSMTAP_UM_VOICE_AMR, + /* TODO: Revisit the types below; their usage; ... */ + GSMTAP_UM_VOICE_AMR_SID_BAD, + GSMTAP_UM_VOICE_AMR_ONSET, + GSMTAP_UM_VOICE_AMR_RATSCCH, + GSMTAP_UM_VOICE_AMR_SID_UPDATE_INH, + GSMTAP_UM_VOICE_AMR_SID_FIRST_P1, + GSMTAP_UM_VOICE_AMR_SID_FIRST_P2, + GSMTAP_UM_VOICE_AMR_SID_FIRST_INH, + GSMTAP_UM_VOICE_AMR_RATSCCH_MARKER, + GSMTAP_UM_VOICE_AMR_RATSCCH_DATA, +}; |