Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
TS29503_Nudm_UECM.ttcn 6.75 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:               TS29503_Nudm_UECM.ttcn
//  Description:	      Type definitions for 3GPP TS29503
/////////////////////////////////////////////// 
module TS29503_Nudm_UECM {

  import from TS29571_CommonData all

  external function f_enc_Amf3GppAccessRegistration(in Amf3GppAccessRegistration pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_Amf3GppAccessRegistration(in octetstring stream, out Amf3GppAccessRegistration pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_DeregistrationData(in DeregistrationData pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_DeregistrationData(in octetstring stream, out DeregistrationData pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_PcscfRestorationNotification(in PcscfRestorationNotification pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_PcscfRestorationNotification(in octetstring stream, out PcscfRestorationNotification pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_Amf3GppAccessRegistrationModification(in Amf3GppAccessRegistrationModification pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_Amf3GppAccessRegistrationModification(in octetstring stream, out Amf3GppAccessRegistrationModification pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_AmfNon3GppAccessRegistration(in AmfNon3GppAccessRegistration pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_AmfNon3GppAccessRegistration(in octetstring stream, out AmfNon3GppAccessRegistration pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_AmfNon3GppAccessRegistrationModification(in AmfNon3GppAccessRegistrationModification pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_AmfNon3GppAccessRegistrationModification(in octetstring stream, out AmfNon3GppAccessRegistrationModification pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_SmfRegistration(in SmfRegistration pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_SmfRegistration(in octetstring stream, out SmfRegistration pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }

  external function f_enc_SmsfRegistration(in SmsfRegistration pdu) return octetstring 
  with { extension "prototype(convert) encode(JSON)" }

  external function f_dec_SmsfRegistration(in octetstring stream, out SmsfRegistration pdu) return integer 
  with { extension "prototype(backtrack) decode(JSON)" }


  type set Amf3GppAccessRegistration {
    TS29571_CommonData.NfInstanceId    amfInstanceId,
    TS29571_CommonData.SupportedFeatures    supportedFeatures optional,
    PurgeFlag    purgeFlag optional,
    TS29571_CommonData.Pei    pei optional,
    ImsVoPS    imsVoPS optional,
    TS29571_CommonData.Uri    deregCallbackUri,
    TS29571_CommonData.Uri    pcscfRestorationCallbackUri optional,
    TS29571_CommonData.Guami    guami optional,
    TS29571_CommonData.PlmnId    plmnId,
    set of       TS29571_CommonData.BackupAmfInfo    backupAmfInfo optional
  }

  type set Amf3GppAccessRegistrationModification {
    PurgeFlag    purgeFlag optional,
    TS29571_CommonData.Pei    pei optional,
    ImsVoPS    imsVoPS optional,
    set of       TS29571_CommonData.BackupAmfInfo    backupAmfInfo optional
  }

  type set AmfNon3GppAccessRegistration {
    TS29571_CommonData.NfInstanceId    amfInstanceId,
    TS29571_CommonData.SupportedFeatures    supportedFeatures optional,
    PurgeFlag    purgeFlag optional,
    TS29571_CommonData.Pei    pei optional,
    TS29571_CommonData.Uri    deregCallbackUri,
    TS29571_CommonData.Uri    pcscfRestorationCallbackUri optional,
    TS29571_CommonData.Guami    guami optional,
    TS29571_CommonData.PlmnId    plmnId,
    set of       TS29571_CommonData.BackupAmfInfo    backupAmfInfo optional
  }

  type set AmfNon3GppAccessRegistrationModification {
    PurgeFlag    purgeFlag optional,
    TS29571_CommonData.Pei    pei optional,
    set of       TS29571_CommonData.BackupAmfInfo    backupAmfInfo optional
  }

  type set SmfRegistration {
    TS29571_CommonData.NfInstanceId    smfInstanceId,
    TS29571_CommonData.SupportedFeatures    supportedFeatures optional,
    TS29571_CommonData.PduSessionId    pduSessionId,
    TS29571_CommonData.Dnn    dnn,
    TS29571_CommonData.Uri    pcscfRestorationCallbackUri optional,
    TS29571_CommonData.PlmnId    plmnId,
    charstring pgwFqdn optional
  }

  type set SmsfRegistration {
    TS29571_CommonData.NfInstanceId    smsfInstanceId,
    TS29571_CommonData.SupportedFeatures    supportedFeatures optional,
    TS29571_CommonData.PlmnId    plmnId,
    E164Number    smsfMAPAddress optional,
    NetworkNodeDiameterAddress    smsfDiameterAddress optional
  }

  type set DeregistrationData {
    DeregistrationReason    deregReason,
    TS29571_CommonData.AccessType    accessType
  }

  type set PcscfRestorationNotification {
    TS29571_CommonData.Supi    supi
  }

  type set NetworkNodeDiameterAddress {
    TS29571_CommonData.DiameterIdentity    name,
    TS29571_CommonData.DiameterIdentity    realm
  }

  type boolean PurgeFlag

  type charstring E164Number // (pattern "^[0-9]{1,15}$")

  type enumerated ImsVoPS_enum { HOMOGENEOUS_SUPPORT, HOMOGENEOUS_NON_SUPPORT, NON_HOMOGENEOUS_OR_UNKNOWN}

  type union ImsVoPS {
    ImsVoPS_enum  enum_val,
    charstring           other_val
  } with {
    variant "JSON: as value"
  }


  type enumerated DeregistrationReason_enum { UE_INITIAL_REGISTRATION, UE_REGISTRATION_AREA_CHANGE, SUBSCRIPTION_WITHDRAWN, FIVEGS_TO_EPS_MOBILITY}
  with {variant "text 'FIVEGS_TO_EPS_MOBILITY' as '5GS_TO_EPS_MOBILITY'"}

  type union DeregistrationReason {
    DeregistrationReason_enum  enum_val,
    charstring           other_val
  } with {
    variant "JSON: as value"
  }






} with {
  encode "JSON"
}