# Sangoma Netborder Engine for Call Analyzer configuration file

# Do not use leading zeros in IP address numbers when using dot notation or they 
#   will be interpreted as octal numbers
netborder.sip.userAgent.IPAddress=INADDR_ANY:5063/udp

# Primary IP address must be set if multiple IP addresses are available on host
# Do not use leading zeros in numbers or they will be interpreted as octal numbers
#netborder.net.primaryIPAddress=69.195.39.82

netborder.cpa.runtime.model.country=canada

# Adjust to the number of logical CPUs on the system minus 1
# For a Dual core processor this should be equal to 1
netborder.cpa.runtime.numThreads=3

# Which port range to use for RTP & RTCP transport (should be greater than
# twice the number of maximum simultaneous calls allowed).
netborder.media.rtp.udpPortRange=19000:22000

# recorder settings
netborder.cpa.runtime.recordAudio=false
netborder.recorder.outputDirectory=logs/call-logs
netborder.recorder.outputDirectory.dateTime=true

# Set to true to use a=sendrecv in initial SDP offer instead of default a=recvonly
netborder.cpa.runtime.sendrecvSDPOffer=false

# Ordered list of codecs that will be offered for the first phase of the call (where Answering machine detection is performed)
#
# Only the two variants of G.711 (mu-law: "ulaw" and A-law: "alaw") are supported, so the valid combinations are:
#
# ulaw,alaw (Default)
# alaw,ulaw
# ulaw
# alaw 
#
netborder.rtp.encodingList=ulaw,alaw

# The interval(in milliseconds) beetween two rtcp packets.
# Minimum allowed value is 1000
#
netborder.media.rtp.rtcpTransmissionIntervalMs=1000

#
# Indicated whether the cpa endpoint will use the half of the 
# rtcpTransmissionInterval value beetween the fisrt rtcp packets.
#
netborder.media.rtp.useHalfRTCPIntervalAtStartup=true

#
# Indicates what type of probation the call-analyzer-engine should apply to RTP packets 
# received from a new source. Possible values are :
# 'discard'(drop the first RTP packet), 
# 'store'(save the first RTP packet until it is validated, but this introduces a delay) and 
# 'disabled'(accept RTP packets immediately). If probation is enabled, RTP packets from new 
# sources will be placed in probation and not validated until the call-analyzer-engine receives RTCP 
# from the source or if two subsequent RTP packets received from the source respect a 
# given sequence.
#
netborder.media.rtp.probationType=disabled

#
# The packetization interval that we would like the real-time RTPTasks to poll the RTP sockets.
# This is the polling period of the RTP sockets.
# Only applicable if rtpProvider.type is set to session-polling.
#
netborder.media.rtp.packetSizeMs=20


#
# The type mof rtp provider to use. Possible values are: 
# packet-driven(uses a packet driven rtp reactor to collect received rtp packets, 
# no rtcp packets handling will be supportted if this value is selected) 
# or session-polling(will use a polling mechanism on jrtp stack in order 
# to retrieve rtp packets. Choosing this value will also make the CPA rtcp capable).
#
netborder.cpa.rtpProvider.type=packet-driven

# The number of real-time thread RTPTasks used to poll sockets in 
# order to retrieve received RTP Packets 
# Only applicable if rtpProvider.type is set to session-polling.
#
netborder.cpa.rtpProvider.numThread=3



################################################################################
# Internal parameters

netborder.LicenseFile=config/call-analyzer-license.txt

netborder.cpa.package.filename=data/cpa-package.dat

netborder.media.toneDB.dir=data/tone-db
netborder.media.toneDB.schemaFile=tone-set.rng

 

# Deactivate CPU monitoring
netborder.system.cpu.monitor.monitoringPeriodInMs=0

# Use the pychecker module to check for Python errors (messages output to stdout)
netborder.python.useChecker=false

# NetBorder application class
netborder.sip.ua.python.appClass=cpa.Engine

# Name of the media engine to use
netborder.sip.mediaLibName=netborder-cpa

# Use to generate a dump file if the program crashed
netborder.infra.coreDump.writeOnCrash=true
netborder.infra.coreDump.writeOnCrash.path=logs/call-analyzer-engine.dmp

# Shutdown
netborder.killTimeoutSec=25
netborder.exitTimeoutSec=28

# END - Internal parameters
################################################################################
