[VOL-4396] OMCI lib update to be incorporated into ONU adapter, make use of relaxed decoding

Signed-off-by: mpagenko <michael.pagenkopf@adtran.com>
Change-Id: Ic8bc15ae061af8e27d73879f27bb5b80637a8dea
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
new file mode 100644
index 0000000..b67b74b
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
@@ -0,0 +1,219 @@
+/*
+ * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
+ * Copyright 2020-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * NOTE: This file was generated, manual edits will be overwritten!
+ *
+ * Generated by 'goCodeGenerator.py':
+ *              https://github.com/cboling/OMCI-parser/README.md
+ */
+
+package generated
+
+import "github.com/deckarep/golang-set"
+
+// SipAgentConfigDataClassID is the 16-bit ID for the OMCI
+// Managed entity SIP agent config data
+const SipAgentConfigDataClassID = ClassID(150) // 0x0096
+
+var sipagentconfigdataBME *ManagedEntityDefinition
+
+// SipAgentConfigData (Class ID: #150 / 0x0096)
+//	The SIP agent config data ME models a SIP signalling agent. It defines the configuration
+//	necessary to establish communication for signalling between the SIP user agent (UA) and a SIP
+//	server.
+//
+//	NOTE 1 - If a non-OMCI interface is used to manage SIP for VoIP, this ME is unnecessary. The
+//	non-OMCI interface supplies the necessary data, which may be read back to the OLT via the SIP
+//	config portal ME.
+//
+//	Instances of this ME are created and deleted by the OLT.
+//
+//	Relationships
+//		An instance of this ME serves one or more SIP user data MEs and points to a TCP/UDP config data
+//		that carries signalling messages. Other pointers establish additional agent parameters such as
+//		proxy servers.
+//
+//	Attributes
+//		Managed Entity Id
+//			This attribute uniquely identifies each instance of this ME. (R, setbycreate) (mandatory)
+//			(2-bytes)
+//
+//		Proxy Server Address Pointer
+//			This attribute points to a large string ME that contains the name (IP address or URI) of the SIP
+//			proxy server for SIP signalling messages. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Outbound Proxy Address Pointer
+//			An outbound SIP proxy may or may not be required within a given network. If an outbound SIP
+//			proxy is used, the outbound proxy address pointer attribute must be set to point to a valid
+//			large string ME that contains the name (IP address or URI) of the outbound proxy server for SIP
+//			signalling messages. If an outbound SIP proxy is not used, the outbound proxy address pointer
+//			attribute must be set to a null pointer. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Primary Sip Dns
+//			This attribute specifies the primary SIP DNS IP address. If the value of this attribute is 0,
+//			the primary DNS server is defined in the corresponding IP host config data or IPv6 host config
+//			data ME. If the value is non-zero, it takes precedence over the primary DNS server defined in
+//			the IP host config data or IPv6 host config data ME. (R,-W, set-by-create) (mandatory) (4-bytes)
+//
+//		Secondary Sip Dns
+//			This attribute specifies the secondary SIP DNS IP address. If the value of this attribute is 0,
+//			the secondary DNS server is defined in the corresponding IP host config data or IPv6 host config
+//			data ME. If the value is non-zero, it takes precedence over the secondary DNS server defined in
+//			the IP host config data or IPv6 host config data ME. (R,-W, set-by-create) (mandatory) (4-bytes)
+//
+//		Tcp_Udp Pointer
+//			TCP/UDP pointer: This pointer associates the SIP agent with the TCP/UDP config data ME to be
+//			used for communication with the SIP server. The default value is 0xFFFF, a null pointer. (R,-W)
+//			(mandatory) (2-bytes)
+//
+//		Sip Reg Exp Time
+//			This attribute specifies the SIP registration expiration time in seconds. If its value is 0, the
+//			SIP agent does not add an expiration time to the registration requests and does not perform
+//			reregistration. The default value is 3600-s. (R,-W) (mandatory) (4-bytes)
+//
+//		Sip Rereg Head Start Time
+//			This attribute specifies the time in seconds prior to timeout that causes the SIP agent to start
+//			the re-registration process. The default value is 360-s. (R,-W) (mandatory) (4-bytes)
+//
+//		Host Part Uri
+//			This attribute points to a large string ME that contains the host or domain part of the SIP
+//			address of record for users connected to this ONU. A null pointer indicates that the current
+//			address in the IP host config ME is to be used. (R,-W, setbycreate) (mandatory) (2-bytes)
+//
+//		Sip Status
+//			5	Failed - Timeout
+//
+//			6	Redundant, offline: this instance of the SIP agent config data occupies the role of a
+//			redundant server, and is not presently in use.
+//
+//			(R) (mandatory) (1-byte)
+//
+//			This attribute shows the current status of the SIP agent. Values are as follows.
+//
+//			0	Ok/initial
+//
+//			1	Connected
+//
+//			2	Failed - ICMP error
+//
+//			3	Failed - Malformed response
+//
+//			4	Failed - Inadequate info response
+//
+//		Sip Registrar
+//			This attribute points to a network address ME that contains the name (IP address or resolved
+//			name) of the registrar server for SIP signalling messages. Examples: "10.10.10.10" and
+//			"proxy.voip.net". (R,-W, set-by-create) (mandatory) (2-bytes)
+//
+//		Softswitch
+//			This attribute identifies the SIP gateway softswitch vendor. The format is four ASCII coded
+//			alphabetic characters [A..Z] as defined in [ATIS0300220]. A value of four null bytes indicates
+//			an unknown or unspecified vendor. (R,-W, setbycreate) (mandatory) (4-bytes)
+//
+//		Sip Response Table
+//			This attribute specifies the tone and text to be presented to the subscriber upon receipt of
+//			various SIP messages (normally 4xx, 5xx, 6xx message codes). The table is a sequence of entries,
+//			each of which is defined as follows.
+//
+//			SIP response code (2 bytes): This field is the value of the SIP message code. It also serves as
+//			the index into the SIP response table. When a set operation is performed with the value 0 in
+//			this field, the table is cleared.
+//
+//			Tone (1 byte): This field specifies one of the tones in the tone pattern table of the associated
+//			voice service profile. The specified tone is played to the subscriber.
+//
+//			Text message (2 bytes): This field is a pointer to a large string that contains a message to be
+//			displayed to the subscriber. If the value of this field is a null pointer, text pre-associated
+//			with the tone may be displayed, or no text at all.
+//
+//			(R, W) (optional) (N * 5 bytes)
+//
+//			NOTE 2 - This model assumes that SIP response tones and text are common to all POTS lines that
+//			share a given SIP agent.
+//
+//		Sip Option Transmit Control
+//			This Boolean attribute specifies that the ONU is (true) or is not (false) enabled to transmit
+//			SIP options. The default value is recommended to be false. (R, W, setbycreate) (optional) (1
+//			byte)
+//
+//		Sip Uri Format
+//			This attribute specifies the format of the URI in outgoing SIP messages. The recommended default
+//			value 0 specifies TEL URIs; the value 1 specifies SIP URIs. Other values are reserved. (R, W,
+//			setbycreate) (optional) (1 byte)
+//
+//		Redundant Sip Agent Pointer
+//			This attribute points to another SIP agent config data ME, which is understood to provide
+//			redundancy. The initial SIP agent is determined by the pointer from the SIP user data ME. It is
+//			the manager's responsibility to provision a group of redundant SIP agents with mutually
+//			consistent attributes. (R, W, setbycreate) (optional) (2 bytes)
+//
+type SipAgentConfigData struct {
+	ManagedEntityDefinition
+	Attributes AttributeValueMap
+}
+
+func init() {
+	sipagentconfigdataBME = &ManagedEntityDefinition{
+		Name:    "SipAgentConfigData",
+		ClassID: 150,
+		MessageTypes: mapset.NewSetWith(
+			Create,
+			Delete,
+			Get,
+			GetNext,
+			Set,
+			SetTable,
+		),
+		AllowedAttributeMask: 0xfffe,
+		AttributeDefinitions: AttributeDefinitionMap{
+			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field("ProxyServerAddressPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field("OutboundProxyAddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field("PrimarySipDns", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint32Field("SecondarySipDns", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field("SipRegExpTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field("SipReregHeadStartTime", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field("HostPartUri", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField("SipStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: Uint16Field("SipRegistrar", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: TableField("SipResponseTable", TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField("SipOptionTransmitControl", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField("SipUriFormat", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: Uint16Field("RedundantSipAgentPointer", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+		},
+		Access:  CreatedByOlt,
+		Support: UnknownSupport,
+		Alarms: AlarmMap{
+			0: "SIP-UA register name",
+			1: "SIP-UA register reach",
+			2: "SIP-UA register connect",
+			3: "SIP-UA register validate",
+			4: "SIP-UA register auth",
+			5: "SIP-UA register timeout",
+			6: "SIP-UA register fail",
+		},
+	}
+}
+
+// NewSipAgentConfigData (class ID 150) creates the basic
+// Managed Entity definition that is used to validate an ME of this type that
+// is received from or transmitted to the OMCC.
+func NewSipAgentConfigData(params ...ParamData) (*ManagedEntity, OmciErrors) {
+	return NewManagedEntity(*sipagentconfigdataBME, params...)
+}