-
Adam Knapp authored
Signed-off-by:
Adam Knapp <adam.knapp@ericsson.com>
Adam Knapp authoredSigned-off-by:
Adam Knapp <adam.knapp@ericsson.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
TS29509_Nausf_UEAuthentication.ttcn 4.50 KiB
/******************************************************************************
* Copyright (c) 2000-2023 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: TS29509_Nausf_UEAuthentication.ttcn
// Description: Type definitions for 3GPP TS29509
///////////////////////////////////////////////
module TS29509_Nausf_UEAuthentication {
import from TS29503_Nudm_UEAU all
import from TS29571_CommonData all
external function f_enc_AuthenticationInfo(in AuthenticationInfo pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_AuthenticationInfo(in octetstring stream, out AuthenticationInfo pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_UEAuthenticationCtx(in UEAuthenticationCtx pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_UEAuthenticationCtx(in octetstring stream, out UEAuthenticationCtx pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_ConfirmationData(in ConfirmationData pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_ConfirmationData(in octetstring stream, out ConfirmationData pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_ConfirmationDataResponse(in ConfirmationDataResponse pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_ConfirmationDataResponse(in octetstring stream, out ConfirmationDataResponse pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
external function f_enc_EapSession(in EapSession pdu) return octetstring
with { extension "prototype(convert) encode(JSON)" }
external function f_dec_EapSession(in octetstring stream, out EapSession pdu) return integer
with { extension "prototype(backtrack) decode(JSON)" }
type set AuthenticationInfo {
TS29503_Nudm_UEAU.SupiOrSuci supiOrSuci,
TS29503_Nudm_UEAU.ServingNetworkName servingNetworkName,
TS29503_Nudm_UEAU.ResynchronizationInfo resynchronizationInfo optional,
TS29571_CommonData.NfInstanceId amfInstanceId,
TS29571_CommonData.TraceData traceData optional
}
type set UEAuthenticationCtx {
AuthType authType,
union {
Av5gAka av5gAka,
EapPayload eapPayload
} fivegAuthData,
set of record {
universal charstring key,
TS29571_CommonData.LinksValueSchema additionalProperties
} links,
TS29503_Nudm_UEAU.ServingNetworkName servingNetworkName optional
} with {
variant (fivegAuthData) "JSON: as value"
variant (fivegAuthData) "name as '5gAuthData'"
variant (links) "as map"
variant (links) "name as '_links'"
}
type set Av5gAka {
TS29503_Nudm_UEAU.Rand rand,
HxresStar hxresStar,
TS29503_Nudm_UEAU.Autn autn,
Kseaf kSeaf
}
type set ConfirmationData {
ResStar resStar,
TS29503_Nudm_UEAU.SupiOrSuci supiOrSuci optional
}
type set ConfirmationDataResponse {
AuthResult authResult,
TS29571_CommonData.Supi supi optional
}
type set EapSession {
EapPayload eapPayload,
Kseaf kSeaf optional,
set of record {
universal charstring key,
TS29571_CommonData.LinksValueSchema additionalProperties
} links optional
} with {
variant (links) "as map"
variant (links) "name as '_links'"
}
type enumerated AuthResult { AUTHENTICATION_SUCCESS, AUTHENTICATION_FAILURE, AUTHENTICATION_ONGOING}
type charstring EapPayload
type charstring Kseaf // (pattern "[A-Fa-f0-9]{64}")
type charstring ResStar // (pattern "[A-Fa-f0-9]{32}")
type charstring HxresStar // (pattern "[A-Fa-f0-9]{32}")
type enumerated AuthType_enum { FIVEG_AKA, EAP_AKA_PRIME, EAP_TLS}
with {
variant "text 'FIVEG_AKA' as '5G_AKA'"
variant "text 'EAP_TLS' as 'EAP-TLS'"
}
type union AuthType {
AuthType_enum enum_val,
charstring other_val
} with {
variant "JSON: as value"
}
} with {
encode "JSON"
}