| /****************************************************************************** |
| * 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: TS29518_Namf_EventExposure.ttcn |
| // Description: Type definitions for 3GPP TS29518 |
| // Prodnr: CNL 113 890 |
| /////////////////////////////////////////////// |
| module TS29518_Namf_EventExposure { |
| |
| import from TS29571_CommonData all |
| |
| external function f_enc_AmfCreateEventSubscription(in AmfCreateEventSubscription pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AmfCreateEventSubscription(in octetstring stream, out AmfCreateEventSubscription pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_AmfCreatedEventSubscription(in AmfCreatedEventSubscription pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AmfCreatedEventSubscription(in octetstring stream, out AmfCreatedEventSubscription pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_AmfEventNotification(in AmfEventNotification pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AmfEventNotification(in octetstring stream, out AmfEventNotification pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_AmfUpdateEventSubscriptionItem(in AmfUpdateEventSubscriptionItem pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AmfUpdateEventSubscriptionItem(in octetstring stream, out AmfUpdateEventSubscriptionItem pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_AmfUpdatedEventSubscription(in AmfUpdatedEventSubscription pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_AmfUpdatedEventSubscription(in octetstring stream, out AmfUpdatedEventSubscription pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| |
| type set AmfEventSubscription { |
| set of AmfEvent eventList optional, |
| TS29571_CommonData.Uri eventNotifyUri, |
| charstring notifyCorrelationId, |
| TS29571_CommonData.NfInstanceId nfId, |
| TS29571_CommonData.Uri subsChangeNotifyUri optional, |
| charstring subsChangeNotifyCorrelationId optional, |
| TS29571_CommonData.Supi supi optional, |
| TS29571_CommonData.GroupId groupId optional, |
| TS29571_CommonData.Gpsi gpsi optional, |
| TS29571_CommonData.Pei pei optional, |
| boolean anyUE optional, |
| AmfEventMode options optional |
| } |
| |
| type set AmfEvent { |
| AmfEventType type_, |
| boolean immediateFlag optional, |
| set of AmfEventArea areaList optional, |
| set of LocationFilter locationFilterList optional, |
| set of SubscribedDataFilter subscribedDataFilterList optional |
| } with { |
| variant (type_) "name as 'type'" |
| } |
| |
| type set AmfEventNotification { |
| charstring subscriptionId, |
| charstring notifyCorrelationId, |
| set of AmfEventReport reportList optional |
| } |
| |
| type set AmfEventReport { |
| AmfEventType type_, |
| AmfEventState state, |
| TS29571_CommonData.DateTime timeStamp, |
| boolean anyUe optional, |
| TS29571_CommonData.Supi supi optional, |
| set of AmfEventArea areaList optional, |
| TS29571_CommonData.Gpsi gpsi optional, |
| TS29571_CommonData.Pei pei optional, |
| TS29571_CommonData.UserLocation location optional, |
| TS29571_CommonData.TimeZone timezone optional, |
| set of TS29571_CommonData.AccessType accessTypeList optional, |
| set of RmInfo rmInfoList optional, |
| set of CmInfo cmInfoList optional, |
| UeReachability reachability optional, |
| SubscribedData subscribedData optional, |
| CommunicationFailure commFailure optional, |
| integer numberOfUes optional |
| } with { |
| variant (type_) "name as 'type'" |
| } |
| |
| |
| type set AmfEventMode { |
| AmfEventTrigger trigger_, |
| integer maxReports optional, |
| TS29571_CommonData.DateTime expiry optional |
| } with { |
| variant (trigger_) "name as 'trigger'" |
| } |
| |
| type set AmfEventState { |
| boolean active, |
| integer remainReports optional, |
| TS29571_CommonData.DurationSec remainDuration optional |
| } |
| |
| type set RmInfo { |
| RmState rmState, |
| TS29571_CommonData.AccessType accessType |
| } |
| |
| type set CmInfo { |
| CmState cmState, |
| TS29571_CommonData.AccessType accessType |
| } |
| |
| type set SubscribedData { |
| Sari sari optional, |
| RfspIndex rfspIndex optional |
| } |
| |
| type set CommunicationFailure { |
| charstring nasReleaseCode optional, |
| TS29571_CommonData.NgApCause ranReleaseCode optional |
| } |
| |
| type set AmfCreateEventSubscription { |
| AmfEventSubscription subscription, |
| TS29571_CommonData.SupportedFeatures supportedFeatures optional |
| } |
| |
| type set AmfCreatedEventSubscription { |
| AmfEventSubscription subscription, |
| set of AmfEventReport reportList optional, |
| TS29571_CommonData.SupportedFeatures supportedFeatures optional |
| } |
| |
| type set AmfUpdateEventSubscriptionItem_item { |
| enumerated { add, remove, replace_} op, |
| charstring path, // (pattern "\/events\/[0-]$|\/events\/[1-9][0-9]*$"), |
| AmfEvent value_ optional |
| } with { |
| variant (op) "text 'replace_' as 'replace'" |
| variant (value_) "name as 'value'" |
| } |
| |
| type set of AmfUpdateEventSubscriptionItem_item AmfUpdateEventSubscriptionItem |
| |
| type set AmfUpdatedEventSubscription { |
| AmfEventSubscription subscription |
| } |
| |
| type set AmfEventArea { |
| TS29571_CommonData.PresenceInfo presenceInfo optional, |
| LadnInfo ladnInfo optional |
| } |
| |
| type set LadnInfo { |
| charstring ladn, |
| TS29571_CommonData.PresenceState presence optional |
| } |
| |
| type charstring FivegGuti |
| |
| type TS29571_CommonData.Bytes Sari |
| |
| type integer RfspIndex |
| |
| type enumerated AmfEventType_enum { LOCATION_REPORT, PRESENCE_IN_AOI_REPORT, TIMEZONE_REPORT, ACCESS_TYPE_REPORT, REGISTRATION_STATE_REPORT, CONNECTIVITY_STATE_REPORT, REACHABILITY_REPORT, SUBSCRIBED_DATA_REPORT, COMMIUNICATION_FAILURE_REPORT, UES_IN_AREA_REPORT} |
| |
| type union AmfEventType { |
| AmfEventType_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated AmfEventTrigger_enum { ONE_TIME, CONTINUOUS} |
| |
| type union AmfEventTrigger { |
| AmfEventTrigger_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated LocationFilter_enum { TAI, CELL_ID, N3IWF, UE_IP, UDP_PORT} |
| |
| type union LocationFilter { |
| LocationFilter_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated SubscribedDataFilter_enum { SARI, RFSP_INDEX} |
| |
| type union SubscribedDataFilter { |
| SubscribedDataFilter_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated UeReachability_enum { UNREACHABLE, REACHABLE, REGULATORY_ONLY} |
| |
| type union UeReachability { |
| UeReachability_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated RmState_enum { REGISTERED, DEREGISTERED} |
| |
| type union RmState { |
| RmState_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated CmState_enum { IDLE, CONNECTED} |
| |
| type union CmState { |
| CmState_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| |
| |
| |
| |
| } with { |
| encode "JSON" |
| } |