<p>Pau Espin Pedrol has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/9991">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">lib: L3_Templates: Fix DEACT PDP REQ msg type and make tearDownInd optional<br><br>Specs state in 3GPP TS 24.008 that TearDownInd IE is optional, so allow<br>possibility to omit it.<br><br>Also fix protocolConfigOpts being passed as parameter but not being used<br>in template tr_SM_DEACT_PDP_REQ_MT.<br><br>Change-Id: I006d64f51c17a22a42a225ddfa4119933e48a022<br>---<br>M library/L3_Templates.ttcn<br>1 file changed, 33 insertions(+), 34 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/9991/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn</span><br><span>index 9d6d3c3..44d9e73 100644</span><br><span>--- a/library/L3_Templates.ttcn</span><br><span>+++ b/library/L3_Templates.ttcn</span><br><span>@@ -2254,6 +2254,22 @@</span><br><span>         }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+function ts_TearDownIndicatorTV(in template (omit) boolean ind)</span><br><span style="color: hsl(120, 100%, 40%);">+                                   return template (omit) TearDownIndicatorTV {</span><br><span style="color: hsl(120, 100%, 40%);">+  if (istemplatekind(ind, "omit")) {</span><br><span style="color: hsl(120, 100%, 40%);">+          return omit;</span><br><span style="color: hsl(120, 100%, 40%);">+  } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              var template (omit) TearDownIndicatorTV ret := {</span><br><span style="color: hsl(120, 100%, 40%);">+                      tearDownIndicatorV := {</span><br><span style="color: hsl(120, 100%, 40%);">+                               tdi_flag := bool2bit(valueof(ind)),</span><br><span style="color: hsl(120, 100%, 40%);">+                           spare := '000'B</span><br><span style="color: hsl(120, 100%, 40%);">+                       },</span><br><span style="color: hsl(120, 100%, 40%);">+                    elementIdentifier := '1001'B</span><br><span style="color: hsl(120, 100%, 40%);">+          }</span><br><span style="color: hsl(120, 100%, 40%);">+             return ret;</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> template (value) PDU_L3_MS_SGSN ts_SM_ACT_PDP_REQ(BIT3 tid, BIT4 nsapi, BIT4 sapi, QoSV qos,</span><br><span>                                                 PDPAddressV addr,</span><br><span>                                            template (omit) octetstring apn := omit,</span><br><span>@@ -2348,10 +2364,11 @@</span><br><span>         }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-template (value) PDU_L3_MS_SGSN ts_SM_DEACT_PDP_REQ_MO(BIT3 tid, OCT1 cause, boolean tdown := false,</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_L3_MS_SGSN ts_SM_DEACT_PDP_REQ_MO(BIT3 tid, OCT1 cause,</span><br><span style="color: hsl(120, 100%, 40%);">+                                            template (omit) boolean tdown := omit,</span><br><span>                                               template (omit) ProtocolConfigOptionsV pco := omit</span><br><span>                                                 ) := {</span><br><span style="color: hsl(0, 100%, 40%);">-  discriminator := '0000'B, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+   discriminator := '1010'B,</span><br><span>    tiOrSkip := {</span><br><span>                transactionId := {</span><br><span>                   tio := tid,</span><br><span>@@ -2362,15 +2379,9 @@</span><br><span>         msgs := {</span><br><span>            gprs_sm := {</span><br><span>                         deactivatePDPContextRequest := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                messageType := '00000000'B, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+                         messageType := '01000110'B,</span><br><span>                          smCause := cause,</span><br><span style="color: hsl(0, 100%, 40%);">-                               tearDownIndicator := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                  tearDownIndicatorV := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                         tdi_flag := bool2bit(tdown),</span><br><span style="color: hsl(0, 100%, 40%);">-                                            spare := '000'B</span><br><span style="color: hsl(0, 100%, 40%);">-                                 },</span><br><span style="color: hsl(0, 100%, 40%);">-                                      elementIdentifier := '1001'B</span><br><span style="color: hsl(0, 100%, 40%);">-                            },</span><br><span style="color: hsl(120, 100%, 40%);">+                            tearDownIndicator := ts_TearDownIndicatorTV(tdown),</span><br><span>                          protocolConfigOpts := ts_PcoTLV(pco),</span><br><span>                                mBMSprotocolConfigOptions := omit,</span><br><span>                           t3396 := omit,</span><br><span>@@ -2381,10 +2392,11 @@</span><br><span>     }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-template (value) PDU_L3_SGSN_MS ts_SM_DEACT_PDP_REQ_MT(BIT3 tid, OCT1 cause, boolean tdown := false,</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_L3_SGSN_MS ts_SM_DEACT_PDP_REQ_MT(BIT3 tid, OCT1 cause,</span><br><span style="color: hsl(120, 100%, 40%);">+                                            template (omit) boolean tdown := omit,</span><br><span>                                               template (omit) ProtocolConfigOptionsV pco := omit</span><br><span>                                                 ) := {</span><br><span style="color: hsl(0, 100%, 40%);">-  discriminator := '0000'B, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+   discriminator := '1010'B,</span><br><span>    tiOrSkip := {</span><br><span>                transactionId := {</span><br><span>                   tio := tid,</span><br><span>@@ -2395,15 +2407,9 @@</span><br><span>         msgs := {</span><br><span>            gprs_sm := {</span><br><span>                         deactivatePDPContextRequest := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                messageType := '00000000'B, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+                         messageType := '01000110'B,</span><br><span>                          smCause := cause,</span><br><span style="color: hsl(0, 100%, 40%);">-                               tearDownIndicator := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                  tearDownIndicatorV := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                         tdi_flag := bool2bit(tdown),</span><br><span style="color: hsl(0, 100%, 40%);">-                                            spare := '000'B</span><br><span style="color: hsl(0, 100%, 40%);">-                                 },</span><br><span style="color: hsl(0, 100%, 40%);">-                                      elementIdentifier := '1001'B</span><br><span style="color: hsl(0, 100%, 40%);">-                            },</span><br><span style="color: hsl(120, 100%, 40%);">+                            tearDownIndicator := ts_TearDownIndicatorTV(tdown),</span><br><span>                          protocolConfigOpts := ts_PcoTLV(pco),</span><br><span>                                mBMSprotocolConfigOptions := omit,</span><br><span>                           t3396 := omit,</span><br><span>@@ -2415,10 +2421,10 @@</span><br><span> }</span><br><span> </span><br><span> template PDU_L3_SGSN_MS tr_SM_DEACT_PDP_REQ_MT(template BIT3 tid, template OCT1 cause,</span><br><span style="color: hsl(0, 100%, 40%);">-                                             template boolean tdown := false,</span><br><span style="color: hsl(0, 100%, 40%);">-                                                  template (omit) ProtocolConfigOptionsV pco := omit</span><br><span style="color: hsl(0, 100%, 40%);">-                                            ) := {</span><br><span style="color: hsl(0, 100%, 40%);">-  discriminator := '0000'B, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+                                           template (omit) boolean tdown := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                template (omit) ProtocolConfigOptionsV pco := omit</span><br><span style="color: hsl(120, 100%, 40%);">+                                    ) := {</span><br><span style="color: hsl(120, 100%, 40%);">+        discriminator := '1010'B,</span><br><span>    tiOrSkip := {</span><br><span>                transactionId := {</span><br><span>                   tio := tid,</span><br><span>@@ -2429,16 +2435,10 @@</span><br><span>        msgs := {</span><br><span>            gprs_sm := {</span><br><span>                         deactivatePDPContextRequest := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                messageType := '00000000'B, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+                         messageType := '01000110'B,</span><br><span>                          smCause := cause,</span><br><span style="color: hsl(0, 100%, 40%);">-                               tearDownIndicator := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                  tearDownIndicatorV := {</span><br><span style="color: hsl(0, 100%, 40%);">-                                         tdi_flag := bool2bit_tmpl(tdown),</span><br><span style="color: hsl(0, 100%, 40%);">-                                               spare := '000'B</span><br><span style="color: hsl(0, 100%, 40%);">-                                 },</span><br><span style="color: hsl(0, 100%, 40%);">-                                      elementIdentifier := '1001'B</span><br><span style="color: hsl(0, 100%, 40%);">-                            },</span><br><span style="color: hsl(0, 100%, 40%);">-                              protocolConfigOpts := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                              tearDownIndicator := ts_TearDownIndicatorTV(tdown),</span><br><span style="color: hsl(120, 100%, 40%);">+                           protocolConfigOpts := ts_PcoTLV(pco),</span><br><span>                                mBMSprotocolConfigOptions := *,</span><br><span>                              t3396 := *,</span><br><span>                          wLANOffloadIndication := *,</span><br><span>@@ -2448,7 +2448,6 @@</span><br><span>  }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> template PDU_L3_SGSN_MS tr_SM_DEACT_PDP_ACCEPT_MT(template BIT3 tid := ?)</span><br><span> := {</span><br><span>      discriminator := '1010'B,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9991">change 9991</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/9991"/><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-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I006d64f51c17a22a42a225ddfa4119933e48a022 </div>
<div style="display:none"> Gerrit-Change-Number: 9991 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>