<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20372">View Change</a></p><div style="white-space:pre-wrap">Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BSSMAP templates for LCS<br><br>Both BSSMAP-LE and BSSMAP use the LCS Cause IE with identical definition. In<br>order to not add further dependencies from BSSMAP_Templates.ttcn to<br>BSSAP_LE_Types.ttcn to BSSLAP_Types.ttcn, duplicate the LCS Cause enum.<br><br>Change-Id: Ifee698c128a5345f6bf0301ad4dac9e083285d56<br>---<br>M library/BSSMAP_Templates.ttcn<br>1 file changed, 105 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn</span><br><span>index 0ec5639..da822a9 100644</span><br><span>--- a/library/BSSMAP_Templates.ttcn</span><br><span>+++ b/library/BSSMAP_Templates.ttcn</span><br><span>@@ -103,6 +103,25 @@</span><br><span> GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY ('1100010'B)</span><br><span> } with { variant "FIELDLENGTH(7)" };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated BSSMAP_LcsCause {</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_UNSPECIFIED ('00000000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_SYSTEM_FAILURE ('00000001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_PROTOCOL_ERROR ('00000010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_DATA_MISSING_IN_REQ ('00000011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_UNEXP_DATA_IN_REQ ('00000100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_POS_METH_FAILURE ('00000101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_TGT_MS_UNREACHABLE ('00000110'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_REQUEST_ABORTED ('00000111'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_FACILITY_NOTSUPP ('00001000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_INTER_BSC_HO ('00001001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_INTRA_BSC_HO ('00001010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_CONGESTION ('00001011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_INTER_NSE_CHG ('00001100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_RA_UPDAT ('00001101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_PTMSI_REALLOC ('00001110'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ BSSMAP_LCS_CAUSE_GPRS_SUSPENSION ('00001111'B)</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> template PDU_BSSAP ts_BSSAP_BSSMAP := {</span><br><span> discriminator := '0'B,</span><br><span> spare := '0000000'B,</span><br><span>@@ -1693,6 +1712,92 @@</span><br><span> }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+template (value) BSSMAP_IE_LocationType ts_BSSMAP_IE_LocationType</span><br><span style="color: hsl(120, 100%, 40%);">+:= {</span><br><span style="color: hsl(120, 100%, 40%);">+ elementIdentifier := '44'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 1,</span><br><span style="color: hsl(120, 100%, 40%);">+ locationInformation := '00'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ positioningMethod := omit</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_BSSAP ts_BSSMAP_Perform_Location_Request(template (omit) BSSMAP_IE_IMSI imsi,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (omit) BSSMAP_IE_CellIdentifier cellIdentifier := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ )</span><br><span style="color: hsl(120, 100%, 40%);">+modifies ts_BSSAP_BSSMAP := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pdu := {</span><br><span style="color: hsl(120, 100%, 40%);">+ bssmap := {</span><br><span style="color: hsl(120, 100%, 40%);">+ performLocationRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '2B'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ locationType := ts_BSSMAP_IE_LocationType,</span><br><span style="color: hsl(120, 100%, 40%);">+ cellIdentifier := cellIdentifier,</span><br><span style="color: hsl(120, 100%, 40%);">+ classmarkInformationType3 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ lCS_ClientType := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ chosenChannel := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ lCS_Priority := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ lCS_QOS := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ gPS_AssistanceData := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ aPDU := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ iMSI := imsi,</span><br><span style="color: hsl(120, 100%, 40%);">+ iMEI := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ gANSS_LocationType := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ gANSS_AssistanceData := omit</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 style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) BSSMAP_IE_LocationEstimate tr_BSSMAP_IE_LocationEstimate(template (present) octetstring geo_loc := ?)</span><br><span style="color: hsl(120, 100%, 40%);">+:= {</span><br><span style="color: hsl(120, 100%, 40%);">+ elementIdentifier := '45'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ geographicLocation := geo_loc</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 tr_BSSMAP_LcsCause(template (present) BSSMAP_LcsCause cause)</span><br><span style="color: hsl(120, 100%, 40%);">+return template (omit) BSSMAP_IE_LCSCause {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(cause, "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 template BSSMAP_IE_LCSCause ie := {</span><br><span style="color: hsl(120, 100%, 40%);">+ elementIdentifier := '47'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 1,</span><br><span style="color: hsl(120, 100%, 40%);">+ causeValue := int2bit(enum2int(valueof(cause)), 8),</span><br><span style="color: hsl(120, 100%, 40%);">+ diagnosticValue := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return ie;</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 (present) PDU_BSSAP tr_BSSMAP_Perform_Location_Response(</span><br><span style="color: hsl(120, 100%, 40%);">+ template BSSMAP_IE_LocationEstimate locationEstimate := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ template BSSMAP_IE_PositioningData positioningData := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ template BSSMAP_IE_LCSCause lCS_Cause := *</span><br><span style="color: hsl(120, 100%, 40%);">+ )</span><br><span style="color: hsl(120, 100%, 40%);">+modifies tr_BSSAP_BSSMAP := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pdu := {</span><br><span style="color: hsl(120, 100%, 40%);">+ bssmap := {</span><br><span style="color: hsl(120, 100%, 40%);">+ performLocationResponse := {</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '2D'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ locationEstimate := locationEstimate,</span><br><span style="color: hsl(120, 100%, 40%);">+ positioningData := positioningData,</span><br><span style="color: hsl(120, 100%, 40%);">+ decipheringKeys := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ lCS_Cause := lCS_Cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ velocityEstimate := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ gANSS_PositioningData := *</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 style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_BSSAP tr_BSSMAP_Perform_Location_Abort(template (present) BSSMAP_IE_LCSCause lCS_Cause := ?)</span><br><span style="color: hsl(120, 100%, 40%);">+modifies tr_BSSAP_BSSMAP := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pdu := {</span><br><span style="color: hsl(120, 100%, 40%);">+ bssmap := {</span><br><span style="color: hsl(120, 100%, 40%);">+ performLocationAbort := {</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '2E'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ lCS_Cause := lCS_Cause</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> </span><br><span> } with { encode "RAW" };</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20372">change 20372</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/+/20372"/><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: Ifee698c128a5345f6bf0301ad4dac9e083285d56 </div>
<div style="display:none"> Gerrit-Change-Number: 20372 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>