RnisAPI_Templates.ttcn 16 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
1
module RnisAPI_Templates {
Yann Garcia's avatar
Yann Garcia committed
2
  
YannGarcia's avatar
YannGarcia committed
3 4 5
  // JSON
  import from JSON all;
  
Yann Garcia's avatar
Yann Garcia committed
6 7 8
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  
Yann Garcia's avatar
Yann Garcia committed
9
  // LibMec/RnisAPI
Yann Garcia's avatar
Yann Garcia committed
10
  import from RnisAPI_TypesAndValues all;
Yann Garcia's avatar
Yann Garcia committed
11

YannGarcia's avatar
YannGarcia committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
  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
40
  group subscriptions {
YannGarcia's avatar
YannGarcia committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
    
    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
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
    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
    
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
    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 info_request {
    
YannGarcia's avatar
YannGarcia committed
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
    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(
139 140 141
                                          in template (value) TimeStamp p_timeStamp,
                                          in AppInsId p_appInsId,
                                          in template (value) Plmns p_plmn
YannGarcia's avatar
YannGarcia committed
142 143 144
    ) := {
      timeStamp := p_timeStamp,
      appInsId  := p_appInsId,
145
      plmn      := p_plmn
YannGarcia's avatar
YannGarcia committed
146 147 148
    } // End of temlate m_plmn_info
    
    template (present) PlmnInfo mw_plmn_info(
149 150 151
                                             template (present) TimeStamp p_timeStamp := ?,
                                             template (present) AppInsId p_appInsId := ?,
                                             template (present) Plmns p_plmn := ?
YannGarcia's avatar
YannGarcia committed
152 153 154
    ) := {
      timeStamp := p_timeStamp,
      appInsId  := p_appInsId,
155
      plmn      := p_plmn
YannGarcia's avatar
YannGarcia committed
156 157
    } // End of temlate mw_plmn_info
    
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
    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) Ecgis 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) Ecgis 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
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
    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
    
218 219 220 221 222 223 224 225 226 227 228 229 230
    template (value) FilterCriteriaAssocHo m_filter_criteria(
                                                             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
Yann Garcia's avatar
Yann Garcia committed
231
    
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346
    template (present) FilterCriteriaAssocHo mw_filter_criteria(
                                                                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
    
    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(
                                 in template (present) Plmn p_plmn := ?,
                                 in 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_enbInfo,
                                                                     in template (value) SGwInfo p_sGwInfo
    ) := {
      erabId  := p_erabId,
      enbInfo := p_enbInfo,
      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_enbInfo := ?,
                                                                        template (present) SGwInfo p_sGwInfo := ?
    ) := {
      erabId  := p_erabId,
      enbInfo := p_enbInfo,
      sGwInfo := p_sGwInfo
    } // End of template mw_s1_bearer_info_detailed
    
  } // End of group sub_types
YannGarcia's avatar
YannGarcia committed
347
  
Yann Garcia's avatar
Yann Garcia committed
348
} // End of module RnisAPI_Templates