| /****************************************************************************** |
| * 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: TS29508_Nsmf_EventExposure.ttcn |
| // Description: Type definitions for 3GPP TS29508 |
| /////////////////////////////////////////////// |
| module TS29508_Nsmf_EventExposure { |
| |
| import from TS29571_CommonData all |
| |
| external function f_enc_Nsmf_EventExposure(in Nsmf_EventExposure pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_Nsmf_EventExposure(in octetstring stream, out Nsmf_EventExposure pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| external function f_enc_Nsmf_EventExposureNotification(in Nsmf_EventExposureNotification pdu) return octetstring |
| with { extension "prototype(convert) encode(JSON)" } |
| |
| external function f_dec_Nsmf_EventExposureNotification(in octetstring stream, out Nsmf_EventExposureNotification pdu) return integer |
| with { extension "prototype(backtrack) decode(JSON)" } |
| |
| |
| type set Nsmf_EventExposure { |
| TS29571_CommonData.Supi supi optional, |
| TS29571_CommonData.Dnn dnn optional, |
| TS29571_CommonData.GroupId groupId optional, |
| TS29571_CommonData.PduSessionId pduSeId optional, |
| SubId subId optional, |
| charstring notifId, |
| TS29571_CommonData.Uri notifUri, |
| set of TS29571_CommonData.Ipv4Addr altNotifIpv4Addrs optional, |
| set of TS29571_CommonData.Ipv6Addr altNotifIpv6Addrs optional, |
| set of EventSubscription eventSubs, |
| TS29571_CommonData.Guami guami optional, |
| charstring serviveName optional, |
| TS29571_CommonData.SupportedFeatures supportedFeatures optional |
| } |
| |
| type set Nsmf_EventExposureNotification { |
| charstring notifId, |
| set of EventNotification eventNotifs |
| } |
| |
| type set EventSubscription { |
| SmfEvent event, |
| NotificationMethod notifMethod optional, |
| TS29571_CommonData.Uinteger maxReportNbr optional, |
| TS29571_CommonData.DurationSec monDur optional, |
| TS29571_CommonData.DurationSec repPeriod optional, |
| TS29571_CommonData.DnaiChangeType dnaiChgType optional |
| } |
| |
| type set EventNotification { |
| SmfEvent event, |
| TS29571_CommonData.DateTime timeStamp, |
| TS29571_CommonData.Dnai sourceDnai optional, |
| TS29571_CommonData.Dnai targetDnai optional, |
| TS29571_CommonData.DnaiChangeType dnaiChgType optional, |
| TS29571_CommonData.Ipv4Addr sourceUeIpv4Addr optional, |
| TS29571_CommonData.Ipv6Prefix sourceUeIpv6Prefix optional, |
| TS29571_CommonData.Ipv4Addr targetUeIpv4Addr optional, |
| TS29571_CommonData.Ipv6Prefix targetUeIpv6Prefix optional, |
| TS29571_CommonData.RouteToLocation sourceTraRouting optional, |
| TS29571_CommonData.RouteToLocation targetTraRouting optional, |
| TS29571_CommonData.Ipv4Addr adIpv4Addr optional, |
| TS29571_CommonData.Ipv6Prefix adIpv6Prefix optional, |
| TS29571_CommonData.Ipv4Addr reIpv4Addr optional, |
| TS29571_CommonData.Ipv6Prefix reIpv6Prefix optional, |
| TS29571_CommonData.PlmnId plmnId optional, |
| TS29571_CommonData.AccessType accType optional, |
| TS29571_CommonData.PduSessionId pduSeId optional |
| } |
| |
| type charstring SubId |
| |
| type enumerated SmfEvent_enum { AC_TY_CH, TRA_ROUT_CH, DNAI_CH, PDU_SES_REL, PLMN_CH, UE_IP_CH} |
| |
| type union SmfEvent { |
| SmfEvent_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| type enumerated NotificationMethod_enum { PERIODIC, ONE_TIME, ON_EVENT_DETECTION} |
| |
| type union NotificationMethod { |
| NotificationMethod_enum enum_val, |
| charstring other_val |
| } with { |
| variant "JSON: as value" |
| } |
| |
| |
| |
| |
| |
| |
| } with { |
| encode "JSON" |
| } |