From 481684af361bc4ea00e5841147a054eabb679503 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sep 27 2010 13:01:06 +0000 Subject: Ver. 1.3.0 Signed-off-by: Peter Lemenkov --- diff --git a/.gitignore b/.gitignore index ba05e60..ba29498 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ sems-1.2.1.w_o_ilbc_sources.tar.gz +/sems-1.3.0.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 48d064d..df3fae0 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 eff73786b505f8be8bf54815c379323f01cf7fd2 Mon Sep 17 00:00:00 2001 +From f40d07c03612e51bbd0d3330535d8ebc365b506c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 31 Mar 2010 11:52:52 +0400 -Subject: [PATCH 01/12] Force to use system-wide GSM includes +Subject: [PATCH 1/8] Force to use system-wide GSM includes 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/plug-in/gsm/gsm.c b/core/plug-in/gsm/gsm.c -index 805ef78..bfc6a59 100644 +index 286a989..3517e59 100644 --- a/core/plug-in/gsm/gsm.c +++ b/core/plug-in/gsm/gsm.c @@ -27,7 +27,7 @@ @@ -22,5 +22,5 @@ index 805ef78..bfc6a59 100644 #include -- -1.7.2.1 +1.7.2.3 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 652d32b..7da8a9e 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 d4fd6eb9b0964fdf982c35a919b254d1f50a6c2d Mon Sep 17 00:00:00 2001 +From c53a56b9667ea821281e14ed763d4db49e256c71 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 31 Mar 2010 11:53:48 +0400 -Subject: [PATCH 02/12] Allow rewrite of custom makefiles by CMake +Subject: [PATCH 2/8] 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 518b14c..c7c6e40 100644 +index 502561e..c17c956 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -9,15 +9,6 @@ SET(SEMS_EXTRA_VERSION dev) +@@ -12,15 +12,6 @@ SET(SEMS_EXTRA_VERSION dev) SET(SEMS_VERSION - "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}") + "${SEMS_MAJOR_VERSION}.${SEMS_MINOR_VERSION}.${SEMS_BUILD_VERSION}-${SEMS_EXTRA_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 518b14c..c7c6e40 100644 OPTION(SEMS_USE_LIBSAMPLERATE "Build with libsamplerate" OFF) OPTION(SEMS_USE_ZRTP "Build with ZRTP" OFF) -- -1.7.2.1 +1.7.2.3 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 98b7b52..6da11a1 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 fae8f9be9808a690bf8e75fa9b330b32f6953e28 Mon Sep 17 00:00:00 2001 +From f240f4b7cf5701ce93b812e4be77428d9514fb28 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 31 Mar 2010 18:56:39 +0400 -Subject: [PATCH 03/12] Set CFG_PREFIX to empty string by default +Subject: [PATCH 3/8] 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 c7c6e40..e0d749a 100644 +index c17c956..7b4c49b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -25,7 +25,7 @@ OPTION(MAX_RTP_SESSIONS:int "How many rtp sessions SEMS will handle simultaneo +@@ -34,7 +34,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 c7c6e40..e0d749a 100644 MESSAGE(STATUS "SEMS cfg prefix was set to: ${SEMS_CFG_PREFIX}") -- -1.7.2.1 +1.7.2.3 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 new file mode 100644 index 0000000..01027c0 --- /dev/null +++ b/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch @@ -0,0 +1,63 @@ +From 460b5e654e5789b75a3514d1de9b658f0245a62e Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Fri, 25 Jun 2010 12:16:45 +0400 +Subject: [PATCH 4/8] 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. + +Signed-off-by: Peter Lemenkov +--- + apps/conference/CMakeLists.txt | 12 ++++++------ + apps/early_announce/CMakeLists.txt | 12 ++++++------ + 2 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/apps/conference/CMakeLists.txt b/apps/conference/CMakeLists.txt +index 40c7063..a86e8e8 100644 +--- a/apps/conference/CMakeLists.txt ++++ b/apps/conference/CMakeLists.txt +@@ -13,12 +13,12 @@ IF(FLITE_FOUND AND ZRTP_FOUND) + SET(sems_module_libs ${sems_module_libs} flite_cmu_us_kal flite_usenglish flite_cmulex flite) + ENDIF(FLITE_FOUND AND ZRTP_FOUND) + +-IF(MYSQLPP_FOUND) +- INCLUDE_DIRECTORIES(/usr/include/mysql) +- INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) +- ADD_DEFINITIONS(-DUSE_MYSQL) +- SET(sems_module_libs ${sems_module_libs} mysqlpp) +-ENDIF(MYSQLPP_FOUND) ++#IF(MYSQLPP_FOUND) ++# INCLUDE_DIRECTORIES(/usr/include/mysql) ++# INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) ++# ADD_DEFINITIONS(-DUSE_MYSQL) ++# SET(sems_module_libs ${sems_module_libs} mysqlpp) ++#ENDIF(MYSQLPP_FOUND) + + SET(sems_module_name conference) + INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) +diff --git a/apps/early_announce/CMakeLists.txt b/apps/early_announce/CMakeLists.txt +index 184d282..1e23638 100644 +--- a/apps/early_announce/CMakeLists.txt ++++ b/apps/early_announce/CMakeLists.txt +@@ -2,12 +2,12 @@ set (early_announce_SRCS + EarlyAnnounce.cpp + ) + +-IF(MYSQLPP_FOUND) +- INCLUDE_DIRECTORIES(/usr/include/mysql) +- INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) +- ADD_DEFINITIONS(-DUSE_MYSQL) +- SET(sems_module_libs mysqlpp) +-ENDIF(MYSQLPP_FOUND) ++#IF(MYSQLPP_FOUND) ++# INCLUDE_DIRECTORIES(/usr/include/mysql) ++# INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) ++# ADD_DEFINITIONS(-DUSE_MYSQL) ++# SET(sems_module_libs mysqlpp) ++#ENDIF(MYSQLPP_FOUND) + + SET(sems_module_name early_announce) + INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) +-- +1.7.2.3 + diff --git a/sems-0004-Fix-for-old-python-2.4.patch b/sems-0004-Fix-for-old-python-2.4.patch deleted file mode 100644 index 7aabae9..0000000 --- a/sems-0004-Fix-for-old-python-2.4.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 981076a117ca8dd86b7f500c9ecf1def548ff008 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Sat, 1 May 2010 22:19:48 +0400 -Subject: [PATCH 04/12] Fix for old python 2.4 - -Signed-off-by: Peter Lemenkov ---- - apps/ivr/Ivr.cpp | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/apps/ivr/Ivr.cpp b/apps/ivr/Ivr.cpp -index f4ed59f..1a0dccb 100644 ---- a/apps/ivr/Ivr.cpp -+++ b/apps/ivr/Ivr.cpp -@@ -229,7 +229,7 @@ void IvrFactory::import_object(PyObject* m, const char* name, PyTypeObject* type - return; - } - Py_INCREF(type); -- PyModule_AddObject(m, name, (PyObject *)type); -+ PyModule_AddObject(m, (char*)name, (PyObject *)type); - } - - void IvrFactory::import_ivr_builtins() --- -1.7.2.1 - 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 new file mode 100644 index 0000000..5bb333d --- /dev/null +++ b/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch @@ -0,0 +1,26 @@ +From 18a743c479753fca2dd561cebea0317ce3de6871 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Mon, 27 Sep 2010 14:13:00 +0400 +Subject: [PATCH 5/8] Add sw_prepaid_sip plugin to default exclude list (due to missing cc_acc) + +Signed-off-by: Peter Lemenkov +--- + core/etc/sems.conf.cmake | 2 +- + 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 +--- 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/ + # + # o binrpcctrl and unixsockctrl: excluded as sipctrl is default ctrl + # o precoded_announce: no precoded sample files present +-exclude_plugins=binrpcctrl;unixsockctrl;precoded_announce ++exclude_plugins=binrpcctrl;unixsockctrl;precoded_announce;sw_prepaid_sip + + # optional parameter: application + # +-- +1.7.2.3 + diff --git a/sems-0005-More-compatibility-with-older-CMake-2.4.patch b/sems-0005-More-compatibility-with-older-CMake-2.4.patch deleted file mode 100644 index 151699c..0000000 --- a/sems-0005-More-compatibility-with-older-CMake-2.4.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 70caab6374a2c288d589be0e7200a06c6c5bfa4f Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Tue, 18 May 2010 17:31:11 +0000 -Subject: [PATCH 05/12] More compatibility with older CMake (2.4). - -Signed-off-by: Peter Lemenkov ---- - CMakeLists.txt | 2 +- - apps/diameter_client/CMakeLists.txt | 2 -- - apps/diameter_client/lib_dbase/CMakeLists.txt | 1 + - apps/py_sems/CMakeLists.txt | 3 --- - apps/py_sems/sip/CMakeLists.txt | 1 + - apps/xmlrpc2di/CMakeLists.txt | 3 --- - apps/xmlrpc2di/xmlrpc++/src/CMakeLists.txt | 1 + - cmake/config.rules.txt | 2 +- - cmake/python.rules.txt | 4 ++-- - core/plug-in/binrpcctrl/CMakeLists.txt | 3 --- - .../binrpcctrl/libbinrpc/src/CMakeLists.txt | 1 + - core/plug-in/ilbc/CMakeLists.txt | 3 --- - 13 files changed, 9 insertions(+), 18 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e0d749a..0cfb538 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -+CMAKE_MINIMUM_REQUIRED(VERSION 2.4) - - PROJECT (SEMS) - -diff --git a/apps/diameter_client/CMakeLists.txt b/apps/diameter_client/CMakeLists.txt -index c510194..a7ce86a 100644 ---- a/apps/diameter_client/CMakeLists.txt -+++ b/apps/diameter_client/CMakeLists.txt -@@ -6,8 +6,6 @@ ServerConnection.cpp - ADD_SUBDIRECTORY (lib_dbase) - INCLUDE_DIRECTORIES (lib_dbase) - --SET_PROPERTY(TARGET libdbase PROPERTY IMPORTED_LOCATION ./lib_dbase/libdbase.a) -- - SET(sems_module_name diameter_client) - SET(sems_module_libs libdbase) - -diff --git a/apps/diameter_client/lib_dbase/CMakeLists.txt b/apps/diameter_client/lib_dbase/CMakeLists.txt -index 62016f9..138f636 100644 ---- a/apps/diameter_client/lib_dbase/CMakeLists.txt -+++ b/apps/diameter_client/lib_dbase/CMakeLists.txt -@@ -9,4 +9,5 @@ IF(OPENSSL_FOUND) - ENDIF(OPENSSL_FOUND) - - ADD_LIBRARY(libdbase STATIC ${libdbase_SRCS}) -+ADD_CUSTOM_COMMAND(TARGET libdbase POST_BUILD COMMAND cp ARGS liblibdbase.a libliblibdbase.a) - -diff --git a/apps/py_sems/CMakeLists.txt b/apps/py_sems/CMakeLists.txt -index 91bc246..40b7be3 100644 ---- a/apps/py_sems/CMakeLists.txt -+++ b/apps/py_sems/CMakeLists.txt -@@ -18,11 +18,8 @@ EXECUTE_PROCESS(COMMAND python-config --libs OUTPUT_VARIABLE PYTHON_LIB_FLAGS OU - SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${PYTHON_LIB_FLAGS}") - - ADD_SUBDIRECTORY (sip) -- - INCLUDE_DIRECTORIES (sip) - --SET_PROPERTY(TARGET sip PROPERTY IMPORTED_LOCATION ./sip/sip.a) -- - SET(sems_module_name py_sems) - SET(sems_module_libs sip) - INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) -diff --git a/apps/py_sems/sip/CMakeLists.txt b/apps/py_sems/sip/CMakeLists.txt -index edcd6d7..81d4df4 100644 ---- a/apps/py_sems/sip/CMakeLists.txt -+++ b/apps/py_sems/sip/CMakeLists.txt -@@ -18,4 +18,5 @@ sippy_sems_libstring.cpp - - EXECUTE_PROCESS(COMMAND python configure.py WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - ADD_LIBRARY(sip STATIC ${sip_SRCS}) -+ADD_CUSTOM_COMMAND(TARGET sip POST_BUILD COMMAND cp ARGS libsip.a liblibsip.a) - -diff --git a/apps/xmlrpc2di/CMakeLists.txt b/apps/xmlrpc2di/CMakeLists.txt -index d4ef304..a11ac3b 100644 ---- a/apps/xmlrpc2di/CMakeLists.txt -+++ b/apps/xmlrpc2di/CMakeLists.txt -@@ -5,11 +5,8 @@ XMLRPC2DI.cpp - ) - - ADD_SUBDIRECTORY (xmlrpc++) -- - INCLUDE_DIRECTORIES (xmlrpc++/src) - --SET_PROPERTY(TARGET xmlrpcpp PROPERTY IMPORTED_LOCATION ./xmlrpc++/src/xmlrpcpp.a) -- - SET(sems_module_name xmlrpc2di) - SET(sems_module_libs xmlrpcpp) - -diff --git a/apps/xmlrpc2di/xmlrpc++/src/CMakeLists.txt b/apps/xmlrpc2di/xmlrpc++/src/CMakeLists.txt -index f4a1299..42a4b34 100644 ---- a/apps/xmlrpc2di/xmlrpc++/src/CMakeLists.txt -+++ b/apps/xmlrpc2di/xmlrpc++/src/CMakeLists.txt -@@ -19,4 +19,5 @@ XmlRpcValue.cpp - # Solaris: -lsocket -lnsl - - ADD_LIBRARY(xmlrpcpp STATIC ${xmlrpcpp_SRCS}) -+ADD_CUSTOM_COMMAND(TARGET xmlrpcpp POST_BUILD COMMAND cp ARGS libxmlrpcpp.a liblibxmlrpcpp.a) - -diff --git a/cmake/config.rules.txt b/cmake/config.rules.txt -index 1bc81d8..a04a4d5 100644 ---- a/cmake/config.rules.txt -+++ b/cmake/config.rules.txt -@@ -1,6 +1,6 @@ - FOREACH (config_file ${sems_module_name} ${sems_config_files}) - # Check whether we providing a template for this config -- FIND_PATH(SEMS_${sems_module_name}_CONFIG_${config_file}_TEMPLATE ${config_file}.conf.cmake PATHS ./etc) -+ FIND_PATH(SEMS_${sems_module_name}_CONFIG_${config_file}_TEMPLATE ${config_file}.conf.cmake PATHS ${CMAKE_CURRENT_SOURCE_DIR}/etc) - - IF (SEMS_${sems_module_name}_CONFIG_${config_file}_TEMPLATE) - # If we do provide a template, then process it and create real -diff --git a/cmake/python.rules.txt b/cmake/python.rules.txt -index 54f7880..b7d37ad 100644 ---- a/cmake/python.rules.txt -+++ b/cmake/python.rules.txt -@@ -1,7 +1,7 @@ --FUNCTION(PYTHON_SOURCES_COMPILE python_files sems_python_dir) -+MACRO(PYTHON_SOURCES_COMPILE python_files sems_python_dir) - FOREACH (python_file ${python_files}) - EXECUTE_PROCESS(COMMAND python -c "import py_compile; py_compile.compile('${CMAKE_CURRENT_SOURCE_DIR}/${python_file}')") - EXECUTE_PROCESS(COMMAND python -O -c "import py_compile; py_compile.compile('${CMAKE_CURRENT_SOURCE_DIR}/${python_file}')") - INSTALL (FILES ${python_file} ${python_file}c ${python_file}o DESTINATION ${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/${sems_python_dir}) - ENDFOREACH(python_file ${python_files}) --ENDFUNCTION() -+ENDMACRO(PYTHON_SOURCES_COMPILE python_files sems_python_dir) -diff --git a/core/plug-in/binrpcctrl/CMakeLists.txt b/core/plug-in/binrpcctrl/CMakeLists.txt -index 27ced92..3899407 100644 ---- a/core/plug-in/binrpcctrl/CMakeLists.txt -+++ b/core/plug-in/binrpcctrl/CMakeLists.txt -@@ -5,11 +5,8 @@ CtrlServer.cpp - ) - - ADD_SUBDIRECTORY (libbinrpc) -- - INCLUDE_DIRECTORIES (libbinrpc/include) - --SET_PROPERTY(TARGET libbinrpc PROPERTY IMPORTED_LOCATION ./libbinrpc/src/binrpcctrl.a) -- - SET(sems_module_name binrpcctrl) - SET(sems_module_libs libbinrpc) - INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) -diff --git a/core/plug-in/binrpcctrl/libbinrpc/src/CMakeLists.txt b/core/plug-in/binrpcctrl/libbinrpc/src/CMakeLists.txt -index 90dda19..a8df076 100644 ---- a/core/plug-in/binrpcctrl/libbinrpc/src/CMakeLists.txt -+++ b/core/plug-in/binrpcctrl/libbinrpc/src/CMakeLists.txt -@@ -34,4 +34,5 @@ ADD_DEFINITIONS(-DBINRPC_LIB_VER="1.0-1" -D_LIBBINRPC_BUILD -DNDEBUG) - - ADD_LIBRARY(libbinrpc STATIC ${libbinrpc_SRCS}) - SET_TARGET_PROPERTIES(libbinrpc PROPERTIES OUTPUT_NAME "libbinrpc") -+ADD_CUSTOM_COMMAND(TARGET libbinrpc POST_BUILD COMMAND cp ARGS liblibbinrpc.a libliblibbinrpc.a) - -diff --git a/core/plug-in/ilbc/CMakeLists.txt b/core/plug-in/ilbc/CMakeLists.txt -index 959f268..1f4dcfb 100644 ---- a/core/plug-in/ilbc/CMakeLists.txt -+++ b/core/plug-in/ilbc/CMakeLists.txt -@@ -3,11 +3,8 @@ set (ilbc_SRCS - ) - - ADD_SUBDIRECTORY (iLBC_rfc3951) -- - INCLUDE_DIRECTORIES (iLBC_rfc3951) - --SET_PROPERTY(TARGET libilbc PROPERTY IMPORTED_LOCATION ./iLBC_rfc3951/ilbc.a) -- - SET(sems_module_name ilbc) - SET(sems_module_libs libilbc) - INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) --- -1.7.2.1 - diff --git a/sems-0006-More-cmake-templates.patch b/sems-0006-More-cmake-templates.patch new file mode 100644 index 0000000..4046250 --- /dev/null +++ b/sems-0006-More-cmake-templates.patch @@ -0,0 +1,605 @@ +From 67543e5578c9ef136444afa32acf625a744ad1fb Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Mon, 27 Sep 2010 15:38:10 +0400 +Subject: [PATCH 6/8] 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-Typo-paramater-parameter.patch b/sems-0006-Typo-paramater-parameter.patch deleted file mode 100644 index 6d20d2b..0000000 --- a/sems-0006-Typo-paramater-parameter.patch +++ /dev/null @@ -1,77 +0,0 @@ -From d5cdf8f173398c3a46754efebdcb7b5d2194d559 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Wed, 2 Jun 2010 09:15:40 +0000 -Subject: [PATCH 06/12] Typo: paramater => parameter - -Signed-off-by: Peter Lemenkov - -git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/sems/branches/1.2@1942 8eb893ce-cfd4-0310-b710-fb5ebe64c474 ---- - apps/conference/Conference.cpp | 4 ++-- - apps/early_announce/EarlyAnnounce.cpp | 4 ++-- - apps/voicemail/AnswerMachine.cpp | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/apps/conference/Conference.cpp b/apps/conference/Conference.cpp -index 4e7a6b4..06ff807 100644 ---- a/apps/conference/Conference.cpp -+++ b/apps/conference/Conference.cpp -@@ -175,13 +175,13 @@ int ConferenceFactory::onLoad() - - mysql_user = cfg.getParameter("mysql_user"); - if (mysql_user.empty()) { -- ERROR("conference.conf paramater 'mysql_user' is missing.\n"); -+ ERROR("conference.conf parameter 'mysql_user' is missing.\n"); - return -1; - } - - mysql_passwd = cfg.getParameter("mysql_passwd"); - if (mysql_passwd.empty()) { -- ERROR("conference.conf paramater 'mysql_passwd' is missing.\n"); -+ ERROR("conference.conf parameter 'mysql_passwd' is missing.\n"); - return -1; - } - -diff --git a/apps/early_announce/EarlyAnnounce.cpp b/apps/early_announce/EarlyAnnounce.cpp -index 2accada..0802758 100644 ---- a/apps/early_announce/EarlyAnnounce.cpp -+++ b/apps/early_announce/EarlyAnnounce.cpp -@@ -178,13 +178,13 @@ int EarlyAnnounceFactory::onLoad() - - mysql_user = cfg.getParameter("mysql_user"); - if (mysql_user.empty()) { -- ERROR("conference.conf paramater 'mysql_user' is missing.\n"); -+ ERROR("conference.conf parameter 'mysql_user' is missing.\n"); - return -1; - } - - mysql_passwd = cfg.getParameter("mysql_passwd"); - if (mysql_passwd.empty()) { -- ERROR("conference.conf paramater 'mysql_passwd' is missing.\n"); -+ ERROR("conference.conf parameter 'mysql_passwd' is missing.\n"); - return -1; - } - -diff --git a/apps/voicemail/AnswerMachine.cpp b/apps/voicemail/AnswerMachine.cpp -index 35ad77a..d834dc7 100644 ---- a/apps/voicemail/AnswerMachine.cpp -+++ b/apps/voicemail/AnswerMachine.cpp -@@ -393,13 +393,13 @@ int AnswerMachineFactory::onLoad() - - mysql_user = cfg.getParameter("mysql_user"); - if (mysql_user.empty()) { -- ERROR("voicemail.conf paramater 'mysql_user' is missing.\n"); -+ ERROR("voicemail.conf parameter 'mysql_user' is missing.\n"); - return -1; - } - - mysql_passwd = cfg.getParameter("mysql_passwd"); - if (mysql_passwd.empty()) { -- ERROR("voicemail.conf paramater 'mysql_passwd' is missing.\n"); -+ ERROR("voicemail.conf parameter 'mysql_passwd' is missing.\n"); - return -1; - } - --- -1.7.2.1 - diff --git a/sems-0007-Copy-paste-typo-this-conf-file-actually-is-a-early_a.patch b/sems-0007-Copy-paste-typo-this-conf-file-actually-is-a-early_a.patch deleted file mode 100644 index a670426..0000000 --- a/sems-0007-Copy-paste-typo-this-conf-file-actually-is-a-early_a.patch +++ /dev/null @@ -1,35 +0,0 @@ -From dce67b7d86d73820adec085199a7fcc6de1fe096 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Wed, 2 Jun 2010 09:15:46 +0000 -Subject: [PATCH 07/12] Copy+paste typo: this conf-file actually is a early_announce.conf - -Signed-off-by: Peter Lemenkov - -git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/sems/branches/1.2@1943 8eb893ce-cfd4-0310-b710-fb5ebe64c474 ---- - apps/early_announce/EarlyAnnounce.cpp | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/apps/early_announce/EarlyAnnounce.cpp b/apps/early_announce/EarlyAnnounce.cpp -index 0802758..2db385b 100644 ---- a/apps/early_announce/EarlyAnnounce.cpp -+++ b/apps/early_announce/EarlyAnnounce.cpp -@@ -178,13 +178,13 @@ int EarlyAnnounceFactory::onLoad() - - mysql_user = cfg.getParameter("mysql_user"); - if (mysql_user.empty()) { -- ERROR("conference.conf parameter 'mysql_user' is missing.\n"); -+ ERROR("early_announce.conf parameter 'mysql_user' is missing.\n"); - return -1; - } - - mysql_passwd = cfg.getParameter("mysql_passwd"); - if (mysql_passwd.empty()) { -- ERROR("conference.conf parameter 'mysql_passwd' is missing.\n"); -+ ERROR("early_announce.conf parameter 'mysql_passwd' is missing.\n"); - return -1; - } - --- -1.7.2.1 - diff --git a/sems-0007-Enable-py_sems-building-with-CMake.patch b/sems-0007-Enable-py_sems-building-with-CMake.patch new file mode 100644 index 0000000..ffb901a --- /dev/null +++ b/sems-0007-Enable-py_sems-building-with-CMake.patch @@ -0,0 +1,34 @@ +From d85e44d59f5d4cfc250d4298f33eefc5338cedf9 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Mon, 27 Sep 2010 16:41:18 +0400 +Subject: [PATCH 7/8] 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 new file mode 100644 index 0000000..c6d42c8 --- /dev/null +++ b/sems-0008-Enable-sst_b2b-building-with-sems.patch @@ -0,0 +1,25 @@ +From cd759bad822ee3d3680875714a118883bd033364 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Mon, 27 Sep 2010 16:41:59 +0400 +Subject: [PATCH 8/8] 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-0008-Fix-MOD_NAME-passing-to-gcc.patch b/sems-0008-Fix-MOD_NAME-passing-to-gcc.patch deleted file mode 100644 index b34fcb1..0000000 --- a/sems-0008-Fix-MOD_NAME-passing-to-gcc.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d84e195c467dbd7a611b67f8110039916c799ada Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Wed, 2 Jun 2010 11:12:34 +0000 -Subject: [PATCH 08/12] Fix MOD_NAME passing to gcc - -Signed-off-by: Peter Lemenkov - -git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/sems/branches/1.2@1945 8eb893ce-cfd4-0310-b710-fb5ebe64c474 ---- - cmake/module.rules.txt | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/cmake/module.rules.txt b/cmake/module.rules.txt -index 80ec94e..6299ee0 100644 ---- a/cmake/module.rules.txt -+++ b/cmake/module.rules.txt -@@ -6,7 +6,7 @@ - - ADD_LIBRARY(sems_${sems_module_name} SHARED ${${sems_module_name}_SRCS}) - --ADD_DEFINITIONS(-DMOD_NAME="\\\"${sems_module_name}\\\"") -+ADD_DEFINITIONS(-DMOD_NAME=\\\"${sems_module_name}\\\") - - # all modules should be linked against ${CMAKE_DL_LIBS} at least - # and with additional ${sems_module_libs} if they exists --- -1.7.2.1 - diff --git a/sems-0009-More-CMake-templates-for-config-files.patch b/sems-0009-More-CMake-templates-for-config-files.patch deleted file mode 100644 index 454b407..0000000 --- a/sems-0009-More-CMake-templates-for-config-files.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 097859c512f325ea877d6b427a0ce9ac5d1c10fb Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Wed, 2 Jun 2010 12:02:20 +0000 -Subject: [PATCH 09/12] More CMake templates for config-files - -Signed-off-by: Peter Lemenkov - -git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/sems/branches/1.2@1947 8eb893ce-cfd4-0310-b710-fb5ebe64c474 ---- - apps/mailbox/etc/mailbox.conf.cmake | 5 +++++ - apps/mailbox/etc/mailbox_query.conf.cmake | 5 +++++ - apps/py_sems/etc/py_sems.conf.cmake | 1 + - 3 files changed, 11 insertions(+), 0 deletions(-) - create mode 100644 apps/mailbox/etc/mailbox.conf.cmake - create mode 100644 apps/mailbox/etc/mailbox_query.conf.cmake - create mode 100644 apps/py_sems/etc/py_sems.conf.cmake - -diff --git a/apps/mailbox/etc/mailbox.conf.cmake b/apps/mailbox/etc/mailbox.conf.cmake -new file mode 100644 -index 0000000..e6e7747 ---- /dev/null -+++ b/apps/mailbox/etc/mailbox.conf.cmake -@@ -0,0 +1,5 @@ -+#CFGOPTION_SEMS_MAILBOX_ANNOUNCEFILE -+annoucement_file=${SEMS_AUDIO_PREFIX}/sems/audio/mailbox/default_en.wav -+#ENDCFGOPTION -+ -+beep_file=${SEMS_AUDIO_PREFIX}/sems/audio/mailbox/beep.wav -diff --git a/apps/mailbox/etc/mailbox_query.conf.cmake b/apps/mailbox/etc/mailbox_query.conf.cmake -new file mode 100644 -index 0000000..e84316f ---- /dev/null -+++ b/apps/mailbox/etc/mailbox_query.conf.cmake -@@ -0,0 +1,5 @@ -+#CFGOPTION_SEMS_MAILBOX_QUERY_WAV_DIR -+wav_dir=${SEMS_AUDIO_PREFIX}/sems/audio/mailbox/ -+#ENDCFGOPTION -+ -+beep_file=${SEMS_AUDIO_PREFIX}/sems/audio/mailbox/beep.wav -diff --git a/apps/py_sems/etc/py_sems.conf.cmake b/apps/py_sems/etc/py_sems.conf.cmake -new file mode 100644 -index 0000000..96ba1e1 ---- /dev/null -+++ b/apps/py_sems/etc/py_sems.conf.cmake -@@ -0,0 +1 @@ -+script_path=${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/py_sems/ --- -1.7.2.1 - diff --git a/sems-0010-Fix-newest-variables-escaping-strategy-on-new-CMake.patch b/sems-0010-Fix-newest-variables-escaping-strategy-on-new-CMake.patch deleted file mode 100644 index f84b005..0000000 --- a/sems-0010-Fix-newest-variables-escaping-strategy-on-new-CMake.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0ebc0eb0051a62d26e9788af15b4a8cb7c2e9562 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Wed, 2 Jun 2010 13:13:04 +0000 -Subject: [PATCH 10/12] Fix newest variables escaping strategy on new CMake - -Signed-off-by: Peter Lemenkov - -git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/sems/trunk@1949 8eb893ce-cfd4-0310-b710-fb5ebe64c474 ---- - CMakeLists.txt | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0cfb538..8eb128b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,8 @@ - CMAKE_MINIMUM_REQUIRED(VERSION 2.4) - -+# Don't do automatic escaping of variables -+CMAKE_POLICY(SET CMP0005 OLD) -+ - PROJECT (SEMS) - - SET(SEMS_MAJOR_VERSION 1) --- -1.7.2.1 - diff --git a/sems-0011-Disable-mysql-in-conference-and-early_announce-modul.patch b/sems-0011-Disable-mysql-in-conference-and-early_announce-modul.patch deleted file mode 100644 index c0c0cd9..0000000 --- a/sems-0011-Disable-mysql-in-conference-and-early_announce-modul.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 90b5fcd79d4c6366b1b8f8d12c8670968d6c70d3 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Fri, 25 Jun 2010 12:16:45 +0400 -Subject: [PATCH 11/12] 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. - -Signed-off-by: Peter Lemenkov ---- - apps/conference/CMakeLists.txt | 12 ++++++------ - apps/early_announce/CMakeLists.txt | 12 ++++++------ - 2 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/apps/conference/CMakeLists.txt b/apps/conference/CMakeLists.txt -index 40c7063..a86e8e8 100644 ---- a/apps/conference/CMakeLists.txt -+++ b/apps/conference/CMakeLists.txt -@@ -13,12 +13,12 @@ IF(FLITE_FOUND AND ZRTP_FOUND) - SET(sems_module_libs ${sems_module_libs} flite_cmu_us_kal flite_usenglish flite_cmulex flite) - ENDIF(FLITE_FOUND AND ZRTP_FOUND) - --IF(MYSQLPP_FOUND) -- INCLUDE_DIRECTORIES(/usr/include/mysql) -- INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) -- ADD_DEFINITIONS(-DUSE_MYSQL) -- SET(sems_module_libs ${sems_module_libs} mysqlpp) --ENDIF(MYSQLPP_FOUND) -+#IF(MYSQLPP_FOUND) -+# INCLUDE_DIRECTORIES(/usr/include/mysql) -+# INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) -+# ADD_DEFINITIONS(-DUSE_MYSQL) -+# SET(sems_module_libs ${sems_module_libs} mysqlpp) -+#ENDIF(MYSQLPP_FOUND) - - SET(sems_module_name conference) - INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) -diff --git a/apps/early_announce/CMakeLists.txt b/apps/early_announce/CMakeLists.txt -index 184d282..1e23638 100644 ---- a/apps/early_announce/CMakeLists.txt -+++ b/apps/early_announce/CMakeLists.txt -@@ -2,12 +2,12 @@ set (early_announce_SRCS - EarlyAnnounce.cpp - ) - --IF(MYSQLPP_FOUND) -- INCLUDE_DIRECTORIES(/usr/include/mysql) -- INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) -- ADD_DEFINITIONS(-DUSE_MYSQL) -- SET(sems_module_libs mysqlpp) --ENDIF(MYSQLPP_FOUND) -+#IF(MYSQLPP_FOUND) -+# INCLUDE_DIRECTORIES(/usr/include/mysql) -+# INCLUDE_DIRECTORIES(${MYSQLPP_INCLUDE_DIR}/mysql++) -+# ADD_DEFINITIONS(-DUSE_MYSQL) -+# SET(sems_module_libs mysqlpp) -+#ENDIF(MYSQLPP_FOUND) - - SET(sems_module_name early_announce) - INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) --- -1.7.2.1 - diff --git a/sems-0012-create-RTP-stream-AmSession-rtp_str-only-if-really-n.patch b/sems-0012-create-RTP-stream-AmSession-rtp_str-only-if-really-n.patch deleted file mode 100644 index 4723a8a..0000000 --- a/sems-0012-create-RTP-stream-AmSession-rtp_str-only-if-really-n.patch +++ /dev/null @@ -1,549 +0,0 @@ -From f520621508d13311cde0d7d91df458603a1b2d63 Mon Sep 17 00:00:00 2001 -From: Stefan Sayer -Date: Thu, 15 Apr 2010 13:01:00 +0000 -Subject: [PATCH 12/12] create RTP stream (AmSession::rtp_str) only if really needed - -replace AmSession::rtp_str with AmSession::RTPStream() in your app. - -for example for pure signaling B2B calls, no RTP stream instance is -created, which saves a lot of memory (especially because of -the RTP receive buffer) - -ref r30371 r30372 - -git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1784 8eb893ce-cfd4-0310-b710-fb5ebe64c474 ---- - apps/auth_b2b/AuthB2B.cpp | 12 +++--- - apps/call_timer/CallTimer.cpp | 4 +- - apps/callback/CallBack.cpp | 4 +- - apps/conference/Conference.cpp | 6 +- - apps/dsm/mods/mod_conference/ModConference.cpp | 6 +- - apps/examples/b2b_connect/b2b_connect.cpp | 4 +- - .../pinauthconference/PinAuthConference.cpp | 2 +- - apps/examples/serviceline/ServiceLine.cpp | 2 +- - .../simple_conference/SimpleConference.cpp | 2 +- - apps/gateway/GWSession.cpp | 2 +- - apps/sw_prepaid_sip/SWPrepaidSIP.cpp | 4 +- - apps/webconference/WebConferenceDialog.cpp | 4 +- - core/AmMediaProcessor.cpp | 18 ++++---- - core/AmSession.cpp | 42 ++++++++++--------- - core/AmSession.h | 19 +++++++-- - core/plug-in/echo/Echo.cpp | 6 +- - 16 files changed, 75 insertions(+), 62 deletions(-) - -diff --git a/apps/auth_b2b/AuthB2B.cpp b/apps/auth_b2b/AuthB2B.cpp -index e415f9f..3cdd6ab 100644 ---- a/apps/auth_b2b/AuthB2B.cpp -+++ b/apps/auth_b2b/AuthB2B.cpp -@@ -109,8 +109,8 @@ void AuthB2BDialog::onInvite(const AmSipRequest& req) - // -> only in SessionFactory::onInvite they do. todo: move the logic to - // session factory - -- setReceiving(false); -- AmMediaProcessor::instance()->removeSession(this); -+ // this will prevent us from being added to media processor -+ setInOut(NULL,NULL); - - if (AuthB2BFactory::user.empty()) { - string app_param = getHeader(req.hdrs, PARAM_HDR); -@@ -131,10 +131,10 @@ void AuthB2BDialog::onInvite(const AmSipRequest& req) - from = "sip:"+user+"@"+domain; - to = "sip:"+req.user+"@"+domain; - --// DBG("-----------------------------------------------------------------\n"); --// DBG("domain = %s, user = %s, pwd = %s, from = %s, to = %s;", --// domain.c_str(), user.c_str(), password.c_str(), from.c_str(), to.c_str()); --// DBG("-----------------------------------------------------------------\n"); -+ // DBG("-----------------------------------------------------------------\n"); -+ // DBG("domain = %s, user = %s, pwd = %s, from = %s, to = %s;", -+ // domain.c_str(), user.c_str(), password.c_str(), from.c_str(), to.c_str()); -+ // DBG("-----------------------------------------------------------------\n"); - - m_state = BB_Dialing; - -diff --git a/apps/call_timer/CallTimer.cpp b/apps/call_timer/CallTimer.cpp -index 79a5bfe..24d6cd9 100644 ---- a/apps/call_timer/CallTimer.cpp -+++ b/apps/call_timer/CallTimer.cpp -@@ -137,8 +137,8 @@ void CallTimerDialog::onInvite(const AmSipRequest& req) - return; - } - -- setReceiving(false); -- AmMediaProcessor::instance()->removeSession(this); -+ // this will prevent us from being added to media processor -+ setInOut(NULL,NULL); - - m_state = BB_Dialing; - -diff --git a/apps/callback/CallBack.cpp b/apps/callback/CallBack.cpp -index c03f01d..988a61b 100644 ---- a/apps/callback/CallBack.cpp -+++ b/apps/callback/CallBack.cpp -@@ -228,7 +228,7 @@ CallBackDialog::CallBackDialog(AmPromptCollection& prompts, - state(CBNone) - { - // set configured playout type -- rtp_str.setPlayoutType(CallBackFactory::m_PlayoutType); -+ RTPStream()->setPlayoutType(CallBackFactory::m_PlayoutType); - } - - CallBackDialog::~CallBackDialog() -@@ -321,7 +321,7 @@ CallBackCalleeDialog::CallBackCalleeDialog(const string& other_tag, - : AmB2ABCalleeSession(other_tag, connector), cred(cred) - { - // set configured playout type -- rtp_str.setPlayoutType(CallBackFactory::m_PlayoutType); -+ RTPStream()->setPlayoutType(CallBackFactory::m_PlayoutType); - setDtmfDetectionEnabled(false); - } - -diff --git a/apps/conference/Conference.cpp b/apps/conference/Conference.cpp -index 06ff807..4aad409 100644 ---- a/apps/conference/Conference.cpp -+++ b/apps/conference/Conference.cpp -@@ -349,7 +349,7 @@ ConferenceDialog::ConferenceDialog(const string& conf_id, - allow_dialout(false) - { - dialedout = this->dialout_channel.get() != 0; -- rtp_str.setPlayoutType(ConferenceFactory::m_PlayoutType); -+ RTPStream()->setPlayoutType(ConferenceFactory::m_PlayoutType); - #ifdef WITH_SAS_TTS - tts_voice = register_cmu_us_kal(); - #endif -@@ -763,7 +763,7 @@ void ConferenceDialog::createDialoutParticipant(const string& uri_user) - dialout_dlg.remote_uri = uri; - - string body; -- int local_port = dialout_session->rtp_str.getLocalPort(); -+ int local_port = dialout_session->RTPStream()->getLocalPort(); - dialout_session->sdp.genRequest(AmConfig::LocalIP,local_port,body); - - if (extra_headers.length() == 0) { -@@ -855,7 +855,7 @@ void ConferenceDialog::onSipRequest(const AmSipRequest& req) - DBG("ConferenceDialog::onSipRequest: remote_tag = %s\n",dlg.remote_tag.c_str()); - - string body; -- int local_port = rtp_str.getLocalPort(); -+ int local_port = RTPStream()->getLocalPort(); - sdp.genRequest(AmConfig::LocalIP,local_port,body); - dlg.sendRequest("INVITE","application/sdp",body,""); - -diff --git a/apps/dsm/mods/mod_conference/ModConference.cpp b/apps/dsm/mods/mod_conference/ModConference.cpp -index 24f7306..791cdbc 100644 ---- a/apps/dsm/mods/mod_conference/ModConference.cpp -+++ b/apps/dsm/mods/mod_conference/ModConference.cpp -@@ -195,9 +195,9 @@ EXEC_ACTION_START(ConfRejoinAction) { - EXEC_ACTION_START(ConfSetPlayoutTypeAction) { - string playout_type = resolveVars(arg, sess, sc_sess, event_params); - if (playout_type == "adaptive") -- sess->rtp_str.setPlayoutType(ADAPTIVE_PLAYOUT); -+ sess->RTPStream()->setPlayoutType(ADAPTIVE_PLAYOUT); - else if (playout_type == "jb") -- sess->rtp_str.setPlayoutType(JB_PLAYOUT); -+ sess->RTPStream()->setPlayoutType(JB_PLAYOUT); - else -- sess->rtp_str.setPlayoutType(SIMPLE_PLAYOUT); -+ sess->RTPStream()->setPlayoutType(SIMPLE_PLAYOUT); - } EXEC_ACTION_END; -diff --git a/apps/examples/b2b_connect/b2b_connect.cpp b/apps/examples/b2b_connect/b2b_connect.cpp -index 7c35c52..6c7ccfa 100644 ---- a/apps/examples/b2b_connect/b2b_connect.cpp -+++ b/apps/examples/b2b_connect/b2b_connect.cpp -@@ -93,7 +93,7 @@ b2b_connectDialog::b2b_connectDialog() // AmDynInvoke* user_timer) - AmB2ABCallerSession() - - { -- rtp_str.setPlayoutType(ADAPTIVE_PLAYOUT); -+ RTPStream()->setPlayoutType(ADAPTIVE_PLAYOUT); - } - - b2b_connectDialog::~b2b_connectDialog() -@@ -274,7 +274,7 @@ b2b_connectCalleeSession::b2b_connectCalleeSession(const string& other_tag, - : credentials("", user, pwd), // domain (realm) is unused in credentials - AmB2ABCalleeSession(other_tag, connector) - { -- rtp_str.setPlayoutType(ADAPTIVE_PLAYOUT); -+ RTPStream()->setPlayoutType(ADAPTIVE_PLAYOUT); - setDtmfDetectionEnabled(false); - } - -diff --git a/apps/examples/pinauthconference/PinAuthConference.cpp b/apps/examples/pinauthconference/PinAuthConference.cpp -index 521df25..d75e10d 100644 ---- a/apps/examples/pinauthconference/PinAuthConference.cpp -+++ b/apps/examples/pinauthconference/PinAuthConference.cpp -@@ -101,7 +101,7 @@ PinAuthConferenceDialog::PinAuthConferenceDialog(AmPromptCollection& prompts) - : play_list(this), separator(this, 0), prompts(prompts), state(None) - { - // set configured playout type -- rtp_str.setPlayoutType(PinAuthConferenceFactory::m_PlayoutType); -+ RTPStream()->setPlayoutType(PinAuthConferenceFactory::m_PlayoutType); - } - - PinAuthConferenceDialog::~PinAuthConferenceDialog() -diff --git a/apps/examples/serviceline/ServiceLine.cpp b/apps/examples/serviceline/ServiceLine.cpp -index a8c9b9e..427543d 100644 ---- a/apps/examples/serviceline/ServiceLine.cpp -+++ b/apps/examples/serviceline/ServiceLine.cpp -@@ -204,7 +204,7 @@ ServiceLineCalleeDialog::ServiceLineCalleeDialog(const string& other_tag, - ServiceLineFactory::GWAuthuser, - ServiceLineFactory::GWAuthpwd) - { -- rtp_str.setPlayoutType(ADAPTIVE_PLAYOUT); -+ RTPStream()->setPlayoutType(ADAPTIVE_PLAYOUT); - setDtmfDetectionEnabled(false); - } - -diff --git a/apps/examples/simple_conference/SimpleConference.cpp b/apps/examples/simple_conference/SimpleConference.cpp -index ccc0930..9a5c9f7 100644 ---- a/apps/examples/simple_conference/SimpleConference.cpp -+++ b/apps/examples/simple_conference/SimpleConference.cpp -@@ -60,7 +60,7 @@ SimpleConferenceDialog::SimpleConferenceDialog() - : play_list(this) - { - // use adaptive playout - its the best method around -- rtp_str.setPlayoutType(ADAPTIVE_PLAYOUT); -+ RTPStream()->setPlayoutType(ADAPTIVE_PLAYOUT); - } - - SimpleConferenceDialog::~SimpleConferenceDialog() -diff --git a/apps/gateway/GWSession.cpp b/apps/gateway/GWSession.cpp -index f7c3b00..e946839 100644 ---- a/apps/gateway/GWSession.cpp -+++ b/apps/gateway/GWSession.cpp -@@ -26,7 +26,7 @@ void GWSession::setOtherLeg(AmAudio *otherleg) { - } - void GWSession::onInvite(const AmSipRequest& req) { - DBG("GWSession::onInvite\n"); --// rtp_str.setMonitorRTPTimeout(false); -+// RTPStream()->setMonitorRTPTimeout(false); - invite_req=req; - return; - } -diff --git a/apps/sw_prepaid_sip/SWPrepaidSIP.cpp b/apps/sw_prepaid_sip/SWPrepaidSIP.cpp -index d2d7fb9..339d1d2 100644 ---- a/apps/sw_prepaid_sip/SWPrepaidSIP.cpp -+++ b/apps/sw_prepaid_sip/SWPrepaidSIP.cpp -@@ -118,8 +118,8 @@ void SWPrepaidSIPDialog::onInvite(const AmSipRequest& req) - - // TODO: errors thrown as exception don't seem to trigger a reply? - -- setReceiving(false); -- AmMediaProcessor::instance()->removeSession(this); -+ // this will prevent us from being added to media processor -+ setInOut(NULL,NULL); - - m_uuid = getHeader(req.hdrs,"P-Caller-Uuid"); - if(!m_uuid.length()) { -diff --git a/apps/webconference/WebConferenceDialog.cpp b/apps/webconference/WebConferenceDialog.cpp -index d41d191..d95ac6f 100644 ---- a/apps/webconference/WebConferenceDialog.cpp -+++ b/apps/webconference/WebConferenceDialog.cpp -@@ -40,7 +40,7 @@ WebConferenceDialog::WebConferenceDialog(AmPromptCollection& prompts, - is_dialout = (cred != NULL); - accept_early_session = is_dialout; - // set configured playout type -- rtp_str.setPlayoutType(WebConferenceFactory::m_PlayoutType); -+ RTPStream()->setPlayoutType(WebConferenceFactory::m_PlayoutType); - } - - WebConferenceDialog::WebConferenceDialog(AmPromptCollection& prompts, -@@ -54,7 +54,7 @@ WebConferenceDialog::WebConferenceDialog(AmPromptCollection& prompts, - DBG("set conf_id to %s\n", conf_id.c_str()); - is_dialout = false; - // set configured playout type -- rtp_str.setPlayoutType(WebConferenceFactory::m_PlayoutType); -+ RTPStream()->setPlayoutType(WebConferenceFactory::m_PlayoutType); - } - - WebConferenceDialog::~WebConferenceDialog() -diff --git a/core/AmMediaProcessor.cpp b/core/AmMediaProcessor.cpp -index c59b930..312d5c8 100644 ---- a/core/AmMediaProcessor.cpp -+++ b/core/AmMediaProcessor.cpp -@@ -284,10 +284,10 @@ void AmMediaProcessorThread::processAudio(unsigned int ts) - - AmSession* s = (*it); - // todo: get frame size/checkInterval from local audio if local in+out (?) -- unsigned int f_size = s->rtp_str.getFrameSize(); -+ unsigned int f_size = s->RTPStream()->getFrameSize(); - - // complete frame time reached? -- if (s->rtp_str.checkInterval(ts, f_size)) { -+ if (s->RTPStream()->checkInterval(ts, f_size)) { - s->lockAudio(); - - int got_audio = -1; -@@ -295,8 +295,8 @@ void AmMediaProcessorThread::processAudio(unsigned int ts) - // get/receive audio - if (!s->getAudioLocal(AM_AUDIO_IN)) { - // input is not local - receive from rtp stream -- if (s->rtp_str.receiving || s->rtp_str.getPassiveMode()) { -- int ret = s->rtp_str.receive(ts); -+ if (s->RTPStream()->receiving || s->RTPStream()->getPassiveMode()) { -+ int ret = s->RTPStream()->receive(ts); - if(ret < 0){ - switch(ret){ - -@@ -317,7 +317,7 @@ void AmMediaProcessorThread::processAudio(unsigned int ts) - break; - } - } else { -- got_audio = s->rtp_str.get(ts,buffer,f_size); -+ got_audio = s->RTPStream()->get(ts,buffer,f_size); - - if (s->isDtmfDetectionEnabled() && got_audio > 0) - s->putDtmfAudio(buffer, got_audio, ts); -@@ -355,9 +355,9 @@ void AmMediaProcessorThread::processAudio(unsigned int ts) - s->lockAudio(); - AmAudio* output = s->getOutput(); - -- if(output && s->rtp_str.sendIntReached()){ -+ if(output && s->RTPStream()->sendIntReached()){ - -- int size = output->get(ts,buffer,s->rtp_str.getFrameSize()); -+ int size = output->get(ts,buffer,s->RTPStream()->getFrameSize()); - if(size <= 0){ - DBG("output->get() returned: %i\n",size); - postRequest(new SchedRequest(AmMediaProcessor::ClearSession,s)); -@@ -365,8 +365,8 @@ void AmMediaProcessorThread::processAudio(unsigned int ts) - else { - if (!s->getAudioLocal(AM_AUDIO_OUT)) { - // audio should go to RTP -- if(!s->rtp_str.mute){ -- if(s->rtp_str.put(ts,buffer,size)<0) -+ if(!s->RTPStream()->mute){ -+ if(s->RTPStream()->put(ts,buffer,size)<0) - postRequest(new SchedRequest(AmMediaProcessor::ClearSession,s)); - } - } else { -diff --git a/core/AmSession.cpp b/core/AmSession.cpp -index e25caaf..38d23e3 100644 ---- a/core/AmSession.cpp -+++ b/core/AmSession.cpp -@@ -60,7 +60,7 @@ AmSession::AmSession() - : AmEventQueue(this), // AmDialogState(), - dlg(this), - detached(true), -- sess_stopped(false),rtp_str(this),negotiate_onreply(false), -+ sess_stopped(false),negotiate_onreply(false), - input(0), output(0), local_input(0), local_output(0), - m_dtmfDetector(this), m_dtmfEventQueue(&m_dtmfDetector), - m_dtmfDetectionEnabled(true), -@@ -208,7 +208,7 @@ const vector& AmSession::getPayloads() - - int AmSession::getRPort() - { -- return rtp_str.getRPort(); -+ return RTPStream()->getRPort(); - } - - AmPayloadProviderInterface* AmSession::getPayloadProvider() { -@@ -262,7 +262,7 @@ void AmSession::negotiate(const string& sdp_body, - telephone_event_payload->payload_type); - - lockAudio(); -- rtp_str.setTelephoneEventPT(telephone_event_payload); -+ RTPStream()->setTelephoneEventPT(telephone_event_payload); - unlockAudio(); - } - else { -@@ -280,9 +280,9 @@ void AmSession::negotiate(const string& sdp_body, - - lockAudio(); - try { -- rtp_str.setLocalIP(AmConfig::LocalIP); -- rtp_str.setPassiveMode(passive_mode); -- rtp_str.setRAddr(r_host, r_port); -+ RTPStream()->setLocalIP(AmConfig::LocalIP); -+ RTPStream()->setPassiveMode(passive_mode); -+ RTPStream()->setRAddr(r_host, r_port); - } catch (const string& err_str) { - unlockAudio(); - throw AmSession::Exception(400, err_str); -@@ -293,7 +293,9 @@ void AmSession::negotiate(const string& sdp_body, - unlockAudio(); - - if(sdp_reply) -- sdp.genResponse(advertisedIP(), rtp_str.getLocalPort(), *sdp_reply, AmConfig::SingleCodecInOK); -+ sdp.genResponse(advertisedIP(), -+ RTPStream()->getLocalPort(), -+ *sdp_reply, AmConfig::SingleCodecInOK); - } - - void AmSession::run() -@@ -318,7 +320,7 @@ void AmSession::run() - return; - } - -- zrtp_audio = zrtp_attach_stream(zrtp_session, rtp_str.get_ssrc()); -+ zrtp_audio = zrtp_attach_stream(zrtp_session, RTPStream()->get_ssrc()); - zrtp_audio->stream_usr_data = this; - - if (NULL == zrtp_audio) { -@@ -648,7 +650,7 @@ void AmSession::onSipReply(const AmSipReply& reply) - case AmSipDialog::Connected: - - try { -- rtp_str.setMonitorRTPTimeout(true); -+ RTPStream()->setMonitorRTPTimeout(true); - - acceptAudio(reply.body,reply.hdrs); - -@@ -681,7 +683,7 @@ void AmSession::onSipReply(const AmSipReply& reply) - - onRinging(reply); - -- rtp_str.setMonitorRTPTimeout(false); -+ RTPStream()->setMonitorRTPTimeout(false); - - if(input || output || local_input || local_output) - AmMediaProcessor::instance()->addSession(this, -@@ -697,10 +699,10 @@ void AmSession::onSipReply(const AmSipReply& reply) - - onEarlySessionStart(reply); - -- rtp_str.setMonitorRTPTimeout(false); -+ RTPStream()->setMonitorRTPTimeout(false); - - // ping the other side to open fw/NAT/symmetric RTP -- rtp_str.ping(); -+ RTPStream()->ping(); - - if(input || output || local_input || local_output) - AmMediaProcessor::instance()->addSession(this, -@@ -760,11 +762,11 @@ int AmSession::acceptAudio(const string& body, - - // enable RTP stream - lockAudio(); -- rtp_str.init(m_payloads); -+ RTPStream()->init(m_payloads); - unlockAudio(); - - DBG("Sending Rtp data to %s/%i\n", -- rtp_str.getRHost().c_str(),rtp_str.getRPort()); -+ RTPStream()->getRHost().c_str(),RTPStream()->getRPort()); - - return 0; - } -@@ -819,9 +821,9 @@ void AmSession::sendUpdate() - void AmSession::sendReinvite(bool updateSDP, const string& headers) - { - if (updateSDP) { -- rtp_str.setLocalIP(AmConfig::LocalIP); -+ RTPStream()->setLocalIP(AmConfig::LocalIP); - string sdp_body; -- sdp.genResponse(advertisedIP(), rtp_str.getLocalPort(), sdp_body); -+ sdp.genResponse(advertisedIP(), RTPStream()->getLocalPort(), sdp_body); - dlg.reinvite(headers, "application/sdp", sdp_body); - } else { - dlg.reinvite(headers, "", ""); -@@ -834,19 +836,19 @@ int AmSession::sendInvite(const string& headers) - - // Set local IP first, so that IP is set when - // getLocalPort/setLocalPort may bind. -- rtp_str.setLocalIP(AmConfig::LocalIP); -+ RTPStream()->setLocalIP(AmConfig::LocalIP); - - // Generate SDP. - string sdp_body; -- sdp.genRequest(advertisedIP(), rtp_str.getLocalPort(), sdp_body); -+ sdp.genRequest(advertisedIP(), RTPStream()->getLocalPort(), sdp_body); - return dlg.invite(headers, "application/sdp", sdp_body); - } - - void AmSession::setOnHold(bool hold) - { - lockAudio(); -- bool old_hold = rtp_str.getOnHold(); -- rtp_str.setOnHold(hold); -+ bool old_hold = RTPStream()->getOnHold(); -+ RTPStream()->setOnHold(hold); - if (hold != old_hold) - sendReinvite(); - unlockAudio(); -diff --git a/core/AmSession.h b/core/AmSession.h -index 6fb4356..74c03bf 100644 ---- a/core/AmSession.h -+++ b/core/AmSession.h -@@ -111,7 +111,9 @@ private: - friend class AmMediaProcessorThread; - friend class AmSessionContainer; - friend class AmSessionFactory; -- -+ -+ auto_ptr _rtp_str; -+ - protected: - AmSdp sdp; - -@@ -126,7 +128,7 @@ protected: - - public: - -- AmRtpAudio rtp_str; -+ AmRtpAudio* RTPStream(); - - #ifdef WITH_ZRTP - zrtp_conn_ctx_t* zrtp_session; // ZRTP session -@@ -253,10 +255,10 @@ public: - void clearAudio(); - - /** setter for rtp_str->mute */ -- void setMute(bool mute) { rtp_str.mute = mute; } -+ void setMute(bool mute) { RTPStream()->mute = mute; } - - /** setter for rtp_str->receiving */ -- void setReceiving(bool receive) { rtp_str.receiving = receive; } -+ void setReceiving(bool receive) { RTPStream()->receiving = receive; } - - /** Gets the Session's call ID */ - const string& getCallID() const; -@@ -477,6 +479,15 @@ public: - string advertisedIP(); - }; - -+inline AmRtpAudio* AmSession::RTPStream() { -+ if (NULL == _rtp_str.get()) { -+ DBG("creating RTP stream instance for session [%p]\n", -+ this); -+ _rtp_str.reset(new AmRtpAudio(this)); -+ } -+ return _rtp_str.get(); -+} -+ - #endif - - // Local Variables: -diff --git a/core/plug-in/echo/Echo.cpp b/core/plug-in/echo/Echo.cpp -index 21a6a29..a90e051 100644 ---- a/core/plug-in/echo/Echo.cpp -+++ b/core/plug-in/echo/Echo.cpp -@@ -104,13 +104,13 @@ EchoDialog::~EchoDialog() - - void EchoDialog::onSessionStart(const AmSipRequest& req) - { -- rtp_str.setPlayoutType(playout_type); -+ RTPStream()->setPlayoutType(playout_type); - setInOut(&echo,&echo); - } - - void EchoDialog::onSessionStart(const AmSipReply& req) - { -- rtp_str.setPlayoutType(playout_type); -+ RTPStream()->setPlayoutType(playout_type); - setInOut(&echo,&echo); - } - -@@ -134,7 +134,7 @@ void EchoDialog::onDtmf(int event, int duration) - playout_type = SIMPLE_PLAYOUT; - DBG("received *. set playout technique to %s.\n", pt); - -- rtp_str.setPlayoutType(playout_type); -+ RTPStream()->setPlayoutType(playout_type); - } - #endif - } --- -1.7.2.1 - diff --git a/sems.spec b/sems.spec index ad9a39e..1421981 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.2.1 -Release: 7%{?dist} +Version: 1.3.0 +Release: 1%{?dist} URL: http://www.iptel.org/sems -## wget http://ftp.iptel.org/pub/sems/1.2/1.2.1/src/sems-1.2.1.tar.gz -## tar zx --exclude iLBC_rfc3951 -f sems-1.2.1.tar.gz -## tar czf sems-1.2.1.w_o_ilbc_sources.tar.gz sems-1.2.1 +## 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 Source0: %{name}-%{version}.w_o_ilbc_sources.tar.gz License: GPLv2+ Group: Applications/Communications @@ -15,25 +15,17 @@ Patch1: sems-0001-Force-to-use-system-wide-GSM-includes.patch Patch2: sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch # Fedora-specific Patch3: sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch -# RHEL-specific -Patch4: sems-0004-Fix-for-old-python-2.4.patch -# RHEL-specific, partially applied upstream -Patch5: sems-0005-More-compatibility-with-older-CMake-2.4.patch -# Upstreamed -Patch6: sems-0006-Typo-paramater-parameter.patch -# Upstreamed -Patch7: sems-0007-Copy-paste-typo-this-conf-file-actually-is-a-early_a.patch -# Upstreamed -Patch8: sems-0008-Fix-MOD_NAME-passing-to-gcc.patch -# Upstreamed -Patch9: sems-0009-More-CMake-templates-for-config-files.patch -# Upstreamed, see also %%patch8 -Patch10: sems-0010-Fix-newest-variables-escaping-strategy-on-new-CMake.patch # Disable MySQL++ in conference and early_announce until good docs and failover to # existing file-based configuration will be provided -Patch11: sems-0011-Disable-mysql-in-conference-and-early_announce-modul.patch -# Backported from upstream -Patch12: sems-0012-create-RTP-stream-AmSession-rtp_str-only-if-really-n.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 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python >= 2.3 @@ -202,19 +194,11 @@ rm -rf core/plug-in/gsm/gsm-1.0-pl10/ %patch1 -p1 -b .use_system_wide_gsm %patch2 -p1 -b .allow_rewrite_of_makefiles %patch3 -p1 -b .cfg_prefix_to_empty_string -%if 0%{?el4}%{?el5} -%patch4 -p1 -b .support_for_python_2_4 -%endif -%patch5 -p1 -b .support_for_cmake_2_4 -%patch6 -p1 -b .typo -%patch7 -p1 -b .another_typo -%patch8 -p1 -b .fix_mod_name -%patch9 -p1 -b .more_cmake_templates -%if 0%{?el6}%{?fedora} -%patch10 -p1 -b .fix_escaping_in_cmake -%endif -%patch11 -p1 -b .disable_mysqlpp_in_conf_and_ea -%patch12 -p1 -b .fix_segfault +%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 iconv -f iso8859-1 -t UTF-8 doc/Readme.diameter_client.txt > doc/Readme.diameter_client.utf8 && mv doc/Readme.diameter_client.{utf8,txt} @@ -305,7 +289,6 @@ fi %config(noreplace) %{_sysconfdir}/%{name}/etc/annrecorder.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/app_mapping.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/auth_b2b.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/binrpcctrl.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/call_timer.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/callback.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/click2dial.conf @@ -314,7 +297,7 @@ fi %config(noreplace) %{_sysconfdir}/%{name}/etc/msg_storage.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/precoded_announce.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/reg_agent.conf -%config(noreplace) %{_sysconfdir}/%{name}/etc/sipctrl.conf +%config(noreplace) %{_sysconfdir}/%{name}/etc/sst_b2b.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/stats.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/sw_prepaid_sip.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/voicebox.conf @@ -351,8 +334,9 @@ fi %doc doc/Readme.py_sems.txt %doc doc/Readme.reg_agent.txt %doc doc/Readme.registrar_client.txt +%doc doc/Readme.sst_b2b.txt %doc doc/Readme.sw_prepaid_sip.txt -%doc doc/Readme.twit.txt +#%doc doc/Readme.twit.txt %doc doc/Readme.uac_auth.txt %doc doc/Readme.voicebox.txt %doc doc/Readme.voicemail.txt @@ -454,7 +438,6 @@ fi %{_libdir}/%{name}/plug-in/announcement.so %{_libdir}/%{name}/plug-in/annrecorder.so %{_libdir}/%{name}/plug-in/auth_b2b.so -%{_libdir}/%{name}/plug-in/binrpcctrl.so %{_libdir}/%{name}/plug-in/call_timer.so %{_libdir}/%{name}/plug-in/callback.so %{_libdir}/%{name}/plug-in/click2dial.so @@ -468,8 +451,8 @@ fi %{_libdir}/%{name}/plug-in/precoded_announce.so %{_libdir}/%{name}/plug-in/reg_agent.so %{_libdir}/%{name}/plug-in/registrar_client.so -%{_libdir}/%{name}/plug-in/sipctrl.so %{_libdir}/%{name}/plug-in/session_timer.so +%{_libdir}/%{name}/plug-in/sst_b2b.so %{_libdir}/%{name}/plug-in/stats.so %{_libdir}/%{name}/plug-in/sw_prepaid_sip.so %{_libdir}/%{name}/plug-in/uac_auth.so @@ -506,16 +489,6 @@ fi %config(noreplace) %{_sysconfdir}/%{name}/etc/dsm.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/dsm_in_prompts.conf %config(noreplace) %{_sysconfdir}/%{name}/etc/dsm_out_prompts.conf -%doc apps/dsm/mods/mod_aws/Readme.mod_aws.txt -%doc apps/dsm/mods/mod_conference/Readme.mod_conference.txt -%doc apps/dsm/mods/mod_dlg/Readme.mod_dlg.txt -%doc apps/dsm/mods/mod_monitoring/Readme.mod_monitoring.txt -%doc apps/dsm/mods/mod_mysql/Readme.mod_mysqlpp.txt -%doc apps/dsm/mods/mod_py/Readme.mod_py.txt -%doc apps/dsm/mods/mod_sys/Readme.mod_sys.txt -%doc apps/dsm/mods/mod_uri/Readme.mod_uri.txt -%doc apps/dsm/mods/mod_utils/Readme.mod_utils.txt -%doc apps/dsm/fsmc/Readme.fsmc.txt %doc doc/dsm %dir %{_libdir}/%{name}/dsm %{_libdir}/%{name}/dsm/mod_dlg.so @@ -628,6 +601,12 @@ fi %{_libdir}/%{name}/plug-in/xmlrpc2di.so %changelog +* Mon Sep 27 2010 Peter Lemenkov 1.3.0-1 +- Ver. 1.3.0 +- Dropped half of all patches +- Dropped binrpcctrl plugin +- Merged into core sipctrl plugin + * Thu Sep 09 2010 Rex Dieter 1.2.1-7 - rebuild (sip) diff --git a/sources b/sources index 7924f31..f31c836 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -846c02bac1f9077b213f378ffe42bc9f sems-1.2.1.w_o_ilbc_sources.tar.gz +acfdca3d8b7e892b67513011fd5f0a0b sems-1.3.0.w_o_ilbc_sources.tar.gz