pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41746?usp=email )


Change subject: library/NGAP_Templates: PDUSessionResourceSetupRequest: Allow 
matching optional IEs
......................................................................

library/NGAP_Templates: PDUSessionResourceSetupRequest: Allow matching optional 
IEs

Change-Id: I7a61b4d7a70994e35f2fa5cbadc90f1088b32e64
---
M library/ngap/NGAP_Templates.ttcn
1 file changed, 79 insertions(+), 28 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/46/41746/1

diff --git a/library/ngap/NGAP_Templates.ttcn b/library/ngap/NGAP_Templates.ttcn
index 1910120..27a9e33 100644
--- a/library/ngap/NGAP_Templates.ttcn
+++ b/library/ngap/NGAP_Templates.ttcn
@@ -145,35 +145,86 @@
                         /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 
9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST
                         */
-                        template (present) InitiatingMessage 
mw_n2_PDUSessionResourceSetupRequest(
-                                                                               
                   template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?,
-                                                                               
                   template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
-                                                                               
                   template (present) PDUSessionResourceSetupListSUReq 
p_pDUSessionResourceSetupListSUReq := ?
-                                                                               
                   ) := {
-                            procedureCode := id_PDUSessionResourceSetup,
-                            criticality   := reject,
-                            value_        := {
-                                              PDUSessionResourceSetupRequest 
:= {
-                                                    protocolIEs := {
-                                                                    {
-                                                                        id := 
id_AMF_UE_NGAP_ID,
-                                                                        
criticality := reject,
-                                                                        value_ 
:= { AMF_UE_NGAP_ID := p_amfUeNgapID }
-                                                                    },
-                                                                    {
-                                                                        id := 
id_RAN_UE_NGAP_ID,
-                                                                        
criticality := reject,
-                                                                        value_ 
:= { RAN_UE_NGAP_ID := p_ranUeNgapID }
-                                                                    },
-                                                                    {
-                                                                        id := 
id_PDUSessionResourceSetupListSUReq,
-                                                                        
criticality := reject,
-                                                                        value_ 
:= { PDUSessionResourceSetupListSUReq := p_pDUSessionResourceSetupListSUReq }
-                                                                    }
-                                                                    }
-                                              }
+                        function 
f_mw_n2_PDUSessionResourceSetupRequest(template (present) AMF_UE_NGAP_ID 
p_amfUeNgapID := ?,
+                                                                        
template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?,
+                                                                        
template RANPagingPriority p_rANPagingPriority := omit,
+                                                                        
template NAS_PDU p_nAS_PDU := omit,
+                                                                        
template (present) PDUSessionResourceSetupListSUReq 
p_pDUSessionResourceSetupListSUReq := ?,
+                                                                        
template UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate := omit,
+                                                                        
template UESliceMaximumBitRateList p_uESliceMaximumBitRateList := omit
+                                                                        ) 
return template (present) InitiatingMessage {
+
+                            var template (present) InitiatingMessage pdu := {
+                                procedureCode := id_PDUSessionResourceSetup,
+                                criticality   := reject,
+                                value_        := {
+                                    PDUSessionResourceSetupRequest := {
+                                        protocolIEs := {
+                                            {
+                                                id := id_AMF_UE_NGAP_ID,
+                                                criticality := reject,
+                                                value_ := { AMF_UE_NGAP_ID := 
p_amfUeNgapID }
+                                            },
+                                            {
+                                                id := id_RAN_UE_NGAP_ID,
+                                                criticality := reject,
+                                                value_ := { RAN_UE_NGAP_ID := 
p_ranUeNgapID }
                                             }
-                         } // End of template 
mw_n2_PDUSessionResourceSetupRequest
+                                        }
+                                    }
+                                }
+                            };
+                            var integer idx := 
lengthof(pdu.value_.PDUSessionResourceSetupRequest.protocolIEs);
+
+                            /* RAN Paging Priority */
+                            if (not istemplatekind(p_rANPagingPriority, 
"omit")) {
+                                
pdu.value_.PDUSessionResourceSetupRequest.protocolIEs[idx] := {
+                                    id := id_RANPagingPriority,
+                                    criticality := ignore,
+                                    value_ := { RANPagingPriority := 
p_rANPagingPriority }
+                                };
+                                idx := idx + 1;
+                            }
+
+                            /* NAS-PDU */
+                            if (not istemplatekind(p_nAS_PDU, "omit")) {
+                                
pdu.value_.PDUSessionResourceSetupRequest.protocolIEs[idx] := {
+                                    id := id_NAS_PDU,
+                                    criticality := reject,
+                                    value_ := { NAS_PDU := p_nAS_PDU }
+                                };
+                                idx := idx + 1;
+                            }
+
+                            /* PDU Session Resource Setup Request List */
+                            
pdu.value_.PDUSessionResourceSetupRequest.protocolIEs[idx] := {
+                                id := id_PDUSessionResourceSetupListSUReq,
+                                criticality := reject,
+                                value_ := { PDUSessionResourceSetupListSUReq 
:= p_pDUSessionResourceSetupListSUReq }
+                            };
+                            idx := idx + 1;
+
+                            /* UE Aggregate Maximum Bit Rate */
+                            if (not 
istemplatekind(p_uEAggregateMaximumBitRate, "omit")) {
+                                
pdu.value_.PDUSessionResourceSetupRequest.protocolIEs[idx] := {
+                                    id := id_UEAggregateMaximumBitRate,
+                                    criticality := ignore,
+                                    value_ := { UEAggregateMaximumBitRate := 
p_uEAggregateMaximumBitRate }
+                                };
+                                idx := idx + 1;
+                            }
+
+                            /* UE Slice Maximum Bit Rate List */
+                            if (not 
istemplatekind(p_uESliceMaximumBitRateList, "omit")) {
+                                
pdu.value_.PDUSessionResourceSetupRequest.protocolIEs[idx] := {
+                                    id := id_UESliceMaximumBitRateList,
+                                    criticality := ignore,
+                                    value_ := { UESliceMaximumBitRateList := 
p_uESliceMaximumBitRateList }
+                                };
+                                idx := idx + 1;
+                            }
+                            return pdu;
+                        } // End of function 
f_mw_n2_PDUSessionResourceSetupRequest

                     } // End of group Receive


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41746?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I7a61b4d7a70994e35f2fa5cbadc90f1088b32e64
Gerrit-Change-Number: 41746
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to