GenieACS General Config - genieacs/genieacs GitHub Wiki

config.json acts as the main configuration file and is stored in /path_to_genieacs/config/. In this folder there's also a backup file of the main(/default) config (config-sample.json). The following example shows some added options.

{
  "DATABASE_NAME" : "genieacs",
  "MONGODB_SOCKET" : "/tmp/mongodb-27017.sock",
  "REDIS_SOCKET" : "6379",
  "CWMP_INTERFACE" : "0.0.0.0",
  "CWMP_PORT" : 7547,
  "CWMP_SSL" : false,
  "NBI_INTERFACE" : "0.0.0.0",
  "NBI_PORT" : 7557,
  "FS_INTERFACE" : "0.0.0.0",
  "FS_PORT" : 7567,
  "FS_IP" : "192.168.0.1",
  "LOG_INFORMS" : true,
  "IGNORE_XML_NAMESPACES" : true,
  "LIBXMLJS_OPTIONS" : {"recover" : true},
  "DEBUG" : true
}

See the table for a more detailled description:

Parameter Description
DATABASE_NAME Defines the database name under which all data is stored in MongoDB
MONGODB_SOCKET Defines the MongoDB socket file path and name
REDIS_SOCKET Accept connections on the specified socket, default is 6379
CWMP_INTERFACE Binds genieacs-cwmp to specified interface. If 0.0.0.0 is chosen, it listens to all available interfaces
CWMP_PORT HTTP connections to ACS are accepted on the specified socket, default is 7547
CWMP_SSL If set to true, switches ACS to HTTPS mode. A valid certificate is mandatory.
NBI_INTERFACE Binds genieacs-nbi to specified interface. If 0.0.0.0 is chosen, it listens to all available interfaces
NBI_PORT API connections accepted on the specified socket, default is 7557
NBI_SSL If set to true, switches the NBI to HTTPS mode. A valid certificate is mandatory.
FS_INTERFACE Binds genieacs-fs to specified interface. If 0.0.0.0 is chosen, it listens to all available interfaces
FS_PORT File transfer connections are accepted on the specified socket, default is 7567
FS_IP Specifies the IP address of the file-server, is used when sending download requests to a device
LOG_INFORMS Specifies if INFORM are to be logged
DEBUG Boolean. Logs the request/response from the CWMP process to/from the CPE. Resulting .dump files can be found in genieacs/debug folder.

To activate a dump for individual devices, use the format DEBUG-<device ID>. As an example

"DEBUG-00AA11-VDSLCPE-123456789" : true
IGNORE_XML_NAMESPACES If set to true, it allows XML traversal using element local names only. This might be needed, when the genieacs-cwmp worker dies on communication from cpe to acs
LIBXMLJS_OPTIONS If set to true, it allows parsing XML even when the charset isn't UTF8 and values contain characters like �a^X*V�^R�^]�. This might be needed, when the genieacs-cwmp worker shows an error like this Error: PCDATA invalid Char value 29
GPN_NEXT_LEVEL This will make the ACS fetch parameters in multiple requests which would make the CPE respond sooner for each request. Set this value to 2 if you have timeout issues with the CPE.
GPV_BATCH_SIZE Defaults to 32. Set to a lower value if you encounter session timeouts with CPEs.
SESSION_TIMEOUT Value in seconds. Defaults to 30. Increase this value as a last resort if you have timeout issues with your CPE. Try setting the GET_PARAMETER_NAMES_DEPTH_THRESHOLD value to 2 first, then 3 if you have to.

Beside the aforementioned configuration parameters, the following are implemented as well. All of them are stored in /pathtogenieacs/lib/config.coffee and define default values if the config options are not available in config.json. Keep in mind that all those are for internal use and shouldn't be change or inserted into config.json!:

Parameter Description
CACHE_DURATION in seconds
PRESETS_CACHE_DURATION in seconds
PRESETS_TIME_PADDING
WORKER_RESPAWN_TIME
DEVICE_ONLINE_THRESHOLD
RETRY_DELAY Defines retry time delay between a non-successful operation (task) and the following try, default is 300 seconds
⚠️ **GitHub.com Fallback** ⚠️