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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">GSUP_Types: Add support for GSUP_IE_RAT_TYPE<br><br>Depends: libosmocore I93850710ab55a605bf61b95063a69682a2899bb1<br>Change-Id: I5d899fc6f6d4cf6123609b596022a853561f35f5<br>---<br>M library/GSUP_Types.ttcn<br>1 file changed, 46 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn</span><br><span>index 74fbfc4..e1aa24c 100644</span><br><span>--- a/library/GSUP_Types.ttcn</span><br><span>+++ b/library/GSUP_Types.ttcn</span><br><span>@@ -43,6 +43,7 @@</span><br><span>         OSMO_GSUP_AUTS_IE               ('26'O),</span><br><span>     OSMO_GSUP_RES_IE                ('27'O),</span><br><span>     OSMO_GSUP_CN_DOMAIN_IE          ('28'O),</span><br><span style="color: hsl(120, 100%, 40%);">+      OSMO_GSUP_RAT_TYPE_IE           ('29'O),</span><br><span> </span><br><span>         OSMO_GSUP_SESSION_ID_IE         ('30'O),</span><br><span>     OSMO_GSUP_SESSION_STATE_IE      ('31'O),</span><br><span>@@ -232,11 +233,21 @@</span><br><span>                              cause_rr, tag = OSMO_GSUP_CAUSE_RR_IE;</span><br><span>                               cause_bssap, tag = OSMO_GSUP_CAUSE_BSSAP_IE;</span><br><span>                                 cause_sm, tag = OSMO_GSUP_CAUSE_SM_IE;</span><br><span style="color: hsl(120, 100%, 40%);">+                                rat_type, tag = OSMO_GSUP_RAT_TYPE_IE;</span><br><span>                      )"</span><br><span> };</span><br><span> </span><br><span> type record of GSUP_IE GSUP_IEs;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated GSUP_RatType {</span><br><span style="color: hsl(120, 100%, 40%);">+     RAT_TYPE_UNKNOWN        (0),</span><br><span style="color: hsl(120, 100%, 40%);">+  RAT_TYPE_GERAN_A        (1),</span><br><span style="color: hsl(120, 100%, 40%);">+  RAT_TYPE_UTRAN_Iu       (2),</span><br><span style="color: hsl(120, 100%, 40%);">+  RAT_TYPE_EUTRAN_SGs     (3)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record of GSUP_RatType GSUP_RatTypes;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> type union GSUP_IeValue {</span><br><span>     hexstring       imsi,</span><br><span>        integer         cause,</span><br><span>@@ -287,7 +298,9 @@</span><br><span> </span><br><span>     OCT1                    cause_rr,</span><br><span>    OCT1                    cause_bssap,</span><br><span style="color: hsl(0, 100%, 40%);">-    OCT1                    cause_sm</span><br><span style="color: hsl(120, 100%, 40%);">+      OCT1                    cause_sm,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   GSUP_RatTypes           rat_type</span><br><span> };</span><br><span> </span><br><span> type record GSUP_PDU {</span><br><span>@@ -433,6 +446,12 @@</span><br><span> template (value) GSUP_PDU ts_GSUP_SAI_REQ(hexstring imsi) :=</span><br><span>  ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, { valueof(ts_GSUP_IE_IMSI(imsi)) });</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+template (value) GSUP_PDU ts_GSUP_SAI_REQ_EPS(hexstring imsi) :=</span><br><span style="color: hsl(120, 100%, 40%);">+     ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, {</span><br><span style="color: hsl(120, 100%, 40%);">+              valueof(ts_GSUP_IE_IMSI(imsi)),</span><br><span style="color: hsl(120, 100%, 40%);">+               valueof(ts_GSUP_IE_RAT_TYPE({RAT_TYPE_EUTRAN_SGs}))</span><br><span style="color: hsl(120, 100%, 40%);">+   });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> template GSUP_PDU tr_GSUP_SAI_REQ(template hexstring imsi) :=</span><br><span>       tr_GSUP_IMSI(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, imsi);</span><br><span> </span><br><span>@@ -1105,6 +1124,23 @@</span><br><span>      }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) GSUP_IE tr_GSUP_IE_RAT_TYPE(template (present) GSUP_RatTypes ratt) := {</span><br><span style="color: hsl(120, 100%, 40%);">+      tag := OSMO_GSUP_RAT_TYPE_IE,</span><br><span style="color: hsl(120, 100%, 40%);">+ len := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+     val := {</span><br><span style="color: hsl(120, 100%, 40%);">+              rat_type := ratt</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%);">+template (value) GSUP_IE ts_GSUP_IE_RAT_TYPE(GSUP_RatTypes ratt) := {</span><br><span style="color: hsl(120, 100%, 40%);">+   tag := OSMO_GSUP_RAT_TYPE_IE,</span><br><span style="color: hsl(120, 100%, 40%);">+ len := 0, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+   val := {</span><br><span style="color: hsl(120, 100%, 40%);">+              rat_type := ratt</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 style="color: hsl(120, 100%, 40%);">+</span><br><span> private function f_gen_ts_ss_ies(</span><br><span>        hexstring imsi,</span><br><span>      OCT4 sid,</span><br><span>@@ -1486,14 +1522,18 @@</span><br><span>  }</span><br><span> );</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-function f_gsup_find_ie(GSUP_PDU msg, GSUP_IEI iei, out GSUP_IeValue ret) return boolean {</span><br><span style="color: hsl(0, 100%, 40%);">-   for (var integer i := 0; i < sizeof(msg.ies); i := i+1) {</span><br><span style="color: hsl(0, 100%, 40%);">-            if (msg.ies[i].tag == iei) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    ret := msg.ies[i].val;</span><br><span style="color: hsl(120, 100%, 40%);">+function f_gsup_find_nested_ie(GSUP_IEs ies, GSUP_IEI iei, out GSUP_IeValue ret) return boolean {</span><br><span style="color: hsl(120, 100%, 40%);">+     for (var integer i := 0; i < sizeof(ies); i := i+1) {</span><br><span style="color: hsl(120, 100%, 40%);">+              if (ies[i].tag == iei) {</span><br><span style="color: hsl(120, 100%, 40%);">+                      ret := ies[i].val;</span><br><span>                   return true;</span><br><span>                 }</span><br><span>    }</span><br><span style="color: hsl(0, 100%, 40%);">-               return false;</span><br><span style="color: hsl(120, 100%, 40%);">+ return false;</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%);">+function f_gsup_find_ie(GSUP_PDU msg, GSUP_IEI iei, out GSUP_IeValue ret) return boolean {</span><br><span style="color: hsl(120, 100%, 40%);">+        return f_gsup_find_nested_ie(msg.ies, iei, ret);</span><br><span> }</span><br><span> </span><br><span> template GSUP_AN_APDU t_GSUP_AN_APDU(</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15365">change 15365</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/+/15365"/><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: I5d899fc6f6d4cf6123609b596022a853561f35f5 </div>
<div style="display:none"> Gerrit-Change-Number: 15365 </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: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>