blob: bde2da678fa0315069cc6e248f358a331f2a77e5 [file] [log] [blame]
Holger Hildebrandtfa074992020-03-27 15:42:06 +00001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 * Copyright 2020-present Open Networking Foundation
Holger Hildebrandt3ac49bd2022-02-07 17:46:43 +00004 *
Holger Hildebrandtfa074992020-03-27 15:42:06 +00005 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
Holger Hildebrandt3ac49bd2022-02-07 17:46:43 +00008 *
Holger Hildebrandtfa074992020-03-27 15:42:06 +00009 * http://www.apache.org/licenses/LICENSE-2.0
Holger Hildebrandt3ac49bd2022-02-07 17:46:43 +000010 *
Holger Hildebrandtfa074992020-03-27 15:42:06 +000011 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
David K. Bainbridged80007b2021-04-12 12:22:29 +000017/*
Holger Hildebrandtfa074992020-03-27 15:42:06 +000018 * NOTE: This file was generated, manual edits will be overwritten!
19 *
20 * Generated by 'goCodeGenerator.py':
21 * https://github.com/cboling/OMCI-parser/README.md
22 */
23
24package generated
25
26import "github.com/deckarep/golang-set"
27
28// RtpProfileDataClassID is the 16-bit ID for the OMCI
29// Managed entity RTP profile data
mpagenko836a1fd2021-11-01 16:12:42 +000030const RtpProfileDataClassID = ClassID(143) // 0x008f
Holger Hildebrandtfa074992020-03-27 15:42:06 +000031
32var rtpprofiledataBME *ManagedEntityDefinition
33
mpagenko836a1fd2021-11-01 16:12:42 +000034// RtpProfileData (Class ID: #143 / 0x008f)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000035// This ME configures RTP. It is conditionally required for ONUs that offer VoIP service. If a non-
36// OMCI interface is used to manage VoIP, this ME is unnecessary.
37//
38// An instance of this ME is created and deleted by the OLT. An RTP profile is needed for each
39// unique set of attributes.
40//
41// Relationships
42// An instance of this ME may be associated with one or more VoIP media profile MEs.
43//
44// Attributes
45// Managed Entity Id
mpagenko836a1fd2021-11-01 16:12:42 +000046// This attribute uniquely identifies each instance of this ME. (R, setbycreate) (mandatory)
47// (2-bytes)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000048//
49// Local Port Min
mpagenko836a1fd2021-11-01 16:12:42 +000050// This attribute defines the base UDP port that should be used by RTP for voice traffic. The
51// recommended default is 50000 (R,-W, set-by-create) (mandatory) (2-bytes)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000052//
53// Local Port Max
mpagenko836a1fd2021-11-01 16:12:42 +000054// This attribute defines the highest UDP port used by RTP for voice traffic. The value must be
55// greater than the local port minimum. The value 0 specifies that the local port maximum be equal
56// to the local port minimum. (R,-W, set-by-create) (optional) (2-bytes)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000057//
58// Dscp Mark
mpagenko836a1fd2021-11-01 16:12:42 +000059// Diffserv code point to be used for outgoing RTP packets for this profile. The recommended
60// default value is expedited forwarding (EF)-= 0x2E. (R,-W, setbycreate) (mandatory) (1-byte)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000061//
62// Piggyback Events
mpagenko836a1fd2021-11-01 16:12:42 +000063// 0 Disabled (recommended default)
64//
65// 1 Enabled
66//
Holger Hildebrandtfa074992020-03-27 15:42:06 +000067// (R,-W, setbycreate) (mandatory) (1-byte)
68//
mpagenko836a1fd2021-11-01 16:12:42 +000069// Enables or disables RTP piggyback events.
70//
Holger Hildebrandtfa074992020-03-27 15:42:06 +000071// Tone Events
mpagenko836a1fd2021-11-01 16:12:42 +000072// Enables or disables the handling of tones via RTP tone events per [IETF RFC 4733], (see also
73// [IETF RFC 4734]).
74//
75// 0 Disabled (recommended default)
76//
77// 1 Enabled
78//
Holger Hildebrandtfa074992020-03-27 15:42:06 +000079// (R,-W, setbycreate) (mandatory) (1-byte)
80//
81// Dtmf Events
mpagenko836a1fd2021-11-01 16:12:42 +000082// 0 Disabled
83//
84// 1 Enabled
85//
Holger Hildebrandtfa074992020-03-27 15:42:06 +000086// (R,-W, setbycreate) (mandatory) (1-byte)
87//
mpagenko836a1fd2021-11-01 16:12:42 +000088// Enables or disables the handling of DTMF via RTP DTMF events per [IETF-RFC 4733], (see also
89// [IETF RFC 4734]). This attribute is ignored unless the OOB DTMF attribute in the VoIP media
90// profile is enabled.
91//
Holger Hildebrandtfa074992020-03-27 15:42:06 +000092// Cas Events
mpagenko836a1fd2021-11-01 16:12:42 +000093// Enables or disables the handling of CAS via RTP CAS events per [IETF-RFC-4733], (see also [IETF
94// RFC 4734]).
95//
96// 0 Disabled
97//
98// 1 Enabled
99//
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000100// (R,-W, setbycreate) (mandatory) (1-byte)
101//
102// Ip Host Config Pointer
mpagenko836a1fd2021-11-01 16:12:42 +0000103// This optional pointer associates the bearer (voice) flow with an IP host config data or IPv6
104// host config data ME. If this attribute is not present or is not populated with a valid pointer
105// value, the bearer flow uses the same IP stack that is used for signalling, indicated by the
106// TCP/UDP pointer in the associated SIP agent or MGC config data. The default value is 0xFFFF, a
107// null pointer. (R,-W) (optional) (2-bytes)
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000108//
109type RtpProfileData struct {
110 ManagedEntityDefinition
111 Attributes AttributeValueMap
112}
113
Holger Hildebrandt3ac49bd2022-02-07 17:46:43 +0000114// Attribute name constants
115
116const RtpProfileData_LocalPortMin = "LocalPortMin"
117const RtpProfileData_LocalPortMax = "LocalPortMax"
118const RtpProfileData_DscpMark = "DscpMark"
119const RtpProfileData_PiggybackEvents = "PiggybackEvents"
120const RtpProfileData_ToneEvents = "ToneEvents"
121const RtpProfileData_DtmfEvents = "DtmfEvents"
122const RtpProfileData_CasEvents = "CasEvents"
123const RtpProfileData_IpHostConfigPointer = "IpHostConfigPointer"
124
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000125func init() {
126 rtpprofiledataBME = &ManagedEntityDefinition{
127 Name: "RtpProfileData",
Holger Hildebrandt3ac49bd2022-02-07 17:46:43 +0000128 ClassID: RtpProfileDataClassID,
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000129 MessageTypes: mapset.NewSetWith(
130 Create,
131 Delete,
132 Get,
133 Set,
134 ),
135 AllowedAttributeMask: 0xff00,
136 AttributeDefinitions: AttributeDefinitionMap{
Holger Hildebrandt3ac49bd2022-02-07 17:46:43 +0000137 0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
138 1: Uint16Field(RtpProfileData_LocalPortMin, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
139 2: Uint16Field(RtpProfileData_LocalPortMax, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
140 3: ByteField(RtpProfileData_DscpMark, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
141 4: ByteField(RtpProfileData_PiggybackEvents, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
142 5: ByteField(RtpProfileData_ToneEvents, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
143 6: ByteField(RtpProfileData_DtmfEvents, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
144 7: ByteField(RtpProfileData_CasEvents, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
145 8: Uint16Field(RtpProfileData_IpHostConfigPointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000146 },
147 Access: CreatedByOlt,
148 Support: UnknownSupport,
149 }
150}
151
152// NewRtpProfileData (class ID 143) creates the basic
153// Managed Entity definition that is used to validate an ME of this type that
154// is received from or transmitted to the OMCC.
155func NewRtpProfileData(params ...ParamData) (*ManagedEntity, OmciErrors) {
156 return NewManagedEntity(*rtpprofiledataBME, params...)
157}