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 | 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 |