From 50fe6fbac8603a2d088597b6289ee647b8b56f0e Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Wed, 13 Jun 2007 16:00:14 +0000 Subject: [PATCH] merge mod_bridgecall, mod_echo, mod_park, and mod_playback all into mod_dptools. You will need to remove these from your modules.conf and configuration files. move some applications to use the new module interface macros. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5342 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- Freeswitch.sln | 66 +- build/modules.conf.in | 5 - conf/modules.conf.xml | 4 - .../mod_bridgecall/mod_bridgecall.c | 160 ----- .../mod_bridgecall/mod_bridgecall.vcproj | 210 ------ .../applications/mod_commands/mod_commands.c | 9 +- .../mod_conference/mod_conference.c | 9 +- .../applications/mod_dptools/mod_dptools.c | 365 ++++++++++- src/mod/applications/mod_echo/mod_echo.c | 88 --- src/mod/applications/mod_echo/mod_echo.vcproj | 210 ------ src/mod/applications/mod_enum/mod_enum.c | 5 +- src/mod/applications/mod_esf/mod_esf.c | 5 +- src/mod/applications/mod_park/mod_park.c | 80 --- src/mod/applications/mod_park/mod_park.vcproj | 210 ------ .../applications/mod_playback/mod_playback.c | 284 -------- .../mod_playback/mod_playback.vcproj | 210 ------ src/mod/applications/mod_rss/mod_rss.c | 5 +- w32/Setup/Setup.vdproj | 618 +++++++++++------- 18 files changed, 753 insertions(+), 1790 deletions(-) delete mode 100644 src/mod/applications/mod_bridgecall/mod_bridgecall.c delete mode 100644 src/mod/applications/mod_bridgecall/mod_bridgecall.vcproj delete mode 100644 src/mod/applications/mod_echo/mod_echo.c delete mode 100644 src/mod/applications/mod_echo/mod_echo.vcproj delete mode 100644 src/mod/applications/mod_park/mod_park.c delete mode 100644 src/mod/applications/mod_park/mod_park.vcproj delete mode 100644 src/mod/applications/mod_playback/mod_playback.c delete mode 100644 src/mod/applications/mod_playback/mod_playback.vcproj diff --git a/Freeswitch.sln b/Freeswitch.sln index 2ae5dcb25c..79b7d1c442 100644 --- a/Freeswitch.sln +++ b/Freeswitch.sln @@ -44,12 +44,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_sndfile", "src\mod\form {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_bridgecall", "src\mod\applications\mod_bridgecall\mod_bridgecall.vcproj", "{E1794405-29D4-466D-9BE3-DD2344C2A663}" - ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_test", "src\mod\event_handlers\mod_event_test\mod_event_test.vcproj", "{3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}" ProjectSection(ProjectDependencies) = postProject {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} @@ -68,12 +62,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_iax", "src\mod\endpoint {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_playback", "src\mod\applications\mod_playback\mod_playback.vcproj", "{78100236-7CEA-4948-96CC-E8ED3160329C}" - ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_PortAudio", "src\mod\endpoints\mod_portaudio\mod_PortAudio.vcproj", "{5FD31A25-5D83-4794-8BEE-904DAD84CE71}" ProjectSection(ProjectDependencies) = postProject {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} @@ -128,12 +116,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dialplan_xml", "src\mod {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_ivrtest", "src\mod\applications\mod_ivrtest\mod_ivrtest.vcproj", "{419AA391-5F3F-4BFE-A869-9D154D62A792}" - ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - EndProjectSection -EndProject Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "FreeSwitchSetup", "w32\Setup\Setup.vdproj", "{B17FFBE6-A942-4056-8346-B624FB5D995B}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Directories", "Directories", "{B8F5B47B-8568-46EB-B320-64C17D2A98BC}" @@ -192,12 +174,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_perl", "src\mod\languag {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_echo", "src\mod\applications\mod_echo\mod_echo.vcproj", "{0E2C6395-13B9-46E5-9264-8859D346018D}" - ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_ilbc", "src\mod\codecs\mod_ilbc\mod_ilbc.vcproj", "{D3EC0AFF-76FC-4210-A825-9A17410660A3}" ProjectSection(ProjectDependencies) = postProject {989BB874-7AF1-44CB-8E5C-CC8113D267E8} = {989BB874-7AF1-44CB-8E5C-CC8113D267E8} @@ -367,12 +343,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_g722", "src\mod\codecs\ {D71E7338-8D9C-4FE4-A15F-D5CC60202C7C} = {D71E7338-8D9C-4FE4-A15F-D5CC60202C7C} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_park", "src\mod\applications\mod_park\mod_park.vcproj", "{2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}" - ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsofia_sip_ua_static", "libs\win32\sofia\libsofia_sip_ua_static.vcproj", "{70A49BC2-7500-41D0-B75D-EDCC5BE987A0}" ProjectSection(ProjectDependencies) = postProject {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} @@ -584,6 +554,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build System", "_Build Sys configure.in = configure.in Makefile.am = Makefile.am build\modmake.sh = build\modmake.sh + build\modules.conf.in = build\modules.conf.in libs\win32\util.vbs = libs\win32\util.vbs EndProjectSection EndProject @@ -652,12 +623,6 @@ Global {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.ActiveCfg = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|Win32.Build.0 = Release|Win32 {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}.Release|x64.ActiveCfg = Release|Win32 - {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|Win32.ActiveCfg = Debug|Win32 - {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|Win32.Build.0 = Debug|Win32 - {E1794405-29D4-466D-9BE3-DD2344C2A663}.Debug|x64.ActiveCfg = Debug|Win32 - {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|Win32.ActiveCfg = Release|Win32 - {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|Win32.Build.0 = Release|Win32 - {E1794405-29D4-466D-9BE3-DD2344C2A663}.Release|x64.ActiveCfg = Release|Win32 {3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Debug|Win32.ActiveCfg = Debug|Win32 {3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Debug|Win32.Build.0 = Debug|Win32 {3A2A7795-C216-4FFF-B8EF-4D17A84BACCC}.Debug|x64.ActiveCfg = Debug|Win32 @@ -676,12 +641,6 @@ Global {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.ActiveCfg = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|Win32.Build.0 = Release|Win32 {3A5B9131-F20C-4A85-9447-6C1610941CEE}.Release|x64.ActiveCfg = Release|Win32 - {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|Win32.ActiveCfg = Debug|Win32 - {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|Win32.Build.0 = Debug|Win32 - {78100236-7CEA-4948-96CC-E8ED3160329C}.Debug|x64.ActiveCfg = Debug|Win32 - {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|Win32.ActiveCfg = Release|Win32 - {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|Win32.Build.0 = Release|Win32 - {78100236-7CEA-4948-96CC-E8ED3160329C}.Release|x64.ActiveCfg = Release|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.ActiveCfg = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|Win32.Build.0 = Debug|Win32 {5FD31A25-5D83-4794-8BEE-904DAD84CE71}.Debug|x64.ActiveCfg = Debug|Win32 @@ -722,12 +681,6 @@ Global {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.ActiveCfg = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|Win32.Build.0 = Release|Win32 {07113B25-D3AF-4E04-BA77-4CD1171F022C}.Release|x64.ActiveCfg = Release|Win32 - {419AA391-5F3F-4BFE-A869-9D154D62A792}.Debug|Win32.ActiveCfg = Debug|Win32 - {419AA391-5F3F-4BFE-A869-9D154D62A792}.Debug|Win32.Build.0 = Debug|Win32 - {419AA391-5F3F-4BFE-A869-9D154D62A792}.Debug|x64.ActiveCfg = Debug|Win32 - {419AA391-5F3F-4BFE-A869-9D154D62A792}.Release|Win32.ActiveCfg = Release|Win32 - {419AA391-5F3F-4BFE-A869-9D154D62A792}.Release|Win32.Build.0 = Release|Win32 - {419AA391-5F3F-4BFE-A869-9D154D62A792}.Release|x64.ActiveCfg = Release|Win32 {B17FFBE6-A942-4056-8346-B624FB5D995B}.Debug|Win32.ActiveCfg = Debug {B17FFBE6-A942-4056-8346-B624FB5D995B}.Debug|x64.ActiveCfg = Debug with MySql {B17FFBE6-A942-4056-8346-B624FB5D995B}.Debug|x64.Build.0 = Debug with MySql @@ -782,12 +735,6 @@ Global {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32 {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32 - {0E2C6395-13B9-46E5-9264-8859D346018D}.Debug|Win32.ActiveCfg = Debug|Win32 - {0E2C6395-13B9-46E5-9264-8859D346018D}.Debug|Win32.Build.0 = Debug|Win32 - {0E2C6395-13B9-46E5-9264-8859D346018D}.Debug|x64.ActiveCfg = Debug|Win32 - {0E2C6395-13B9-46E5-9264-8859D346018D}.Release|Win32.ActiveCfg = Release|Win32 - {0E2C6395-13B9-46E5-9264-8859D346018D}.Release|Win32.Build.0 = Release|Win32 - {0E2C6395-13B9-46E5-9264-8859D346018D}.Release|x64.ActiveCfg = Release|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.ActiveCfg = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.Build.0 = Debug|Win32 {D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|x64.ActiveCfg = Debug|Win32 @@ -1016,12 +963,6 @@ Global {D42518CC-7475-454D-B392-0E132C07D761}.Release|Win32.ActiveCfg = Release|Win32 {D42518CC-7475-454D-B392-0E132C07D761}.Release|Win32.Build.0 = Release|Win32 {D42518CC-7475-454D-B392-0E132C07D761}.Release|x64.ActiveCfg = Release|Win32 - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Debug|Win32.ActiveCfg = Debug|Win32 - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Debug|Win32.Build.0 = Debug|Win32 - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Debug|x64.ActiveCfg = Debug|Win32 - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Release|Win32.ActiveCfg = Release|Win32 - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Release|Win32.Build.0 = Release|Win32 - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B}.Release|x64.ActiveCfg = Release|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.ActiveCfg = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|Win32.Build.0 = Debug|Win32 {70A49BC2-7500-41D0-B75D-EDCC5BE987A0}.Debug|x64.ActiveCfg = Debug|Win32 @@ -1166,15 +1107,10 @@ Global {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8} = {9ADF1E48-2F5C-4ED7-A893-596259FABFE0} {AFAC0568-7548-42D5-9F6A-8D3400A1E4F6} = {A5A27244-AD24-46E5-B01B-840CD296C91D} {9254C4B0-6F60-42B6-BB3A-36D63FC001C7} = {A5A27244-AD24-46E5-B01B-840CD296C91D} - {78100236-7CEA-4948-96CC-E8ED3160329C} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} - {E1794405-29D4-466D-9BE3-DD2344C2A663} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} - {419AA391-5F3F-4BFE-A869-9D154D62A792} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} - {0E2C6395-13B9-46E5-9264-8859D346018D} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {B5881A85-FE70-4F64-8607-2CAAE52669C6} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} - {2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {71A967D5-0E99-4CEF-A587-98836EE6F2EF} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {3850D93A-5F24-4922-BC1C-74D08C37C256} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} diff --git a/build/modules.conf.in b/build/modules.conf.in index 5062529a60..d7f3de961a 100644 --- a/build/modules.conf.in +++ b/build/modules.conf.in @@ -1,17 +1,12 @@ loggers/mod_console loggers/mod_syslog -applications/mod_bridgecall applications/mod_commands applications/mod_conference applications/mod_dptools -applications/mod_echo applications/mod_enum #applications/mod_ivrtest -#applications/mod_park #applications/mod_soundtouch -applications/mod_playback #applications/mod_rss -#applications/mod_skel #asr_tts/mod_cepstral #codecs/mod_amr codecs/mod_g711 diff --git a/conf/modules.conf.xml b/conf/modules.conf.xml index 67b8e1f08b..e7e2cfcc0f 100644 --- a/conf/modules.conf.xml +++ b/conf/modules.conf.xml @@ -33,13 +33,9 @@ - - - - diff --git a/src/mod/applications/mod_bridgecall/mod_bridgecall.c b/src/mod/applications/mod_bridgecall/mod_bridgecall.c deleted file mode 100644 index 884bbb7ec3..0000000000 --- a/src/mod/applications/mod_bridgecall/mod_bridgecall.c +++ /dev/null @@ -1,160 +0,0 @@ -/* - * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II - * - * Version: MPL 1.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * - * The Initial Developer of the Original Code is - * Anthony Minessale II - * Portions created by the Initial Developer are Copyright (C) - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Anthony Minessale II - * - * - * mod_bridgecall.c -- Channel Bridge Application Module - * - */ -#include -#include -#include -#include - -static const char modname[] = "mod_bridgecall"; - -static void audio_bridge_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *caller_channel; - switch_core_session_t *peer_session = NULL; - unsigned int timelimit = 60; - char *var; - uint8_t no_media_bridge = 0; - switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING; - uint8_t do_continue = 0; - - if (switch_strlen_zero(data)) { - return; - } - - caller_channel = switch_core_session_get_channel(session); - assert(caller_channel != NULL); - - if ((var = switch_channel_get_variable(caller_channel, "call_timeout"))) { - timelimit = atoi(var); - } - - if ((var = switch_channel_get_variable(caller_channel, "continue_on_fail"))) { - do_continue = switch_true(var); - } - - if (switch_channel_test_flag(caller_channel, CF_BYPASS_MEDIA) - || ((var = switch_channel_get_variable(caller_channel, SWITCH_BYPASS_MEDIA_VARIABLE)) && switch_true(var))) { - if (!switch_channel_test_flag(caller_channel, CF_ANSWERED) - && !switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA)) { - switch_channel_set_flag(caller_channel, CF_BYPASS_MEDIA); - } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel is already up, delaying point-to-point mode 'till both legs are up.\n"); - no_media_bridge = 1; - } - } - - if (switch_ivr_originate(session, &peer_session, &cause, data, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Originate Failed. Cause: %s\n", switch_channel_cause2str(cause)); - if (!do_continue && cause != SWITCH_CAUSE_NO_ANSWER) { - /* All Causes besides NO_ANSWER terminate the originating session unless continue_on_fail is set. - We will pass the fail cause on when we hangup. */ - switch_channel_hangup(caller_channel, cause); - } - /* Otherwise.. nobody answered. Go back to the dialplan instructions in case there was more to do. */ - return; - } else { - if (no_media_bridge) { - switch_channel_t *peer_channel = switch_core_session_get_channel(peer_session); - switch_frame_t *read_frame; - /* SIP won't let us redir media until the call has been answered #$^#%& so we will proxy any early media until they do */ - while (switch_channel_ready(caller_channel) && switch_channel_ready(peer_channel) - && !switch_channel_test_flag(peer_channel, CF_ANSWERED)) { - switch_status_t status = switch_core_session_read_frame(peer_session, &read_frame, -1, 0); - uint8_t bad = 1; - - if (SWITCH_READ_ACCEPTABLE(status) - && switch_core_session_write_frame(session, read_frame, -1, 0) == SWITCH_STATUS_SUCCESS) { - bad = 0; - } - if (bad) { - switch_channel_hangup(caller_channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); - switch_channel_hangup(peer_channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); - goto end; - } - } - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Redirecting media to point-to-point mode.\n"); - switch_ivr_nomedia(switch_core_session_get_uuid(session), SMF_FORCE); - switch_ivr_nomedia(switch_core_session_get_uuid(peer_session), SMF_FORCE); - switch_ivr_signal_bridge(session, peer_session); - } else { - if (switch_channel_test_flag(caller_channel, CF_BYPASS_MEDIA)) { - switch_ivr_signal_bridge(session, peer_session); - } else { - switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL); - } - } - end: - if (peer_session) { - switch_core_session_rwunlock(peer_session); - } - } -} - -static const switch_application_interface_t bridge_application_interface = { - /*.interface_name */ "bridge", - /*.application_function */ audio_bridge_function, - /* long_desc */ "Bridge the audio between two sessions", - /* short_desc */ "Bridge Audio", - /* syntax */ "", - /* flags */ SAF_SUPPORT_NOMEDIA -}; - -static const switch_loadable_module_interface_t mod_bridgecall_module_interface = { - /*.module_name = */ modname, - /*.endpoint_interface = */ NULL, - /*.timer_interface = */ NULL, - /*.dialplan_interface = */ NULL, - /*.codec_interface = */ NULL, - /*.application_interface */ &bridge_application_interface -}; - -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) -{ - - /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &mod_bridgecall_module_interface; - - /* indicate that the module should continue to be loaded */ - return SWITCH_STATUS_SUCCESS; -} - -/* For Emacs: - * Local Variables: - * mode:c - * indent-tabs-mode:t - * tab-width:4 - * c-basic-offset:4 - * End: - * For VIM: - * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: - */ diff --git a/src/mod/applications/mod_bridgecall/mod_bridgecall.vcproj b/src/mod/applications/mod_bridgecall/mod_bridgecall.vcproj deleted file mode 100644 index 71b1faeaf1..0000000000 --- a/src/mod/applications/mod_bridgecall/mod_bridgecall.vcproj +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index 892473f52b..4019fcbba9 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -36,8 +36,9 @@ #include #include +SWITCH_MODULE_LOAD_FUNCTION(mod_commands_load); +SWITCH_MODULE_DEFINITION(mod_commands, mod_commands_load, NULL, NULL); -static const char modname[] = "mod_commands"; static switch_api_interface_t ctl_api_interface; static switch_api_interface_t uuid_bridge_api_interface; static switch_api_interface_t session_record_api_interface; @@ -1318,7 +1319,7 @@ static switch_api_interface_t originate_api_interface = { /*.next */ &kill_api_interface }; -static const switch_loadable_module_interface_t mod_commands_module_interface = { +static const switch_loadable_module_interface_t commands_module_interface = { /*.module_name */ modname, /*.endpoint_interface */ NULL, /*.timer_interface */ NULL, @@ -1328,10 +1329,10 @@ static const switch_loadable_module_interface_t mod_commands_module_interface = /*.api_interface */ &originate_api_interface }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_commands_load) { /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &mod_commands_module_interface; + *module_interface = &commands_module_interface; /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_NOUNLOAD; diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 017336b444..22140e20df 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -33,7 +33,10 @@ */ #include -static const char modname[] = "mod_conference"; +SWITCH_MODULE_LOAD_FUNCTION(mod_conference_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_conference_shutdown); +SWITCH_MODULE_DEFINITION(mod_conference, mod_conference_load, mod_conference_shutdown, NULL); + static const char global_app_name[] = "conference"; static char *global_cf_name = "conference.conf"; static switch_api_interface_t conf_api_interface; @@ -4909,7 +4912,7 @@ static void send_presence(switch_event_types_t id) } /* Called by FreeSWITCH when the module loads */ -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_conference_load) { uint32_t i; size_t nl, ol = 0; @@ -4974,7 +4977,7 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_mod return status; } -SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void) +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_conference_shutdown) { if (globals.running) { diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index cc37516c9c..f8f9ed2775 100644 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -34,7 +34,8 @@ */ #include -static const char modname[] = "mod_dptools"; +SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load); +SWITCH_MODULE_DEFINITION(mod_dptools, mod_dptools_load, NULL, NULL); static const switch_application_interface_t detect_speech_application_interface; static const switch_application_interface_t exe_application_interface; @@ -673,6 +674,274 @@ static void stop_fax_detect_session_function(switch_core_session_t *session, cha switch_ivr_stop_fax_detect_session(session); } +static void echo_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + switch_channel_answer(channel); + + switch_channel_set_state(channel, CS_LOOPBACK); +} + +static void park_function(switch_core_session_t *session, char *data) +{ + switch_ivr_park(session, NULL); + +} + +/********************************************************************************/ +/* Playback/Record Functions */ +/********************************************************************************/ + +/* + dtmf handler function you can hook up to be executed when a digit is dialed during playback + if you return anything but SWITCH_STATUS_SUCCESS the playback will stop. +*/ +static switch_status_t on_dtmf(switch_core_session_t *session, void *input, switch_input_type_t itype, void *buf, unsigned int buflen) +{ + + + switch (itype) { + case SWITCH_INPUT_TYPE_DTMF:{ + char *dtmf = (char *) input; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Digits %s\n", dtmf); + + if (*dtmf == '*') { + return SWITCH_STATUS_BREAK; + } + } + break; + default: + break; + } + + return SWITCH_STATUS_SUCCESS; +} + + +static void speak_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + char buf[10]; + char *argv[4] = { 0 }; + int argc; + char *engine = NULL; + char *voice = NULL; + char *text = NULL; + char *mydata = NULL; + switch_codec_t *codec; + switch_input_args_t args = { 0 }; + + codec = switch_core_session_get_read_codec(session); + assert(codec != NULL); + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + mydata = switch_core_session_strdup(session, data); + argc = switch_separate_string(mydata, '|', argv, sizeof(argv) / sizeof(argv[0])); + + engine = argv[0]; + voice = argv[1]; + text = argv[2]; + + if (!(engine && voice && text)) { + if (!engine) { + engine = "NULL"; + } + if (!voice) { + voice = "NULL"; + } + if (!text) { + text = "NULL"; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Params! [%s][%s][%s]\n", engine, voice, text); + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + } + + switch_channel_pre_answer(channel); + + args.input_callback = on_dtmf; + args.buf = buf; + args.buflen = sizeof(buf); + switch_ivr_speak_text(session, engine, voice, codec->implementation->samples_per_second, text, &args); + +} + +static void playback_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + char *file_name = NULL; + switch_input_args_t args = { 0 }; + + file_name = switch_core_session_strdup(session, data); + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + switch_channel_pre_answer(channel); + + args.input_callback = on_dtmf; + switch_ivr_play_file(session, NULL, file_name, &args); + +} + + +static void record_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + switch_status_t status; + uint32_t limit = 0; + char *path; + char *p; + switch_input_args_t args = { 0 }; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + path = switch_core_session_strdup(session, data); + if ((p = strchr(path, '+'))) { + char *q = p - 1; + while(q && *q == ' ') { + *q = '\0'; + q--; + } + *p++ = '\0'; + limit = atoi(p); + } + + args.input_callback = on_dtmf; + status = switch_ivr_record_file(session, NULL, path, &args, limit); + + if (!switch_channel_ready(channel) || (status != SWITCH_STATUS_SUCCESS && !SWITCH_STATUS_IS_BREAK(status))) { + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + } +} + + +static void record_session_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + char *p, *path = NULL; + uint32_t limit = 0; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + path = switch_core_session_strdup(session, data); + if ((p = strchr(path, '+'))) { + char *q = p - 1; + while(q && *q == ' ') { + *q = '\0'; + q--; + } + *p++ = '\0'; + limit = atoi(p); + } + + switch_ivr_record_session(session, path, limit, NULL); +} + + +static void stop_record_session_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + switch_ivr_stop_record_session(session, data); +} + +/********************************************************************************/ +/* Bridge Functions */ +/********************************************************************************/ + +static void audio_bridge_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *caller_channel; + switch_core_session_t *peer_session = NULL; + unsigned int timelimit = 60; + char *var; + uint8_t no_media_bridge = 0; + switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING; + uint8_t do_continue = 0; + + if (switch_strlen_zero(data)) { + return; + } + + caller_channel = switch_core_session_get_channel(session); + assert(caller_channel != NULL); + + if ((var = switch_channel_get_variable(caller_channel, "call_timeout"))) { + timelimit = atoi(var); + } + + if ((var = switch_channel_get_variable(caller_channel, "continue_on_fail"))) { + do_continue = switch_true(var); + } + + if (switch_channel_test_flag(caller_channel, CF_BYPASS_MEDIA) + || ((var = switch_channel_get_variable(caller_channel, SWITCH_BYPASS_MEDIA_VARIABLE)) && switch_true(var))) { + if (!switch_channel_test_flag(caller_channel, CF_ANSWERED) + && !switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA)) { + switch_channel_set_flag(caller_channel, CF_BYPASS_MEDIA); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel is already up, delaying point-to-point mode 'till both legs are up.\n"); + no_media_bridge = 1; + } + } + + if (switch_ivr_originate(session, &peer_session, &cause, data, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Originate Failed. Cause: %s\n", switch_channel_cause2str(cause)); + if (!do_continue && cause != SWITCH_CAUSE_NO_ANSWER) { + /* All Causes besides NO_ANSWER terminate the originating session unless continue_on_fail is set. + We will pass the fail cause on when we hangup. */ + switch_channel_hangup(caller_channel, cause); + } + /* Otherwise.. nobody answered. Go back to the dialplan instructions in case there was more to do. */ + return; + } else { + if (no_media_bridge) { + switch_channel_t *peer_channel = switch_core_session_get_channel(peer_session); + switch_frame_t *read_frame; + /* SIP won't let us redir media until the call has been answered #$^#%& so we will proxy any early media until they do */ + while (switch_channel_ready(caller_channel) && switch_channel_ready(peer_channel) + && !switch_channel_test_flag(peer_channel, CF_ANSWERED)) { + switch_status_t status = switch_core_session_read_frame(peer_session, &read_frame, -1, 0); + uint8_t bad = 1; + + if (SWITCH_READ_ACCEPTABLE(status) + && switch_core_session_write_frame(session, read_frame, -1, 0) == SWITCH_STATUS_SUCCESS) { + bad = 0; + } + if (bad) { + switch_channel_hangup(caller_channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + switch_channel_hangup(peer_channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + goto end; + } + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Redirecting media to point-to-point mode.\n"); + switch_ivr_nomedia(switch_core_session_get_uuid(session), SMF_FORCE); + switch_ivr_nomedia(switch_core_session_get_uuid(peer_session), SMF_FORCE); + switch_ivr_signal_bridge(session, peer_session); + } else { + if (switch_channel_test_flag(caller_channel, CF_BYPASS_MEDIA)) { + switch_ivr_signal_bridge(session, peer_session); + } else { + switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL); + } + } + end: + if (peer_session) { + switch_core_session_rwunlock(peer_session); + } + } +} static const switch_api_interface_t strepoch_api_interface = { /*.interface_name */ "strepoch", @@ -707,6 +976,86 @@ static const switch_api_interface_t presence_api_interface = { }; +static const switch_application_interface_t bridge_application_interface = { + /*.interface_name */ "bridge", + /*.application_function */ audio_bridge_function, + /* long_desc */ "Bridge the audio between two sessions", + /* short_desc */ "Bridge Audio", + /* syntax */ "", + /* flags */ SAF_SUPPORT_NOMEDIA +}; + +static const switch_application_interface_t speak_application_interface = { + /*.interface_name */ "speak", + /*.application_function */ speak_function, + /* long_desc */ "Speak text to a channel via the tts interface", + /* short_desc */ "Speak text", + /* syntax */ "||", + /* flags */ SAF_NONE, + &bridge_application_interface +}; + +static const switch_application_interface_t record_application_interface = { + /*.interface_name */ "record", + /*.application_function */ record_function, + /* long_desc */ "Record a file from the channels input", + /* short_desc */ "Record File", + /* syntax */ " [+time_limit_ms]", + /* flags */ SAF_NONE, + &speak_application_interface +}; + + +static const switch_application_interface_t record_session_application_interface = { + /*.interface_name */ "record_session", + /*.application_function */ record_session_function, + /* long_desc */ "Starts a background recording of the entire session", + /* short_desc */ "Record Session", + /* syntax */ "", + /* flags */ SAF_NONE, + &record_application_interface +}; + + +static const switch_application_interface_t stop_record_session_application_interface = { + /*.interface_name */ "stop_record_session", + /*.application_function */ stop_record_session_function, + /* long_desc */ "Stops a background recording of the entire session", + /* short_desc */ "Stop Record Session", + /* syntax */ "", + /* flags */ SAF_NONE, + &record_session_application_interface +}; + +static const switch_application_interface_t playback_application_interface = { + /*.interface_name */ "playback", + /*.application_function */ playback_function, + /* long_desc */ "Playback a file to the channel", + /* short_desc */ "Playback File", + /* syntax */ "", + /* flags */ SAF_NONE, + /*.next */ &stop_record_session_application_interface +}; +static const switch_application_interface_t park_application_interface = { + /*.interface_name */ "park", + /*.application_function */ park_function, + /* long_desc */ NULL, + /* short_desc */ NULL, + /* syntax */ NULL, + /* flags */ SAF_NONE, + /*.next */ &playback_application_interface +}; + +static const switch_application_interface_t echo_application_interface = { + /*.interface_name */ "echo", + /*.application_function */ echo_function, + /* long_desc */ "Perform an echo test against the calling channel", + /* short_desc */ "Echo", + /* syntax */ "", + /* flags */ SAF_NONE, + /*.next */ &park_application_interface +}; + static const switch_application_interface_t fax_detect_application_interface = { /*.interface_name */ "fax_detect", /*.application_function */ fax_detect_session_function, @@ -714,7 +1063,7 @@ static const switch_application_interface_t fax_detect_application_interface = { /* short_desc */ "Detect faxes", /* syntax */ "", /* flags */ SAF_NONE, - /*.next */ NULL + /*.next */ &echo_application_interface }; static const switch_application_interface_t stop_fax_detect_application_interface = { @@ -990,7 +1339,7 @@ static const switch_application_interface_t privacy_application_interface = { /*.next */ &transfer_application_interface }; -static const switch_loadable_module_interface_t mod_dptools_module_interface = { +static const switch_loadable_module_interface_t dptools_module_interface = { /*.module_name = */ modname, /*.endpoint_interface = */ NULL, /*.timer_interface = */ NULL, @@ -1000,23 +1349,17 @@ static const switch_loadable_module_interface_t mod_dptools_module_interface = { /*.api_interface */ &presence_api_interface }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load) { /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &mod_dptools_module_interface; + *module_interface = &dptools_module_interface; /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; } -/* 'switch_module_runtime' will start up in a thread by itself just by having it exist -if it returns anything but SWITCH_STATUS_TERM it will be called again automaticly -*/ - - -//switch_status_t switch_module_runtime(void) /* For Emacs: * Local Variables: diff --git a/src/mod/applications/mod_echo/mod_echo.c b/src/mod/applications/mod_echo/mod_echo.c deleted file mode 100644 index 894f82df2c..0000000000 --- a/src/mod/applications/mod_echo/mod_echo.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II - * - * Version: MPL 1.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * - * The Initial Developer of the Original Code is - * Anthony Minessale II - * Portions created by the Initial Developer are Copyright (C) - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Anthony Minessale II - * Brian K. West - * - * mod_echo.c -- Echo application - * - */ -#include - -static const char modname[] = "mod_echo"; - -static void echo_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *channel; - - channel = switch_core_session_get_channel(session); - assert(channel != NULL); - - switch_channel_answer(channel); - - switch_channel_set_state(channel, CS_LOOPBACK); -} - -static const switch_application_interface_t echo_application_interface = { - /*.interface_name */ "echo", - /*.application_function */ echo_function, - /* long_desc */ "Perform an echo test against the calling channel", - /* short_desc */ "Echo", - /* syntax */ "", - /* flags */ SAF_NONE, -}; - -static switch_loadable_module_interface_t echo_module_interface = { - /*.module_name */ modname, - /*.endpoint_interface */ NULL, - /*.timer_interface */ NULL, - /*.dialplan_interface */ NULL, - /*.codec_interface */ NULL, - /*.application_interface */ &echo_application_interface, - /*.api_interface */ NULL, - /*.file_interface */ NULL, - /*.speech_interface */ NULL, - /*.directory_interface */ NULL -}; - -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) -{ - /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &echo_module_interface; - - /* indicate that the module should continue to be loaded */ - return SWITCH_STATUS_SUCCESS; -} - -/* For Emacs: - * Local Variables: - * mode:c - * indent-tabs-mode:t - * tab-width:4 - * c-basic-offset:4 - * End: - * For VIM: - * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: - */ diff --git a/src/mod/applications/mod_echo/mod_echo.vcproj b/src/mod/applications/mod_echo/mod_echo.vcproj deleted file mode 100644 index 51d3c262d2..0000000000 --- a/src/mod/applications/mod_echo/mod_echo.vcproj +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mod/applications/mod_enum/mod_enum.c b/src/mod/applications/mod_enum/mod_enum.c index f64ddf7bbc..25c0f054da 100644 --- a/src/mod/applications/mod_enum/mod_enum.c +++ b/src/mod/applications/mod_enum/mod_enum.c @@ -36,7 +36,8 @@ #define closesocket close #endif -static const char modname[] = "mod_enum"; +SWITCH_MODULE_LOAD_FUNCTION(mod_enum_load); +SWITCH_MODULE_DEFINITION(mod_enum, mod_enum_load, NULL, NULL); struct enum_record { int order; @@ -721,7 +722,7 @@ static switch_loadable_module_interface_t enum_module_interface = { /*.directory_interface */ NULL }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_enum_load) { if (dns_init(0) < 0) { diff --git a/src/mod/applications/mod_esf/mod_esf.c b/src/mod/applications/mod_esf/mod_esf.c index 7483b6a349..ac64b8d179 100644 --- a/src/mod/applications/mod_esf/mod_esf.c +++ b/src/mod/applications/mod_esf/mod_esf.c @@ -31,7 +31,8 @@ */ #include -static const char modname[] = "mod_esf"; +SWITCH_MODULE_LOAD_FUNCTION(mod_esf_load); +SWITCH_MODULE_DEFINITION(mod_esf, mod_esf_load, NULL, NULL); struct ls_control_packet { uint32_t unique_id; @@ -244,7 +245,7 @@ static const switch_loadable_module_interface_t mod_ivrtest_module_interface = { /*.application_interface */ &bcast_application_interface }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_esf_load) { /* connect my internal structure to the blank pointer passed to me */ diff --git a/src/mod/applications/mod_park/mod_park.c b/src/mod/applications/mod_park/mod_park.c deleted file mode 100644 index 19e29c081b..0000000000 --- a/src/mod/applications/mod_park/mod_park.c +++ /dev/null @@ -1,80 +0,0 @@ -/* - * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II - * - * Version: MPL 1.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * - * The Initial Developer of the Original Code is - * Anthony Minessale II - * Portions created by the Initial Developer are Copyright (C) - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Anthony Minessale II - * - * mod_park.c -- Park application - * - */ -#include - -static const char modname[] = "mod_park"; - -static void park_function(switch_core_session_t *session, char *data) -{ - switch_ivr_park(session, NULL); - -} - -static const switch_application_interface_t park_application_interface = { - /*.interface_name */ "park", - /*.application_function */ park_function, - NULL, NULL, NULL, - /* flags */ SAF_NONE, - NULL -}; - -static switch_loadable_module_interface_t park_module_interface = { - /*.module_name */ modname, - /*.endpoint_interface */ NULL, - /*.timer_interface */ NULL, - /*.dialplan_interface */ NULL, - /*.codec_interface */ NULL, - /*.application_interface */ &park_application_interface, - /*.api_interface */ NULL, - /*.file_interface */ NULL, - /*.speech_interface */ NULL, - /*.directory_interface */ NULL -}; - -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) -{ - /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &park_module_interface; - - /* indicate that the module should continue to be loaded */ - return SWITCH_STATUS_SUCCESS; -} - -/* For Emacs: - * Local Variables: - * mode:c - * indent-tabs-mode:t - * tab-width:4 - * c-basic-offset:4 - * End: - * For VIM: - * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: - */ diff --git a/src/mod/applications/mod_park/mod_park.vcproj b/src/mod/applications/mod_park/mod_park.vcproj deleted file mode 100644 index 03d5657ad4..0000000000 --- a/src/mod/applications/mod_park/mod_park.vcproj +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mod/applications/mod_playback/mod_playback.c b/src/mod/applications/mod_playback/mod_playback.c deleted file mode 100644 index 5382114e96..0000000000 --- a/src/mod/applications/mod_playback/mod_playback.c +++ /dev/null @@ -1,284 +0,0 @@ -/* - * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II - * - * Version: MPL 1.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * - * The Initial Developer of the Original Code is - * Anthony Minessale II - * Portions created by the Initial Developer are Copyright (C) - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Anthony Minessale II - * Neal Horman - * - * - * mod_playback.c -- Raw Audio File Streaming Application Module - * - */ -#include - -static const char modname[] = "mod_playback"; - -/* - dtmf handler function you can hook up to be executed when a digit is dialed during playback - if you return anything but SWITCH_STATUS_SUCCESS the playback will stop. -*/ -static switch_status_t on_dtmf(switch_core_session_t *session, void *input, switch_input_type_t itype, void *buf, unsigned int buflen) -{ - - - switch (itype) { - case SWITCH_INPUT_TYPE_DTMF:{ - char *dtmf = (char *) input; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Digits %s\n", dtmf); - - if (*dtmf == '*') { - return SWITCH_STATUS_BREAK; - } - } - break; - default: - break; - } - - return SWITCH_STATUS_SUCCESS; -} - - -static void speak_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *channel; - char buf[10]; - char *argv[4] = { 0 }; - int argc; - char *engine = NULL; - char *voice = NULL; - char *text = NULL; - char *mydata = NULL; - switch_codec_t *codec; - switch_input_args_t args = { 0 }; - - codec = switch_core_session_get_read_codec(session); - assert(codec != NULL); - - channel = switch_core_session_get_channel(session); - assert(channel != NULL); - - mydata = switch_core_session_strdup(session, data); - argc = switch_separate_string(mydata, '|', argv, sizeof(argv) / sizeof(argv[0])); - - engine = argv[0]; - voice = argv[1]; - text = argv[2]; - - if (!(engine && voice && text)) { - if (!engine) { - engine = "NULL"; - } - if (!voice) { - voice = "NULL"; - } - if (!text) { - text = "NULL"; - } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Params! [%s][%s][%s]\n", engine, voice, text); - switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); - } - - switch_channel_pre_answer(channel); - - args.input_callback = on_dtmf; - args.buf = buf; - args.buflen = sizeof(buf); - switch_ivr_speak_text(session, engine, voice, codec->implementation->samples_per_second, text, &args); - -} - -static void playback_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *channel; - char *file_name = NULL; - switch_input_args_t args = { 0 }; - - file_name = switch_core_session_strdup(session, data); - - channel = switch_core_session_get_channel(session); - assert(channel != NULL); - - switch_channel_pre_answer(channel); - - args.input_callback = on_dtmf; - switch_ivr_play_file(session, NULL, file_name, &args); - -} - - -static void record_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *channel; - switch_status_t status; - uint32_t limit = 0; - char *path; - char *p; - switch_input_args_t args = { 0 }; - - channel = switch_core_session_get_channel(session); - assert(channel != NULL); - - path = switch_core_session_strdup(session, data); - if ((p = strchr(path, '+'))) { - char *q = p - 1; - while(q && *q == ' ') { - *q = '\0'; - q--; - } - *p++ = '\0'; - limit = atoi(p); - } - - args.input_callback = on_dtmf; - status = switch_ivr_record_file(session, NULL, path, &args, limit); - - if (!switch_channel_ready(channel) || (status != SWITCH_STATUS_SUCCESS && !SWITCH_STATUS_IS_BREAK(status))) { - switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); - } -} - - -static void record_session_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *channel; - char *p, *path = NULL; - uint32_t limit = 0; - - channel = switch_core_session_get_channel(session); - assert(channel != NULL); - - path = switch_core_session_strdup(session, data); - if ((p = strchr(path, '+'))) { - char *q = p - 1; - while(q && *q == ' ') { - *q = '\0'; - q--; - } - *p++ = '\0'; - limit = atoi(p); - } - - switch_ivr_record_session(session, path, limit, NULL); -} - - -static void stop_record_session_function(switch_core_session_t *session, char *data) -{ - switch_channel_t *channel; - channel = switch_core_session_get_channel(session); - assert(channel != NULL); - - switch_ivr_stop_record_session(session, data); -} - - -static const switch_application_interface_t speak_application_interface = { - /*.interface_name */ "speak", - /*.application_function */ speak_function, - /* long_desc */ "Speak text to a channel via the tts interface", - /* short_desc */ "Speak text", - /* syntax */ "||", - /* flags */ SAF_NONE, -}; - -static const switch_application_interface_t record_application_interface = { - /*.interface_name */ "record", - /*.application_function */ record_function, - /* long_desc */ "Record a file from the channels input", - /* short_desc */ "Record File", - /* syntax */ " [+time_limit_ms]", - /* flags */ SAF_NONE, - &speak_application_interface -}; - - -static const switch_application_interface_t record_session_application_interface = { - /*.interface_name */ "record_session", - /*.application_function */ record_session_function, - /* long_desc */ "Starts a background recording of the entire session", - /* short_desc */ "Record Session", - /* syntax */ "", - /* flags */ SAF_NONE, - &record_application_interface -}; - - -static const switch_application_interface_t stop_record_session_application_interface = { - /*.interface_name */ "stop_record_session", - /*.application_function */ stop_record_session_function, - /* long_desc */ "Stops a background recording of the entire session", - /* short_desc */ "Stop Record Session", - /* syntax */ "", - /* flags */ SAF_NONE, - &record_session_application_interface -}; - -static const switch_application_interface_t playback_application_interface = { - /*.interface_name */ "playback", - /*.application_function */ playback_function, - /* long_desc */ "Playback a file to the channel", - /* short_desc */ "Playback File", - /* syntax */ "", - /* flags */ SAF_NONE, - /*.next */ &stop_record_session_application_interface -}; - -static const switch_loadable_module_interface_t mod_playback_module_interface = { - /*.module_name = */ modname, - /*.endpoint_interface = */ NULL, - /*.timer_interface = */ NULL, - /*.dialplan_interface = */ NULL, - /*.codec_interface = */ NULL, - /*.application_interface */ &playback_application_interface -}; - -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) -{ - - /* connect my internal structure to the blank pointer passed to me */ - *module_interface = &mod_playback_module_interface; - - - /* indicate that the module should continue to be loaded */ - return SWITCH_STATUS_SUCCESS; -} - -/* 'switch_module_runtime' will start up in a thread by itself just by having it exist -if it returns anything but SWITCH_STATUS_TERM it will be called again automaticly -*/ - - -//switch_status_t switch_module_runtime(void) - -/* For Emacs: - * Local Variables: - * mode:c - * indent-tabs-mode:t - * tab-width:4 - * c-basic-offset:4 - * End: - * For VIM: - * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: - */ diff --git a/src/mod/applications/mod_playback/mod_playback.vcproj b/src/mod/applications/mod_playback/mod_playback.vcproj deleted file mode 100644 index d4e1302b5a..0000000000 --- a/src/mod/applications/mod_playback/mod_playback.vcproj +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mod/applications/mod_rss/mod_rss.c b/src/mod/applications/mod_rss/mod_rss.c index 23fde4b161..c694f08bd6 100644 --- a/src/mod/applications/mod_rss/mod_rss.c +++ b/src/mod/applications/mod_rss/mod_rss.c @@ -31,7 +31,8 @@ */ #include -static const char modname[] = "mod_rss"; +SWITCH_MODULE_LOAD_FUNCTION(mod_rss_load); +SWITCH_MODULE_DEFINITION(mod_rss, mod_rss_load, NULL, NULL); typedef enum { SFLAG_INSTRUCT = (1 << 0), @@ -635,7 +636,7 @@ static switch_loadable_module_interface_t rss_module_interface = { }; -SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +SWITCH_MODULE_LOAD_FUNCTION(mod_rss_load) { /* connect my internal structure to the blank pointer passed to me */ *module_interface = &rss_module_interface; diff --git a/w32/Setup/Setup.vdproj b/w32/Setup/Setup.vdproj index e063348fd2..6e23f1b1e7 100644 --- a/w32/Setup/Setup.vdproj +++ b/w32/Setup/Setup.vdproj @@ -21,18 +21,228 @@ } "Entry" { + "MsmKey" = "8:_0F091427EEA0245FBA87474748D35ABD" + "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F" "OwnerKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F" + "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_FB1B9FBDC3294F1C96DAC4246C013C22" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_F84240319757424DB1C58AD0AD420127" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_E763C699DF0948B6984DDEB96A2DFD06" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_D7EC5795A9C645AC8E129C2EE6D461ED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_D6F0F5845FAD4707975CE012A33CD607" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_D0BB09AFB8D94B76918F0EE85BCCAD0A" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_C81AC700C1BC4A55B98DF12C0CBAFD6F" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_C105055EE271471A999CE7022E617EB7" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_AD2EB44FE6D548F2A8DA4F9F2CE817AC" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_87768631363249B2B301143C193612F7" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_7358123D2D064AD1BC517911A8B23D1B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_6E5C001E7A314DCEA0A4BF52BF74BCAD" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_684D96FA2BDD46909367E651099D8C4E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_5A636BB90F7F4B86ACB8839EA2C899AA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_3E37631016BC45B2B672FE23257D542B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "OwnerKey" = "8:_2814E641538B42EFA83525986A9D5AC1" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_2814E641538B42EFA83525986A9D5AC1" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -63,126 +273,18 @@ } "Entry" { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_3E37631016BC45B2B672FE23257D542B" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_BB649A2C1ABE4895859025B09A240323" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_A944ADCEDF884574A23F7BA5420A6BA1" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_327123955D614480BF2995F2C39195DD" - "OwnerKey" = "8:_2814E641538B42EFA83525986A9D5AC1" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_329D8DAE6C01FCF026E9DFB48B932203" "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_35FACDFFDDB943568B7588D14D0513A7" + "OwnerKey" = "8:_27200676A75147D0BB7FA5500BB31A6D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_3E37631016BC45B2B672FE23257D542B" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -201,6 +303,18 @@ } "Entry" { + "MsmKey" = "8:_525E8ED430D44113995AB8FBF1945569" + "OwnerKey" = "8:_548996CD77304E3598846F122E79431A" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_548996CD77304E3598846F122E79431A" + "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -219,7 +333,7 @@ } "Entry" { - "MsmKey" = "8:_69EB1A147CC2428435BDCA35014C96E1" + "MsmKey" = "8:_6A4CAD73F43678BF7C05E8FB41042F74" "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1" "MsmSig" = "8:_UNDEFINED" } @@ -231,12 +345,6 @@ } "Entry" { - "MsmKey" = "8:_72A8732C0C0C4D0EAAE89DBB82073335" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_7358123D2D064AD1BC517911A8B23D1B" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -268,12 +376,6 @@ "Entry" { "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825" - "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825" "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1" "MsmSig" = "8:_UNDEFINED" } @@ -285,24 +387,18 @@ } "Entry" { + "MsmKey" = "8:_8BDB1C76D7153C0CC909D697582518E3" + "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_91BA2668F87764F53188E93BC8D363D7" "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_98CF7609810C41BABC219DFBA0A6075D" - "OwnerKey" = "8:_327123955D614480BF2995F2C39195DD" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_9A293E8A356A4959BB6E541B7DC213CD" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_A0D5F714A0F94250A1C39603B699AB82" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -339,6 +435,24 @@ } "Entry" { + "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41" + "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41" + "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41" + "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -357,6 +471,12 @@ } "Entry" { + "MsmKey" = "8:_BB7F62033A5B7A961202771F5A4E4995" + "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_C105055EE271471A999CE7022E617EB7" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -417,12 +537,6 @@ } "Entry" { - "MsmKey" = "8:_E4BCD553B2054B0F8BC67428E1A11674" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_E763C699DF0948B6984DDEB96A2DFD06" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -648,6 +762,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0F091427EEA0245FBA87474748D35ABD" + { + "SourcePath" = "8:js32.dll" + "TargetName" = "8:js32.dll" + "Tag" = "8:" + "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1273F63008CF585CA0E063E436B4646F" { "SourcePath" = "8:iphlpapi.dll" @@ -688,10 +822,10 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_69EB1A147CC2428435BDCA35014C96E1" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6A4CAD73F43678BF7C05E8FB41042F74" { - "SourcePath" = "8:libsqlite.dll" - "TargetName" = "8:libsqlite.dll" + "SourcePath" = "8:libteletone.dll" + "TargetName" = "8:libteletone.dll" "Tag" = "8:" "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF" "Condition" = "8:" @@ -704,7 +838,7 @@ "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" - "Exclude" = "11:TRUE" + "Exclude" = "11:FALSE" "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } @@ -744,7 +878,27 @@ "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" - "Exclude" = "11:TRUE" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8BDB1C76D7153C0CC909D697582518E3" + { + "SourcePath" = "8:libapr.dll" + "TargetName" = "8:libapr.dll" + "Tag" = "8:" + "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } @@ -784,7 +938,7 @@ "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" - "Exclude" = "11:TRUE" + "Exclude" = "11:FALSE" "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } @@ -828,6 +982,46 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_ADA22D44BCDEBA509E09A5D4C155AA41" + { + "SourcePath" = "8:ODBC32.dll" + "TargetName" = "8:ODBC32.dll" + "Tag" = "8:" + "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BB7F62033A5B7A961202771F5A4E4995" + { + "SourcePath" = "8:libaprutil.dll" + "TargetName" = "8:libaprutil.dll" + "Tag" = "8:" + "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D7E82DD20D5B47395F635480C8E3A1D3" { "SourcePath" = "8:FreeSwitch.dll" @@ -1610,7 +1804,7 @@ } "MergeModule" { - "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_327123955D614480BF2995F2C39195DD" + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_27200676A75147D0BB7FA5500BB31A6D" { "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:TRUE" @@ -1624,7 +1818,7 @@ "Feature" = "8:" "IsolateTo" = "8:" } - "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_98CF7609810C41BABC219DFBA0A6075D" + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_35FACDFFDDB943568B7588D14D0513A7" { "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:TRUE" @@ -1638,6 +1832,34 @@ "Feature" = "8:" "IsolateTo" = "8:" } + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_525E8ED430D44113995AB8FBF1945569" + { + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:TRUE" + "SourcePath" = "8:policy_8_0_microsoft_vc80_crt_x86.msm" + "Properties" + { + } + "LanguageId" = "3:0" + "Exclude" = "11:FALSE" + "Folder" = "8:" + "Feature" = "8:" + "IsolateTo" = "8:" + } + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_548996CD77304E3598846F122E79431A" + { + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:TRUE" + "SourcePath" = "8:Microsoft_VC80_CRT_x86.msm" + "Properties" + { + } + "LanguageId" = "3:0" + "Exclude" = "11:FALSE" + "Folder" = "8:" + "Feature" = "8:" + "IsolateTo" = "8:" + } } "ProjectOutput" { @@ -2005,34 +2227,6 @@ { } } - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_72A8732C0C0C4D0EAAE89DBB82073335" - { - "SourcePath" = "8:..\\..\\debug\\mod\\mod_playback.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - "ProjectOutputGroupRegister" = "3:1" - "OutputConfiguration" = "8:" - "OutputGroupCanonicalName" = "8:Built" - "OutputProjectGuid" = "8:{78100236-7CEA-4948-96CC-E8ED3160329C}" - "ShowKeyOutput" = "11:TRUE" - "ExcludeFilters" - { - } - } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7358123D2D064AD1BC517911A8B23D1B" { "SourcePath" = "8:..\\..\\debug\\mod\\mod_softtimer.dll" @@ -2117,37 +2311,9 @@ { } } - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9A293E8A356A4959BB6E541B7DC213CD" - { - "SourcePath" = "8:..\\..\\debug\\mod\\mod_bridgecall.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - "ProjectOutputGroupRegister" = "3:1" - "OutputConfiguration" = "8:" - "OutputGroupCanonicalName" = "8:Built" - "OutputProjectGuid" = "8:{E1794405-29D4-466D-9BE3-DD2344C2A663}" - "ShowKeyOutput" = "11:TRUE" - "ExcludeFilters" - { - } - } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A0D5F714A0F94250A1C39603B699AB82" { - "SourcePath" = "8:..\\..\\libs\\libteletone\\Debug\\libteletone.dll" + "SourcePath" = "8:..\\..\\debug\\libteletone.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF" @@ -2175,7 +2341,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A944ADCEDF884574A23F7BA5420A6BA1" { - "SourcePath" = "8:..\\..\\debug\\libsqlite.dll" + "SourcePath" = "8:..\\..\\libs\\win32\\sqlite\\Debug\\libsqlite.lib" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF" @@ -2287,7 +2453,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_BB649A2C1ABE4895859025B09A240323" { - "SourcePath" = "8:..\\..\\debug\\libpcre.dll" + "SourcePath" = "8:..\\..\\libs\\win32\\pcre\\Debug\\libpcre.lib" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF" @@ -2509,34 +2675,6 @@ { } } - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E4BCD553B2054B0F8BC67428E1A11674" - { - "SourcePath" = "8:..\\..\\debug\\mod\\mod_echo.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - "ProjectOutputGroupRegister" = "3:1" - "OutputConfiguration" = "8:" - "OutputGroupCanonicalName" = "8:Built" - "OutputProjectGuid" = "8:{0E2C6395-13B9-46E5-9264-8859D346018D}" - "ShowKeyOutput" = "11:TRUE" - "ExcludeFilters" - { - } - } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E763C699DF0948B6984DDEB96A2DFD06" { "SourcePath" = "8:..\\..\\debug\\mod\\mod_PortAudio.dll"