RnisAPI_Templates.ttcn 22.2 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
module RnisAPI_Templates {
Yann Garcia's avatar
Yann Garcia committed
  
YannGarcia's avatar
YannGarcia committed
  // JSON
  import from JSON all;
  
Yann Garcia's avatar
Yann Garcia committed
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  
Yann Garcia's avatar
Yann Garcia committed
  // LibMec/RnisAPI
Yann Garcia's avatar
Yann Garcia committed
  import from RnisAPI_TypesAndValues all;
Yann Garcia's avatar
Yann Garcia committed

YannGarcia's avatar
YannGarcia committed
  template (value) ProblemDetails m_problem_details(
                                                    in JSON.String p_type,
                                                    in JSON.String p_title,
                                                    in UInt32 p_status,
                                                    in JSON.String p_detail,
                                                    in JSON.String p_instance
                                                    ) := {
    type_    := p_type,
    title    := p_title,
    status   := p_status,
    detail   := p_detail,
    instance := p_instance
  } // End of template m_problem_details

  template (present) ProblemDetails mw_problem_details(
                                                       template (present) JSON.String p_type := ?,
                                                       template (present) JSON.String p_title := ?,
                                                       template (present) UInt32 p_status := ?,
                                                       template (present) JSON.String p_detail := ?,
                                                       template (present) JSON.String p_instance := ?
                                                       ) := {
    type_    := p_type,
    title    := p_title,
    status   := p_status,
    detail   := p_detail,
    instance := p_instance
  } // End of template mw_problem_details

Yann Garcia's avatar
Yann Garcia committed
  group subscriptions {
YannGarcia's avatar
YannGarcia committed
    
    template (omit) SubscriptionLinkList m_subscriptions_list(
                                                              in Link p_links,
                                                              in template (omit) Subscription p_subscription := omit
    ) := {
      links        := p_links,
      subscription := p_subscription
    } // End of template m_subscriptions_list
    
    
    template SubscriptionLinkList mw_subscriptions_list(
                                                        template (present) Link p_links := ?,
                                                        template Subscription p_subscription := *
    ) := {
      links        := p_links,
      subscription := p_subscription
    } // End of template mw_subscriptions_list 
    
YannGarcia's avatar
YannGarcia committed
    template (value) Subscription_ m_subscription(
                                                  in LinkType p_href,
                                                  in SubscriptionType p_subscriptionType
    ) := {
      href             := p_href,
      subscriptionType := p_subscriptionType
    } // End of temlate m_subscription
    
    template (present) Subscription_ mw_subscription(
                                                     template (present) LinkType p_href := ?,
                                                     template (present) SubscriptionType p_subscriptionType := ?
    ) := {
      href             := p_href,
      subscriptionType := p_subscriptionType
    } // End of temlate mw_subscription
    
    template (omit) CellChangeSubscription m_cell_change_subscription(
                                                                      in template (value) CallbackReference p_callbackReference,
                                                                      in template (value) Link p_links,
                                                                      in template (value) FilterCriteriaAssocHo p_filterCriteria,
                                                                      in template (omit) TimeStamp p_expiryDeadline := omit
                                                                      ) := {
      subscriptionType  := CELL_CHANGE,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template m_cell_change_subscription
    
    template (omit) CellChangeSubscription m_cell_change_subscription_wrong_subscription_type(
                                                                                              in template (value) CallbackReference p_callbackReference,
                                                                                              in template (value) Link p_links,
                                                                                              in template (value) FilterCriteriaAssocHo p_filterCriteria,
                                                                                              in template (omit) TimeStamp p_expiryDeadline := omit
                                                                                              ) modifies m_cell_change_subscription := {
      subscriptionType  := WRONG_PARAMETER
    } // End of template m_cell_change_subscription_wrong_subscription_type
    
    template CellChangeSubscription mw_cell_change_subscription(
                                                                template (present) CallbackReference p_callbackReference := ?,
                                                                template (present) Link p_links := ?,
                                                                template (present) FilterCriteriaAssocHo p_filterCriteria := ?,
                                                                template TimeStamp p_expiryDeadline := *
                                                                ) := {
      subscriptionType  := CELL_CHANGE,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template mw_cell_change_subscription
  } // End of group subscriptions
  
  group notifications {
    
    template (value) RabEstSubscription m_rab_est_subscription(
                                                               in template (value) CallbackReference p_callbackReference,
                                                               in template (value) Link p_links,
                                                               in template (value) FilterCriteriaAssocQci p_filterCriteria,
                                                               in template (value)TimeStamp p_expiryDeadline
    ) := {
      subscriptionType  := RAB_ESTABLISHMENT,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template m_rab_est_subscription
    
    template (present) RabEstSubscription mw_rab_est_subscription(
                                                                  template (present) CallbackReference p_callbackReference := ?,
                                                                  template (present) Link p_links := ?,
                                                                  template (present) FilterCriteriaAssocQci p_filterCriteria := ?,
                                                                  template (present)TimeStamp p_expiryDeadline := ?
    ) := {
      subscriptionType  := RAB_ESTABLISHMENT,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template mw_rab_est_subscription
    
    template (value) RabModSubscription m_rab_mod_subscription(
                                                               in template (value) CallbackReference p_callbackReference,
                                                               in template (value) Link p_links,
                                                               in template (value) FilterCriteriaAssocQci p_filterCriteria,
                                                               in template (value)TimeStamp p_expiryDeadline
    ) := {
      subscriptionType  := RAB_MODIFICATION,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template m_rab_mod_subscription
    
    template (present) RabModSubscription mw_rab_mod_subscription(
                                                                  template (present) CallbackReference p_callbackReference := ?,
                                                                  template (present) Link p_links := ?,
                                                                  template (present) FilterCriteriaAssocQci p_filterCriteria := ?,
                                                                  template (present)TimeStamp p_expiryDeadline := ?
    ) := {
      subscriptionType  := RAB_MODIFICATION,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template mw_rab_mod_subscription
    
    template (value) RabRelSubscription m_rab_rel_subscription(
                                                               in template (value) CallbackReference p_callbackReference,
                                                               in template (value) Link p_links,
                                                               in template (value) FilterCriteriaAssocQci p_filterCriteria,
                                                               in template (value)TimeStamp p_expiryDeadline
    ) := {
      subscriptionType  := RAB_RELEASE,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template m_rab_rel_subscription
    
    template (present) RabRelSubscription mw_rab_rel_subscription(
                                                                  template (present) CallbackReference p_callbackReference := ?,
                                                                  template (present) Link p_links := ?,
                                                                  template (present) FilterCriteriaAssocQci p_filterCriteria := ?,
                                                                  template (present)TimeStamp p_expiryDeadline := ?
    ) := {
      subscriptionType  := RAB_RELEASE,
      callbackReference := p_callbackReference,
      links             := p_links,
      filterCriteria    := p_filterCriteria,
      expiryDeadline    := p_expiryDeadline
    } // End of template mw_rab_rel_subscription
    
  } // End of group notifications
  
  group info_request {
    
YannGarcia's avatar
YannGarcia committed
    template (value) RabInfo m_rab_info(
                                        in template (value) TimeStamp p_timeStamp,
                                        in AppInsId p_appInsId,
                                        in RequestId p_requestId,
                                        in template (value) CellUserInfo p_cellUserInfo
    ) := {
      timeStamp    := p_timeStamp,
      appInsId     := p_appInsId,
      requestId    := p_requestId,
      cellUserInfo := p_cellUserInfo
    } // End of temlate m_rab_info
    
    template (present) RabInfo mw_rab_info(
                                           template (present) TimeStamp p_timeStamp := ?,
                                           template (present) AppInsId p_appInsId := ?,
                                           template (present) RequestId p_requestId := ?,
                                           template (present) CellUserInfo p_cellUserInfo := ?
    ) := {
      timeStamp    := p_timeStamp,
      appInsId     := p_appInsId,
      requestId    := p_requestId,
      cellUserInfo := p_cellUserInfo
    } // End of temlate mw_rab_info
    
    template (value) PlmnInfo m_plmn_info(
                                          in template (value) TimeStamp p_timeStamp,
                                          in AppInsId p_appInsId,
                                          in template (value) Plmns p_plmn
YannGarcia's avatar
YannGarcia committed
    ) := {
      timeStamp := p_timeStamp,
      appInsId  := p_appInsId,
      plmn      := p_plmn
YannGarcia's avatar
YannGarcia committed
    } // End of temlate m_plmn_info
    
    template (present) PlmnInfo mw_plmn_info(
                                             template (present) TimeStamp p_timeStamp := ?,
                                             template (present) AppInsId p_appInsId := ?,
                                             template (present) Plmns p_plmn := ?
YannGarcia's avatar
YannGarcia committed
    ) := {
      timeStamp := p_timeStamp,
      appInsId  := p_appInsId,
      plmn      := p_plmn
YannGarcia's avatar
YannGarcia committed
    } // End of temlate mw_plmn_info
    
    template (value) S1BearerInfo m_s1_bearer_info(
                                                   in template (value) TimeStamp p_timeStamp,
                                                   in template (value) S1UeInfo p_s1UeInfo
    ) := {
      timeStamp := p_timeStamp,
      s1UeInfo := p_s1UeInfo
    } // End of temlate m_s1_bearer_info
    
    template (present) S1BearerInfo mw_s1_bearer_info(
                                                      template (present) TimeStamp p_timeStamp := ?,
                                                      template (present) S1UeInfo p_s1UeInfo := ?
    ) := {
      timeStamp := p_timeStamp,
      s1UeInfo := p_s1UeInfo
    } // End of temlate mw_s1_bearer_info
    
  } // End of group info_request
  
  group sub_types {
    
    template (value) S1UeInfo_ m_s1_ue_info(
                                            in template (value) TempUeId p_tempUeId,
                                            in template (value) AssociateId p_associateId,
                                            in template (value) Ecgi p_ecgi,
                                            in template (value) S1BearerInfoDetailed p_s1BearerInfoDetailed
    ) := {
      tempUeId             := p_tempUeId,
      associateId          := p_associateId,
      ecgi                 := p_ecgi,
      s1BearerInfoDetailed := p_s1BearerInfoDetailed
    } // End of m_s1_ue_info
    
    template (present) S1UeInfo_ mw_s1_ue_info(
                                               template (present) TempUeId p_tempUeId := ?,
                                               template (present) AssociateId p_associateId := ?,
                                               template (present) Ecgi p_ecgi := ?,
                                               template (present) S1BearerInfoDetailed p_s1BearerInfoDetailed := ?
    ) := {
      tempUeId             := p_tempUeId,
      associateId          := p_associateId,
      ecgi                 := p_ecgi,
      s1BearerInfoDetailed := p_s1BearerInfoDetailed
    } // End of mw_s1_ue_info
    
YannGarcia's avatar
YannGarcia committed
    template (value) TimeStamp m_time_stamp(
                                            in UInt32 p_seconds,
                                            in UInt32 p_nanoSeconds := 0
    ) := {
      seconds     := p_seconds,
      nanoSeconds := p_nanoSeconds
    } // End of temlate m_time_stamp
    
    template (present) TimeStamp mw_time_stamp(
                                               template (present) UInt32 p_seconds := ?,
                                               template (present) UInt32 p_nanoSeconds := ?
    ) := {
      seconds     := p_seconds,
      nanoSeconds := p_nanoSeconds
    } // End of temlate mw_time_stamp
    
    template (value) FilterCriteriaAssocHo m_filter_criteria_ho(
                                                                in AppInsId p_appInsId,
                                                                in template (value) AssociateId p_associateId,
                                                                in template (value) Plmn p_plmn,
                                                                in template (value) CellId p_cellId,
                                                                in HoStatus p_hoStatus
    ) := {
      appInsId    := p_appInsId,
      associateId := p_associateId,
      plmn        := p_plmn,
      cellId      := p_cellId,
      hoStatus    := p_hoStatus
    } // End of template m_filter_criteria_ho
    
    template (present) FilterCriteriaAssocHo mw_filter_criteria_ho(
                                                                   template (present) AppInsId p_appInsId := ?,
                                                                   template (present) AssociateId p_associateId := ?,
                                                                   template (present) Plmn p_plmn := ?,
                                                                   template (present) CellId p_cellId := ?,
                                                                   template (present) HoStatus p_hoStatus := ?
    ) := {
      appInsId    := p_appInsId,
      associateId := p_associateId,
      plmn        := p_plmn,
      cellId      := p_cellId,
      hoStatus    := p_hoStatus
    } // End of template mw_filter_criteria_ho
    
    template (value) FilterCriteriaAssocQci m_filter_criteria_qci(
                                                                  in AppInsId p_appInsId,
                                                                  in template (value) ErabId p_erabId,
                                                                  in template (value) Ecgi p_ecgi,
                                                                  in template (value) Qci p_qci
    ) := {
      appInsId := p_appInsId,
      erabId   := p_erabId,
      ecgi     := p_ecgi,
      qci      := p_qci
    } // End of template m_filter_criteria_qci
    
    template (present) FilterCriteriaAssocQci mw_filter_criteria_qci(
                                                                     template (present) AppInsId p_appInsId := ?,
                                                                     template (present) ErabId p_erabId := ?,
                                                                     template (present) Ecgi p_ecgi := ?,
                                                                     template (present) Qci p_qci := ?
    ) := {
      appInsId := p_appInsId,
      erabId   := p_erabId,
      ecgi     := p_ecgi,
      qci      := p_qci
    } // End of template mw_filter_criteria_qci
    
    template (value) CellUserInfo_ m_cell_user_info(
                                                    in template (value) Ecgi p_ecgi,
                                                    in template (value) UeInfo p_ueInfo
    ) := {
      ecgi   := p_ecgi,
      ueInfo := p_ueInfo
    } // End of template m_cell_user_info
    
    template (present) CellUserInfo_ mw_cell_user_info(
                                                       template (present) Ecgi p_ecgi := ?,
                                                       template (present) UeInfo p_ueInfo := ?
    ) := {
      ecgi   := p_ecgi,
      ueInfo := p_ueInfo
    } // End of template mw_cell_user_info
    
    template (value) AssociateId_ m_associate_id(
                                                 in AssociateId_type p_type_,
                                                 in JSON.String p_value_
    ) := {
      type_  := p_type_,
      value_ := p_value_
    } // End of template m_associate_id
    
    template (present) AssociateId_ mw_associate_id(
                                                    template (present) AssociateId_type p_type_ := ?,
                                                    template (present) JSON.String p_value_ := ?
    ) := {
      type_  := p_type_,
      value_ := p_value_
    } // End of template mw_associate_id
    
    template (value) Ecgi_ m_ecgi(
                                  in template (value) Plmn p_plmn,
                                  in template (value) CellId p_cellId
    ) := {
      plmn  := p_plmn,
      cellId := p_cellId
    } // End of template m_ecgi
    
    template (present) Ecgi_ mw_ecgi(
                                     template (present) Plmn p_plmn := ?,
                                     template (present) CellId p_cellId := ?
    ) := {
      plmn  := p_plmn,
      cellId := p_cellId
    } // End of template mw_ecgi
    
    template (value) Plmn m_plmn(
                                 in JSON.String p_mcc,
                                 in JSON.String p_mnc
    ) := {
      mcc := p_mcc,
      mnc := p_mnc
    } // End of template m_plmn
    
    template (present) Plmn mw_plmn(
                                    template (present) JSON.String p_mcc := ?,
                                    template (present) JSON.String p_mnc := ?
    ) := {
      mcc := p_mcc,
      mnc := p_mnc
    } // End of template mw_plmn
    
    template (value) TempUeId_ m_temp_ue_id(
                                            in Mmec p_mmec,
                                            in Mtmsi p_mtmsi
    ) := {
      mmec  := p_mmec,
      mtmsi := p_mtmsi
    } // End of template m_temp_ue_id
    
    template (present) TempUeId_ mw_temp_ue_id(
                                               template (present) Mmec p_mmec := ?,
                                               template (present) Mtmsi p_mtmsi := ?
    ) := {
      mmec  := p_mmec,
      mtmsi := p_mtmsi
    } // End of template mw_temp_ue_id
    
    template (value) S1BearerInfoDetailed_ m_s1_bearer_info_detailed(
                                                                     in ErabId p_erabId,
                                                                     in template (value) S1EnbInfo p_s1EnbInfo,
                                                                     in template (value) SGwInfo p_sGwInfo
    ) := {
      erabId    := p_erabId,
      s1EnbInfo := p_s1EnbInfo,
      sGwInfo   := p_sGwInfo
    } // End of template m_s1_bearer_info_detailed
    
    template (present) S1BearerInfoDetailed_ mw_s1_bearer_info_detailed(
                                                                        template (present) ErabId p_erabId := ?,
                                                                        template (present) S1EnbInfo p_s1EnbInfo := ?,
                                                                        template (present) SGwInfo p_sGwInfo := ?
    ) := {
      erabId    := p_erabId,
      s1EnbInfo := p_s1EnbInfo,
      sGwInfo   := p_sGwInfo
    } // End of template mw_s1_bearer_info_detailed
    
  } // End of group sub_types
YannGarcia's avatar
YannGarcia committed
  
Yann Garcia's avatar
Yann Garcia committed
} // End of module RnisAPI_Templates