You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This application implements the core feature server of the jambones platform.
Note: If you are a developer looking to work on the code please read our how-to for that.
Configuration
Configuration is provided via environment variables:
variable
meaning
required?
AWS_ACCESS_KEY_ID
aws access key id, used for TTS/STT as well SNS notifications
no
AWS_REGION
aws region
no
AWS_SECRET_ACCESS_KEY
aws secret access key, used per above
no
AWS_SNS_TOPIC_ARN
aws sns topic arn that scale-in lifecycle notifications will be published to
no
DRACHTIO_HOST
ip address of drachtio server (typically '127.0.0.1')
yes
DRACHTIO_PORT
listening port of drachtio server for control connections (typically 9022)
yes
DRACHTIO_SECRET
shared secret
yes
ENABLE_METRICS
if 1, metrics will be generated
no
ENCRYPTION_SECRET
secret for credential encryption(JWT_SECRET is deprecated)
yes
GOOGLE_APPLICATION_CREDENTIALS
path to gcp service key file
yes
HTTP_PORT
tcp port to listen on for API requests from jambonz-api-server
yes
HTTP_IP
IP Address for API requests from jambonz-api-server
no
JAMBONES_GATHER_EARLY_HINTS_MATCH
if true and hints are provided, gather will opportunistically review interim transcripts if possible to reduce ASR latency
no
JAMBONES_FREESWITCH
IP:port:secret for Freeswitch server (e.g. '127.0.0.1:8021:JambonzR0ck$'
yes
JAMBONES_HOLD_UNHOLD_EVENTS
if set, surface in-dialog hold/un-hold: emits a 'hold'/'unhold' event and, when sipRequestWithinDialogHook is configured, delivers it to the application. Disabled when unset
no
JAMBONES_LOGLEVEL
log level for application, 'info' or 'debug'
no
JAMBONES_MYSQL_HOST
mysql host
yes
JAMBONES_MYSQL_USER
mysql username
yes
JAMBONES_MYSQL_PASSWORD
mysql password
yes
JAMBONES_MYSQL_DATABASE
mysql data
yes
JAMBONES_MYSQL_CONNECTION_LIMIT
mysql connection limit
no
JAMBONES_NETWORK_CIDR
CIDR of private network that feature server is running in (e.g. '172.31.0.0/16')
yes
JAMBONES_REDIS_HOST
redis host
yes
JAMBONES_REDIS_PORT
redis port
yes
JAMBONES_SBCS
list of IP addresses (on the internal network) of SBCs, comma-separated
yes
STATS_HOST
ip address of metrics host (usually '127.0.0.1' since telegraf is installed locally
no
STATS_PORT
listening port for metrics host
no
STATS_PROTOCOL
'tcp' or 'udp'
no
STATS_TELEGRAF
if 1, metrics will be generated in telegraf format
no
JAMBONZ_RECORD_WS_BASE_URL
recording websocket URL to send the recording audio
no
JAMBONZ_RECORD_WS_USERNAME
recording websocket username
no
JAMBONZ_RECORD_WS_PASSWORD
recording websocket password
no
ANCHOR_MEDIA_ALWAYS
keep media on media server
no
JAMBONZ_DISABLE_DIAL_PAI_HEADER
control P-Asserted-Identity header on B-Leg
no
running under pm2
Typically, this application runs under pm2 using an ecosystem.config.js file similar to this: