Blob Blame Raw
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Wed, 17 Jun 2015 13:46:04 +0300
Subject: [PATCH] Update configs

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d098fc4..71cacc5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,9 +25,14 @@ ELSE(EXISTS ${CMAKE_SOURCE_DIR}/.git)
 	    "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}")
 ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/.git)
 
-MESSAGE(STATUS "Configuring ${CMAKE_PROJECT_NAME} v. ${SEMS_VERSION}")
+ADD_DEFINITIONS(-DSEMS_VERSION=\\\"${SEMS_VERSION}\\\")
+ADD_DEFINITIONS(-DARCH=\\\"${CMAKE_SYSTEM_PROCESSOR}\\\")
+ADD_DEFINITIONS(-DOS=\\\"${CMAKE_SYSTEM_NAME}\\\")
+
+ADD_DEFINITIONS(-DSYSTEM_SAMPLECLOCK_RATE=32000LL)
+ADD_DEFINITIONS(-DSEMS_APP_NAME=\\\"sems\\\")
 
-SET(SEMS_APP_NAME "sems")
+MESSAGE(STATUS "Configuring ${CMAKE_PROJECT_NAME} v. ${SEMS_VERSION}")
 
 OPTION(SEMS_USE_SPANDSP       "Build with spandsp" OFF)
 OPTION(SEMS_USE_LIBSAMPLERATE "Build with libsamplerate" OFF)
@@ -281,6 +286,15 @@ ADD_DEFINITIONS(-DLOG_BUFFER_LEN=2048)
 
 #ADD_DEFINITIONS(-DDEBUG_PLAYOUTBUF)
 
+# Propagate all unparsed SIP headers into AmSipReply. Disabled by default
+# because only special applications might need this and it brings higher memory
+# demands and affects performance.
+#ADD_DEFINITIONS(-DPROPAGATE_UNPARSED_REPLY_HEADERS)
+
+IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+	ADD_DEFINITIONS(-DPROPAGATE_COREDUMP_SETTINGS)
+ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+
 SET(CMAKE_SHARED_LIBRARY_PREFIX "")
 
 ADD_SUBDIRECTORY (core)
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
index ae4c46e..14dd8b5 100644
--- a/apps/CMakeLists.txt
+++ b/apps/CMakeLists.txt
@@ -16,6 +16,7 @@ IF(OPENSSL_FOUND)
 ENDIF(OPENSSL_FOUND)
 ADD_SUBDIRECTORY(dsm)
 ADD_SUBDIRECTORY(early_announce)
+ADD_SUBDIRECTORY(early_dbprompt)
 #ADD_SUBDIRECTORY(examples)
 IF(MISDN_FOUND)
 #	ADD_SUBDIRECTORY(gateway)
@@ -29,6 +30,7 @@ ENDIF(LIBEV_FOUND)
 IF(PYTHONLIBS_FOUND)
 	ADD_SUBDIRECTORY(mailbox)
 ENDIF(PYTHONLIBS_FOUND)
+ADD_SUBDIRECTORY(mobile_push)
 ADD_SUBDIRECTORY(monitoring)
 IF(LAME_FOUND)
 	ADD_SUBDIRECTORY(mp3)
diff --git a/apps/dsm/etc/dsm.conf.cmake b/apps/dsm/etc/dsm.conf.cmake
index caad8bc..98a0a0a 100644
--- a/apps/dsm/etc/dsm.conf.cmake
+++ b/apps/dsm/etc/dsm.conf.cmake
@@ -127,8 +127,8 @@ load_prompts=${SEMS_CFG_PREFIX}/etc/sems/etc/dsm_in_prompts.conf,${SEMS_CFG_PREF
 
 # conf_dir=<path>
 #
-# <path> is scanned for *.conf files. Every .conf
-# file is loaded, and in the .conf file, the following
+# <path> is scanned for *.conf files configuring application bundles ("app bundles").
+# Every .conf file is loaded as app bundle, and in the .conf file, the following
 # DSM config parameters are processed:
 #   diag_path=
 #   load_diags=
diff --git a/apps/dsm/mods/CMakeLists.txt b/apps/dsm/mods/CMakeLists.txt
index 91369c9..6d4d3da 100644
--- a/apps/dsm/mods/CMakeLists.txt
+++ b/apps/dsm/mods/CMakeLists.txt
@@ -1,6 +1,8 @@
 #ADD_SUBDIRECTORY (mod_aws)
 ADD_SUBDIRECTORY (mod_conference)
+#ADD_SUBDIRECTORY (mod_curl)
 ADD_SUBDIRECTORY (mod_dlg)
+ADD_SUBDIRECTORY (mod_groups)
 IF(SEMS_USE_MONITORING)
 	ADD_SUBDIRECTORY (mod_monitoring)
 ENDIF(SEMS_USE_MONITORING)
@@ -8,7 +10,13 @@ IF(MYSQLPP_FOUND)
 	ADD_SUBDIRECTORY (mod_mysql)
 ENDIF(MYSQLPP_FOUND)
 ADD_SUBDIRECTORY (mod_py)
+#ADD_SUBDIRECTORY (mod_redis)
+ADD_SUBDIRECTORY (mod_regex)
+#ADD_SUBDIRECTORY (mod_sbc)
+ADD_SUBDIRECTORY (mod_subscription)
 ADD_SUBDIRECTORY (mod_sys)
 ADD_SUBDIRECTORY (mod_uri)
 ADD_SUBDIRECTORY (mod_utils)
+#ADD_SUBDIRECTORY (mod_xml)
+#ADD_SUBDIRECTORY (mod_zrtp)
 
diff --git a/apps/dsm/mods/mod_sbc/CMakeLists.txt b/apps/dsm/mods/mod_sbc/CMakeLists.txt
new file mode 100644
index 0000000..9cb76f1
--- /dev/null
+++ b/apps/dsm/mods/mod_sbc/CMakeLists.txt
@@ -0,0 +1,7 @@
+set (mod_sbc_SRCS
+ModSbc.cpp
+)
+
+SET(sems_dsm_module_name mod_sbc)
+INCLUDE(${CMAKE_SOURCE_DIR}/cmake/dsm.lib.rules.txt)
+
diff --git a/apps/dsm/mods/mod_subscription/CMakeLists.txt b/apps/dsm/mods/mod_subscription/CMakeLists.txt
new file mode 100644
index 0000000..713339e
--- /dev/null
+++ b/apps/dsm/mods/mod_subscription/CMakeLists.txt
@@ -0,0 +1,7 @@
+set (mod_subscription_SRCS
+ModSubscription.cpp
+)
+
+SET(sems_dsm_module_name mod_subscription)
+INCLUDE(${CMAKE_SOURCE_DIR}/cmake/dsm.lib.rules.txt)
+
diff --git a/apps/early_dbprompt/CMakeLists.txt b/apps/early_dbprompt/CMakeLists.txt
new file mode 100644
index 0000000..08c30b8
--- /dev/null
+++ b/apps/early_dbprompt/CMakeLists.txt
@@ -0,0 +1,5 @@
+
+SET(sems_dsm_script_names
+	early_dbprompt.dsm
+)
+INCLUDE(${CMAKE_SOURCE_DIR}/cmake/dsm.script.rules.txt)
diff --git a/apps/mobile_push/CMakeLists.txt b/apps/mobile_push/CMakeLists.txt
new file mode 100644
index 0000000..fefbda7
--- /dev/null
+++ b/apps/mobile_push/CMakeLists.txt
@@ -0,0 +1,5 @@
+
+SET(sems_dsm_script_names
+	mobile_push.dsm
+)
+INCLUDE(${CMAKE_SOURCE_DIR}/cmake/dsm.script.rules.txt)
diff --git a/apps/monitoring/etc/monitoring.conf.cmake b/apps/monitoring/etc/monitoring.conf.cmake
index 1f66783..b61c1ca 100644
--- a/apps/monitoring/etc/monitoring.conf.cmake
+++ b/apps/monitoring/etc/monitoring.conf.cmake
@@ -12,3 +12,9 @@ run_garbage_collector = yes
 # Default: 10
 #
 #garbage_collector_interval = 20
+
+# retain_samples_s=10
+# 
+# retain "sample" type values for n seconds
+#
+#retain_samples_s=20
diff --git a/apps/sbc/etc/sbc.conf.cmake b/apps/sbc/etc/sbc.conf.cmake
index e5dab80..033df47 100644
--- a/apps/sbc/etc/sbc.conf.cmake
+++ b/apps/sbc/etc/sbc.conf.cmake
@@ -31,6 +31,13 @@ active_profile=transparent
 # e.g. load_cc_plugins=cc_pcalls;cc_ctl
 #load_cc_plugins=cc_pcalls;cc_ctl
 
+# handle OPTIONS messages in the core? (with limits etc)
+# Default: no
+#core_options_handling=yes
+
+# How many threads to use for processing out-of-dialog messages, default: 1
+# out_of_dialog_threads=4
+
 ## RFC4028 Session Timer
 # default configuration - can be overridden by call profiles
 
diff --git a/apps/sbc/etc/transparent.sbcprofile.conf.cmake b/apps/sbc/etc/transparent.sbcprofile.conf.cmake
index b768620..c2692ae 100644
--- a/apps/sbc/etc/transparent.sbcprofile.conf.cmake
+++ b/apps/sbc/etc/transparent.sbcprofile.conf.cmake
@@ -19,11 +19,23 @@
 #force_outbound_proxy=yes
 # destination IP[:port] for outgoing requests
 #next_hop=192.168.5.106:5060
-# set RURI as calculated next_hop
+# set RURI to (calculated) next_hop
 #patch_ruri_next_hop=yes
+# update next_hop from remote destination? (e.g. from SRV)
+#next_hop_fixed=yes
 # outbound interface to use (interface ID)
 #outbound_interface=extern
 
+# registration cache: use local registration cache
+# enable_reg_caching=yes
+#   register upstream every 3600 sec
+#  min_reg_expires=3600
+#   and make UA re-register every 60 sec
+#  max_ua_expires=60
+
+# SIP NAT handling: recommended if dealing with far end NATs
+#dlg_nat_handling=yes
+
 ## RTP relay
 # enable RTP relaying (bridging):
 #enable_rtprelay=yes
@@ -56,10 +68,17 @@
 ## append extra headers
 #append_headers="P-Source-IP: $si\r\nP-Source-Port: $sp\r\n"
 
+## subscription-less NOTIFY pass through
+#allow_subless_notify=no
+
 ## reply translations
 # translate some 6xx class replies to 4xx class:
 #reply_translations="603=>488 Not acceptable here|600=>406 Not Acceptable"
 
+## fix replaces for call transfers
+# fix_replaces_inv=yes
+# fix_replaces_ref=yes
+
 ## authentication:
 #enable_auth=yes
 #auth_user=$P(u)
@@ -70,6 +89,12 @@
 #auth_aleg_user=$P(au)
 #auth_aleg_pwd=$P(ap)
 
+## UAS auth for B leg
+#uas_auth_bleg_enabled=yes
+#uas_auth_bleg_realm=$P(sr)
+#uas_auth_bleg_user=$P(su)
+#uas_auth_bleg_pwd=$P(sp)
+
 ## call timer
 #enable_call_timer=yes
 #call_timer=60
@@ -83,9 +108,8 @@
 
 ## session timer:
 #enable_session_timer=yes
-# if session_expires is not configured here,
-# the values from sbc.conf are used, or the
-# default values
+# if any of the session timer parameters below are not defined here,
+# the values from sbc.conf are used, or the default values
 #session_expires=120
 #minimum_timer=90
 #session_refresh_method=UPDATE_FALLBACK_INVITE
diff --git a/apps/webconference/etc/webconference.conf.cmake b/apps/webconference/etc/webconference.conf.cmake
index 69c0e9f..1566504 100644
--- a/apps/webconference/etc/webconference.conf.cmake
+++ b/apps/webconference/etc/webconference.conf.cmake
@@ -29,6 +29,13 @@ star_finishes_pin=yes
 # the conference room, without asking for the PIN. 
 # 
 direct_room_re=000777.*
+
+# room_pin_split=n  - split PIN/room mode, if set split pin in room 
+#                     and pin at position n, makes sense together with private
+#                     rooms mode
+#
+#room_pin_split=4
+
 #
 # direct_room_strip specifies the number of digits to strip 
 # from the user part of the request uri to get the conference
@@ -36,6 +43,12 @@ direct_room_re=000777.*
 # e.g. direct_room_strip=5, called 000777123 => room 123
 direct_room_strip=6
 
+# lonely_user_timer - a caller that is that many seconds in a room alone will be kicked 
+#   
+# Default: disabled (0)
+#
+#lonely_user_timer=120
+
 #
 # master_password sets optionally a master password which can be used to
 # retreive a room's password with the getRoomPassword function
@@ -140,6 +153,9 @@ stats_dir=/var/log/sems-webconference/
 # or, get participant ID from header:
 #participant_id_header=x-participantid
 
+# Loop the first_participant_prompt? [yes|no]
+# default: no
+#loop_first_participant_prompt=yes
 
 ###############################################################
 # RFC4028 Session Timer
diff --git a/core/plug-in/CMakeLists.txt b/core/plug-in/CMakeLists.txt
index 1ef710d..0be6e53 100644
--- a/core/plug-in/CMakeLists.txt
+++ b/core/plug-in/CMakeLists.txt
@@ -14,6 +14,7 @@ IF(SEMS_USE_ILBC)
 ENDIF(SEMS_USE_ILBC)
 #ADD_SUBDIRECTORY (isac)
 ADD_SUBDIRECTORY (l16)
+#ADD_SUBDIRECTORY (opus)
 ADD_SUBDIRECTORY (session_timer)
 #ADD_SUBDIRECTORY (silk)
 IF(SPEEX_FOUND)
diff --git a/core/sems.h.cmake b/core/sems.h.cmake
index 1c2cccd..7adc87f 100644
--- a/core/sems.h.cmake
+++ b/core/sems.h.cmake
@@ -28,12 +28,6 @@
 #ifndef _ans_machine_h_
 #define _ans_machine_h_
 
-#define SEMS_VERSION "${SEMS_VERSION}"
-#define OS "${CMAKE_SYSTEM_NAME}"
-#define ARCH "${CMAKE_SYSTEM_PROCESSOR}"
-
-#define SEMS_APP_NAME "${SEMS_APP_NAME}"
-
 #define CONFIG_FILE         "${SEMS_CFG_PREFIX}/etc/sems/sems.conf"
 #define MOD_CFG_PATH        "${SEMS_CFG_PREFIX}/etc/sems/etc/"
 #define ANNOUNCE_PATH       "${SEMS_AUDIO_PREFIX}/sems/audio"