Configuration
This guide details all configurations that are available within Alpaca. All configurations can be used in the application-prod.yml file located in the config
directory within the Alpaca root.
YAML (YAML Ain't Markup Language)
All Alpaca configurations are in the YAML (.yml) format.
Basic Rules
- YAML is case sensitive.
- YAML does not allow the use of tabs. Spaces are used instead as tabs are not universally supported.
-
A dictionary is represented in a simple
key: value
form (the colon must be followed by a space):loaders: - type: "co.ecg.BroadWorksCDRProcessor" name: "production" cluster: "Production" additional-details: redirectingReason: 40 rowDetailMap: header: 1 failover: 45 call: 435 cdrFolders: - "/mnt/cdr/active" - "/mnt/cdr/current"
-
All members of a list are lines beginning at the same indentation level starting with a
-
(a dash and a space):broadworks: profileServer: - cluster: Production fileRepo: ProfileServer username: fileadmin password: P@ssw0rd - cluster: Lab fileRepo: ProfileServer username: fileadmin password: P@ssw0rd
-
Comments are denoted by
#
.# Loader Configuration loaders: - type: "co.ecg.BroadWorksCDRProcessor" name: "production" additional-details: redirectingReason: 40 rowDetailMap: header: 1 failover: 45 call: 435 cdrFolders: - "/mnt/cdr/active" - "/mnt/cdr/current"
Full Documentation
Complete YAML documentation can be found here.
Spring Boot
ECGCDRLoader Configurations are built upon Spring Boot. Within Spring there are a wide variety of pre-defined configurations. The complete list of configuration options can be found here.
ECGCDRLoader Configuration
The ECGCDRLoader configuration file is a YAML document that controls the different elements of the ECGCDRLoader software.
-
profiles
: Select what profiles to use. -
cdrprocessor
: This configuration group controls the ECGCDRLoader settings. -
mongo
: Configuration for the connection to the Mongo database. -
broadworks
: Configuration for how to connect to BroadWorks. -
smtp
: Configuration of the SMTP interface used by the Alarms and Reports Controllers. -
co.ecg.cdrprocessor.snmp
: Configuration of the SNMP interface used by the Alarms and Reports Controllers.
Profile Configuration
Available Profiles
-
daemon
: When this profile is selected, ECGCDRLoader will run as a background service. -
single
: The application will perform a single run through and exit.
-
co.ecg.cdrprocessor.snmp
: Enables SNMP.
spring:
profiles:
active: daemon
CDRProcessor Configuration
History
-
max
: The maximum number of days of data retained. This value also impacts the license count since users without calls within the history window are removed from the system and the license is returned to the pool.
cdrprocessor:
history:
max: 180
Loaders
Each loader
group controls a new instance of a co.ecg.CDRProcessor
subclass.
There is one supported CDRProcessor(s) at this time:
-
co.ecg.BroadWorksCDRProcessor
- BroadWorks CDR Processor. Verified with BroadWorks versions R14 through R21sp1.
More than one type and/or more than one of each type of loader may be specified.
-
type
: Specifies the full class name of the CDRProcessor instance to be used when processing CDRs by this loader. -
name
: Specifies the name of the loader to be used to identify the source of CDRs within ECGCDRLoader. This arbitrary value should be unique within the system. Once set, this value MUST NOT BE CHANGED without contacting ECG support. -
cluster
: THe name of the Cluster that this loader is used for. Must correlate to an entry in theserver-config-list
. -
additional-details
: This is a map of field name and CDR indexes to be added to the additionalDetails section of the Call collection. -
rowDetails
: A map of row types to a list of acceptable lengths. -
cdrFolders
: List of directories for the processor to scan. Directories will be processed in the order listed. Directories with older files should be listed first.
loaders:
- type: "co.ecg.BroadWorksCDRProcessor"
name: "production"
cluster: "Production"
additional-details:
redirectingReason: 40
rowDetailMap:
header: 1
failover: 45
call: 435
cdrFolders:
- "/mnt/cdr/active"
- "/mnt/cdr/current"
SMTP
The <smtp>
configuration group configures the values related to outbound SMTP server connections used for Alarms and Nightly Reports.
-
hostname
: The hostname of the mail server that will relay outbound email messages for Alarms and Nightly Reports. -
tls/enabled
: Enables or disables TLS support between ECGCDRLoader and the outbound SMTP server. The default is disabled. -
port
: The TCP port that will be used to connect to the outbound SMTP server. The default is 25. -
authentication/enabled
: Enables or disables SMTP authentication. If enabled, theusername
andpassword
must also be provided.-
username
: The username used for SMTP authentication for outbound SMTP connections. -
password
: The password to be used for SMTP authentication for outbound SMTP connections.
-
-
fromAddress
: The email address to be used in theFrom:
header on Alarms and Reports sent via email.
-
toAddresses
: This configuration group defines a list of email addresses to be included when Alarms and Reports are sent by ECGCDRLoader. More than one<toAddress>
may be specified.-
toAddress
: Emails addresses to be used for outbound email.
-
-
subject
: The subject line prefix to be used for outbound email messages.
smtp:
host-name: "mail.domain.com"
tls-enabled: false
port: 25
auth-enabled: false
authentication-username: username
authentication-password: password
from-address: mail@domain.com
to-addresses:
- "admin1@domain.com"
- "admin2@domain.com"
subject: "[CDR Loader]"
SNMP
community
: The SNMP community string.
listener-address
: The ip and port to listen on.
notification-destination
: The ip and port to send traps to.
trap-community
: The trap community string.
trap-enabled
: Boolean value for whether or not to enable traps.
co.ecg.cdrprocessor.snmp:
community: public
listener-address: 0.0.0.0/8001
notification-destination: 127.0.0.1/162
trap-community: public
trap-enabled: true
Mongo Configuration
-
uri
- The address of the local Mongo installation. This is typicallymongodb://localhost:27017
. -
database
- The name of the database to use for ECGCDRLoader. This should always beecgcdrloader
.
Sample MongoDB configuration
data:
mongodb:
uri: mongodb://localhost:27017
database: ecgcdrloader
BroadWorks Configuration
-
nickname
: The nickname for the Broadworks server. -
hostName
: The address to connect to the BroadWorks server. -
userName
: The connection userName. This can be a user, provisioning admin, or system admin. However, most commands will require admin level access. -
password
: The connection password for the provided userName. -
timesten.hostname
: The address for the application server where the TimesTen installation is contained.
broadworks:
server-config-list:
-
nickname: Production
hostname: ews1.acme.com
username: admin
password: password
timesten:
hostname: as1.acme.com