<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22461">View Change</a></p><div style="white-space:pre-wrap">Approvals:
laforge: Looks good to me, approved
daniel: Looks good to me, but someone else must approve
Jenkins Builder: Verified
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Osmocom_Gb_types: add minimum requred tr_ templates for RAN INF<br><br>When testing the serving BSS part of the RIM application in osmo-pcu, we<br>will need receiving templates that allow us to verify the response (RAN<br>INFORMATION) rim container.<br><br>Change-Id: I964d7504f3c4aeaa4ce537316b3140e8b893003d<br>Related: SYS#5103<br>---<br>M library/Osmocom_Gb_Types.ttcn<br>1 file changed, 111 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn</span><br><span>index 2bbc508..97412b8 100644</span><br><span>--- a/library/Osmocom_Gb_Types.ttcn</span><br><span>+++ b/library/Osmocom_Gb_Types.ttcn</span><br><span>@@ -2511,7 +2511,14 @@</span><br><span> },</span><br><span> rIMApplicationIdentity := app_id</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+ template RIM_Application_Identity tr_RIM_Application_Identity(template OCT1 app_id := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ iEI := '4B'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ ext := '1'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := {</span><br><span style="color: hsl(120, 100%, 40%);">+ length1 := 1</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ rIMApplicationIdentity := app_id</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> </span><br><span> /* 3GPP TS 48.018 11.3.62 */</span><br><span> template (value) RIM_Sequence_Number ts_RIM_Sequence_Number(integer seq) := {</span><br><span>@@ -2522,6 +2529,20 @@</span><br><span> },</span><br><span> rIMSequenceNumber := int2oct(seq, 4)</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ function tr_RIM_Sequence_Number(template integer seq := ?) return template RIM_Sequence_Number {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template RIM_Sequence_Number ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.iEI := '4C'O;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ext := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.lengthIndicator := { length1 := 4 };</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(seq, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.rIMSequenceNumber := *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(seq, "?")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.rIMSequenceNumber := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.rIMSequenceNumber := int2oct(valueof(seq), 4);</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> </span><br><span> /* 3GPP TS 48.018 11.3.62a.1 */</span><br><span> template (value) RAN_Information_Request_RIM_Container</span><br><span>@@ -2585,10 +2606,34 @@</span><br><span> applContainer_or_ApplErrContainer := app_cont_or_app_err,</span><br><span> sON_Transfer_Application_Identity := son_app_id</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ template RAN_Information_RIM_Container</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_RAN_Information_RIM_Container(template RIM_Application_Identity app_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template RIM_Sequence_Number seq := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template RIM_PDU_Indications ind := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template RIM_Protocol_Version_Number ver := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ template ApplContainer_or_ApplErrContainer app_cont_or_app_err := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ template SON_Transfer_Application_Identity_TLV son_app_id := omit) := {</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ iEI := '58'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ ext := '1'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := {</span><br><span style="color: hsl(120, 100%, 40%);">+ length1 := ?</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ rIM_Application_Identity := app_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ rIM_Sequence_Number := seq,</span><br><span style="color: hsl(120, 100%, 40%);">+ rIM_PDU_Indications := ind,</span><br><span style="color: hsl(120, 100%, 40%);">+ rIM_Protocol_Version_Number := ver,</span><br><span style="color: hsl(120, 100%, 40%);">+ applContainer_or_ApplErrContainer := app_cont_or_app_err,</span><br><span style="color: hsl(120, 100%, 40%);">+ sON_Transfer_Application_Identity := son_app_id</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> template (value) ApplContainer_or_ApplErrContainer</span><br><span> tsu_ApplContainer_or_ApplErrContainer_NACC(template (value) ApplContainer_or_ApplErrContainer_NACC cont) := {</span><br><span> nacc := cont</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ template ApplContainer_or_ApplErrContainer</span><br><span style="color: hsl(120, 100%, 40%);">+ tru_ApplContainer_or_ApplErrContainer_NACC(template ApplContainer_or_ApplErrContainer_NACC cont := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ nacc := cont</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> template (value) ApplContainer_or_ApplErrContainer</span><br><span> tsu_ApplContainer_or_ApplErrContainer_SI3(template (value) ApplContainer_or_ApplErrContainer_SI3 cont) := {</span><br><span> si3 := cont</span><br><span>@@ -2601,6 +2646,10 @@</span><br><span> tsu_ApplContainer_NACC(template (value) BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {</span><br><span> application_Container := ts_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ template ApplContainer_or_ApplErrContainer_NACC</span><br><span style="color: hsl(120, 100%, 40%);">+ tru_ApplContainer_NACC(template BssgpCellId cid := ?, template boolean psi_type := ?, template integer si_psi_num := ?, template octetstring si_psi := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ application_Container := tr_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> template (value) ApplContainer_or_ApplErrContainer_NACC</span><br><span> tsu_ApplErrContainer_NACC(template (value) BssgpCellId cid,</span><br><span> integer cause,</span><br><span>@@ -2762,6 +2811,31 @@</span><br><span> number_of_SI_PSI := int2bit(si_psi_num, 7),</span><br><span> sI_PSI := si_psi</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ function tr_RAN_Information_Application_Container_NACC(template BssgpCellId cid := ?, template boolean psi_type := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template integer si_psi_num := ?, template octetstring si_psi := ?)</span><br><span style="color: hsl(120, 100%, 40%);">+ return template RAN_Information_Application_Container_NACC {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template RAN_Information_Application_Container_NACC ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.iEI := '4E'O;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ext := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.lengthIndicator := { length1 := ? };</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.reporting_Cell_Identifier := t_Cell_Identifier_V(cid);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(psi_type, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.typeBit := *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(psi_type, "?")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.typeBit := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.typeBit := bool2bit(valueof(psi_type));</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(si_psi_num, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.number_of_SI_PSI := *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(si_psi_num, "?")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.number_of_SI_PSI := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.number_of_SI_PSI := int2bit(valueof(si_psi_num), 7);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.sI_PSI := si_psi;</span><br><span style="color: hsl(120, 100%, 40%);">+ return ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> </span><br><span> /* 3GPP TS 48.018 11.3.63.2.2 */</span><br><span> template (value) RAN_Information_Application_Container_SI3</span><br><span>@@ -2999,6 +3073,28 @@</span><br><span> pDU_Type_Extension := type_ext,</span><br><span> reserved := '0000'B</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ function tr_RIM_PDU_Indications(template boolean ack := ?, template BIT3 type_ext := ?) return template RIM_PDU_Indications {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template RIM_PDU_Indications ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.iEI := '4F'O;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ext := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.lengthIndicator := { length1 := 1 };</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(ack, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ack := *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(ack, "?")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ack := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ack := bool2bit(valueof(ack));</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(type_ext, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.pDU_Type_Extension := *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(type_ext, "?")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.pDU_Type_Extension := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.pDU_Type_Extension := valueof(type_ext);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.reserved := '0000'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ return ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> </span><br><span> /* 3GPP TS 48.018 11.3.67 */</span><br><span> template (value) RIM_Protocol_Version_Number ts_RIM_Protocol_Version_Number(integer ver) := {</span><br><span>@@ -3009,6 +3105,20 @@</span><br><span> },</span><br><span> rIMProtocolVersionNumber := int2oct(ver, 1)</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ function tr_RIM_Protocol_Version_Number(template integer ver := ?) return template RIM_Protocol_Version_Number {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template RIM_Protocol_Version_Number ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.iEI := '55'O;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.ext := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.lengthIndicator := { length1 := 1 };</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(ver, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.rIMProtocolVersionNumber := *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(ver, "?")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.rIMProtocolVersionNumber := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ ret.rIMProtocolVersionNumber := int2oct(valueof(ver), 1);</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> </span><br><span> /* 3GPP TS 48.018 11.3.70 */</span><br><span> const HEX1 RIM_ADDR_GERAN_CELL_ID := '0'H;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22461">change 22461</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/+/22461"/><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: I964d7504f3c4aeaa4ce537316b3140e8b893003d </div>
<div style="display:none"> Gerrit-Change-Number: 22461 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>