<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/17289">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gsmtap.h: Add definitions for voice inside GSMTAP<br><br>We so far are only able to transmit signalling data inside GSMTAP,<br>but not actual voice / user plane payload data.<br><br>we cannot use the existing TCHF/TCHH sub-types, as those are already<br>used [without further discrimination] for FACCH + SACCH Data on those<br>channels.<br><br>Instead, we will introduce a new GSMTAP_CHANNEL_VOICE sub-type, which<br>then will have the first byte for a sub-sub-type specifying the payload<br>format in detail.<br><br>Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8<br>Related: OS#2557<br>---<br>M include/osmocom/core/gsmtap.h<br>1 file changed, 26 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/core/gsmtap.h b/include/osmocom/core/gsmtap.h</span><br><span>index 35ba71e..87c18e3 100644</span><br><span>--- a/include/osmocom/core/gsmtap.h</span><br><span>+++ b/include/osmocom/core/gsmtap.h</span><br><span>@@ -82,8 +82,8 @@</span><br><span> #define GSMTAP_CHANNEL_SDCCH 0x06</span><br><span> #define GSMTAP_CHANNEL_SDCCH4   0x07</span><br><span> #define GSMTAP_CHANNEL_SDCCH8   0x08</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSMTAP_CHANNEL_TCH_F        0x09</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSMTAP_CHANNEL_TCH_H        0x0a</span><br><span style="color: hsl(120, 100%, 40%);">+#define GSMTAP_CHANNEL_TCH_F      0x09    /* Actually, it's FACCH/F (signaling) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define GSMTAP_CHANNEL_TCH_H      0x0a    /* Actually, it's FACCH/H (signaling) */</span><br><span> #define GSMTAP_CHANNEL_PACCH    0x0b</span><br><span> #define GSMTAP_CHANNEL_CBCH52   0x0c</span><br><span> #define GSMTAP_CHANNEL_PDTCH    0x0d</span><br><span>@@ -91,6 +91,7 @@</span><br><span> #define GSMTAP_CHANNEL_PDCH GSMTAP_CHANNEL_PDTCH</span><br><span> #define GSMTAP_CHANNEL_PTCCH    0x0e</span><br><span> #define GSMTAP_CHANNEL_CBCH51   0x0f</span><br><span style="color: hsl(120, 100%, 40%);">+#define GSMTAP_CHANNEL_VOICE      0x10    /* voice codec payload (HR/FR/EFR/AMR) */</span><br><span> </span><br><span> /* GPRS Coding Scheme CS1..4 */</span><br><span> #define GSMTAP_GPRS_CS_BASE 0x20</span><br><span>@@ -318,3 +319,26 @@</span><br><span>          uint32_t line_nr;/*!< line number */</span><br><span>      } src_file;</span><br><span> } __attribute__((packed));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/*! First byte of type==GSMTAP_TYPE_UM sub_type==GSMTAP_CHANNEL_VOICE payload */</span><br><span style="color: hsl(120, 100%, 40%);">+enum gsmtap_um_voice_type {</span><br><span style="color: hsl(120, 100%, 40%);">+    /*! 1 byte TOC + 112 bits (14 octets) = 15 octets payload;</span><br><span style="color: hsl(120, 100%, 40%);">+     *  Reference is RFC5993 Section 5.2.1 + 3GPP TS 46.030 Annex B */</span><br><span style="color: hsl(120, 100%, 40%);">+    GSMTAP_UM_VOICE_HR,</span><br><span style="color: hsl(120, 100%, 40%);">+   /*! 33 payload bytes; Reference is RFC3551 Section 4.5.8.1 */</span><br><span style="color: hsl(120, 100%, 40%);">+ GSMTAP_UM_VOICE_FR,</span><br><span style="color: hsl(120, 100%, 40%);">+   /*! 31 payload bytes; Reference is RFC3551 Section 4.5.9 + ETSI TS 101 318 */</span><br><span style="color: hsl(120, 100%, 40%);">+ GSMTAP_UM_VOICE_EFR,</span><br><span style="color: hsl(120, 100%, 40%);">+  /*! 1 byte TOC + 5..31 bytes = 6..32 bytes payload; RFC4867 octet-aligned */</span><br><span style="color: hsl(120, 100%, 40%);">+  GSMTAP_UM_VOICE_AMR,</span><br><span style="color: hsl(120, 100%, 40%);">+  /* TODO: Revisit the types below; their usage; ... */</span><br><span style="color: hsl(120, 100%, 40%);">+ GSMTAP_UM_VOICE_AMR_SID_BAD,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSMTAP_UM_VOICE_AMR_ONSET,</span><br><span style="color: hsl(120, 100%, 40%);">+    GSMTAP_UM_VOICE_AMR_RATSCCH,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSMTAP_UM_VOICE_AMR_SID_UPDATE_INH,</span><br><span style="color: hsl(120, 100%, 40%);">+   GSMTAP_UM_VOICE_AMR_SID_FIRST_P1,</span><br><span style="color: hsl(120, 100%, 40%);">+     GSMTAP_UM_VOICE_AMR_SID_FIRST_P2,</span><br><span style="color: hsl(120, 100%, 40%);">+     GSMTAP_UM_VOICE_AMR_SID_FIRST_INH,</span><br><span style="color: hsl(120, 100%, 40%);">+    GSMTAP_UM_VOICE_AMR_RATSCCH_MARKER,</span><br><span style="color: hsl(120, 100%, 40%);">+   GSMTAP_UM_VOICE_AMR_RATSCCH_DATA,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/17289">change 17289</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmocore/+/17289"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8 </div>
<div style="display:none"> Gerrit-Change-Number: 17289 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>