//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const (
- E2AP_IndicationTypeReport uint64 = 0
- E2AP_IndicationTypeInsert uint64 = 1
-)
+type PackedData struct {
+ Buf []byte
+}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const (
- E2AP_ActionTypeReport uint64 = 0
- E2AP_ActionTypeInsert uint64 = 1
- E2AP_ActionTypePolicy uint64 = 2
- E2AP_ActionTypeInvalid uint64 = 99 // For RIC internal usage only
-)
+type MessageInfo struct {
+ MsgType uint64
+ MsgId uint64
+}
+
+func (msgInfo *MessageInfo) String() string {
+ return "msginfo(" + strconv.FormatUint((uint64)(msgInfo.MsgType), 10) + string(":") + strconv.FormatUint((uint64)(msgInfo.MsgId), 10) + ")"
+}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const (
- E2AP_SubSeqActionTypeContinue uint64 = 0
- E2AP_SubSeqActionTypeWait uint64 = 1
-)
+type RequestId struct {
+ Id uint32
+ InstanceId uint32
+}
+
+func (rid *RequestId) String() string {
+ return strconv.FormatUint((uint64)(rid.Id), 10) + string(":") + strconv.FormatUint((uint64)(rid.InstanceId), 10)
+}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+type FunctionId uint16
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+
const (
- E2AP_TimeToWaitZero uint64 = 0
- E2AP_TimeToWaitW1ms uint64 = 1
- E2AP_TimeToWaitW2ms uint64 = 2
- E2AP_TimeToWaitW5ms uint64 = 3
- E2AP_TimeToWaitW10ms uint64 = 4
- E2AP_TimeToWaitW20ms uint64 = 4
- E2AP_TimeToWaitW30ms uint64 = 5
- E2AP_TimeToWaitW40ms uint64 = 6
- E2AP_TimeToWaitW50ms uint64 = 7
- E2AP_TimeToWaitW100ms uint64 = 8
- E2AP_TimeToWaitW200ms uint64 = 9
- E2AP_TimeToWaitW500ms uint64 = 10
- E2AP_TimeToWaitW1s uint64 = 11
- E2AP_TimeToWaitW2s uint64 = 12
- E2AP_TimeToWaitW5s uint64 = 13
- E2AP_TimeToWaitW10s uint64 = 14
- E2AP_TimeToWaitW20s uint64 = 15
- E2AP_TimeToWaitW60 uint64 = 16
+ E2AP_ENBIDMacroPBits20 uint8 = 20
+ E2AP_ENBIDHomeBits28 uint8 = 28
+ E2AP_ENBIDShortMacroits18 uint8 = 18
+ E2AP_ENBIDlongMacroBits21 uint8 = 21
)
+type NodeId struct {
+ Bits uint8
+ Id uint32
+}
+
+func (nid *NodeId) String() string {
+ return strconv.FormatUint((uint64)(nid.Id), 10)
+}
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type GlobalNodeId struct {
+ Present bool
+ PlmnIdentity conv.PlmnIdentityTbcd
+ NodeId NodeId
+}
+
+func (gnid *GlobalNodeId) String() string {
+ return gnid.PlmnIdentity.String() + string(":") + gnid.NodeId.String()
+}
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type InterfaceId struct {
+ GlobalEnbId GlobalNodeId
+ GlobalGnbId GlobalNodeId
+}
+
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+
const (
E2AP_InterfaceDirectionIncoming uint32 = 0
E2AP_InterfaceDirectionOutgoing uint32 = 1
)
+type EventTriggerDefinition struct {
+ NBX2EventTriggerDefinitionPresent bool
+ X2EventTriggerDefinition
+ NBNRTEventTriggerDefinitionPresent bool
+ NBNRTEventTriggerDefinition
+}
+
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const (
- E2AP_CriticalityReject uint8 = 0
- E2AP_CriticalityIgnore uint8 = 1
- E2AP_CriticalityNotify uint8 = 2
-)
+type X2EventTriggerDefinition struct {
+ InterfaceId
+ InterfaceDirection uint32
+ ProcedureCode uint32
+ TypeOfMessage uint64
+}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-const (
- E2AP_ENBIDMacroPBits20 uint8 = 20
- E2AP_ENBIDHomeBits28 uint8 = 28
- E2AP_ENBIDShortMacroits18 uint8 = 18
- E2AP_ENBIDlongMacroBits21 uint8 = 21
+type NBNRTEventTriggerDefinition struct {
+ TriggerNature uint8
+}
+
+const ( // enum NRTTriggerNature
+ NRTTriggerNature_now = iota
+ NRTTriggerNature_onchange
)
+/*
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type PackedData struct {
- Buf []byte
+type CallProcessId struct {
+ CallProcessIDVal uint32
+}
+*/
+
+type ActionDefinitionChoice struct {
+ ActionDefinitionX2Format1Present bool
+ ActionDefinitionX2Format1 E2SMgNBX2actionDefinition
+ ActionDefinitionX2Format2Present bool
+ ActionDefinitionX2Format2 ActionDefinitionFormat2
+ ActionDefinitionNRTFormat1Present bool
+ ActionDefinitionNRTFormat1 E2SMgNBNRTActionDefinitionFormat1
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type MessageInfo struct {
- MsgType uint64
- MsgId uint64
+type E2SMgNBNRTActionDefinitionFormat1 struct {
+ RanParameterList []RANParameterItem // 1..255
}
-func (msgInfo *MessageInfo) String() string {
- return "msginfo(" + strconv.FormatUint((uint64)(msgInfo.MsgType), 10) + string(":") + strconv.FormatUint((uint64)(msgInfo.MsgId), 10) + ")"
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type E2SMgNBX2actionDefinition struct {
+ StyleID uint64
+ ActionParameterItems []ActionParameterItem // 1..255
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type RequestId struct {
- Id uint32
- Seq uint32
+type ActionParameterItem struct {
+ ParameterID uint32 // 1..255
+ ActionParameterValue ActionParameterValue
}
-func (rid *RequestId) String() string {
- return strconv.FormatUint((uint64)(rid.Id), 10) + string(":") + strconv.FormatUint((uint64)(rid.Seq), 10)
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type ActionParameterValue struct {
+ ValueIntPresent bool
+ ValueInt int64
+ ValueEnumPresent bool
+ ValueEnum int64
+ ValueBoolPresent bool
+ ValueBool bool
+ ValueBitSPresent bool
+ ValueBitS BitString
+ ValueOctSPresent bool
+ ValueOctS OctetString
+ ValuePrtSPresent bool
+ ValuePrtS OctetString
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type FunctionId uint16
+type ActionDefinitionFormat2 struct {
+ RanUEgroupItems []RANueGroupItem // 1..15
+}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type NodeId struct {
- Bits uint8
- Id uint32
+type RANueGroupItem struct {
+ RanUEgroupID int64
+ RanUEgroupDefinition RANueGroupDefinition
+ RanPolicy RANimperativePolicy
}
-func (nid *NodeId) String() string {
- return strconv.FormatUint((uint64)(nid.Id), 10)
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type RANueGroupDefinition struct {
+ RanUEGroupDefItems []RANueGroupDefItem // 1..255
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type GlobalNodeId struct {
- Present bool
- PlmnIdentity conv.PlmnIdentity
- NodeId NodeId
+type RANimperativePolicy struct {
+ RanParameterItems []RANParameterItem // 1..255
}
-func (gnid *GlobalNodeId) String() string {
- return gnid.PlmnIdentity.String() + string(":") + gnid.NodeId.String()
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type RANueGroupDefItem struct {
+ RanParameterID uint32 // 1..255
+ RanParameterTest uint8
+ RanParameterValue RANParameterValue
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type InterfaceId struct {
- GlobalEnbId GlobalNodeId
- GlobalGnbId GlobalNodeId
+type RANParameterItem struct {
+ RanParameterID uint8 // 1..255
+ RanParameterValue RANParameterValue
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type EventTriggerDefinition struct {
- InterfaceId
- InterfaceDirection uint32
- ProcedureCode uint32
- TypeOfMessage uint64
+const ( // enum RANParameterTest
+ RANParameterTest_equal = iota
+ RANParameterTest_greaterthan
+ RANParameterTest_lessthan
+ RANParameterTest_contains
+ RANParameterTest_present
+)
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type RANParameterValue struct {
+ ValueIntPresent bool
+ ValueInt int64
+ ValueEnumPresent bool
+ ValueEnum int64
+ ValueBoolPresent bool
+ ValueBool bool
+ ValueBitSPresent bool
+ ValueBitS BitString
+ ValueOctSPresent bool
+ ValueOctS OctetString
+ ValuePrtSPresent bool
+ ValuePrtS OctetString
}
-/*
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type CallProcessId struct {
- CallProcessIDVal uint32
+type BitString struct {
+ UnusedBits uint8
+ Length uint64
+ Data []uint8
}
-*/
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
-type ActionDefinition struct {
- Present bool
- StyleId uint64
- ParamId uint32
- //ParamValue
+type OctetString struct {
+ Length uint64
+ Data []uint8
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+const (
+ E2AP_SubSeqActionTypeContinue uint64 = 0
+ E2AP_SubSeqActionTypeWait uint64 = 1
+)
+
+const (
+ E2AP_TimeToWaitZero uint64 = 0
+ E2AP_TimeToWaitW1ms uint64 = 1
+ E2AP_TimeToWaitW2ms uint64 = 2
+ E2AP_TimeToWaitW5ms uint64 = 3
+ E2AP_TimeToWaitW10ms uint64 = 4
+ E2AP_TimeToWaitW20ms uint64 = 4
+ E2AP_TimeToWaitW30ms uint64 = 5
+ E2AP_TimeToWaitW40ms uint64 = 6
+ E2AP_TimeToWaitW50ms uint64 = 7
+ E2AP_TimeToWaitW100ms uint64 = 8
+ E2AP_TimeToWaitW200ms uint64 = 9
+ E2AP_TimeToWaitW500ms uint64 = 10
+ E2AP_TimeToWaitW1s uint64 = 11
+ E2AP_TimeToWaitW2s uint64 = 12
+ E2AP_TimeToWaitW5s uint64 = 13
+ E2AP_TimeToWaitW10s uint64 = 14
+ E2AP_TimeToWaitW20s uint64 = 15
+ E2AP_TimeToWaitW60 uint64 = 16
+)
+
type SubsequentAction struct {
Present bool
Type uint64
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+
+const (
+ E2AP_ActionTypeReport uint64 = 0
+ E2AP_ActionTypeInsert uint64 = 1
+ E2AP_ActionTypePolicy uint64 = 2
+ E2AP_ActionTypeInvalid uint64 = 99 // For RIC internal usage only
+)
+
type ActionToBeSetupItem struct {
- ActionId uint64
- ActionType uint64
- ActionDefinition
+ ActionId uint64
+ ActionType uint64
+ RicActionDefinitionPresent bool
+ ActionDefinitionChoice
SubsequentAction
}
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+
+const (
+ E2AP_CauseContent_RadioNetwork uint8 = 1
+ E2AP_CauseContent_Transport uint8 = 2
+ E2AP_CauseContent_Protocol uint8 = 3
+ E2AP_CauseContent_Misc uint8 = 4
+ E2AP_CauseContent_Ric uint8 = 5
+)
+
+//const (
+// E2AP_CauseValue_RadioNetwork_ uint8 = 0
+//)
+//const (
+// E2AP_CauseValue_Transport_ uint8 = 0
+//)
+//const (
+// E2AP_CauseValue_Protocol_ uint8 = 0
+//)
+//const (
+// E2AP_CauseValue_Misc_ uint8 = 0
+//)
+
+const (
+ E2AP_CauseValue_Ric_function_id_Invalid uint8 = 0
+ E2AP_CauseValue_Ric_action_not_supported uint8 = 1
+ E2AP_CauseValue_Ric_excessive_actions uint8 = 2
+ E2AP_CauseValue_Ric_duplicate_action uint8 = 3
+ E2AP_CauseValue_Ric_duplicate_event uint8 = 4
+ E2AP_CauseValue_Ric_function_resource_limit uint8 = 5
+ E2AP_CauseValue_Ric_request_id_unknown uint8 = 6
+ E2AP_CauseValue_Ric_inconsistent_action_subsequent_action_sequence uint8 = 7
+ E2AP_CauseValue_Ric_control_message_invalid uint8 = 8
+ E2AP_CauseValue_Ric_call_process_id_invalid uint8 = 9
+ E2AP_CauseValue_Ric_function_not_required uint8 = 10
+ E2AP_CauseValue_Ric_excessive_functions uint8 = 11
+ E2AP_CauseValue_Ric_ric_resource_limi uint8 = 12
+)
+
type Cause struct {
- Content uint8
- CauseVal uint8
+ Content uint8
+ Value uint8
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+const (
+ E2AP_CriticalityReject uint8 = 0
+ E2AP_CriticalityIgnore uint8 = 1
+ E2AP_CriticalityNotify uint8 = 2
+)
+
type CriticalityDiagnosticsIEListItem struct {
IeCriticality uint8 //Crit
IeID uint32