<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">DIAMETER_Emulation: Add support for IMSI in Subscription-Id<br><br>Ths IMSI on the Gx interface is encoded into a different AVP than<br>on the S6a/S6d interfaces.  Let's make sure our DIAMETER_Emulation<br>knows both formats.<br><br>Change-Id: I299fcc2e01e908914df32fda4fb93b1114402c77<br>---<br>M library/DIAMETER_Emulation.ttcn<br>M library/DIAMETER_Templates.ttcn<br>2 files changed, 19 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn</span><br><span>index fad44c3..6dd44b3 100644</span><br><span>--- a/library/DIAMETER_Emulation.ttcn</span><br><span>+++ b/library/DIAMETER_Emulation.ttcn</span><br><span>@@ -216,7 +216,16 @@</span><br><span> </span><br><span>      imsi_avp := f_DIAMETER_get_avp(pdu, c_AVP_Code_BASE_NONE_User_Name);</span><br><span>         if (istemplatekind(imsi_avp, "omit")) {</span><br><span style="color: hsl(0, 100%, 40%);">-               return omit;</span><br><span style="color: hsl(120, 100%, 40%);">+          var template (omit) AVP sid_avp;</span><br><span style="color: hsl(120, 100%, 40%);">+              sid_avp := f_DIAMETER_get_avp(pdu, c_AVP_Code_DCC_NONE_Subscription_Id);</span><br><span style="color: hsl(120, 100%, 40%);">+              if (istemplatekind(sid_avp, "omit")) {</span><br><span style="color: hsl(120, 100%, 40%);">+                      return omit;</span><br><span style="color: hsl(120, 100%, 40%);">+          }</span><br><span style="color: hsl(120, 100%, 40%);">+             var AVP_Grouped grp := valueof(sid_avp.avp_data.avp_DCC_NONE_Subscription_Id);</span><br><span style="color: hsl(120, 100%, 40%);">+                if (not match(grp[0], tr_SubcrIdType(END_USER_IMSI))) {</span><br><span style="color: hsl(120, 100%, 40%);">+                       return omit;</span><br><span style="color: hsl(120, 100%, 40%);">+          }</span><br><span style="color: hsl(120, 100%, 40%);">+             return str2hex(oct2char(grp[1].avp.avp_data.avp_DCC_NONE_Subscription_Id_Data));</span><br><span>     } else {</span><br><span>             var octetstring imsi_oct := valueof(imsi_avp.avp_data.avp_BASE_NONE_User_Name);</span><br><span>              return str2hex(oct2char(imsi_oct));</span><br><span>diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn</span><br><span>index 533ede2..11746eb 100644</span><br><span>--- a/library/DIAMETER_Templates.ttcn</span><br><span>+++ b/library/DIAMETER_Templates.ttcn</span><br><span>@@ -101,6 +101,7 @@</span><br><span> };</span><br><span> </span><br><span> /* 3GPP TS 29.272 Section 7.1.8 */</span><br><span style="color: hsl(120, 100%, 40%);">+const uint32_t c_DIAMETER_3GPP_Gx_AID := 16777238;</span><br><span> const uint32_t c_DIAMETER_3GPP_S6_AID := 16777251;</span><br><span> const uint32_t c_DIAMETER_3GPP_S13_AID := 16777252;</span><br><span> const uint32_t c_DIAMETER_3GPP_S7_AID := 16777308;</span><br><span>@@ -190,6 +191,14 @@</span><br><span>     vendor_id := vendor_id_3GPP</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+template (present) GenericAVP tr_SubcrIdType(template (present) DCC_NONE_Subscription_Id_Type t) := {</span><br><span style="color: hsl(120, 100%, 40%);">+   avp := {</span><br><span style="color: hsl(120, 100%, 40%);">+              avp_header := tr_DIA_Hdr(c_AVP_Code_DCC_NONE_Subscription_Id_Type),</span><br><span style="color: hsl(120, 100%, 40%);">+           avp_data := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 avp_DCC_NONE_Subscription_Id_Type := t</span><br><span style="color: hsl(120, 100%, 40%);">+                }</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> template (value) GenericAVP ts_AVP_OriginHost(template (value) charstring host) := {</span><br><span>     avp := {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17948">change 17948</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-ttcn3-hacks/+/17948"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I299fcc2e01e908914df32fda4fb93b1114402c77 </div>
<div style="display:none"> Gerrit-Change-Number: 17948 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </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: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>