blob: 213eb5e144bf1b78759335543e734a391ec7ac87 [file] [log] [blame]
Andrea Campanella10426e22021-10-15 17:58:04 +02001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 * Copyright 2020-present Open Networking Foundation
Elia Battiston9bfe1102022-02-03 10:38:03 +01004 *
Andrea Campanella10426e22021-10-15 17:58:04 +02005 * 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
Elia Battiston9bfe1102022-02-03 10:38:03 +01008 *
Andrea Campanella10426e22021-10-15 17:58:04 +02009 * http://www.apache.org/licenses/LICENSE-2.0
Elia Battiston9bfe1102022-02-03 10:38:03 +010010 *
Andrea Campanella10426e22021-10-15 17:58:04 +020011 * 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 */
17/*
18 * 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// VoipApplicationServiceProfileClassID is the 16-bit ID for the OMCI
29// Managed entity VoIP application service profile
30const VoipApplicationServiceProfileClassID = ClassID(146) // 0x0092
31
32var voipapplicationserviceprofileBME *ManagedEntityDefinition
33
34// VoipApplicationServiceProfile (Class ID: #146 / 0x0092)
35// The VoIP application service profile defines attributes of calling features used in conjunction
36// with a VoIP line service. It is optional for ONUs that support VoIP services. If a non-OMCI
37// interface is used to manage SIP for VoIP, this ME is unnecessary.
38//
39// An instance of this ME is created and deleted by the OLT. A VoIP application service profile
40// instance is needed for each unique set of profile attributes.
41//
42// Relationships
43// An instance of this ME is associated with zero or more SIP user data MEs.
44//
45// Attributes
46// Managed Entity Id
47// Managed entity ID:-This attribute uniquely identifies each instance of this ME. (R,-setbycreate)
48// (mandatory) (2 bytes)
49//
50// Cid Features
51// This attribute contains a bit map of caller ID features. Except as noted, the bit value 0
52// disables the feature; 1 enables it.
53//
54// 0x01 Calling number
55//
56// 0x02 Calling name
57//
58// 0x04 CID blocking (both number and name)
59//
60// 0x08 CID number - Permanent presentation status for number (0 = public, 1 = private)
61//
62// 0x10 CID name - Permanent presentation status for name (0 = public, 1 = private)
63//
64// 0x20 Anonymous CID blocking (ACR). It may not be possible to support this in the ONU.
65//
66// 0x40..0x80 Not used
67//
68// The recommended default value is 0x00. (R, W, setbycreate) (mandatory) (1-byte)
69//
70// Call Waiting Features
71// The recommended default value is 0x00. (R,-W, setbycreate) (mandatory) (1-byte)
72//
73// This attribute contains a bit map of call waiting features. The bit value 0 disables the
74// feature; 1 enables it.
75//
76// 0x01 Call waiting
77//
78// 0x02 Caller ID announcement
79//
80// 0x04..0x80 Not used
81//
82// Call Progress Or Transfer Features
83// This attribute is a bit map of call processing features. The bit value 0 disables the feature; 1
84// enables it.
85//
86// 0x0001 3way
87//
88// 0x0002 Call transfer
89//
90// 0x0004 Call hold
91//
92// 0x0008 Call park
93//
94// 0x0010 Do not disturb
95//
96// 0x0020 Flash on emergency service call (flash is to be processed during an emergency service
97// call)
98//
99// 0x0040 Emergency service originating hold (determines whether call clearing is to be performed
100// on on-hook during an emergency service call)
101//
102// 0x0080 6way
103//
104// 0x0100..0x8000 Not used
105//
106// The recommended default value is 0x0000. (R, W, setbycreate) (mandatory) (2-bytes)
107//
108// Call Presentation Features
109// This attribute is a bit map of call presentation features. The bit value 0 disables the feature;
110// 1 enables it.
111//
112// 0x0001 Message waiting indication splash ring
113//
114// 0x0002 Message waiting indication special dial tone
115//
116// 0x0004 Message waiting indication visual indication
117//
118// 0x0008 Call forwarding indication
119//
120// 0x0010 DC voltage based visual message waiting indicator (vmwi) (e.g., neon lamp on a phone to
121// indicate a message waiting). For backwards compatibility reasons, the value 0x0010 is a
122// companion value to 0x0004. If an ONU does not support DC voltage vmwi, the ONU uses other
123// existing vmwi methods. If the ONU supports DC voltage vmwi and needs to apply DC voltage to turn
124// on the phone lamp (to indicate message waiting), the values 0x0004 and 0x0010 are set.
125//
126// 0x0020..0x8000 Not used
127//
128// The recommended default value is 0x0000. (R,-W, setbycreate) (mandatory) (2-bytes)
129//
130// Direct Connect Feature
131// This attribute is a bit map of characteristics associated with the direct connect feature. The
132// bit value 0 disables the feature; 1 enables it.
133//
134// 0x01 Direct connect feature enabled
135//
136// 0x02 Dial tone feature delay option
137//
138// The recommended default value is 0x00. (R, W, setbycreate) (mandatory) (1-byte)
139//
140// Direct Connect Uri Pointer
141// This attribute points to a network address ME that specifies the URI of the direct connect. If
142// this attribute is set to a null pointer, no URI is defined. (R, W, setbycreate) (mandatory) (2
143// bytes)
144//
145// Bridged Line Agent Uri Pointer
146// This attribute points to a network address ME that specifies the URI of the bridged line agent.
147// If this attribute is set to a null pointer, no URI is defined. (R, W, setbycreate) (mandatory)
148// (2 bytes)
149//
150// Conference Factory Uri Pointer
151// This attribute points to a network address ME that specifies the URI of the conference factory.
152// If this attribute is set to a null pointer, no URI is defined. (R, W, setbycreate) (mandatory)
153// (2 bytes)
154//
155// Dial Tone Feature Delay_Warmline Timer New
156// Dial tone feature delay/warmline timer (new): This attribute defines the warmline timer/dial
157// tone feature delay timer (seconds). The default value 0 specifies vendor-specific
158// implementation. (R, W) (optional) (2 bytes)
159//
160// Ip Host Pointer
161// This attribute points to the IP host config data or IPv6 host config data ME associated with
162// this VoIP config data ME. This attribute is only relevant when the VoIP configuration method
163// used attribute of this ME is set to configuration file retrieval (2) OR IETF sipping config
164// framework (4). Upon instantiation ONU sets this value to NULL (0xFFFF) pointer. (R, W)
165// (optional) (2 bytes)
166//
167type VoipApplicationServiceProfile struct {
168 ManagedEntityDefinition
169 Attributes AttributeValueMap
170}
171
Elia Battiston9bfe1102022-02-03 10:38:03 +0100172// Attribute name constants
173
174const VoipApplicationServiceProfile_CidFeatures = "CidFeatures"
175const VoipApplicationServiceProfile_CallWaitingFeatures = "CallWaitingFeatures"
176const VoipApplicationServiceProfile_CallProgressOrTransferFeatures = "CallProgressOrTransferFeatures"
177const VoipApplicationServiceProfile_CallPresentationFeatures = "CallPresentationFeatures"
178const VoipApplicationServiceProfile_DirectConnectFeature = "DirectConnectFeature"
179const VoipApplicationServiceProfile_DirectConnectUriPointer = "DirectConnectUriPointer"
180const VoipApplicationServiceProfile_BridgedLineAgentUriPointer = "BridgedLineAgentUriPointer"
181const VoipApplicationServiceProfile_ConferenceFactoryUriPointer = "ConferenceFactoryUriPointer"
182const VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew = "DialToneFeatureDelayWarmlineTimerNew"
183const VoipApplicationServiceProfile_IpHostPointer = "IpHostPointer"
184
Andrea Campanella10426e22021-10-15 17:58:04 +0200185func init() {
186 voipapplicationserviceprofileBME = &ManagedEntityDefinition{
187 Name: "VoipApplicationServiceProfile",
Elia Battiston9bfe1102022-02-03 10:38:03 +0100188 ClassID: VoipApplicationServiceProfileClassID,
Andrea Campanella10426e22021-10-15 17:58:04 +0200189 MessageTypes: mapset.NewSetWith(
190 Create,
191 Delete,
192 Get,
193 Set,
194 ),
195 AllowedAttributeMask: 0xffc0,
196 AttributeDefinitions: AttributeDefinitionMap{
Elia Battiston9bfe1102022-02-03 10:38:03 +0100197 0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
198 1: ByteField(VoipApplicationServiceProfile_CidFeatures, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
199 2: ByteField(VoipApplicationServiceProfile_CallWaitingFeatures, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
200 3: Uint16Field(VoipApplicationServiceProfile_CallProgressOrTransferFeatures, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
201 4: Uint16Field(VoipApplicationServiceProfile_CallPresentationFeatures, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
202 5: ByteField(VoipApplicationServiceProfile_DirectConnectFeature, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
203 6: Uint16Field(VoipApplicationServiceProfile_DirectConnectUriPointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
204 7: Uint16Field(VoipApplicationServiceProfile_BridgedLineAgentUriPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
205 8: Uint16Field(VoipApplicationServiceProfile_ConferenceFactoryUriPointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
206 9: Uint16Field(VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
207 10: Uint16Field(VoipApplicationServiceProfile_IpHostPointer, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
Andrea Campanella10426e22021-10-15 17:58:04 +0200208 },
209 Access: CreatedByOlt,
210 Support: UnknownSupport,
211 }
212}
213
214// NewVoipApplicationServiceProfile (class ID 146) creates the basic
215// Managed Entity definition that is used to validate an ME of this type that
216// is received from or transmitted to the OMCC.
217func NewVoipApplicationServiceProfile(params ...ParamData) (*ManagedEntity, OmciErrors) {
218 return NewManagedEntity(*voipapplicationserviceprofileBME, params...)
219}