BillRun configuration can be found in the conf directory which should contain:
Those files are coupled with the --env or --environment parameter that is passed on to the BillRun executable, So --env [dev|test|prod] are coupled with dev.ini/test.ini/prod.ini files respectively.
In addition you can put configuration specific for host by putting config file name with the hostname.
conf/`hostname`.ini
customer.calculator.limit=5000
Rate_usage.calculator.limit=<The number of CDRs to operate on in each calculation run, for testing environment should be around : 25000-50000>
customerPricing.calculator.limit=5000
customerPricing.calculator.months_limit=3 ;With this configuration, xDRs older than 3 months from now will be skipped
tax.calculator.limit=<The number of CDRs to operate on in each calculation run for testing environment should be around : 25000-50000>
resetlines.limit=10 ; Reset no more than 10 customers per process
resetlines.offset='1 hour' ; Time to wait since customer entered the rebalance queue
resetlines.process_time_offset='15 minutes' ; Reset xDRs processed not after 15 minutes ago
queue.calculator.orphan_wait_time='6 hours' ; Time to wait before retrying to calculate a line which is in the queue
backup.default_backup_path=<backup path for types that their backup path wasn’t configured>
queue.max_size = 10000000 ; Maximum size for the queue
log.debug.filterParams.priority= <The lowest level of the issues to commit into the log : 1= CRIT - 7=DEBUG>
Configure how to send emails for messages from the application log file:
log.email.writerName='Smtp'
log.email.writerParams.subject = "Notifications from the billing system"
log.email.filterName="Priority"
log.email.filterParams.priority= 2 ; The lowest level of the issues to send as email : 1=CRIT - 7=DEBUG
log.email.writerParams.transport.type = smtp
log.email.writerParams.transport.host = "1.1.1.1" ; smtp host
log.email.writerParams.transport.name = "1.1.1.1"
log.email.writerParams.transport.port = "587" ; smtp port
log.email.writerParams.transport.auth = "login" // optional. Use when login is required
log.email.writerParams.transport.username = "smtp_user" // optional. Use when login is required
log.email.writerParams.transport.password = "password" // optional. Use when login is required
log.email.writerParams.transport.ssl = "tls" // optional
log.email.writerParams.from = "billing-system@company.com"
log.email.writerParams.to[] = "billing-admin@company.com" ; You can add as many email addresses as you wish
Configure the general emails settings (used for fraud events, dunning, password retrieval etc.)
mailer.transport.type = smtp
mailer.transport.host = "1.1.1.1" // smtp host
mailer.transport.name = "1.1.1.1"
mailer.transport.port = "587"
mailer.transport.auth = "login" // optional. Use when login is required
mailer.transport.username = "smtp_user" // optional if login is required
mailer.transport.password = "smtp_password" // optional if login is required
mailer.transport.ssl = "tls" // optional
;; Subscribers configuration
subscribers.subscriber.external_url = <external API end point url>
subscribers.subscriber.external_cache_enabled = <should the subscriber identification caching logic be used (1/0)>
subscribers.subscriber.external_cache_ttl = <time in seconds to clear cache for a given entry (default to 300 seconds)>
;; Account configuration
subscribers.account.external_url = <external API end point url>
subscribers.account.external_cache_enabled = <should the account identification caching logic be used (1/0)>
subscribers.account.external_cache_ttl = <time in seconds to clear cache for a given entry (default to 300 seconds)>
;; Billable account listing configuration
subscribers. billable = <external API end point url>
billrun.filter_fields = fields to load into memory during the billing cycle run (used to preserve memory and quicken the DB response).
customer.aggregator.cache.gsd.enabled= 1 ;<0/1 : should the cycle use cache when querying for subscriber data>
customer.aggregator.cache.gsd.ttl=3600 ;< The time in seconds to keep the cached subscriber value >
customer.aggregator.cache.gsd.prefix="cycle_sub" ; <a string tag to separate the cycle values from the regular cached results (if needed) >
customer.aggregator.cache.gad.enabled=1 ;<0/1 : should the cycle use cache when querying for account data>
customer.aggregator.cache.gad.ttl=3600 ;< The time in seconds to keep the cached account value >
customer.aggregator.cache.gad.prefix="cycle_acc" ; <a string tag to separate the cycle values from the regular cached results (if needed) >
customer.aggregator.cache.gba_to_gsd.enabled=1 ; < (0/1) should the results of billable account/subscriber (i.e. GBA) be used as normal subscriber/account cache >
customer.aggregator.cache.clear_on_start=0 ; <(0/1) should the cache be cleared when starting the cycle? >