<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/25278">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">vty: Fix wrong TSC sent when activating lchan through VTY<br><br>TSC was initially set to -1 (to be picked by callee), but erased when<br>using designated initializers later on in the function, hence TSC being<br>set to 0. As a result, TSC 0 would be requested to the BTS, which may<br>have configured a different BSIC containing BCC!=0.<br><br>Related: SYS#5219<br>Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c<br>---<br>M src/osmo-bsc/bsc_vty.c<br>1 file changed, 10 insertions(+), 29 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/25278/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c</span><br><span>index 6d10426..4fb2434 100644</span><br><span>--- a/src/osmo-bsc/bsc_vty.c</span><br><span>+++ b/src/osmo-bsc/bsc_vty.c</span><br><span>@@ -1587,47 +1587,28 @@</span><br><span>                /* configure the lchan */</span><br><span>            lchan_select_set_type(lchan, lchan_t);</span><br><span>               if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 info = (struct lchan_activate_info) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           .activ_for = ACTIVATE_FOR_VTY,</span><br><span style="color: hsl(0, 100%, 40%);">-                          .ch_mode_rate = {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       .chan_mode = GSM48_CMODE_SPEECH_V1,</span><br><span style="color: hsl(0, 100%, 40%);">-                             },</span><br><span style="color: hsl(0, 100%, 40%);">-                              .requires_voice_stream = false,</span><br><span style="color: hsl(0, 100%, 40%);">-                 };</span><br><span style="color: hsl(120, 100%, 40%);">+                    info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1;</span><br><span style="color: hsl(120, 100%, 40%);">+                  info.requires_voice_stream = false;</span><br><span>          } else if (!strcmp(codec_str, "efr")) {</span><br><span style="color: hsl(0, 100%, 40%);">-                       info = (struct lchan_activate_info) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           .activ_for = ACTIVATE_FOR_VTY,</span><br><span style="color: hsl(0, 100%, 40%);">-                          .ch_mode_rate = {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       .chan_mode = GSM48_CMODE_SPEECH_EFR,</span><br><span style="color: hsl(0, 100%, 40%);">-                            },</span><br><span style="color: hsl(0, 100%, 40%);">-                              .requires_voice_stream = false,</span><br><span style="color: hsl(0, 100%, 40%);">-                 };</span><br><span style="color: hsl(120, 100%, 40%);">+                    info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_EFR;</span><br><span style="color: hsl(120, 100%, 40%);">+                 info.requires_voice_stream = false;</span><br><span>          } else if (!strcmp(codec_str, "amr")) {</span><br><span>                    if (amr_mode == -1) {</span><br><span>                                vty_out(vty, "%% AMR requires specification of AMR mode%s", VTY_NEWLINE);</span><br><span>                          return CMD_WARNING;</span><br><span>                  }</span><br><span style="color: hsl(0, 100%, 40%);">-                       info = (struct lchan_activate_info) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           .activ_for = ACTIVATE_FOR_VTY,</span><br><span style="color: hsl(0, 100%, 40%);">-                          .ch_mode_rate = {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       .chan_mode = GSM48_CMODE_SPEECH_AMR,</span><br><span style="color: hsl(0, 100%, 40%);">-                                    .s15_s0 = amr_modes[amr_mode],</span><br><span style="color: hsl(0, 100%, 40%);">-                          },</span><br><span style="color: hsl(0, 100%, 40%);">-                              .requires_voice_stream = false,</span><br><span style="color: hsl(0, 100%, 40%);">-                 };</span><br><span style="color: hsl(120, 100%, 40%);">+                    info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_AMR;</span><br><span style="color: hsl(120, 100%, 40%);">+                 info.ch_mode_rate.s15_s0 = amr_modes[amr_mode];</span><br><span style="color: hsl(120, 100%, 40%);">+                       info.requires_voice_stream = false;</span><br><span>          } else if (!strcmp(codec_str, "sig")) {</span><br><span style="color: hsl(0, 100%, 40%);">-                       info = (struct lchan_activate_info) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           .activ_for = ACTIVATE_FOR_VTY,</span><br><span style="color: hsl(0, 100%, 40%);">-                          .ch_mode_rate = {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       .chan_mode = GSM48_CMODE_SIGN,</span><br><span style="color: hsl(0, 100%, 40%);">-                          },</span><br><span style="color: hsl(0, 100%, 40%);">-                              .requires_voice_stream = false,</span><br><span style="color: hsl(0, 100%, 40%);">-                 };</span><br><span style="color: hsl(120, 100%, 40%);">+                    info.ch_mode_rate.chan_mode = GSM48_CMODE_SIGN;</span><br><span style="color: hsl(120, 100%, 40%);">+                       info.requires_voice_stream = false;</span><br><span>          } else {</span><br><span>                     vty_out(vty, "%% Invalid channel mode specified!%s", VTY_NEWLINE);</span><br><span>                         return CMD_WARNING;</span><br><span>          }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+         info.activ_for = ACTIVATE_FOR_VTY;</span><br><span>           info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(lchan_t);</span><br><span> </span><br><span>              if (activate == 2 || lchan->vamos.is_secondary) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/25278">change 25278</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/osmo-bsc/+/25278"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c </div>
<div style="display:none"> Gerrit-Change-Number: 25278 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>