<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/10910">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Implement RR Classmark Enquiry<br><br>If the MSC sends a BSSMAP Classmark Request, send an RR Classmark Enquiry to<br>the MS.<br><br>(The reverse direction, i.e. sending a BSSMAP Classmark Update back to the MSC,<br>is already implemented.)<br><br>Related: OS#3043 (A5/3 encryption)<br>Change-Id: If5db638fd6e8d9c2ef9e139e99f0fabe1ef16ddf<br>---<br>M include/osmocom/bsc/gsm_04_08_rr.h<br>M src/osmo-bsc/gsm_04_08_rr.c<br>M src/osmo-bsc/osmo_bsc_bssap.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/osmo-bsc refs/changes/10/10910/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h</span><br><span>index 7b7a62f..e2e861d 100644</span><br><span>--- a/include/osmocom/bsc/gsm_04_08_rr.h</span><br><span>+++ b/include/osmocom/bsc/gsm_04_08_rr.h</span><br><span>@@ -21,6 +21,7 @@</span><br><span>                 uint8_t *classmark2_lv);</span><br><span> int gsm48_handle_paging_resp(struct gsm_subscriber_connection *conn,</span><br><span>                           struct msgb *msg, struct bsc_subscr *bsub);</span><br><span style="color: hsl(120, 100%, 40%);">+int gsm48_send_rr_classmark_enquiry(struct gsm_lchan *lchan);</span><br><span> int gsm48_send_rr_ciph_mode(struct gsm_lchan *lchan, int want_imeisv);</span><br><span> int gsm48_multirate_config(uint8_t *lv, const struct amr_multirate_conf *mr, const struct amr_mode *modes);</span><br><span> struct msgb *gsm48_make_ho_cmd(struct gsm_lchan *new_lchan, uint8_t power_command, uint8_t ho_ref);</span><br><span>diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c</span><br><span>index 2b4a1ba..35044a3 100644</span><br><span>--- a/src/osmo-bsc/gsm_04_08_rr.c</span><br><span>+++ b/src/osmo-bsc/gsm_04_08_rr.c</span><br><span>@@ -273,6 +273,21 @@</span><br><span>      return rsl_siemens_mrpci(lchan, &mrpci);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* 3GPP 44.018 9.1.12 Classmark Enquiry */</span><br><span style="color: hsl(120, 100%, 40%);">+int gsm48_send_rr_classmark_enquiry(struct gsm_lchan *lchan)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    struct msgb *msg = gsm48_msgb_alloc_name("GSM 44.018 Classmark Enquiry");</span><br><span style="color: hsl(120, 100%, 40%);">+   struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     msg->lchan = lchan;</span><br><span style="color: hsl(120, 100%, 40%);">+        gh->proto_discr = GSM48_PDISC_RR;</span><br><span style="color: hsl(120, 100%, 40%);">+  gh->msg_type = GSM48_MT_RR_CLSM_ENQ;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     DEBUGP(DRR, "%s TX CLASSMARK ENQUIRY %u\n", gsm_lchan_name(lchan), msgb_length(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     return gsm48_sendmsg(msg);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Chapter 9.1.9: Ciphering Mode Command */</span><br><span> int gsm48_send_rr_ciph_mode(struct gsm_lchan *lchan, int want_imeisv)</span><br><span> {</span><br><span>diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>index d6b0b6d..97daa5c 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>@@ -870,6 +870,9 @@</span><br><span>  case BSS_MAP_MSG_HANDOVER_CMD:</span><br><span>               ret = bssmap_handle_handover_cmd(conn, msg, length);</span><br><span>                 break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case BSS_MAP_MSG_CLASSMARK_RQST:</span><br><span style="color: hsl(120, 100%, 40%);">+              ret = gsm48_send_rr_classmark_enquiry(conn->lchan);</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span>       default:</span><br><span>             LOGP(DMSC, LOGL_NOTICE, "Unimplemented msg type: %s\n",</span><br><span>                    gsm0808_bssmap_name(msg->l4h[0]));</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10910">change 10910</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/10910"/><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-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: If5db638fd6e8d9c2ef9e139e99f0fabe1ef16ddf </div>
<div style="display:none"> Gerrit-Change-Number: 10910 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>