/* MYSQL */ const JAMBONES_MYSQL_HOST = process.env.JAMBONES_MYSQL_HOST; const JAMBONES_MYSQL_USER = process.env.JAMBONES_MYSQL_USER; const JAMBONES_MYSQL_PORT = process.env.JAMBONES_MYSQL_PORT; const JAMBONES_MYSQL_PASSWORD = process.env.JAMBONES_MYSQL_PASSWORD; const JAMBONES_MYSQL_DATABASE = process.env.JAMBONES_MYSQL_DATABASE; const JAMBONES_MYSQL_CONNECTION_LIMIT = process.env.JAMBONES_MYSQL_CONNECTION_LIMIT; /* MYSQL Write Connection */ const JAMBONES_MYSQL_WRITE_HOST = process.env.JAMBONES_MYSQL_WRITE_HOST; const JAMBONES_MYSQL_WRITE_USER = process.env.JAMBONES_MYSQL_WRITE_USER; const JAMBONES_MYSQL_WRITE_PORT = process.env.JAMBONES_MYSQL_WRITE_PORT; const JAMBONES_MYSQL_WRITE_PASSWORD = process.env.JAMBONES_MYSQL_WRITE_PASSWORD; const JAMBONES_MYSQL_WRITE_DATABASE = process.env.JAMBONES_MYSQL_WRITE_DATABASE; /* Redis */ const JAMBONES_REDIS_SENTINELS = process.env.JAMBONES_REDIS_SENTINELS; const JAMBONES_REDIS_SENTINEL_MASTER_NAME = process.env.JAMBONES_REDIS_SENTINEL_MASTER_NAME; const JAMBONES_REDIS_HOST = process.env.JAMBONES_REDIS_HOST; const JAMBONES_REDIS_PORT = process.env.JAMBONES_REDIS_PORT; /* DRACHTIO */ const DRACHTIO_HOST = process.env.DRACHTIO_HOST; const DRACHTIO_PORT = process.env.DRACHTIO_PORT; const DRACHTIO_SECRET = process.env.DRACHTIO_SECRET; /* Application */ const JAMBONES_TIME_SERIES_HOST = process.env.JAMBONES_TIME_SERIES_HOST; const JAMBONES_LOGLEVEL = process.env.JAMBONES_LOGLEVEL; const NODE_ENV = process.env.NODE_ENV; const SBC_PUBLIC_ADDRESS_KEEP_ALIVE_IN_MILISECOND = process.env.SBC_PUBLIC_ADDRESS_KEEP_ALIVE_IN_MILISECOND; const JAMBONES_HOSTING = process.env.JAMBONES_HOSTING; const EXPIRES_INTERVAL = process.env.EXPIRES_INTERVAL; const CHECK_EXPIRES_INTERVAL = process.env.CHECK_EXPIRES_INTERVAL; const JAMBONES_CLUSTER_ID = process.env.JAMBONES_CLUSTER_ID ; const JAMBONES_REGBOT_CONTACT_USE_IP = process.env.JAMBONES_REGBOT_CONTACT_USE_IP; const JAMBONES_REGBOT_MIN_EXPIRES_INTERVAL = process.env.JAMBONES_REGBOT_MIN_EXPIRES_INTERVAL; const JAMBONES_REGBOT_DEFAULT_EXPIRES_INTERVAL = process.env.JAMBONES_REGBOT_DEFAULT_EXPIRES_INTERVAL; const JAMBONES_REGBOT_BATCH_SLEEP_MS = process.env.JAMBONES_REGBOT_BATCH_SLEEP_MS || 250; const JAMBONES_REGBOT_BATCH_SIZE = process.env.JAMBONES_REGBOT_BATCH_SIZE || 10; const OPTIONS_RESPONSE_REMOVE = process.env.OPTIONS_RESPONSE_REMOVE?.split(',').map(Number) || []; const REGISTER_RESPONSE_REMOVE = process.env.REGISTER_RESPONSE_REMOVE?.split(',').map(Number) || []; const JAMBONES_REGBOT_USER_AGENT = process.env.JAMBONES_REGBOT_USER_AGENT ; const JAMBONES_REGBOT_FAILURE_RETRY_INTERVAL = process.env.JAMBONES_REGBOT_FAILURE_RETRY_INTERVAL; const JAMBONES_REGBOT_REGISTER_FAILURE_THRESHOLD = process.env.JAMBONES_REGBOT_REGISTER_FAILURE_THRESHOLD; // how long (ms) to wait for a SIP response to a REGISTER before assuming it was lost and retrying const JAMBONES_REGBOT_RESPONSE_TIMEOUT = process.env.JAMBONES_REGBOT_RESPONSE_TIMEOUT; /* AWS Auto Scaling: hand off the regbot role when this instance is being scaled in */ const AWS_LIFECYCLE_DRAIN = ['1', 'true', 'yes'] .includes((process.env.AWS_LIFECYCLE_DRAIN || '').trim().toLowerCase()); /* Server control - external topology discovery and other server-control features (disabled unless truthy) */ const JAMBONES_SERVER_CONTROL = process.env.JAMBONES_SERVER_CONTROL; module.exports = { JAMBONES_MYSQL_HOST, JAMBONES_MYSQL_USER, JAMBONES_MYSQL_PORT, JAMBONES_MYSQL_PASSWORD, JAMBONES_MYSQL_DATABASE, JAMBONES_MYSQL_CONNECTION_LIMIT, JAMBONES_MYSQL_WRITE_HOST, JAMBONES_MYSQL_WRITE_USER, JAMBONES_MYSQL_WRITE_PORT, JAMBONES_MYSQL_WRITE_PASSWORD, JAMBONES_MYSQL_WRITE_DATABASE, JAMBONES_REDIS_SENTINELS, JAMBONES_REDIS_SENTINEL_MASTER_NAME, JAMBONES_REDIS_HOST, JAMBONES_REDIS_PORT, DRACHTIO_HOST, DRACHTIO_PORT, DRACHTIO_SECRET, JAMBONES_TIME_SERIES_HOST, JAMBONES_LOGLEVEL, NODE_ENV, SBC_PUBLIC_ADDRESS_KEEP_ALIVE_IN_MILISECOND, JAMBONES_HOSTING, EXPIRES_INTERVAL, CHECK_EXPIRES_INTERVAL, JAMBONES_CLUSTER_ID, JAMBONES_REGBOT_CONTACT_USE_IP, JAMBONES_REGBOT_MIN_EXPIRES_INTERVAL, JAMBONES_REGBOT_DEFAULT_EXPIRES_INTERVAL, JAMBONES_REGBOT_BATCH_SLEEP_MS, JAMBONES_REGBOT_BATCH_SIZE, OPTIONS_RESPONSE_REMOVE, REGISTER_RESPONSE_REMOVE, JAMBONES_REGBOT_USER_AGENT, JAMBONES_REGBOT_FAILURE_RETRY_INTERVAL, JAMBONES_REGBOT_REGISTER_FAILURE_THRESHOLD, JAMBONES_REGBOT_RESPONSE_TIMEOUT, JAMBONES_SERVER_CONTROL, AWS_LIFECYCLE_DRAIN };