blob: ec9d2c274b2766107e6425c0d48044a57be88f34 [file] [log] [blame]
/*
* 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,
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: MultiByteField("SipResponseTable", OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), 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",
},
}
}
// 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...)
}