main.cfg file

main.cfg is located in the /etc/ringme/ directory.
Contains global system settings. The parameters are divided into sections, for example “[Kamailio Sbc]”, “[Kamailio Intranet]“. The corresponding service must be restarted after making changes to this file.

 

Name of the section
systemctl service

Parameters

Description

Name of the section
systemctl service

Parameters

Description

Kamailio Intranet

 

service needs to be restarted after changes:

systemctl restart kamailio_intranet

syslog_facility = LOG_LOCAL0

responsible for kamailio logging

user_agent_header = Ringme SoftSwitch

visible in sip messages

server_header = Ringme SoftSwitch

visible in sip messages

sql_db = ringme

mysql database

sql_user = kamailio

username of db

sql_pass = ${MYSQL_kamailio_PASS}

password of db

main_internal_addr = 127.0.0.1:5060

internal address for sip messages

ws_addr = 127.0.0.1:81

internal address kamailio websocket

sbc_addr = 127.0.0.1:5055

internal address kamailio sbc (internal_addr of Kamailio Sbc section)

sbc_default_external_addr = ${EXT_IP}:5060

default external ip of kamailio sbc

geo_ip_file = /usr/local/ringme-kamailio/etc/GeoLite2-Country.mmdb

optional - geoip database

debug_level = 2

debug logging level

if_logall = 1

mark for logging

listen_list = 127.0.0.1:5060

kamailio intranet listen list

api_base_addr = https://${HTTP_APIDOMAIN}/api/ver1.0

optional - domain address of api. for SMS send usage

rtpengine

 

service needs to be restarted after changes:

systemctl restart rtpengine

table = 1

table number, by this number rtpengine picks up tagged by iptables packets

interface = int/127.0.0.1;${EXT_IP}/${EXT_IP}

rtpengine interfaces (proxying from interface to interface)

when changing interfaces, it is necessary to make same changes in /etc/rtpengine/rtpengine_loop.conf and then restart systemctl restart rtpengine_loop, and these interfaces must strictly correspond to the listen_list in kamailio_sbc, with the exception of the int interface

listen-cli = 127.0.0.1:9900

address of rtpengine-cli utility

silent-timeout = 3600

the call of rtpengine will end when 3600 sec reached

port-min = 8000

The minimum port that rtpnegine will specify in sdp of the sip messages

up to 8000 ports are used in other services

port-max = 65500

The maximum port that rtpnegine will specify in sdp of the sip messages

Kamailio Sbc

service needs to be restarted after changes:

systemctl restart kamailio_sbc

 

 

syslog_facility = LOG_LOCAL4

responsible for kamailio logging

user_agent_header = Ringme Sbc

visible in sip messages

server_header = Ringme Sbc

visible in sip messages

main_kamailio_addr = 127.0.0.1:5060

kamailio intranet listen_list parameter

debug_level = 2

debug logging level

if_logall = 1

mark for logging

listen_list = ${EXT_IP}:5060 udp:${EXT_IP}:5068, tls:${EXT_IP}:5061

kamailio sbc listen list, if phone registered on tls socket - secure rtp will be forced.

when changing interfaces, it is necessary to make same changes in /etc/rtpengine/rtpengine_loop.conf and then restart systemctl restart rtpengine_loop, also these interfaces must strictly match the interfaces in the rtpengine section, excluding the “int” interface

internal_addr = udp:127.0.0.1:5055

internal address kamailio sbc

Kamailio Web Socket

service needs to be restarted after changes:

systemctl restart kamailio_ws

syslog_facility = LOG_LOCAL3

responsible for kamailio logging

user_agent_header = Ringme SoftSwitch

visible in sip messages

server_header = Ringme SoftSwitch

visible in sip messages

main_kamailio_addr = udp:${EXT_IP}:5060

kamailio intranet listen_list parameter

listen_list = 127.0.0.1:81

kamailio ws listen list

jsonrpc_addr = http://127.0.0.1:5060/jsonrpc/

kamailio intranet main_internal_addr

sql_user = kamailio

username of db

sql_pass = ${MYSQL_kamailio_PASS}

password of db

sql_db = ringme

база данных mysql

sql_host = 127.0.0.1

mysql database ip addr

rest-api

 

service needs to be restarted after changes:

systemctl restart rest-api3

sql_host = 127.0.0.1

mysql database ip addr

sql_user = restapi

username of db

sql_password = ${MYSQL_restapi_PASS}

password of db

sql_db = ringme

main db of mysql

sql_log_db = ringme_log

mysql db

sql_journal_db = teleoffice_stat

mysql db where store temporary tables for journal of the client_interface

sql_select_host = 127.0.0.1

hosts for SELECT queries, only useful for more than 1 mysql instance, if 1 host is not available another one will be used. When all mysql hosts are available, clients will be balanced between hosts for cdr requests

#ampq_notify_del_rec_disable = True

If uncommented - conversation recording files will be deleted only in the database, they will not actually be deleted

couchbase_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_port = 8091

port of the couhbase (nosql)

couchbase_rest_api_cache_bucket = rest_api

bucket for cahce

couchbase_rest_api_bucket = rest_api

bucket for rest-api data

couchbase_rest_api_password =${CB_rest_api_PASS}

bucket password

couchbase_rest_api_user = rest_api

bucket user

log3_file = /var/log/rest-api3/restapi3.log

rest-api log-file

cdr_log_file = /var/log/cdr_api/cdr_api.log

log-file of cdr part of the rest-api

couchbase_db_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_db_port = 8091

port of the couhbase (nosql)

couchbase_db_bucket = event_socket_conf

bucket for phone data

couchbase_db_password = ${CB_event_socket_conf_PASS}

bucket phone data password

kamailio_internal_host = 127.0.0.1

kamailio intranet address listen_list parameter, where goes requests for registration, etc.

kamailio_internal_port = 5060

port kamailio intranet listen_list

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

sound_upload_folder = /var/lib/freeswitch/sounds

folder for upload, contains sounds, that can be use in calls

fax_upload_folder = /var/lib/freeswitch/fax/send

where faxes are loaded via api, which need to be sent and resent if necessary

fs_rpc_user = freeswitch-rpc

media server rpc user

fs_rpc_password = ${FS_XML_RPC_PASS}

media server rpc user’s password

fs_esl_password = ClueCon

password to the media server’s event-soket library

pkey = ${RESTAPI_PKEY}

immutable parameter

secret_key = ${RESTAPI_SECRETKEY}

immutable parameter

request_log_file = /var/log/rest-api/restapi_request.log

file for logging

swagger_ui = true

if set - swagger shows at the api domain address like: api.domain/api/ver1.0/

swagger_ui_oauth_client_id = ${RESTAPI_SWAGGER_OAUTH_ID}

api app for swagger

swagger_cdr_url = https://${HTTP_APIDOMAIN}/api/ver1.0/client_api_cdr.json

cdr-part of the swagger

logo_path = /static/img/logo.png

logo path

language = en

language of some api pages

timezone = UTC

default timezone

record_archive_dir = /var/lib/record_archive

directory for records archives (rest-api resource)

storage_host =

if set - storage will be used in rest-api

storage_key =

key for encrypt and decrypt storage link (to access record file via storage)

add_module_path3=

custom modules that can be added to different api instances

trusted_apps = ${RESTAPI_TRUSTED_APPS}

trusted apps

max_call_rows = 500000

the maximum number of rows available for querying statistics in a single query

max_record_archive_size = 5242880000

maximum archive size

read_only = false

if necessary for a while to disable changes to the api (until the next restart and parameter change)

admin_email = $ADMIN_EMAIL,$SUPPORT_EMAIL

admin and support mail, where letters will go after the license expires

message_send_url =

url for outgoing sms

trusted_noauth_ip = 127.0.0.1

ip for disabled auth

trusted_noauth_endpoints = api.messageout

endpoints where can be disabled auth (for trusted_noauth_ip)

ringme-admin

service needs to be restarted after changes:

systemctl restart ringme-admin

api_host = https://${HTTP_APIDOMAIN}

api domain

app_key = ${RINGME_ADMIN_KEY}

rest-api application id

app_secret = ${RINGME_ADMIN_SECRET}

rest-api application secret

log_file = /var/log/ringme-admin/ringmeadmin.log

log-file

secret_key = ${RINGME_ADMIN_SECRET_KEY}

immutable parameter

client_info_keys = interface

 

client_interface_url = https://${HTTP_CLIENTDOMAIN}

 

eso_conf

service needs to be restarted after changes:

systemctl restart eso_conf

couchbase_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_port = 8091

port of the couhbase (nosql)

couchbase_bucket = event_socket_conf

bucket for phone data

couchbase_bucket_username = event_socket_conf

bucket phone data user

couchbase_bucket_password = ${CB_event_socket_conf_PASS}

bucket phone data password

kamailio_host = 127.0.0.1

kamailio intranet address listen_list parameter, where goes in-call requests.

default_language = en

default language

log_file = /var/log/eso_conf/eso_conf.log

log-file

INTERNAL_CODEC_STRING=PCMU,PCMA,OPUS,G722

codecs for extension

EXTERNAL_CODEC_STRING=PCMU,PCMA

codecs for trunks

stt_record_dir=/ssd/stt_eso

directory for temp files speech recognition and text syntetyczne

event_processor

 

service needs to be restarted after changes:

systemctl restart event_processor

 

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

sql_host = 127.0.0.1

mysql database ip addr

sql_user = fs_service

username of db

sql_password = ${MYSQL_fs_service_PASS}

password of db

sql_log_db = ringme_log

mysql db

fs_rpc_host = 127.0.0.1

media server rpc host

fs_rpc_user = freeswitch-rpc

media server rpc user

fs_rpc_password = ${FS_XML_RPC_PASS}

media server rpc user’s password

fs_esl_host = 127.0.0.1

media server’s event-soket library host

fs_esl_port = 8021

media server’s event-soket library port

fs_esl_password = ClueCon

password to the media server’s event-soket library

couchbase_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_bucket = event_socket_conf

bucket for phone data

couchbase_bucket_password = ${CB_event_socket_conf_PASS}

bucket phone data password

log_file = /var/log/event_processor/event_processor.log

log-file

storage_hostname = storage.ringme.ru

the domain name of the storage that will appear in the record file's path in db

record_move_disk = ringme01

disk on the storage where to put the file

record_move_path = True

Only if True is present, the process of transferring to storage will be enabled

record_move_http_url1= x.x.x.x:8888/upload.pm

storage url where to put the file, there can be any number of storages, url1, url2, etc.

email_to_fax

service needs to be restarted after changes:

systemctl restart email_to_fax



pop3_host = ${EMAIL_TO_FAX_POP3_HOST}

pop3 host, like pop.gmail.com

pop3_user = ${EMAIL_TO_FAX_POP3_USER}

pop3 user

pop3_password = ${EMAIL_TO_FAX_POP3_PASS}

pop3 password

pop3_ssl = true

 

fax_upload_folder = /var/lib/freeswitch/fax/send

where faxes are loaded via email_to_fax, which need to be sent

sql_host = 127.0.0.1

mysql database ip addr

sql_user = restapi

username of db

sql_password = ${MYSQL_restapi_PASS}

password of db

sql_db = ringme

main db of mysql

sql_log_db = ringme_log

db of mysql

rest_api_host = https://${HTTP_APIDOMAIN}

api domain

log_file = /var/log/email_to_fax/email_to_fax.log

log-file

couchbase_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_port = 8091

port of the couhbase (nosql)

couchbase_freeswitch_bucket = event_socket_conf

bucket for phone data

couchbase_freeswitch_bucket_password = ${CB_event_socket_conf_PASS}

bucket phone data password

queue_sync

service needs to be restarted after changes:

systemctl restart queue_sync

 

 

 

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

fs_rpc_host = 127.0.0.1

media server rpc host

fs_rpc_user = freeswitch-rpc

media server rpc user

fs_rpc_password = ${FS_XML_RPC_PASS}

media server rpc user’s password

log_file = /var/log/queue_sync/queue_sync.log

log-file

fax_send

service needs to be restarted after changes:

systemctl restart fax_send

 

 

 

 

 

 

 

 

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

conf_host = 127.0.0.1

internal ip of the rest-api server

fs_rpc_host = 127.0.0.1

media server rpc host

fs_rpc_user = freeswitch-rpc

media server rpc user

fs_rpc_password = ${FS_XML_RPC_PASS}

media server rpc user’s password

log_file = /var/log/fax_send/fax_send.log

log-file

sql_host = 127.0.0.1

mysql database ip addr

sql_user = fs_service

username of db

sql_password = ${MYSQL_fs_service_PASS}

password of db

sql_log_db = ringme_log

db of mysql

file_sync

service needs to be restarted after changes:

systemctl restart file_sync

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

conf_host = 127.0.0.1

internal ip of the rest-api server

log_file = /var/log/file_sync/file_sync.log

log-file

Init Call Center

will be rereaded after media-server restart

sqlite_path = /dev/shm/callcenter.db

sqlite file path

cb_host = 127.0.0.1

ip address of the couhbase (nosql)

cb_pass = ${CB_event_socket_conf_PASS}

password of bucket for phone data

cb_bucket = event_socket_conf

bucket for phone data

log_file = /var/log/freeswitch/init-callcenter.log

log-file

record_archiver

service needs to be restarted after changes:

systemctl restart file_sync

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

archive_dir = /var/lib/record_archive

the directory for gzip files

log_file = /var/log/record_archiver/record_archiver.log

log-file

eso_queue

service needs to be restarted after changes:

systemctl restart eso_queue

 

FS_ESL_PASSWORD = ClueCon

password to the media server’s event-soket library

kamailio_host = localhost

kamailio intranet address listen_list parameter, where goes in-call requests.

kamailio_port = 5060

kamailio intranet port

FS_RPC_USER = freeswitch-rpc

media server rpc user

FS_RPC_PASS = ${FS_XML_RPC_PASS}

media server rpc user’s password

xml_conf

service needs to be restarted after changes:

systemctl restart xml_conf

 

couchbase_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_port = 8091

couchbase port

couchbase_bucket = event_socket_conf

bucket for phone data

couchbase_bucket_password = ${CB_event_socket_conf_PASS}

password of bucket for phone data

log_file = /var/log/xml_conf/xml_conf.log

log-file

instant_event_processor

service needs to be restarted after changes:

systemctl restart instant_event_processor

 

 

 

 

 

 

 

amqp_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

couchbase_host = 127.0.0.1

ip address of the couhbase (nosql)

couchbase_bucket = event_socket_conf

bucket for phone data

couchbase_bucket_password = ${CB_event_socket_conf_PASS}

password of bucket for phone data

sql_host = 127.0.0.1

mysql database ip addr

sql_user = fs_service

username of db

sql_password = ${MYSQL_fs_service_PASS}

password of db

sql_log_db = ringme_log

db of mysql

fs_esl_host = 127.0.0.1

media server’s event-soket library host

fs_esl_port = 8021

media server’s event-soket library port

fs_esl_password = ClueCon

password to the media server’s event-soket library

log_file = /var/log/instant_event_processor/instant_event_processor.log

log-file

Cdr

service needs to be restarted after changes:

systemctl restart cdr

 

sql_user = cdr

username of db

sql_pass = ${MYSQL_cdr_PASS}

password of db

sql_host = 127.0.0.1

mysql database ip addr

rmq_host = 127.0.0.1

ip address of the message-broker “rabbitmq”

Cdr Event Collector

service needs to be restarted after changes:

systemctl restart cdr_event_collector

 

esl_host = 127.0.0.1

media server’s event-soket library host

esl_port = 8021

media server’s event-soket library port

esl_pass = ClueCon

password to the media server’s event-soket library

rmq_queue_hooks_name = eslq_hooks

name of queue of rabbitmq

Event Generator



service needs to be restarted after changes:

systemctl restart event_generator

 

log_level = INFO

log level

request_tout = 4

request’s timeout for outgoing events to the specified url

max_concurrent_threads = 500

maximum number of concurrent requests

esl_host = 127.0.0.1

media server’s event-soket library host

esl_port = 8021

media server’s event-soket library port

cb_bucket = event_socket_conf

bucket for phone data

cb_pass = ${CB_event_socket_conf_PASS}

password of bucket for phone data

esl_pass = ClueCon

password to the media server’s event-soket library