| /****************************************************************************** |
| * Copyright (c) 2000-2019 Ericsson AB |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html |
| * |
| * Contributors: |
| * Gabor Szalai - initial implementation and initial documentation |
| ******************************************************************************/ |
| // |
| // File: TS29503_Nudm_UEAU.ttcn |
| // Description: Type definitions for 3GPP TS29503 |
| /////////////////////////////////////////////// |
| module TS29503_Nudm_UEAU { |
| |
| import from TS29571_CommonData all |
| |
| external function f_enc_AuthenticationInfoRequest(in AuthenticationInfoRequest pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AuthenticationInfoRequest(in octetstring stream, out AuthenticationInfoRequest pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_AuthenticationInfoResult(in AuthenticationInfoResult pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AuthenticationInfoResult(in octetstring stream, out AuthenticationInfoResult pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_AuthEvent(in AuthEvent pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AuthEvent(in octetstring stream, out AuthEvent pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| |
| type set AuthenticationInfoRequest { |
| TS29571_CommonData.SupportedFeatures supportedFeatures optional, |
| ServingNetworkName servingNetworkName, |
| ResynchronizationInfo resynchronizationInfo optional, |
| TS29571_CommonData.NfInstanceId ausfInstanceId |
| } |
| |
| type set AuthenticationInfoResult { |
| AuthType authType, |
| TS29571_CommonData.SupportedFeatures supportedFeatures optional, |
| AuthenticationVector authenticationVector optional, |
| TS29571_CommonData.Supi supi optional |
| } |
| |
| type union AuthenticationVector { |
| AvEapAkaPrime avEapAkaPrime, |
| Av5GHeAka av5GHeAka |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type set AvEapAkaPrime { |
| AvType avType, |
| Rand rand, |
| Xres xres, |
| Autn autn, |
| CkPrime ckPrime, |
| IkPrime ikPrime |
| } |
| |
| type set Av5GHeAka { |
| AvType avType, |
| Rand rand, |
| XresStar xresStar, |
| Autn autn, |
| Kausf kausf |
| } |
| |
| type set ResynchronizationInfo { |
| Rand rand, |
| Auts auts |
| } |
| |
| type set AuthEvent { |
| TS29571_CommonData.NfInstanceId nfInstanceId, |
| Success success, |
| TS29571_CommonData.DateTime timeStamp, |
| AuthType authType |
| } |
| |
| type charstring Autn // (pattern "^[A-Fa-f0-9]{32}$") |
| |
| type charstring Auts // (pattern "^[A-Fa-f0-9]{28}$") |
| |
| type charstring CkPrime // (pattern "^[A-Fa-f0-9]{32}$") |
| |
| type charstring IkPrime // (pattern "^[A-Fa-f0-9]{32}$") |
| |
| type charstring Kausf // (pattern "^[A-Fa-f0-9]{64}$") |
| |
| type charstring Rand // (pattern "^[A-Fa-f0-9]{32}$") |
| |
| type charstring Xres // (pattern "^[A-Fa-f0-9]{8,32}$") |
| |
| type charstring XresStar // (pattern "^[A-Fa-f0-9]{32}$") |
| |
| type charstring SupiOrSuci // (pattern "^(imsi-[0-9]{5,15}|nai-.+| suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$") |
| |
| type charstring ServingNetworkName // (pattern "^5G:mnc[0-9]{3}[.]mcc[0-9]{3}[.]3gppnetwork[.]org$") |
| |
| type boolean Success |
| |
| type enumerated AuthType_enum { FIVEG_AKA, EAP_AKA_PRIME, EAP_TLS} |
| with { |
| variant "text 'FIVEG_AKA' as '5G_AKA' " |
| } |
| |
| type union AuthType { |
| AuthType_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated AvType_enum { FIVEG_HE_AKA, EAP_AKA_PRIME} |
| with { |
| variant "text 'FIVEG_HE_AKA' as '5G_HE_AKA' " |
| } |
| |
| type union AvType { |
| AvType_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| |
| |
| |
| |
| } with { |
| encode "JSON" |
| } |