<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/24420">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOS<br><br>Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e<br>Related: SYS#4895, OS#4941, SYS#5315, OS#4940<br>---<br>M include/osmocom/gsm/protocol/gsm_08_58.h<br>M src/gsm/rsl.c<br>M src/gsmtap_util.c<br>3 files changed, 19 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/24420/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h</span><br><span>index 97c02e8..9a6e761 100644</span><br><span>--- a/include/osmocom/gsm/protocol/gsm_08_58.h</span><br><span>+++ b/include/osmocom/gsm/protocol/gsm_08_58.h</span><br><span>@@ -53,6 +53,10 @@</span><br><span> #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4        0x19 /*< non-standard, for CBCH/SDCCH4 */</span><br><span> #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8       0x1a /*< non-standard, for CBCH/SDCCH8 */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */</span><br><span style="color: hsl(120, 100%, 40%);">+#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs  0x1d            /*< VAMOS TCH/F */</span><br><span style="color: hsl(120, 100%, 40%);">+#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(ss)   (0x1e + (ss))   /*< VAMOS TCH/H */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Link Identifier 9.3.2 */</span><br><span> union abis_rsl_link_id {</span><br><span> #if OSMO_IS_BIG_ENDIAN</span><br><span>@@ -455,6 +459,10 @@</span><br><span> #define RSL_CHAN_OSMO_CBCH4      0xc8    /*< non-standard, for CBCH/SDCCH4 */</span><br><span> #define RSL_CHAN_OSMO_CBCH8  0xd0    /*< non-standard, for CBCH/SDCCH8 */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */</span><br><span style="color: hsl(120, 100%, 40%);">+#define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs     0xe8    /* VAMOS TCH/F */</span><br><span style="color: hsl(120, 100%, 40%);">+#define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0    /* VAMOS TCH/H */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Chapter 9.3.3 */</span><br><span> #define RSL_ACT_TYPE_INITIAL      0x00</span><br><span> #define RSL_ACT_TYPE_REACT      0x80</span><br><span>diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c</span><br><span>index 706fb54..a7fa81d 100644</span><br><span>--- a/src/gsm/rsl.c</span><br><span>+++ b/src/gsm/rsl.c</span><br><span>@@ -159,6 +159,7 @@</span><br><span> </span><br><span>      switch (type) {</span><br><span>      case RSL_CHAN_Lm_ACCHs:</span><br><span style="color: hsl(120, 100%, 40%);">+       case RSL_CHAN_OSMO_VAMOS_Lm_ACCHs:</span><br><span>           subch &= 0x01;</span><br><span>           break;</span><br><span>       case RSL_CHAN_SDCCH4_ACCH:</span><br><span>@@ -195,6 +196,7 @@</span><br><span>     case RSL_CHAN_OSMO_PDCH:</span><br><span>     case RSL_CHAN_OSMO_CBCH4:</span><br><span>    case RSL_CHAN_OSMO_CBCH8:</span><br><span style="color: hsl(120, 100%, 40%);">+     case RSL_CHAN_OSMO_VAMOS_Bm_ACCHs:</span><br><span>           *type = chan_nr & RSL_CHAN_NR_MASK;</span><br><span>              *subch = 0;</span><br><span>          break;</span><br><span>@@ -208,6 +210,9 @@</span><br><span>                 } else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) {</span><br><span>                   *type = RSL_CHAN_SDCCH8_ACCH;</span><br><span>                        *subch = (chan_nr >> 3) & 0x7;</span><br><span style="color: hsl(120, 100%, 40%);">+              } else if ((chan_nr & 0xf0) == RSL_CHAN_OSMO_VAMOS_Lm_ACCHs) {</span><br><span style="color: hsl(120, 100%, 40%);">+                    *type = RSL_CHAN_OSMO_VAMOS_Lm_ACCHs;</span><br><span style="color: hsl(120, 100%, 40%);">+                 *subch = (chan_nr >> 3) & 0x1;</span><br><span>             } else</span><br><span>                       return -EINVAL;</span><br><span>      }</span><br><span>@@ -246,6 +251,10 @@</span><br><span>             snprintf(buf, buf_len, "CBCH(SDCCH/4) on TS%d", ts);</span><br><span>       else if (cbits == ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8)</span><br><span>                 snprintf(buf, buf_len, "CBCH(SDCCH/8) on TS%d", ts);</span><br><span style="color: hsl(120, 100%, 40%);">+        else if (cbits == ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs)</span><br><span style="color: hsl(120, 100%, 40%);">+         snprintf(buf, buf_len, "VAMOS TCH/F on TS%d", ts);</span><br><span style="color: hsl(120, 100%, 40%);">+  else if ((cbits & 0x1e) == ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0))</span><br><span style="color: hsl(120, 100%, 40%);">+         snprintf(buf, buf_len, "VAMOS TCH/H(%u) on TS%d", cbits & 0x01, ts);</span><br><span>   else</span><br><span>                 snprintf(buf, buf_len, "UNKNOWN on TS%d", ts);</span><br><span> </span><br><span>diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c</span><br><span>index 336e1d0..9ae06d6 100644</span><br><span>--- a/src/gsmtap_util.c</span><br><span>+++ b/src/gsmtap_util.c</span><br><span>@@ -63,12 +63,14 @@</span><br><span> </span><br><span>      switch (rsl_chantype) {</span><br><span>      case RSL_CHAN_Bm_ACCHs:</span><br><span style="color: hsl(120, 100%, 40%);">+       case RSL_CHAN_OSMO_VAMOS_Bm_ACCHs:</span><br><span>           if (user_plane)</span><br><span>                      ret = GSMTAP_CHANNEL_VOICE_F;</span><br><span>                else</span><br><span>                         ret = GSMTAP_CHANNEL_FACCH_F;</span><br><span>                break;</span><br><span>       case RSL_CHAN_Lm_ACCHs:</span><br><span style="color: hsl(120, 100%, 40%);">+       case RSL_CHAN_OSMO_VAMOS_Lm_ACCHs:</span><br><span>           if (user_plane)</span><br><span>                      ret = GSMTAP_CHANNEL_VOICE_H;</span><br><span>                else</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/24420">change 24420</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/+/24420"/><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: If33c1695922d110c0d2c60d5c0136caf2587194e </div>
<div style="display:none"> Gerrit-Change-Number: 24420 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>