Loading ttcn/Lib3GPP/NG_NAS/NG_NAS_Common.ttcn +24 −12 Original line number Diff line number Diff line Loading @@ -174,16 +174,13 @@ module NG_NAS_Common { B32_Type NG_TMSI }; template (value) NG_PacketFilterList cs_PacketFilterList_RemoteAddress (B4_Type p_Id, octetstring p_Component) := template (value) NG_PacketFilter_Type2 cs_PacketFilter_RemoteAddress (B4_Type p_Id, octetstring p_Component) := { /* @status APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */ new := {{ spare := tsc_Spare2, direction := '11'B, // bi-directional packetFilterId := p_Id, len := int2oct(lengthof(p_Component), 1), contents := p_Component }} }; template (value) QoS_Rule cs_QoS_RuleRemoteAccess (O1_Type p_Id, Loading @@ -196,14 +193,18 @@ module NG_NAS_Common { { /* @status APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */ identifier := p_Id, iel := p_Length, u := { creat := { ruleOperationCode := '001'B, dqrBit := p_DQR, numOfPacketFilters := '0001'B, packetFilterList := cs_PacketFilterList_RemoteAddress (p_FilterId, p_Component), packetFilterList := { cs_PacketFilter_RemoteAddress (p_FilterId, p_Component) }, precedence := p_Precedence, spare := tsc_Spare1, segregation := tsc_Spare1, flowIdentifier := p_FlowId } } }; template (value) NG_NAS_GutiParameters_Type cs_NG_NAS_GutiParameters(B8_Type p_AMF_RegionId, Loading Loading @@ -238,6 +239,17 @@ module NG_NAS_Common { otherDigits := p_Guti }; template (value) NG_MobileIdentity cs_NG_MobileIdentitySUCI(template (value) B4_Type p_SUPIFormat, template (value) octetstring p_OtherDigits) := { /* @status APPROVED (IMS, NR5GC, NR5GC_IRAT, POS) */ iei := omit, iel := int2oct(1+lengthof(p_OtherDigits), 2), // @sic R5s190719 sic@ idDigit1 := p_SUPIFormat, // 4 bits oddEvenInd := '0'B, // 1 bit typeOfId := tsc_IdType_NG_SUCI, // 3 bits otherDigits := p_OtherDigits }; template (present) NG_MobileIdentity cr_NG_MobileIdentity_TypeOfId(template (present) B4_Type p_FirstDigit, template (present) B1_Type p_OddEvenInd, template (present) octetstring p_OtherDigits, Loading ttcn/Lib3GPP/NG_NAS/NG_NAS_MsgContainers.ttcn +6 −6 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ module NG_NAS_MsgContainers configuration_Update_Complete, messageType = '01010101'B; cp_Service_Request, messageType = '01001111'B; deregistration_Accept, messageType = '01000110'B; deregistration_RequestMO, messageType = '01001000'B; deregistration_RequestMO, messageType = '01000101'B; gmm_Status, messageType = '01100100'B; gsm_Status, messageType = '11010110'B; network_Slice_Specific_Authentication_Complete, messageType = '01010001'B; Loading ttcn/Lib3GPP/NG_NAS/NG_NAS_Templates.ttcn +256 −56 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/Lib3GPP/NG_NAS/NG_NAS_TypeDefs.ttcn +105 −15 Original line number Diff line number Diff line Loading @@ -2495,14 +2495,13 @@ module NG_NAS_TypeDefs { B4_Type spare, B1_Type si16LLA, // @sic R5s201526 sic@ B3_Type typeValue, octetstring adressInfo length(4..12), octetstring ipv6Address length(1..16) optional /* Sep20 @sic R5s201387 Baseline Moving sic@ */ octetstring adressInfo length(4..12) optional, octetstring ipv6Address length(16) optional /* Sep20 @sic R5s201387 Baseline Moving sic@ */ } with { variant "FIELDORDER(msb)"; variant (iel) "LENGTHTO (spare, si16LLA, typeValue, adressInfo, ipv6Address)"; variant (iel) "BYTEORDER(last)"; variant (adressInfo) "BYTEORDER(last)"; variant (ipv6Address) "BYTEORDER(last)"; variant (ipv6Address) "PRESENCE(si16LLA = '1'B)" }; type record PDU_SessionType { /* 24.501 cl. 9.11.4.11 */ Loading Loading @@ -2539,25 +2538,116 @@ module NG_NAS_TypeDefs { type record QoS_Rule { IEI8_Type identifier, Type6Length_Type iel, B3_Type ruleOperationCode, QoS_RuleU u } with { variant "FIELDORDER(msb)"; variant (iel) "LENGTHTO (u)"; variant (iel) "BYTEORDER(last)"; }; type union QoS_RuleU { QoS_Rule_Create creat, QoS_Rule_Delete delete, QoS_Rule_Modify_and_add_PF modify_and_add_pf, QoS_Rule_Modify_and_replace_PF modify_and_replace_pf, QoS_Rule_Modify_and_delete_PF modify_and_delete_pf, QoS_Rule_Modify_no_PF modify_no_pf } with { variant "TAG(creat, ruleOperationCode = '001'B; delete, ruleOperationCode = '010'B; modify_and_add_pf, ruleOperationCode = '011'B; modify_and_replace_pf, ruleOperationCode = '100'B; modify_and_delete_pf, ruleOperationCode = '101'B; modify_no_pf, ruleOperationCode = '110'B)" }; type record QoS_Rule_Create { B3_Type ruleOperationCode ('001'B), B1_Type dqrBit, B4_Type numOfPacketFilters, NG_PacketFilterList packetFilterList optional, B4_Type numOfPacketFilters, /* >= 0 */ NG_PacketFilterList_Type2 packetFilterList optional, /* For the "create new QoS rule" operation, the QoS rule precedence value field shall be included */ O1_Type precedence, /* For the "create new QoS rule" operation, the QoS flow identifier value field shall be included. */ B1_Type spare, B1_Type segregation, /* Dec18 */ B6_Type flowIdentifier } with { variant "FIELDORDER(msb)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type record QoS_Rule_Delete { B3_Type ruleOperationCode ('010'B), B1_Type dqrBit, /* For the "delete existing QoS rule" operation the number of packet filters shall be coded as 0. */ B4_Type numOfPacketFilters ('0000'B) /* For the "delete existing QoS rule" operation, the QoS rule precedence * value field shall not be included */ /* For the "delete existing QoS rule" operation, the QoS flow identifier * value field shall not be included. */ } with { variant "FIELDORDER(msb)"; }; type record QoS_Rule_Modify_and_add_PF { B3_Type ruleOperationCode ('011'B), B1_Type dqrBit, B4_Type numOfPacketFilters, /* > 0 */ NG_PacketFilterList_Type2 packetFilterList, O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant "FIELDORDER(msb)"; variant (iel) "LENGTHTO (ruleOperationCode, dqrBit, numOfPacketFilters, packetFilterList, precedence, spare, segregation, flowIdentifier)"; variant (iel) "BYTEORDER(last)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type union NG_PacketFilterList { NG_PacketFilterList_Type1 modify, NG_PacketFilterList_Type2 new type record QoS_Rule_Modify_and_replace_PF { B3_Type ruleOperationCode ('100'B), B1_Type dqrBit, B4_Type numOfPacketFilters, /* >= 0 */ NG_PacketFilterList_Type2 packetFilterList optional, O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant ""; variant "FIELDORDER(msb)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type record QoS_Rule_Modify_and_delete_PF { B3_Type ruleOperationCode ('101'B), B1_Type dqrBit, B4_Type numOfPacketFilters, /* > 0 */ NG_PacketFilterList_Type1 packetFilterList, O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant "FIELDORDER(msb)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type record QoS_Rule_Modify_no_PF { B3_Type ruleOperationCode ('110'B), B1_Type dqrBit, /* For the "modify existing QoS rule without modifying packet filters" * operation, the number of packet filters shall be coded as 0. */ B4_Type numOfPacketFilters ('0000'B), O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant "FIELDORDER(msb)"; }; type record of NG_PacketFilter_Type1 NG_PacketFilterList_Type1; Loading @@ -2575,8 +2665,8 @@ module NG_NAS_TypeDefs { B2_Type spare, B2_Type direction, B4_Type packetFilterId, Type4Length_Type len optional, octetstring contents length (1..255) optional // @sic R5w190307 sic@ Type4Length_Type len, octetstring contents length (0..255) // @sic R5w190307 sic@ } with { variant "FIELDORDER(msb)"; variant (len) "LENGTHTO (contents)"; Loading ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn +111 −111 Original line number Diff line number Diff line Loading @@ -560,7 +560,7 @@ module LibNGAP_Templates { value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } }, { id := id_PDUSessionResourceModifyListModReq, id := id_PDUSessionResourceModifyListModRes, criticality := reject, value_ := { PDUSessionResourceModifyListModRes := p_pDUSessionResourceModifyListModRes } Loading
ttcn/Lib3GPP/NG_NAS/NG_NAS_Common.ttcn +24 −12 Original line number Diff line number Diff line Loading @@ -174,16 +174,13 @@ module NG_NAS_Common { B32_Type NG_TMSI }; template (value) NG_PacketFilterList cs_PacketFilterList_RemoteAddress (B4_Type p_Id, octetstring p_Component) := template (value) NG_PacketFilter_Type2 cs_PacketFilter_RemoteAddress (B4_Type p_Id, octetstring p_Component) := { /* @status APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */ new := {{ spare := tsc_Spare2, direction := '11'B, // bi-directional packetFilterId := p_Id, len := int2oct(lengthof(p_Component), 1), contents := p_Component }} }; template (value) QoS_Rule cs_QoS_RuleRemoteAccess (O1_Type p_Id, Loading @@ -196,14 +193,18 @@ module NG_NAS_Common { { /* @status APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */ identifier := p_Id, iel := p_Length, u := { creat := { ruleOperationCode := '001'B, dqrBit := p_DQR, numOfPacketFilters := '0001'B, packetFilterList := cs_PacketFilterList_RemoteAddress (p_FilterId, p_Component), packetFilterList := { cs_PacketFilter_RemoteAddress (p_FilterId, p_Component) }, precedence := p_Precedence, spare := tsc_Spare1, segregation := tsc_Spare1, flowIdentifier := p_FlowId } } }; template (value) NG_NAS_GutiParameters_Type cs_NG_NAS_GutiParameters(B8_Type p_AMF_RegionId, Loading Loading @@ -238,6 +239,17 @@ module NG_NAS_Common { otherDigits := p_Guti }; template (value) NG_MobileIdentity cs_NG_MobileIdentitySUCI(template (value) B4_Type p_SUPIFormat, template (value) octetstring p_OtherDigits) := { /* @status APPROVED (IMS, NR5GC, NR5GC_IRAT, POS) */ iei := omit, iel := int2oct(1+lengthof(p_OtherDigits), 2), // @sic R5s190719 sic@ idDigit1 := p_SUPIFormat, // 4 bits oddEvenInd := '0'B, // 1 bit typeOfId := tsc_IdType_NG_SUCI, // 3 bits otherDigits := p_OtherDigits }; template (present) NG_MobileIdentity cr_NG_MobileIdentity_TypeOfId(template (present) B4_Type p_FirstDigit, template (present) B1_Type p_OddEvenInd, template (present) octetstring p_OtherDigits, Loading
ttcn/Lib3GPP/NG_NAS/NG_NAS_MsgContainers.ttcn +6 −6 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ module NG_NAS_MsgContainers configuration_Update_Complete, messageType = '01010101'B; cp_Service_Request, messageType = '01001111'B; deregistration_Accept, messageType = '01000110'B; deregistration_RequestMO, messageType = '01001000'B; deregistration_RequestMO, messageType = '01000101'B; gmm_Status, messageType = '01100100'B; gsm_Status, messageType = '11010110'B; network_Slice_Specific_Authentication_Complete, messageType = '01010001'B; Loading
ttcn/Lib3GPP/NG_NAS/NG_NAS_Templates.ttcn +256 −56 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/Lib3GPP/NG_NAS/NG_NAS_TypeDefs.ttcn +105 −15 Original line number Diff line number Diff line Loading @@ -2495,14 +2495,13 @@ module NG_NAS_TypeDefs { B4_Type spare, B1_Type si16LLA, // @sic R5s201526 sic@ B3_Type typeValue, octetstring adressInfo length(4..12), octetstring ipv6Address length(1..16) optional /* Sep20 @sic R5s201387 Baseline Moving sic@ */ octetstring adressInfo length(4..12) optional, octetstring ipv6Address length(16) optional /* Sep20 @sic R5s201387 Baseline Moving sic@ */ } with { variant "FIELDORDER(msb)"; variant (iel) "LENGTHTO (spare, si16LLA, typeValue, adressInfo, ipv6Address)"; variant (iel) "BYTEORDER(last)"; variant (adressInfo) "BYTEORDER(last)"; variant (ipv6Address) "BYTEORDER(last)"; variant (ipv6Address) "PRESENCE(si16LLA = '1'B)" }; type record PDU_SessionType { /* 24.501 cl. 9.11.4.11 */ Loading Loading @@ -2539,25 +2538,116 @@ module NG_NAS_TypeDefs { type record QoS_Rule { IEI8_Type identifier, Type6Length_Type iel, B3_Type ruleOperationCode, QoS_RuleU u } with { variant "FIELDORDER(msb)"; variant (iel) "LENGTHTO (u)"; variant (iel) "BYTEORDER(last)"; }; type union QoS_RuleU { QoS_Rule_Create creat, QoS_Rule_Delete delete, QoS_Rule_Modify_and_add_PF modify_and_add_pf, QoS_Rule_Modify_and_replace_PF modify_and_replace_pf, QoS_Rule_Modify_and_delete_PF modify_and_delete_pf, QoS_Rule_Modify_no_PF modify_no_pf } with { variant "TAG(creat, ruleOperationCode = '001'B; delete, ruleOperationCode = '010'B; modify_and_add_pf, ruleOperationCode = '011'B; modify_and_replace_pf, ruleOperationCode = '100'B; modify_and_delete_pf, ruleOperationCode = '101'B; modify_no_pf, ruleOperationCode = '110'B)" }; type record QoS_Rule_Create { B3_Type ruleOperationCode ('001'B), B1_Type dqrBit, B4_Type numOfPacketFilters, NG_PacketFilterList packetFilterList optional, B4_Type numOfPacketFilters, /* >= 0 */ NG_PacketFilterList_Type2 packetFilterList optional, /* For the "create new QoS rule" operation, the QoS rule precedence value field shall be included */ O1_Type precedence, /* For the "create new QoS rule" operation, the QoS flow identifier value field shall be included. */ B1_Type spare, B1_Type segregation, /* Dec18 */ B6_Type flowIdentifier } with { variant "FIELDORDER(msb)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type record QoS_Rule_Delete { B3_Type ruleOperationCode ('010'B), B1_Type dqrBit, /* For the "delete existing QoS rule" operation the number of packet filters shall be coded as 0. */ B4_Type numOfPacketFilters ('0000'B) /* For the "delete existing QoS rule" operation, the QoS rule precedence * value field shall not be included */ /* For the "delete existing QoS rule" operation, the QoS flow identifier * value field shall not be included. */ } with { variant "FIELDORDER(msb)"; }; type record QoS_Rule_Modify_and_add_PF { B3_Type ruleOperationCode ('011'B), B1_Type dqrBit, B4_Type numOfPacketFilters, /* > 0 */ NG_PacketFilterList_Type2 packetFilterList, O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant "FIELDORDER(msb)"; variant (iel) "LENGTHTO (ruleOperationCode, dqrBit, numOfPacketFilters, packetFilterList, precedence, spare, segregation, flowIdentifier)"; variant (iel) "BYTEORDER(last)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type union NG_PacketFilterList { NG_PacketFilterList_Type1 modify, NG_PacketFilterList_Type2 new type record QoS_Rule_Modify_and_replace_PF { B3_Type ruleOperationCode ('100'B), B1_Type dqrBit, B4_Type numOfPacketFilters, /* >= 0 */ NG_PacketFilterList_Type2 packetFilterList optional, O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant ""; variant "FIELDORDER(msb)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type record QoS_Rule_Modify_and_delete_PF { B3_Type ruleOperationCode ('101'B), B1_Type dqrBit, B4_Type numOfPacketFilters, /* > 0 */ NG_PacketFilterList_Type1 packetFilterList, O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant "FIELDORDER(msb)"; variant (numOfPacketFilters) "LENGTHTO(packetFilterList)"; variant (numOfPacketFilters) "UNIT(elements)" }; type record QoS_Rule_Modify_no_PF { B3_Type ruleOperationCode ('110'B), B1_Type dqrBit, /* For the "modify existing QoS rule without modifying packet filters" * operation, the number of packet filters shall be coded as 0. */ B4_Type numOfPacketFilters ('0000'B), O1_Type precedence optional, B1_Type spare optional, B1_Type segregation optional, /* Dec18 */ B6_Type flowIdentifier optional } with { variant "FIELDORDER(msb)"; }; type record of NG_PacketFilter_Type1 NG_PacketFilterList_Type1; Loading @@ -2575,8 +2665,8 @@ module NG_NAS_TypeDefs { B2_Type spare, B2_Type direction, B4_Type packetFilterId, Type4Length_Type len optional, octetstring contents length (1..255) optional // @sic R5w190307 sic@ Type4Length_Type len, octetstring contents length (0..255) // @sic R5w190307 sic@ } with { variant "FIELDORDER(msb)"; variant (len) "LENGTHTO (contents)"; Loading
ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn +111 −111 Original line number Diff line number Diff line Loading @@ -560,7 +560,7 @@ module LibNGAP_Templates { value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } }, { id := id_PDUSessionResourceModifyListModReq, id := id_PDUSessionResourceModifyListModRes, criticality := reject, value_ := { PDUSessionResourceModifyListModRes := p_pDUSessionResourceModifyListModRes }