blob: a92e8b91188ccfb5e79b3129e67c8c3bdaf8c859 [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001/*
2 * Copyright (c) 2018 - present. Boling Consulting Solutions (bcsw.net)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14/*
15 * NOTE: This file was generated, manual edits will be overwritten!
16 *
17 * Generated by 'goCodeGenerator.py':
18 * https://github.com/cboling/OMCI-parser/README.md
19 */
20package generated
21
22import "github.com/deckarep/golang-set"
23
24const SipAgentConfigDataClassId ClassID = ClassID(150)
25
26var sipagentconfigdataBME *ManagedEntityDefinition
27
28// SipAgentConfigData (class ID #150)
29// The SIP agent config data ME models a SIP signalling agent. It defines the configuration
30// necessary to establish communication for signalling between the SIP user agent (UA) and a SIP
31// server.
32//
33// NOTE 1 – If a non-OMCI interface is used to manage SIP for VoIP, this ME is unnecessary. The
34// non-OMCI interface supplies the necessary data, which may be read back to the OLT via the SIP
35// config portal ME.
36//
37// Instances of this ME are created and deleted by the OLT.
38//
39// Relationships
40// An instance of this ME serves one or more SIP user data MEs and points to a TCP/UDP config data
41// that carries signalling messages. Other pointers establish additional agent parameters such as
42// proxy servers.
43//
44// Attributes
45// Managed Entity Id
46// Managed entity ID: This attribute uniquely identifies each instance of this ME. (R, setbycreate)
47// (mandatory) (2 bytes)
48//
49// Proxy Server Address Pointer
50// Proxy server address pointer: This attribute points to a large string ME that contains the name
51// (IP address or URI) of the SIP proxy server for SIP signalling messages. (R, W, setbycreate)
52// (mandatory) (2 bytes)
53//
54// Outbound Proxy Address Pointer
55// Outbound proxy address pointer: An outbound SIP proxy may or may not be required within a given
56// network. If an outbound SIP proxy is used, the outbound proxy address pointer attribute must be
57// set to point to a valid large string ME that contains the name (IP address or URI) of the
58// outbound proxy server for SIP signalling messages. If an outbound SIP proxy is not used, the
59// outbound proxy address pointer attribute must be set to a null pointer. (R, W, setbycreate)
60// (mandatory) (2 bytes)
61//
62// Primary Sip Dns
63// Primary SIP DNS: This attribute specifies the primary SIP DNS IP address. If the value of this
64// attribute is 0, the primary DNS server is defined in the corresponding IP host config data or
65// IPv6 host config data ME. If the value is non-zero, it takes precedence over the primary DNS
66// server defined in the IP host config data or IPv6 host config data ME. (R, W, set-by-create)
67// (mandatory) (4 bytes)
68//
69// Secondary Sip Dns
70// Secondary SIP DNS: This attribute specifies the secondary SIP DNS IP address. If the value of
71// this attribute is 0, the secondary DNS server is defined in the corresponding IP host config
72// data or IPv6 host config data ME. If the value is non-zero, it takes precedence over the
73// secondary DNS server defined in the IP host config data or IPv6 host config data ME. (R, W, set-
74// by-create) (mandatory) (4 bytes)
75//
76// Tcp_Udp Pointer
77// TCP/UDP pointer: This pointer associates the SIP agent with the TCP/UDP config data ME to be
78// used for communication with the SIP server. The default value is 0xFFFF, a null pointer. (R, W)
79// (mandatory) (2 bytes)
80//
81// Sip Reg Exp Time
82// SIP reg exp time: This attribute specifies the SIP registration expiration time in seconds. If
83// its value is 0, the SIP agent does not add an expiration time to the registration requests and
84// does not perform reregistration. The default value is 3600 s. (R, W) (mandatory) (4 bytes)
85//
86// Sip Rereg Head Start Time
87// SIP rereg head start time: This attribute specifies the time in seconds prior to timeout that
88// causes the SIP agent to start the re-registration process. The default value is 360 s. (R, W)
89// (mandatory) (4 bytes)
90//
91// Host Part Uri
92// Host part URI: This attribute points to a large string ME that contains the host or domain part
93// of the SIP address of record for users connected to this ONU. A null pointer indicates that the
94// current address in the IP host config ME is to be used. (R, W, setbycreate) (mandatory)
95// (2 bytes)
96//
97// Sip Status
98// (R) (mandatory) (1 byte)
99//
100// Sip Registrar
101// SIP registrar: This attribute points to a network address ME that contains the name (IP address
102// or resolved name) of the registrar server for SIP signalling messages. Examples: "10.10.10.10"
103// and "proxy.voip.net". (R, W, set-by-create) (mandatory) (2 bytes)
104//
105// Softswitch
106// Softswitch: This attribute identifies the SIP gateway softswitch vendor. The format is four
107// ASCII coded alphabetic characters [A..Z] as defined in [ATIS0300220]. A value of four null bytes
108// indicates an unknown or unspecified vendor. (R, W, setbycreate) (mandatory) (4 bytes)
109//
110// Sip Response Table
111// NOTE 2 – This model assumes that SIP response tones and text are common to all POTS lines that
112// share a given SIP agent.
113//
114// Sip Option Transmit Control
115// SIP option transmit control: This Boolean attribute specifies that the ONU is (true) or is not
116// (false) enabled to transmit SIP options. The default value is recommended to be false. (R, W,
117// setbycreate) (optional) (1 byte)
118//
119// Sip Uri Format
120// SIP URI format: This attribute specifies the format of the URI in outgoing SIP messages. The
121// recommended default value 0 specifies TEL URIs; the value 1 specifies SIP URIs. Other values are
122// reserved. (R, W, setbycreate) (optional) (1 byte)
123//
124// Redundant Sip Agent Pointer
125// Redundant SIP agent pointer: This attribute points to another SIP agent config data ME, which is
126// understood to provide redundancy. The initial SIP agent is determined by the pointer from the
127// SIP user data ME. It is the manager's responsibility to provision a group of redundant SIP
128// agents with mutually consistent attributes. (R, W, setbycreate) (optional) (2 bytes)
129//
130type SipAgentConfigData struct {
131 ManagedEntityDefinition
132 Attributes AttributeValueMap
133}
134
135func init() {
136 sipagentconfigdataBME = &ManagedEntityDefinition{
137 Name: "SipAgentConfigData",
138 ClassID: 150,
139 MessageTypes: mapset.NewSetWith(
140 Create,
141 Delete,
142 Get,
143 Set,
144 ),
145 AllowedAttributeMask: 0XFFFE,
146 AttributeDefinitions: AttributeDefinitionMap{
147 0: Uint16Field("ManagedEntityId", 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, false, 0),
148 1: Uint16Field("ProxyServerAddressPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 1),
149 2: Uint16Field("OutboundProxyAddressPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 2),
150 3: Uint32Field("PrimarySipDns", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 3),
151 4: Uint32Field("SecondarySipDns", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 4),
152 5: Uint16Field("TcpUdpPointer", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 5),
153 6: Uint32Field("SipRegExpTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 6),
154 7: Uint32Field("SipReregHeadStartTime", 0, mapset.NewSetWith(Read, Write), false, false, false, false, 7),
155 8: Uint16Field("HostPartUri", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 8),
156 9: ByteField("SipStatus", 0, mapset.NewSetWith(Read), true, false, false, false, 9),
157 10: Uint16Field("SipRegistrar", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 10),
158 11: Uint32Field("Softswitch", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, false, 11),
159 12: MultiByteField("SipResponseTable", 5, nil, mapset.NewSetWith(Read, Write), false, false, true, false, 12),
160 13: ByteField("SipOptionTransmitControl", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 13),
161 14: ByteField("SipUriFormat", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 14),
162 15: Uint16Field("RedundantSipAgentPointer", 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, false, 15),
163 },
164 }
165}
166
167// NewSipAgentConfigData (class ID 150 creates the basic
168// Managed Entity definition that is used to validate an ME of this type that
169// is received from the wire, about to be sent on the wire.
170func NewSipAgentConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
171 return NewManagedEntity(sipagentconfigdataBME, params...)
172}