diff --git a/.gitignore b/.gitignore index ba29498..8dcab91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ sems-1.2.1.w_o_ilbc_sources.tar.gz /sems-1.3.0.w_o_ilbc_sources.tar.gz +/sems-1.3.1.w_o_ilbc_sources.tar.gz diff --git a/sems-0001-Force-to-use-system-wide-GSM-includes.patch b/sems-0001-Force-to-use-system-wide-GSM-includes.patch index 121c702..7712396 100644 --- a/sems-0001-Force-to-use-system-wide-GSM-includes.patch +++ b/sems-0001-Force-to-use-system-wide-GSM-includes.patch @@ -1,7 +1,7 @@ -From f40d07c03612e51bbd0d3330535d8ebc365b506c Mon Sep 17 00:00:00 2001 +From de3c54f85f893e4ee985b1da93cc014b00456fa8 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 31 Mar 2010 11:52:52 +0400 -Subject: [PATCH 1/9] Force to use system-wide GSM includes +Subject: [PATCH 1/6] Force to use system-wide GSM includes Signed-off-by: Peter Lemenkov --- @@ -22,5 +22,5 @@ index 286a989..3517e59 100644 #include -- -1.7.2.3 +1.7.3.4 diff --git a/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch b/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch index 11074ac..fd75dcc 100644 --- a/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch +++ b/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch @@ -1,7 +1,7 @@ -From c53a56b9667ea821281e14ed763d4db49e256c71 Mon Sep 17 00:00:00 2001 +From 26929b6a7a62299b71bf7c99f17f75670a2040e2 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 31 Mar 2010 11:53:48 +0400 -Subject: [PATCH 2/9] Allow rewrite of custom makefiles by CMake +Subject: [PATCH 2/6] Allow rewrite of custom makefiles by CMake Signed-off-by: Peter Lemenkov --- @@ -9,12 +9,12 @@ Signed-off-by: Peter Lemenkov 1 files changed, 0 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 502561e..c17c956 100644 +index a6ff425..ef3934e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -12,15 +12,6 @@ SET(SEMS_EXTRA_VERSION dev) - SET(SEMS_VERSION - "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}-${SEMS_EXTRA_VERSION}") +@@ -26,15 +26,6 @@ ELSE(IS_DEVEL) + ENDIF(IS_DEVEL) + MESSAGE(STATUS "Configuring ${CMAKE_PROJECT_NAME} v. ${SEMS_VERSION}") -IF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE) - message(FATAL_ERROR "In-source builds are not allowed. @@ -29,5 +29,5 @@ index 502561e..c17c956 100644 OPTION(SEMS_USE_LIBSAMPLERATE "Build with libsamplerate" OFF) OPTION(SEMS_USE_ZRTP "Build with ZRTP" OFF) -- -1.7.2.3 +1.7.3.4 diff --git a/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch b/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch index 2246d42..f6f04b4 100644 --- a/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch +++ b/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch @@ -1,7 +1,7 @@ -From f240f4b7cf5701ce93b812e4be77428d9514fb28 Mon Sep 17 00:00:00 2001 +From e322f2e00e48b639b5d87ed06738aa24d99396bf Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 31 Mar 2010 18:56:39 +0400 -Subject: [PATCH 3/9] Set CFG_PREFIX to empty string by default +Subject: [PATCH 3/6] Set CFG_PREFIX to empty string by default Signed-off-by: Peter Lemenkov --- @@ -9,10 +9,10 @@ Signed-off-by: Peter Lemenkov 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index c17c956..7b4c49b 100644 +index ef3934e..c36ce62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -34,7 +34,7 @@ ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STREQUAL "2.4") +@@ -48,7 +48,7 @@ ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STREQUAL "2.4") SET(CMAKE_DL_LIBS ${CMAKE_DL_LIBS} m pthread) IF (NOT SEMS_CFG_PREFIX) @@ -22,5 +22,5 @@ index c17c956..7b4c49b 100644 MESSAGE(STATUS "SEMS cfg prefix was set to: ${SEMS_CFG_PREFIX}") -- -1.7.2.3 +1.7.3.4 diff --git a/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch b/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch index 9b02fac..86e42fc 100644 --- a/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch +++ b/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch @@ -1,7 +1,7 @@ -From 460b5e654e5789b75a3514d1de9b658f0245a62e Mon Sep 17 00:00:00 2001 +From 4a2b5ca2644db000dbace63c8bdd278109f6d356 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 25 Jun 2010 12:16:45 +0400 -Subject: [PATCH 4/9] Disable mysql++ in conference and early_announce modules +Subject: [PATCH 4/6] Disable mysql++ in conference and early_announce modules Unfortunately, this breaks existing configurations, which is a no-go situation for EPEL repository. We'll enable it later. @@ -59,5 +59,5 @@ index 184d282..1e23638 100644 SET(sems_module_name early_announce) INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) -- -1.7.2.3 +1.7.3.4 diff --git a/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch b/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch index ca22757..4c1165d 100644 --- a/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch +++ b/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch @@ -1,7 +1,7 @@ -From 18a743c479753fca2dd561cebea0317ce3de6871 Mon Sep 17 00:00:00 2001 +From 2f0556c126f2cae0edec32b0fd269d496dd068f6 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 27 Sep 2010 14:13:00 +0400 -Subject: [PATCH 5/9] Add sw_prepaid_sip plugin to default exclude list (due to missing cc_acc) +Subject: [PATCH 5/6] Add sw_prepaid_sip plugin to default exclude list (due to missing cc_acc) Signed-off-by: Peter Lemenkov --- @@ -9,7 +9,7 @@ Signed-off-by: Peter Lemenkov 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/core/etc/sems.conf.cmake b/core/etc/sems.conf.cmake -index fa9f1d9..14d5f4b 100644 +index 65d8534..eeeeb67 100644 --- a/core/etc/sems.conf.cmake +++ b/core/etc/sems.conf.cmake @@ -140,7 +140,7 @@ plugin_path=${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/plug-in/ @@ -22,5 +22,5 @@ index fa9f1d9..14d5f4b 100644 # optional parameter: application # -- -1.7.2.3 +1.7.3.4 diff --git a/sems-0006-More-cmake-templates.patch b/sems-0006-More-cmake-templates.patch deleted file mode 100644 index 36250ed..0000000 --- a/sems-0006-More-cmake-templates.patch +++ /dev/null @@ -1,605 +0,0 @@ -From 67543e5578c9ef136444afa32acf625a744ad1fb Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Mon, 27 Sep 2010 15:38:10 +0400 -Subject: [PATCH 6/9] More cmake templates - -Signed-off-by: Peter Lemenkov ---- - apps/auth_b2b/etc/auth_b2b.conf.cmake | 7 +++ - apps/call_timer/etc/call_timer.conf.cmake | 13 +++++ - apps/conference/etc/conference.conf.cmake | 34 ++++++++++++ - apps/dsm/etc/dsm.conf.cmake | 61 +++++++++++++++++++++ - apps/gateway/etc/gateway.conf.cmake | 9 +++ - apps/ivr/etc/ivr.conf.cmake | 37 +++++++++++++ - apps/jsonrpc/etc/jsonrpc.conf.cmake | 13 +++++ - apps/monitoring/etc/monitoring.conf.cmake | 14 +++++ - apps/msg_storage/etc/msg_storage.conf.cmake | 8 +++ - apps/reg_agent/etc/reg_agent.conf.cmake | 34 ++++++++++++ - apps/sst_b2b/etc/sst_b2b.conf.cmake | 39 +++++++++++++ - apps/sw_prepaid_sip/etc/sw_prepaid_sip.conf.cmake | 2 + - apps/webconference/etc/webconference.conf.cmake | 40 ++++++++++++++ - apps/xmlrpc2di/etc/xmlrpc2di.conf.cmake | 38 +++++++++++++ - core/plug-in/CMakeLists.txt | 1 + - core/plug-in/echo/etc/echo.conf.cmake | 35 ++++++++++++ - core/plug-in/g729/CMakeLists.txt | 9 +++ - core/plug-in/stats/etc/stats.conf.cmake | 2 + - sems.h.cmake | 2 + - 19 files changed, 398 insertions(+), 0 deletions(-) - create mode 100644 apps/auth_b2b/etc/auth_b2b.conf.cmake - create mode 100644 apps/call_timer/etc/call_timer.conf.cmake - create mode 100644 apps/conf_auth/etc/conf_auth.conf.cmake - create mode 100644 apps/gateway/etc/gateway.conf.cmake - create mode 100644 apps/jsonrpc/etc/jsonrpc.conf.cmake - create mode 100644 apps/monitoring/etc/monitoring.conf.cmake - create mode 100644 apps/msg_storage/etc/msg_storage.conf.cmake - create mode 100644 apps/reg_agent/etc/reg_agent.conf.cmake - create mode 100644 apps/sst_b2b/etc/sst_b2b.conf.cmake - create mode 100644 apps/sw_prepaid_sip/etc/sw_prepaid_sip.conf.cmake - create mode 100644 apps/xmlrpc2di/etc/xmlrpc2di.conf.cmake - create mode 100644 core/plug-in/echo/etc/echo.conf.cmake - create mode 100644 core/plug-in/g729/CMakeLists.txt - create mode 100644 core/plug-in/stats/etc/stats.conf.cmake - -diff --git a/apps/auth_b2b/etc/auth_b2b.conf.cmake b/apps/auth_b2b/etc/auth_b2b.conf.cmake -new file mode 100644 -index 0000000..e9803e1 ---- /dev/null -+++ b/apps/auth_b2b/etc/auth_b2b.conf.cmake -@@ -0,0 +1,7 @@ -+ -+# Account to use on the outgoing call leg. If this is not set, -+# the account is taken from P-App-Param header (see Readme.auth_b2b) -+# -+# user=someuser -+# domain=somedomain.net -+# pwd=sompwd -diff --git a/apps/call_timer/etc/call_timer.conf.cmake b/apps/call_timer/etc/call_timer.conf.cmake -new file mode 100644 -index 0000000..ff4da06 ---- /dev/null -+++ b/apps/call_timer/etc/call_timer.conf.cmake -@@ -0,0 +1,13 @@ -+ -+# -+# use_app_param=[yes|no] -+# -+# sets whether App-Param header is used for call time value -+# (or default_call_time below) -+# -+use_app_param=yes -+ -+# -+# call timer value used if not in P-App-Param. in seconds -+# -+default_call_time=1200 -\ No newline at end of file -diff --git a/apps/conf_auth/etc/conf_auth.conf.cmake b/apps/conf_auth/etc/conf_auth.conf.cmake -new file mode 100644 -index 0000000..e69de29 -diff --git a/apps/conference/etc/conference.conf.cmake b/apps/conference/etc/conference.conf.cmake -index d1cb13d..0f02fe3 100644 ---- a/apps/conference/etc/conference.conf.cmake -+++ b/apps/conference/etc/conference.conf.cmake -@@ -33,3 +33,37 @@ playout_type=adaptive_playout - #default: - # use_rfc4240_rooms=no - # -+ -+############################################################### -+# RFC4028 Session Timer -+# -+ -+# - enables the session timer ([yes,no]; default: no) -+# -+# enable_session_timer=yes -+ -+# - set the "Session-Expires" parameter for the session timer. -+# -+# session_expires=240 -+ -+# - set the "Min-SE" parameter for the session timer. -+# -+# minimum_timer=90 -+ -+# session refresh (Session Timer, RFC4028) method -+# -+# INVITE - use re-INVITE -+# UPDATE - use UPDATE -+# UPDATE_FALLBACK_INVITE - use UPDATE if indicated in Allow, re-INVITE otherwise -+# -+# Default: UPDATE_FALLBACK_INVITE -+# -+# Note: Session Timers are only supported in some applications -+# -+#session_refresh_method=UPDATE -+ -+# accept_501_reply - accept 501 reply as successful refresh? [yes|no] -+# -+# Default: yes -+# -+#accept_501_reply=no -diff --git a/apps/dsm/etc/dsm.conf.cmake b/apps/dsm/etc/dsm.conf.cmake -index d56acae..caad8bc 100644 ---- a/apps/dsm/etc/dsm.conf.cmake -+++ b/apps/dsm/etc/dsm.conf.cmake -@@ -16,6 +16,10 @@ mod_path=${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/dsm/ - # print raw DSM text while loading to debug log? - # debug_raw_dsm=yes - -+# do rough consistency checking after loading DSM? -+# (default: yes) -+#dsm_consistency_check=no -+ - # DSM to start for in/outbound call if application to execute=dsm - # (from application=xyz in sems.conf, either application=dsm or - # application=$(apphdr)/$(ruriparam) etc) -@@ -51,6 +55,10 @@ load_prompts=${SEMS_CFG_PREFIX}/etc/sems/etc/dsm_in_prompts.conf,${SEMS_CFG_PREF - # - #set_param_variables=yes - -+# run these system DSMs on startup (system DSMs are DSMs executed without a call) -+# -+#run_system_dsms=system_dsm1,system_dsm2 -+ - # monitoring_full_stategraph=[yes|no] - # - # Controls whether to log the full call graph (all states visited) -@@ -95,6 +103,21 @@ load_prompts=${SEMS_CFG_PREFIX}/etc/sems/etc/dsm_in_prompts.conf,${SEMS_CFG_PREF - # - #monitor_select_use_callee=no - -+# monitor_select_filters= -+# -+# for mon_select, records are also filtered by these variables, -+# the values taked of P-App-Params. -+# -+# e.g. if -+# P-App-Param: product_id=2;appdomain=iptel.org -+# and -+# monitor_select_filters=product_id,appdomain -+# the record in monitoring must have also those avps set: -+# appdomain=iptel.org -+# product_id=2 -+# -+# monitor_select_filters=product_id,appdomain -+ - # monitor_select_fallback=app - # - # fallback application for $(mon_select) application selection -@@ -113,6 +136,44 @@ load_prompts=${SEMS_CFG_PREFIX}/etc/sems/etc/dsm_in_prompts.conf,${SEMS_CFG_PREF - # mod_path= - # preload_mods= - # run_invite_event= -+# set_param_variables= -+# run_system_dsms= -+ -+# and additional configuration variables (as script variables) -+# -+# conf_dir=${SEMS_CFG_PREFIX}/etc/sems/etc/dsm/ -+ -+ -+############################################################### -+# RFC4028 Session Timer -+# -+ -+# - enables the session timer ([yes,no]; default: no) -+# -+# enable_session_timer=yes -+ -+# - set the "Session-Expires" parameter for the session timer. - # -+# session_expires=240 -+ -+# - set the "Min-SE" parameter for the session timer. -+# -+# minimum_timer=90 -+ -+# session refresh (Session Timer, RFC4028) method -+# -+# INVITE - use re-INVITE -+# UPDATE - use UPDATE -+# UPDATE_FALLBACK_INVITE - use UPDATE if indicated in Allow, re-INVITE otherwise -+# -+# Default: UPDATE_FALLBACK_INVITE -+# -+# Note: Session Timers are only supported in some applications -+# -+#session_refresh_method=UPDATE -+ -+# accept_501_reply - accept 501 reply as successful refresh? [yes|no] - # -+# Default: yes - # -+#accept_501_reply=no -diff --git a/apps/gateway/etc/gateway.conf.cmake b/apps/gateway/etc/gateway.conf.cmake -new file mode 100644 -index 0000000..4aa03d8 ---- /dev/null -+++ b/apps/gateway/etc/gateway.conf.cmake -@@ -0,0 +1,9 @@ -+callerdomain=192.168.0.15 -+calleddomain=netitel.pl -+msn=6240495,6240496,6240497,6233270 -+outprefixes=0*,1*,2*,3*,4*,5*,6*,7*,8*,9*,* -+defaultmsn=6240495 -+auth_enable=yes -+auth_realm=netitel.pl -+auth_user=semsgw -+auth_pwd=*** -\ No newline at end of file -diff --git a/apps/ivr/etc/ivr.conf.cmake b/apps/ivr/etc/ivr.conf.cmake -index b80cdab..65bf919 100644 ---- a/apps/ivr/etc/ivr.conf.cmake -+++ b/apps/ivr/etc/ivr.conf.cmake -@@ -1 +1,38 @@ -+# script_path - *.py from this path is loaded as applications - script_path=${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/ivr/ -+ -+ -+############################################################### -+# RFC4028 Session Timer -+# -+ -+# - enables the session timer ([yes,no]; default: no) -+# -+# enable_session_timer=yes -+ -+# - set the "Session-Expires" parameter for the session timer. -+# -+# session_expires=240 -+ -+# - set the "Min-SE" parameter for the session timer. -+# -+# minimum_timer=90 -+ -+# session refresh (Session Timer, RFC4028) method -+# -+# INVITE - use re-INVITE -+# UPDATE - use UPDATE -+# UPDATE_FALLBACK_INVITE - use UPDATE if indicated in Allow, re-INVITE otherwise -+# -+# Default: UPDATE_FALLBACK_INVITE -+# -+# Note: Session Timers are only supported in some applications -+# -+#session_refresh_method=UPDATE -+ -+# accept_501_reply - accept 501 reply as successful refresh? [yes|no] -+# -+# Default: yes -+# -+#accept_501_reply=no -+ -diff --git a/apps/jsonrpc/etc/jsonrpc.conf.cmake b/apps/jsonrpc/etc/jsonrpc.conf.cmake -new file mode 100644 -index 0000000..490ef7c ---- /dev/null -+++ b/apps/jsonrpc/etc/jsonrpc.conf.cmake -@@ -0,0 +1,13 @@ -+# jsonrpc_port - json-rpc server port to listen on -+# -+# optional; default: 7080 -+# -+# jsonrpc_port=7080 -+ -+ -+# server_threads - json-rpc server threads to start -+# -+# optional; default: 5 -+# -+# server_threads=5 -+ -diff --git a/apps/monitoring/etc/monitoring.conf.cmake b/apps/monitoring/etc/monitoring.conf.cmake -new file mode 100644 -index 0000000..0267785 ---- /dev/null -+++ b/apps/monitoring/etc/monitoring.conf.cmake -@@ -0,0 +1,14 @@ -+ -+#run_garbage_collector=[yes | no] -+# -+# run garbage collection on expired session info? -+# Default: no -+# -+#run_garbage_collector = yes -+ -+#garbage_collector_interval=10 -+# -+# run garbage collection every n seconds -+# Default: 10 -+# -+#garbage_collector_interval = 20 -\ No newline at end of file -diff --git a/apps/msg_storage/etc/msg_storage.conf.cmake b/apps/msg_storage/etc/msg_storage.conf.cmake -new file mode 100644 -index 0000000..b1ee125 ---- /dev/null -+++ b/apps/msg_storage/etc/msg_storage.conf.cmake -@@ -0,0 +1,8 @@ -+ -+# -+# storage_dir is where messages are saved on disk. this -+# folder must be writable. -+# -+# default: /var/spool/voicebox/ -+# -+#storage_dir=/var/spool/voicebox/ -\ No newline at end of file -diff --git a/apps/reg_agent/etc/reg_agent.conf.cmake b/apps/reg_agent/etc/reg_agent.conf.cmake -new file mode 100644 -index 0000000..87ce9d7 ---- /dev/null -+++ b/apps/reg_agent/etc/reg_agent.conf.cmake -@@ -0,0 +1,34 @@ -+# -+# -+# Registrations at SIP registrar, -+# refreshed if necessary. -+# -+# -+ -+#domain=mydomain.net -+#user=myuser -+#display_name=myuser -+#auth_user=myuser -+#pwd=verysecret -+# optional: -+#proxy=sip.mydomain.net:5060 -+ -+# -+# For multiple registrations add more entries -+# -+#domain1=iptel.org -+#user1=xyz -+#display_name1=xyz -+#auth_user1=xyz -+#pwd1=ppp -+# optional: -+#proxy1=sip.iptel.org:5060 -+ -+#domain2=iptel.org -+#user2=xyz -+#display_name2=xyz -+#auth_user2=xyz -+#pwd2=ppp -+# optional: -+#proxy2=sip.iptel.org:5060 -+ -diff --git a/apps/sst_b2b/etc/sst_b2b.conf.cmake b/apps/sst_b2b/etc/sst_b2b.conf.cmake -new file mode 100644 -index 0000000..a939a15 ---- /dev/null -+++ b/apps/sst_b2b/etc/sst_b2b.conf.cmake -@@ -0,0 +1,39 @@ -+# RFC4028 Session Timer -+# -+ -+# - enables the session timer ([yes,no]; default: no) -+# -+enable_session_timer=yes -+ -+# - set the "Session-Expires" parameter for the session timer. -+# -+# session_expires=240 -+ -+# - set the "Min-SE" parameter for the session timer. -+# -+# minimum_timer=90 -+ -+# session refresh (Session Timer, RFC4028) method -+# -+# INVITE - use re-INVITE -+# UPDATE - use UPDATE -+# UPDATE_FALLBACK_INVITE - use UPDATE if indicated in Allow, re-INVITE otherwise -+# -+# Default: UPDATE_FALLBACK_INVITE -+# -+# Note: Session Timers are only supported in some applications -+# -+#session_refresh_method=UPDATE -+ -+# accept_501_reply - accept 501 reply as successful refresh? [yes|no] -+# -+# Default: yes -+# -+#accept_501_reply=no -+ -+###################################################### -+#authentication (questionable whether that works) -+# user=someuser -+# domain=somedomain.net -+# pwd=sompwd -+ -diff --git a/apps/sw_prepaid_sip/etc/sw_prepaid_sip.conf.cmake b/apps/sw_prepaid_sip/etc/sw_prepaid_sip.conf.cmake -new file mode 100644 -index 0000000..2bd1ab1 ---- /dev/null -+++ b/apps/sw_prepaid_sip/etc/sw_prepaid_sip.conf.cmake -@@ -0,0 +1,2 @@ -+# the plugin to be used as accounting backend: -+acc_plugin = cc_acc -diff --git a/apps/webconference/etc/webconference.conf.cmake b/apps/webconference/etc/webconference.conf.cmake -index cf04813..4c818dc 100644 ---- a/apps/webconference/etc/webconference.conf.cmake -+++ b/apps/webconference/etc/webconference.conf.cmake -@@ -106,3 +106,43 @@ stats_dir=/var/log/sems-webconference/ - # or dialout is called - # - # room_sweep_interval=10 -+ -+# predefined_rooms -+# -+# list of rooms that are openend at server startup -+# -+# predefined_rooms=discussion:some_pwd;support:other_pwd; -+ -+############################################################### -+# RFC4028 Session Timer -+# -+ -+# - enables the session timer ([yes,no]; default: no) -+# -+# enable_session_timer=yes -+ -+# - set the "Session-Expires" parameter for the session timer. -+# -+# session_expires=240 -+ -+# - set the "Min-SE" parameter for the session timer. -+# -+# minimum_timer=90 -+ -+# session refresh (Session Timer, RFC4028) method -+# -+# INVITE - use re-INVITE -+# UPDATE - use UPDATE -+# UPDATE_FALLBACK_INVITE - use UPDATE if indicated in Allow, re-INVITE otherwise -+# -+# Default: UPDATE_FALLBACK_INVITE -+# -+# Note: Session Timers are only supported in some applications -+# -+#session_refresh_method=UPDATE -+ -+# accept_501_reply - accept 501 reply as successful refresh? [yes|no] -+# -+# Default: yes -+# -+#accept_501_reply=no -diff --git a/apps/xmlrpc2di/etc/xmlrpc2di.conf.cmake b/apps/xmlrpc2di/etc/xmlrpc2di.conf.cmake -new file mode 100644 -index 0000000..5a49aba ---- /dev/null -+++ b/apps/xmlrpc2di/etc/xmlrpc2di.conf.cmake -@@ -0,0 +1,38 @@ -+# port to bind XMLRPC server to -+xmlrpc_port=8090 -+ -+ -+# run multi-threaded server? -+# Default: yes -+# -+# multithreaded = yes -+ -+# threads to run - this many requests can be processed in parallel -+# Default: 5 -+# -+# threads=5 -+ -+# export all DI functions with the function call 'di'? -+# defaults to: yes -+# export_di=yes -+ -+# -+# these DI interfaces are searched for functions to -+# export under their proper function names -+# defaults to: none -+# direct_export=di_dial;registrar_client -+ -+# run the XMLRPC server at all (default: yes) -+# -+# run_server=yes -+ -+# timeout for client requests, in milliseconds (0 to disable) -+# -+# server_timeout=500 -+ -+# print parameters of XMLRPC server calls into debug log [yes|no] -+# debug_server_params=yes -+# -+# print result of XMLRPC server calls into debug log [yes|no] -+# debug_server_result=yes -+# -\ No newline at end of file -diff --git a/core/plug-in/CMakeLists.txt b/core/plug-in/CMakeLists.txt -index 7dc8230..aff103c 100644 ---- a/core/plug-in/CMakeLists.txt -+++ b/core/plug-in/CMakeLists.txt -@@ -3,6 +3,7 @@ ADD_SUBDIRECTORY (echo) - IF(SEMS_USE_SPANDSP) - ADD_SUBDIRECTORY (g722) - ENDIF(SEMS_USE_SPANDSP) -+#ADD_SUBDIRECTORY (g729) - IF(GSM_FOUND) - ADD_SUBDIRECTORY (gsm) - ENDIF(GSM_FOUND) -diff --git a/core/plug-in/echo/etc/echo.conf.cmake b/core/plug-in/echo/etc/echo.conf.cmake -new file mode 100644 -index 0000000..718aebc ---- /dev/null -+++ b/core/plug-in/echo/etc/echo.conf.cmake -@@ -0,0 +1,35 @@ -+# Echo plug-in configuration file -+# -+ -+# RFC4028 Session Timer -+# -+ -+# - enables the session timer ([yes,no]; default: no) -+# -+# enable_session_timer=yes -+ -+# - set the "Session-Expires" parameter for the session timer. -+# -+# session_expires=240 -+ -+# - set the "Min-SE" parameter for the session timer. -+# -+# minimum_timer=90 -+ -+# session refresh (Session Timer, RFC4028) method -+# -+# INVITE - use re-INVITE -+# UPDATE - use UPDATE -+# UPDATE_FALLBACK_INVITE - use UPDATE if indicated in Allow, re-INVITE otherwise -+# -+# Default: UPDATE_FALLBACK_INVITE -+# -+# Note: Session Timers are only supported in some applications -+# -+#session_refresh_method=UPDATE -+ -+# accept_501_reply - accept 501 reply as successful refresh? [yes|no] -+# -+# Default: yes -+# -+#accept_501_reply=no -diff --git a/core/plug-in/g729/CMakeLists.txt b/core/plug-in/g729/CMakeLists.txt -new file mode 100644 -index 0000000..76a552e ---- /dev/null -+++ b/core/plug-in/g729/CMakeLists.txt -@@ -0,0 +1,9 @@ -+set (g729_SRCS -+g729.c -+) -+ -+SET(sems_module_name g729) -+SET(sems_module_libs speech core) -+SET(doc_files Readme.g729codec) -+INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) -+INCLUDE(${CMAKE_SOURCE_DIR}/cmake/doc.rules.txt) -diff --git a/core/plug-in/stats/etc/stats.conf.cmake b/core/plug-in/stats/etc/stats.conf.cmake -new file mode 100644 -index 0000000..88f8d89 ---- /dev/null -+++ b/core/plug-in/stats/etc/stats.conf.cmake -@@ -0,0 +1,2 @@ -+monit_udp_ip=127.0.0.1 -+monit_udp_port=5040 -diff --git a/sems.h.cmake b/sems.h.cmake -index 3be8875..a570bc5 100644 ---- a/sems.h.cmake -+++ b/sems.h.cmake -@@ -44,6 +44,8 @@ - #define RTP_HIGHPORT 0xffff - #define MAX_FORWARDS 70 - -+#define DEFAULT_MAX_SHUTDOWN_TIME 10 // 10 seconds max for shutting down -+ - #ifndef DISABLE_DAEMON_MODE - # define DEFAULT_DAEMON_MODE true - # define DEFAULT_DAEMON_PID_FILE "/var/local/run/sems.pid" --- -1.7.2.3 - diff --git a/sems-0006-last-minute-fix-proper-version.patch b/sems-0006-last-minute-fix-proper-version.patch new file mode 100644 index 0000000..4846bb7 --- /dev/null +++ b/sems-0006-last-minute-fix-proper-version.patch @@ -0,0 +1,26 @@ +From 708b02d96f4a4acb7c4ede0387a84d2f5948e0db Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Mon, 27 Dec 2010 17:18:46 +0300 +Subject: [PATCH 6/6] last-minute fix - proper version + +Signed-off-by: Peter Lemenkov +--- + CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c36ce62..78a6dfb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,7 @@ PROJECT (SEMS) + + SET(SEMS_MAJOR_VERSION 1) + SET(SEMS_MINOR_VERSION 3) +-SET(SEMS_BUILD_VERSION 0) ++SET(SEMS_BUILD_VERSION 1) + SET(SEMS_EXTRA_VERSION dev) + + FIND_PATH(IS_DEVEL ".git" PATHS "${CMAKE_SOURCE_DIR}") +-- +1.7.3.4 + diff --git a/sems-0007-Enable-py_sems-building-with-CMake.patch b/sems-0007-Enable-py_sems-building-with-CMake.patch deleted file mode 100644 index 1f5323f..0000000 --- a/sems-0007-Enable-py_sems-building-with-CMake.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d85e44d59f5d4cfc250d4298f33eefc5338cedf9 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Mon, 27 Sep 2010 16:41:18 +0400 -Subject: [PATCH 7/9] Enable py_sems building with CMake - -Signed-off-by: Peter Lemenkov ---- - apps/CMakeLists.txt | 10 +++++----- - 1 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index 8c0e6f3..ba652c7 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -34,11 +34,11 @@ IF(PYTHONLIBS_FOUND) - ADD_SUBDIRECTORY(pin_collect) - ENDIF(PYTHONLIBS_FOUND) - ADD_SUBDIRECTORY(precoded_announce) --#IF(PYTHONLIBS_FOUND) --#IF(SIP_FOUND) --# ADD_SUBDIRECTORY(py_sems) --#ENDIF(SIP_FOUND) --#ENDIF(PYTHONLIBS_FOUND) -+IF(PYTHONLIBS_FOUND) -+IF(SIP_FOUND) -+ ADD_SUBDIRECTORY(py_sems) -+ENDIF(SIP_FOUND) -+ENDIF(PYTHONLIBS_FOUND) - ADD_SUBDIRECTORY(reg_agent) - ADD_SUBDIRECTORY(registrar_client) - ADD_SUBDIRECTORY(sw_prepaid_sip) --- -1.7.2.3 - diff --git a/sems-0008-Enable-sst_b2b-building-with-sems.patch b/sems-0008-Enable-sst_b2b-building-with-sems.patch deleted file mode 100644 index e8e4c8b..0000000 --- a/sems-0008-Enable-sst_b2b-building-with-sems.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cd759bad822ee3d3680875714a118883bd033364 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Mon, 27 Sep 2010 16:41:59 +0400 -Subject: [PATCH 8/9] Enable sst_b2b building with sems - -Signed-off-by: Peter Lemenkov ---- - apps/CMakeLists.txt | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index ba652c7..b70882c 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -41,6 +41,7 @@ ENDIF(SIP_FOUND) - ENDIF(PYTHONLIBS_FOUND) - ADD_SUBDIRECTORY(reg_agent) - ADD_SUBDIRECTORY(registrar_client) -+ADD_SUBDIRECTORY(sst_b2b) - ADD_SUBDIRECTORY(sw_prepaid_sip) - #IF(PYTHONLIBS_FOUND) - # ADD_SUBDIRECTORY(twit) --- -1.7.2.3 - diff --git a/sems-0009-Fix-for-architectures-w-o-atomic-built-in-functions.patch b/sems-0009-Fix-for-architectures-w-o-atomic-built-in-functions.patch deleted file mode 100644 index 14620bc..0000000 --- a/sems-0009-Fix-for-architectures-w-o-atomic-built-in-functions.patch +++ /dev/null @@ -1,179 +0,0 @@ -From bbc545dc10a89bf828fe3a18d786261785c47c46 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Wed, 29 Sep 2010 11:42:29 +0400 -Subject: [PATCH 9/9] Fix for architectures w/o atomic built-in functions - ---- - core/atomic_types.h | 113 ++++++++++++++++++++++++++++++++++++++++++++------ - 1 files changed, 99 insertions(+), 14 deletions(-) - -diff --git a/core/atomic_types.h b/core/atomic_types.h -index 4075eb4..474f169 100644 ---- a/core/atomic_types.h -+++ b/core/atomic_types.h -@@ -1,31 +1,49 @@ - #ifndef _atomic_types_h_ - #define _atomic_types_h_ - --#if defined(__GNUC__) --# if defined(__GNUC_PATCHLEVEL__) --# define __GNUC_VERSION__ (__GNUC__ * 10000 \ -- + __GNUC_MINOR__ * 100 \ -- + __GNUC_PATCHLEVEL__) --# else --# define __GNUC_VERSION__ (__GNUC__ * 10000 \ -- + __GNUC_MINOR__ * 100) --# endif -+#if (__GNUC__ > 4) || \ -+ (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) && \ -+ ( \ -+ (defined(__APPLE__) && \ -+ ( \ -+ defined(__ppc__) || \ -+ defined(__i386__) || \ -+ defined(__x86_64__) \ -+ ) \ -+ ) || \ -+ (defined(__linux__) && \ -+ ( \ -+ (defined(__i386__) && (defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8))) || \ -+ defined(__ia64__) || \ -+ defined(__x86_64__) || \ -+ (defined(__powerpc__) && !defined(__powerpc64__)) || \ -+ defined(__alpha) \ -+ ) \ -+ ) \ -+ ) -+#define HAVE_ATOMIC_CAS 1 - #else --#error Unsupported compiler --#endif -- --#if __GNUC_VERSION__ < 40101 --#error GCC version >= 4.1.1 is required for proper atomic operations -+#warning Compare and Swap is not supported on this architecture -+#define HAVE_ATOMIC_CAS 0 - #endif - - #include - #include "log.h" - -+#if !HAVE_ATOMIC_CAS -+#include "AmThread.h" -+#endif -+ -+ - // 32 bit unsigned integer - class atomic_int -+#if !HAVE_ATOMIC_CAS -+ : protected AmMutex -+#endif - { - volatile unsigned int i; - -+ - public: - atomic_int() : i(0) {} - -@@ -37,6 +55,7 @@ public: - return i; - } - -+#if HAVE_ATOMIC_CAS - // ++i; - unsigned int inc() { - return __sync_add_and_fetch(&i,1); -@@ -46,6 +65,25 @@ public: - unsigned int dec() { - return __sync_sub_and_fetch(&i,1); - } -+#else // if HAVE_ATOMIC_CAS -+ // ++i; -+ unsigned int inc() { -+ unsigned int res; -+ lock(); -+ res = ++i; -+ unlock(); -+ return res; -+ } -+ -+ // --i; -+ unsigned int dec() { -+ unsigned int res; -+ lock(); -+ res = --i; -+ unlock(); -+ return res; -+ } -+#endif - - // return --ll != 0; - bool dec_and_test() { -@@ -55,10 +93,14 @@ public: - - // 64 bit unsigned integer - class atomic_int64 -+#if !HAVE_ATOMIC_CAS -+ : protected AmMutex -+#endif - { - volatile unsigned long long ll; - - public: -+#if HAVE_ATOMIC_CAS - void set(unsigned long long val) { - #if !defined(__LP64__) || !__LP64__ - unsigned long long tmp_ll; -@@ -95,6 +137,49 @@ public: - return __sync_sub_and_fetch(&ll,1); - } - -+#else // if HAVE_ATOMIC_CAS -+ -+ void set(unsigned long long val) { -+#if !defined(__LP64__) || !__LP64__ -+ this->lock(); -+ ll = val; -+ unlock(); -+#else -+ ll = val; -+#endif -+ } -+ -+ unsigned long long get() { -+#if !defined(__LP64__) || !__LP64__ -+ unsigned long long tmp_ll; -+ lock(); -+ tmp_ll = ll; -+ unlock(); -+ return tmp_ll; -+#else -+ return ll; -+#endif -+ } -+ -+ // returns ++ll; -+ unsigned long long inc() { -+ unsigned long long res; -+ lock(); -+ res = ++ll; -+ unlock(); -+ return res; -+ } -+ -+ // returns --ll; -+ unsigned long long dec() { -+ unsigned long long res; -+ lock(); -+ res = --ll; -+ unlock(); -+ return res; -+ } -+#endif -+ - // return --ll == 0; - bool dec_and_test() { - return dec() == 0; --- -1.7.2.3 - diff --git a/sems.spec b/sems.spec index 2a9b48e..e7ccc67 100644 --- a/sems.spec +++ b/sems.spec @@ -1,11 +1,11 @@ Summary: SIP Express Media Server, an extensible SIP media server Name: sems -Version: 1.3.0 -Release: 2%{?dist} +Version: 1.3.1 +Release: 1%{?dist} URL: http://www.iptel.org/sems -## wget http://ftp.iptel.org/pub/sems/sems-1.3.0.tar.gz -## tar zx --exclude iLBC_rfc3951 -f sems-1.3.0..tar.gz -## tar czf sems-1.3.0.w_o_ilbc_sources.tar.gz sems-1.3.0 +## wget http://ftp.iptel.org/pub/sems/sems-1.3.1.tar.gz +## tar zx --exclude iLBC_rfc3951 -f sems-1.3.1.tar.gz +## tar czf sems-1.3.1.w_o_ilbc_sources.tar.gz sems-1.3.1 Source0: %{name}-%{version}.w_o_ilbc_sources.tar.gz License: GPLv2+ Group: Applications/Communications @@ -20,14 +20,7 @@ Patch3: sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch Patch4: sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch # Fedora-specific Patch5: sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch -# Applied upstream -Patch6: sems-0006-More-cmake-templates.patch -# Will be proposed for inclusion in upstream -Patch7: sems-0007-Enable-py_sems-building-with-CMake.patch -# Will be proposed for inclusion in upstream -Patch8: sems-0008-Enable-sst_b2b-building-with-sems.patch -# Will be proposed for inclusion into upstream -Patch9: sems-0009-Fix-for-architectures-w-o-atomic-built-in-functions.patch +Patch6: sems-0006-last-minute-fix-proper-version.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python >= 2.3 @@ -198,12 +191,7 @@ rm -rf core/plug-in/gsm/gsm-1.0-pl10/ %patch3 -p1 -b .cfg_prefix_to_empty_string %patch4 -p1 -b .disable_mysqlpp_in_conf_and_ea %patch5 -p1 -b .exclude_sw_prepaid_sip -%patch6 -p1 -b .more_cmake -%patch7 -p1 -b .enable_py_sems -%patch8 -p1 -b .enable_sst_b2b -%if 0%{?el5} -%patch9 -p1 -b .no_atomic -%endif +%patch6 -p1 -b .correct_ver iconv -f iso8859-1 -t UTF-8 doc/Readme.diameter_client.txt > doc/Readme.diameter_client.utf8 && mv doc/Readme.diameter_client.{utf8,txt} @@ -606,6 +594,9 @@ fi %{_libdir}/%{name}/plug-in/xmlrpc2di.so %changelog +* Mon Dec 27 2010 Peter Lemenkov 1.3.1-1 +- Ver. 1.3.1 (Bugfix release) + * Wed Sep 29 2010 Peter Lemenkov 1.3.0-2 - Workaround for missing atomic built-ins in EPEL5 old gcc diff --git a/sources b/sources index f31c836..c6fb724 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -acfdca3d8b7e892b67513011fd5f0a0b sems-1.3.0.w_o_ilbc_sources.tar.gz +c919f5dc9a9f021e511e1aa6b057dba6 sems-1.3.1.w_o_ilbc_sources.tar.gz