Freeswitch-svn
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- 12151 discussions
[commit] r1884 - in freeswitch/trunk: src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/asr_tts/mod_cepstral w32/Setup w32/vsnet
by Freeswitch SVN 14 Jul '06
by Freeswitch SVN 14 Jul '06
14 Jul '06
Author: mikej
Date: Fri Jul 14 15:55:55 2006
New Revision: 1884
Modified:
freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj
freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
freeswitch/trunk/w32/Setup/Setup.vdproj
freeswitch/trunk/w32/vsnet/Freeswitch.sln
Log:
Fix win32 Build
Update win32 Setup
add show calls and show channels
Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c Fri Jul 14 15:55:55 2006
@@ -207,10 +207,16 @@
) {
sprintf (sql, "select * from interfaces where type = '%s'", cmd);
}
+ else if ( !strcmp(cmd,"calls")) {
+ sprintf (sql, "select * from calls", cmd);
+ }
+ else if ( !strcmp(cmd,"channels")) {
+ sprintf (sql, "select * from channels", cmd);
+ }
else {
stream->write_function(stream, "Invalid interfaces type!\n");
stream->write_function(stream, "Example:\n");
- stream->write_function(stream, "show <blank>|codec|application|api|dialplan|file|timer\n");
+ stream->write_function(stream, "show <blank>|codec|application|api|dialplan|file|timer|calls|channels\n");
return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Jul 14 15:55:55 2006
@@ -475,7 +475,7 @@
switch_mutex_lock(imember->audio_in_mutex);
/* if there is audio in the resample buffer it takes precedence over the other data */
if (imember->mux_resampler && switch_buffer_inuse(imember->resample_buffer) >= bytes) {
- imember->read = switch_buffer_read(imember->resample_buffer, imember->frame, bytes);
+ imember->read = (uint32_t)switch_buffer_read(imember->resample_buffer, imember->frame, bytes);
ready++;
} else if ((imember->read = (uint32_t)switch_buffer_read(imember->audio_buffer, imember->frame, imember->buflen))) {
/* If the caller is not at the right sample rate resample him to suit and buffer accordingly */
@@ -492,7 +492,7 @@
len = imember->mux_resampler->to_len * 2;
switch_buffer_write(imember->resample_buffer, out, len);
if (switch_buffer_inuse(imember->resample_buffer) >= bytes) {
- imember->read = switch_buffer_read(imember->resample_buffer, imember->frame, bytes);
+ imember->read = (uint32_t)switch_buffer_read(imember->resample_buffer, imember->frame, bytes);
ready++;
}
} else {
@@ -895,7 +895,7 @@
}
} else {
switch_buffer_t *use_buffer = NULL;
- uint32_t mux_used = switch_buffer_inuse(member->mux_buffer);
+ uint32_t mux_used = (uint32_t)switch_buffer_inuse(member->mux_buffer);
//uint32_t res_used = member->mux_resampler ? switch_buffer_inuse(member->resample_buffer) : 0;
if (mux_used) {
Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj (original)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj Fri Jul 14 15:55:55 2006
@@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="8.00"
Name="mod_dptools"
- ProjectGUID="{78100236-7CEA-4948-96CC-E8ED3160329C}"
+ ProjectGUID="{B5881A85-FE70-4F64-8607-2CAAE52669C6}"
RootNamespace="mod_dptools"
Keyword="Win32Proj"
>
Modified: freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
==============================================================================
--- freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original)
+++ freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Fri Jul 14 15:55:55 2006
@@ -196,7 +196,7 @@
{
cepstral_t *cepstral;
const char *fp = "file:";
- int len = strlen(fp);
+ int len = (int)strlen(fp);
assert(sh != NULL);
cepstral = sh->private_info;
Modified: freeswitch/trunk/w32/Setup/Setup.vdproj
==============================================================================
--- freeswitch/trunk/w32/Setup/Setup.vdproj (original)
+++ freeswitch/trunk/w32/Setup/Setup.vdproj Fri Jul 14 15:55:55 2006
@@ -15,6 +15,12 @@
{
"Entry"
{
+ "MsmKey" = "8:_045CD868C425A84E27B5FD7DA5097B9D"
+ "OwnerKey" = "8:_1F21CF104E90499E8F6BBD2136A52884"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_10A983E896C14286A47AAB6A8570EE6D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -22,35 +28,137 @@
"Entry"
{
"MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F"
- "OwnerKey" = "8:_EC68A140B58841DA9B9172BAFA5BEC63"
+ "OwnerKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F"
- "OwnerKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
+ "OwnerKey" = "8:_EC68A140B58841DA9B9172BAFA5BEC63"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_17FA3245B71F43BB9B2D995E3EE91051"
- "OwnerKey" = "8:_833354487E2841DDA7386EB492D2F21C"
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_21821613411D407DA8261A0175360475"
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_1F21CF104E90499E8F6BBD2136A52884"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_EE46A936D4054F7286909355BF2AE5D7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_E72980C058C646E0A7FAF423EB57EA6E"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_6753CE9F969E43A2A50ADEC0245F58A4"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_1BD78CCD666E4BB5BE1168302E9613A2"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2BA713204D6542A9A0DE1694316EAB1A"
+ "MsmKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
+ "MsmKey" = "8:_1F21CF104E90499E8F6BBD2136A52884"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_2BF556351045DED0C85B527171346CCD"
+ "OwnerKey" = "8:_C81AC700C1BC4A55B98DF12C0CBAFD6F"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -99,157 +207,163 @@
}
"Entry"
{
- "MsmKey" = "8:_6226FB225DD41E9D0065BE7F6180D40E"
- "OwnerKey" = "8:_EE46A936D4054F7286909355BF2AE5D7"
+ "MsmKey" = "8:_6753CE9F969E43A2A50ADEC0245F58A4"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6226FB225DD41E9D0065BE7F6180D40E"
- "OwnerKey" = "8:_6753CE9F969E43A2A50ADEC0245F58A4"
+ "MsmKey" = "8:_684D96FA2BDD46909367E651099D8C4E"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6753CE9F969E43A2A50ADEC0245F58A4"
+ "MsmKey" = "8:_6E5C001E7A314DCEA0A4BF52BF74BCAD"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_684D96FA2BDD46909367E651099D8C4E"
+ "MsmKey" = "8:_72A8732C0C0C4D0EAAE89DBB82073335"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6E5C001E7A314DCEA0A4BF52BF74BCAD"
+ "MsmKey" = "8:_7358123D2D064AD1BC517911A8B23D1B"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_72A8732C0C0C4D0EAAE89DBB82073335"
+ "MsmKey" = "8:_83062AA0528B40A59202BC7668F7132A"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7358123D2D064AD1BC517911A8B23D1B"
+ "MsmKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
+ "MsmKey" = "8:_87768631363249B2B301143C193612F7"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
+ "MsmKey" = "8:_8C45B56F84B700A7F349973FF46D5249"
+ "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
+ "MsmKey" = "8:_8C45B56F84B700A7F349973FF46D5249"
+ "OwnerKey" = "8:_C105055EE271471A999CE7022E617EB7"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
+ "MsmKey" = "8:_8C45B56F84B700A7F349973FF46D5249"
+ "OwnerKey" = "8:_EC68A140B58841DA9B9172BAFA5BEC63"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_6753CE9F969E43A2A50ADEC0245F58A4"
+ "MsmKey" = "8:_95DF1AC815283888345057940530D1C0"
+ "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_EE46A936D4054F7286909355BF2AE5D7"
+ "MsmKey" = "8:_9A293E8A356A4959BB6E541B7DC213CD"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_E72980C058C646E0A7FAF423EB57EA6E"
+ "MsmKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
+ "MsmKey" = "8:_A55F680EDBCDA3F18A46EF6CFC14A1D5"
+ "OwnerKey" = "8:_E72980C058C646E0A7FAF423EB57EA6E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
+ "MsmKey" = "8:_AD2EB44FE6D548F2A8DA4F9F2CE817AC"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
+ "MsmKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87768631363249B2B301143C193612F7"
+ "MsmKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_95DF1AC815283888345057940530D1C0"
+ "MsmKey" = "8:_B4DB166A7F41DC9EF58E277B90CC68AB"
+ "OwnerKey" = "8:_E72980C058C646E0A7FAF423EB57EA6E"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B4DB166A7F41DC9EF58E277B90CC68AB"
"OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9A293E8A356A4959BB6E541B7DC213CD"
+ "MsmKey" = "8:_C105055EE271471A999CE7022E617EB7"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
+ "MsmKey" = "8:_C81AC700C1BC4A55B98DF12C0CBAFD6F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_AD2EB44FE6D548F2A8DA4F9F2CE817AC"
+ "MsmKey" = "8:_D0BB09AFB8D94B76918F0EE85BCCAD0A"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
+ "MsmKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B4DB166A7F41DC9EF58E277B90CC68AB"
- "OwnerKey" = "8:_E72980C058C646E0A7FAF423EB57EA6E"
+ "MsmKey" = "8:_D4F501ED67B41C5D55B4698A2B50E1BF"
+ "OwnerKey" = "8:_6753CE9F969E43A2A50ADEC0245F58A4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B4DB166A7F41DC9EF58E277B90CC68AB"
- "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
+ "MsmKey" = "8:_D4F501ED67B41C5D55B4698A2B50E1BF"
+ "OwnerKey" = "8:_EE46A936D4054F7286909355BF2AE5D7"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_C81AC700C1BC4A55B98DF12C0CBAFD6F"
+ "MsmKey" = "8:_D6F0F5845FAD4707975CE012A33CD607"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
@@ -279,6 +393,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_E91E659A30834790A7F1C1669AE92172"
+ "OwnerKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_EC68A140B58841DA9B9172BAFA5BEC63"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -291,6 +411,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -404,6 +530,26 @@
}
"File"
{
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_045CD868C425A84E27B5FD7DA5097B9D"
+ {
+ "SourcePath" = "8:swift.dll"
+ "TargetName" = "8:swift.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:TRUE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1273F63008CF585CA0E063E436B4646F"
{
"SourcePath" = "8:iphlpapi.dll"
@@ -424,12 +570,12 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_21821613411D407DA8261A0175360475"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1BD78CCD666E4BB5BE1168302E9613A2"
{
- "SourcePath" = "8:..\\..\\conf\\freeswitch.conf"
- "TargetName" = "8:freeswitch.conf"
+ "SourcePath" = "8:..\\..\\libs\\apr-iconv\\Release\\libapriconv-1.dll"
+ "TargetName" = "8:libapriconv-1.dll"
"Tag" = "8:"
- "Folder" = "8:_06036160035041E38F4179E6DB6380C5"
+ "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -444,6 +590,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2BF556351045DED0C85B527171346CCD"
+ {
+ "SourcePath" = "8:libpcre.dll"
+ "TargetName" = "8:libpcre.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+ "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}:_36D88C9590054DCA8F6ABAE6F05C2FD6"
{
"SourcePath" = "8:..\\..\\src\\mod\\languages\\mod_perl\\fs_perl.pm"
@@ -504,12 +670,12 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6226FB225DD41E9D0065BE7F6180D40E"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_83062AA0528B40A59202BC7668F7132A"
{
- "SourcePath" = "8:perl58.dll"
- "TargetName" = "8:perl58.dll"
+ "SourcePath" = "8:..\\..\\conf\\freeswitch.xml"
+ "TargetName" = "8:freeswitch.xml"
"Tag" = "8:"
- "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+ "Folder" = "8:_06036160035041E38F4179E6DB6380C5"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -521,6 +687,26 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8C45B56F84B700A7F349973FF46D5249"
+ {
+ "SourcePath" = "8:sqlite.dll"
+ "TargetName" = "8:sqlite.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+ "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:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@@ -544,6 +730,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A55F680EDBCDA3F18A46EF6CFC14A1D5"
+ {
+ "SourcePath" = "8:sqlite.dll"
+ "TargetName" = "8:sqlite.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+ "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}:_B4DB166A7F41DC9EF58E277B90CC68AB"
{
"SourcePath" = "8:libapr-1.dll"
@@ -564,6 +770,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D4F501ED67B41C5D55B4698A2B50E1BF"
+ {
+ "SourcePath" = "8:perl58.dll"
+ "TargetName" = "8:perl58.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+ "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:TRUE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
}
"FileType"
{
@@ -583,7 +809,7 @@
"{9EF0B969-E518-4E46-987F-47570745A589}:_06036160035041E38F4179E6DB6380C5"
{
"Name" = "8:conf"
- "AlwaysCreate" = "11:FALSE"
+ "AlwaysCreate" = "11:TRUE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_A95348FEFEF74A31B7C08B4201803CBD"
@@ -594,7 +820,7 @@
"{9EF0B969-E518-4E46-987F-47570745A589}:_1C97B9EB8E024EE0AA5282BFBE006743"
{
"Name" = "8:db"
- "AlwaysCreate" = "11:FALSE"
+ "AlwaysCreate" = "11:TRUE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_9E6DFB10CEE3456A82E42EA3751A0A25"
@@ -605,7 +831,7 @@
"{9EF0B969-E518-4E46-987F-47570745A589}:_27A96C279A6A44E8A2FDF8D51CD86E29"
{
"Name" = "8:perl"
- "AlwaysCreate" = "11:FALSE"
+ "AlwaysCreate" = "11:TRUE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_0FB0CAEBEEBE4B9D8C6EC760DB498632"
@@ -616,7 +842,7 @@
"{9EF0B969-E518-4E46-987F-47570745A589}:_B6E020422C78490D96F78DB0E1A3F521"
{
"Name" = "8:mod"
- "AlwaysCreate" = "11:FALSE"
+ "AlwaysCreate" = "11:TRUE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_09F2F8E16214428B84412E224BAA50C1"
@@ -624,6 +850,17 @@
{
}
}
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_ED8FE817D10341CEBA2571A43326876F"
+ {
+ "Name" = "8:log"
+ "AlwaysCreate" = "11:TRUE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_673CC6A86CF64CC2BD137EF46A3AD379"
+ "Folders"
+ {
+ }
+ }
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_47AC7012FEA1483795137E042EAAA132"
@@ -664,7 +901,7 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:Freeswitch"
"ProductCode" = "8:{317A9CC0-40DC-4803-A13E-5937F05F9D2E}"
- "PackageCode" = "8:{35F86401-29E6-4EA4-9362-D05B6C91426B}"
+ "PackageCode" = "8:{5010843A-818C-4EA9-8C62-3433E128CC5D}"
"UpgradeCode" = "8:{8080E3A5-7ADD-4173-8913-BDA439D1C8DD}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
@@ -1193,11 +1430,11 @@
}
"MergeModule"
{
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_17FA3245B71F43BB9B2D995E3EE91051"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_180AE5B7EEED44D098233F52DEDDF9A1"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
- "SourcePath" = "8:policy_8_0_microsoft_vc80_debugcrt_x86.msm"
+ "SourcePath" = "8:Microsoft_VC80_DebugCRT_x86.msm"
"Properties"
{
}
@@ -1207,11 +1444,11 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_833354487E2841DDA7386EB492D2F21C"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_E91E659A30834790A7F1C1669AE92172"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
- "SourcePath" = "8:Microsoft_VC80_DebugCRT_x86.msm"
+ "SourcePath" = "8:policy_8_0_microsoft_vc80_debugcrt_x86.msm"
"Properties"
{
}
@@ -1252,9 +1489,9 @@
{
}
}
- "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2BA713204D6542A9A0DE1694316EAB1A"
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1CFB1AB04E024FC993E0EB4859DF8408"
{
- "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_dialplan_demo.dll"
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_dingaling.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -1274,12 +1511,68 @@
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
- "OutputProjectGuid" = "8:{2988EB83-785F-45D4-8731-8E1E4345177E}"
+ "OutputProjectGuid" = "8:{FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1F21CF104E90499E8F6BBD2136A52884"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_cepstral.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:{692F6330-4D87-4C82-81DF-40DB5892636E}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2814E641538B42EFA83525986A9D5AC1"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_ilbc.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:{D3EC0AFF-76FC-4210-A825-9A17410660A3}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
{
"SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_zeroconf.dll"
@@ -1700,6 +1993,34 @@
{
}
}
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_conference.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:{C24FB505-05D7-4319-8485-7540B44C8603}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B20769E090034897B32E3EA4EC1BA8A0"
{
"SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_gsm.dll"
@@ -1728,9 +2049,37 @@
{
}
}
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C105055EE271471A999CE7022E617EB7"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_commands.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:{30A5B29C-983E-4580-9FD0-D647CCDCC7EB}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C81AC700C1BC4A55B98DF12C0CBAFD6F"
{
- "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_pcre.dll"
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_dialplan_xml.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -1756,6 +2105,90 @@
{
}
}
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D0BB09AFB8D94B76918F0EE85BCCAD0A"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_dptools.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:{B5881A85-FE70-4F64-8607-2CAAE52669C6}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D1269F1E49D442CF8EAC96C23E60325D"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_xml_rpc.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:{CBEC7225-0C21-4DA8-978E-1F158F8AD950}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D6F0F5845FAD4707975CE012A33CD607"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_rss.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:{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D7EC5795A9C645AC8E129C2EE6D461ED"
{
"SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_event_multicast.dll"
@@ -1898,7 +2331,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EE46A936D4054F7286909355BF2AE5D7"
{
- "SourcePath" = "8:..\\vsnet\\Debug\\Perl\\fs_perl.dll"
+ "SourcePath" = "8:..\\vsnet\\Debug\\perl\\fs_perl.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_27A96C279A6A44E8A2FDF8D51CD86E29"
@@ -1919,6 +2352,34 @@
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
+ {
+ "SourcePath" = "8:..\\vsnet\\Debug\\mod\\mod_console.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:{1C453396-D912-4213-89FD-9B489162B7B5}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
Modified: freeswitch/trunk/w32/vsnet/Freeswitch.sln
==============================================================================
--- freeswitch/trunk/w32/vsnet/Freeswitch.sln (original)
+++ freeswitch/trunk/w32/vsnet/Freeswitch.sln Fri Jul 14 15:55:55 2006
@@ -213,6 +213,11 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dptools", "..\..\src\mod\applications\mod_dptools\mod_dptools.vcproj", "{B5881A85-FE70-4F64-8607-2CAAE52669C6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -363,6 +368,10 @@
{C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.Build.0 = Debug|Win32
{C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.ActiveCfg = Release|Win32
{C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.Build.0 = Release|Win32
+ {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Debug|Win32.Build.0 = Debug|Win32
+ {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Win32.ActiveCfg = Release|Win32
+ {B5881A85-FE70-4F64-8607-2CAAE52669C6}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -386,6 +395,7 @@
{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}
{3A5B9131-F20C-4A85-9447-6C1610941CEE} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{FE3540C5-3303-46E0-A69E-D92F775687F1} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
1
0
[commit] r1883 - in freeswitch/trunk/src: . mod/applications/mod_conference mod/codecs/mod_speex mod/endpoints/mod_exosip
by Freeswitch SVN 14 Jul '06
by Freeswitch SVN 14 Jul '06
14 Jul '06
Author: anthm
Date: Fri Jul 14 15:42:09 2006
New Revision: 1883
Modified:
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c
freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c
freeswitch/trunk/src/switch_loadable_module.c
Log:
tweaks for wideband tests
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Jul 14 15:42:09 2006
@@ -151,6 +151,7 @@
switch_memory_pool_t *pool;
switch_buffer_t *audio_buffer;
switch_buffer_t *mux_buffer;
+ switch_buffer_t *resample_buffer;
uint32_t flags;
switch_mutex_t *flag_mutex;
switch_mutex_t *audio_in_mutex;
@@ -165,6 +166,9 @@
int32_t energy_level;
int32_t volume_in_level;
int32_t volume_out_level;
+ uint32_t native_rate;
+ switch_audio_resampler_t *mux_resampler;
+ switch_audio_resampler_t *read_resampler;
confernce_file_node_t *fnode;
conference_relationship_t *relationships;
struct conference_member *next;
@@ -461,7 +465,7 @@
/* Read one frame of audio from each member channel and save it for redistribution */
for (imember = conference->members; imember; imember = imember->next) {
if (imember->buflen) {
- memset(imember->frame, 255, bytes);
+ memset(imember->frame, 255, imember->buflen);
} else {
imember->frame = switch_core_alloc(imember->pool, bytes);
imember->mux_frame = switch_core_alloc(imember->pool, bytes);
@@ -469,12 +473,35 @@
}
switch_mutex_lock(imember->audio_in_mutex);
- if ((imember->read = (uint32_t)switch_buffer_read(imember->audio_buffer, imember->frame, imember->buflen))) {
- ready++; /* Tally of how many channels had data */
+ /* if there is audio in the resample buffer it takes precedence over the other data */
+ if (imember->mux_resampler && switch_buffer_inuse(imember->resample_buffer) >= bytes) {
+ imember->read = switch_buffer_read(imember->resample_buffer, imember->frame, bytes);
+ ready++;
+ } else if ((imember->read = (uint32_t)switch_buffer_read(imember->audio_buffer, imember->frame, imember->buflen))) {
+ /* If the caller is not at the right sample rate resample him to suit and buffer accordingly */
+ if (imember->mux_resampler) {
+ int16_t *bptr = (int16_t *) imember->frame;
+ int16_t out[1024];
+ int len = (int) imember->read;
+
+ imember->mux_resampler->from_len = switch_short_to_float(bptr, imember->mux_resampler->from, (int) len / 2);
+ imember->mux_resampler->to_len = switch_resample_process(imember->mux_resampler, imember->mux_resampler->from,
+ imember->mux_resampler->from_len, imember->mux_resampler->to,
+ imember->mux_resampler->to_size, 0);
+ switch_float_to_short(imember->mux_resampler->to, out, len);
+ len = imember->mux_resampler->to_len * 2;
+ switch_buffer_write(imember->resample_buffer, out, len);
+ if (switch_buffer_inuse(imember->resample_buffer) >= bytes) {
+ imember->read = switch_buffer_read(imember->resample_buffer, imember->frame, bytes);
+ ready++;
+ }
+ } else {
+ ready++; /* Tally of how many channels had data */
+ }
}
switch_mutex_unlock(imember->audio_in_mutex);
}
-
+
/* If a file or speech event is being played */
if (conference->fnode) {
/* Lead in time */
@@ -550,9 +577,11 @@
if (imember->read > imember->len) {
imember->len = imember->read;
}
-
+
bptr = (int16_t *) imember->frame;
muxed = (int16_t *) omember->mux_frame;
+
+
for (x = 0; x < imember->read / 2; x++) {
int32_t z = muxed[x] + bptr[x];
@@ -865,22 +894,29 @@
}
}
} else {
- if (switch_buffer_inuse(member->mux_buffer)) {
+ switch_buffer_t *use_buffer = NULL;
+ uint32_t mux_used = switch_buffer_inuse(member->mux_buffer);
+ //uint32_t res_used = member->mux_resampler ? switch_buffer_inuse(member->resample_buffer) : 0;
+
+ if (mux_used) {
/* Flush the output buffer and write all the data (presumably muxed) back to the channel */
switch_mutex_lock(member->audio_out_mutex);
write_frame.data = data;
- while ((write_frame.datalen = (uint32_t)switch_buffer_read(member->mux_buffer, write_frame.data, bytes))) {
+ use_buffer = member->mux_buffer;
+
+ while ((write_frame.datalen = (uint32_t)switch_buffer_read(use_buffer, write_frame.data, bytes))) {
if (write_frame.datalen && switch_test_flag(member, MFLAG_CAN_HEAR)) {
write_frame.samples = write_frame.datalen / 2;
-
+
/* Check for output volume adjustments */
if (member->volume_out_level) {
switch_change_sln_volume(write_frame.data, write_frame.samples, member->volume_out_level);
}
-
+
switch_core_session_write_frame(member->session, &write_frame, -1, 0);
}
}
+
switch_mutex_unlock(member->audio_out_mutex);
} else {
switch_core_timer_next(&timer);
@@ -2226,13 +2262,18 @@
}
}
+
+
/* Save the original read codec. */
read_codec = switch_core_session_get_read_codec(session);
+ member.native_rate = read_codec->implementation->samples_per_second;
/* Setup a Signed Linear codec for reading audio. */
if (switch_core_codec_init(&member.read_codec,
"L16",
+ //conference->rate,
read_codec->implementation->samples_per_second,
+ //conference->interval,
read_codec->implementation->microseconds_per_frame / 1000,
1,
SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
@@ -2247,11 +2288,30 @@
goto done;
}
+ if (read_codec->implementation->samples_per_second != conference->rate) {
+ switch_audio_resampler_t **resampler = read_codec->implementation->samples_per_second > conference->rate ?
+ &member.read_resampler : &member.mux_resampler;
+
+ switch_resample_create(resampler,
+ read_codec->implementation->samples_per_second,
+ read_codec->implementation->samples_per_second * 20,
+ conference->rate,
+ conference->rate * 20,
+ switch_core_session_get_pool(session));
+
+ /* Setup an audio buffer for the resampled audio */
+ if (switch_buffer_create(pool, &member.resample_buffer, CONF_BUFFER_SIZE) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
+ goto done;
+ }
+ }
/* Setup a Signed Linear codec for writing audio. */
if (switch_core_codec_init(&member.write_codec,
"L16",
- read_codec->implementation->samples_per_second,
- read_codec->implementation->microseconds_per_frame / 1000,
+ conference->rate,
+ //read_codec->implementation->samples_per_second,
+ conference->interval,
+ //read_codec->implementation->microseconds_per_frame / 1000,
1,
SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
NULL,
@@ -2444,7 +2504,19 @@
/* skip frames that are not actual media or when we are muted or silent */
if ((talking || energy_level == 0) && switch_test_flag(member, MFLAG_CAN_SPEAK)) {
-
+ if (member->read_resampler) {
+ int16_t *bptr = (int16_t *) read_frame->data;
+ int len = (int) read_frame->datalen;;
+
+ member->read_resampler->from_len = switch_short_to_float(bptr, member->read_resampler->from, (int) len / 2);
+ member->read_resampler->to_len = switch_resample_process(member->read_resampler, member->read_resampler->from,
+ member->read_resampler->from_len, member->read_resampler->to,
+ member->read_resampler->to_size, 0);
+ switch_float_to_short(member->read_resampler->to, read_frame->data, len);
+ len = member->read_resampler->to_len * 2;
+ read_frame->datalen = len;
+ read_frame->samples = len / 2;
+ }
/* Check for input volume adjustments */
if (member->volume_in_level) {
switch_change_sln_volume(read_frame->data, read_frame->datalen / 2, member->volume_in_level);
Modified: freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c
==============================================================================
--- freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c (original)
+++ freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c Fri Jul 14 15:42:09 2006
@@ -208,7 +208,6 @@
*encoded_data_len = speex_bits_write(&context->encoder_bits, (char *) encoded_data, context->encoder_frame_size);
speex_bits_reset(&context->encoder_bits);
-
return SWITCH_STATUS_SUCCESS;
}
@@ -231,9 +230,10 @@
if (*flag & SWITCH_CODEC_FLAG_SILENCE) {
speex_decode_int(context->decoder_state, NULL, buf);
} else {
- speex_bits_read_from(&context->decoder_bits, (char *) encoded_data, (int) *decoded_data_len);
+ speex_bits_read_from(&context->decoder_bits, (char *) encoded_data, (int) encoded_data_len);
speex_decode_int(context->decoder_state, &context->decoder_bits, buf);
}
+ *decoded_data_len = codec->implementation->bytes_per_frame;
return SWITCH_STATUS_SUCCESS;
}
@@ -276,7 +276,7 @@
/*.nanoseconds_per_frame */ 20000,
/*.samples_per_frame */ 640,
/*.bytes_per_frame */ 1280,
- /*.encoded_bytes_per_frame */ 1280,
+ /*.encoded_bytes_per_frame */ 43,
/*.number_of_channels */ 1,
/*.pref_frames_per_packet */ 1,
/*.max_frames_per_packet */ 1,
@@ -295,7 +295,7 @@
/*.nanoseconds_per_frame */ 20000,
/*.samples_per_frame */ 320,
/*.bytes_per_frame */ 640,
- /*.encoded_bytes_per_frame */ 640,
+ /*.encoded_bytes_per_frame */ 43,
/*.number_of_channels */ 1,
/*.pref_frames_per_packet */ 1,
/*.max_frames_per_packet */ 1,
@@ -308,14 +308,14 @@
static const switch_codec_implementation_t speex_8k_implementation = {
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
- /*.ianacode */ 98,
+ /*.ianacode */ 97,
/*.iananame */ "speex",
/*.samples_per_second */ 8000,
/*.bits_per_second */ 128000,
/*.nanoseconds_per_frame */ 20000,
/*.samples_per_frame */ 160,
/*.bytes_per_frame */ 320,
- /*.encoded_bytes_per_frame */ 320,
+ /*.encoded_bytes_per_frame */ 29,
/*.number_of_channels */ 1,
/*.pref_frames_per_packet */ 1,
/*.max_frames_per_packet */ 1,
Modified: freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c Fri Jul 14 15:42:09 2006
@@ -1007,7 +1007,7 @@
struct callback_t cbt = {0};
char buf[1024];
char *host = NULL;
-
+
if (db) {
udb = db;
} else {
@@ -1028,6 +1028,7 @@
} else {
snprintf(val, len, "select url from sip_registrations where key='%s'", key);
}
+
switch_core_db_exec(udb, val, find_callback, &cbt, &errmsg);
if (errmsg) {
Modified: freeswitch/trunk/src/switch_loadable_module.c
==============================================================================
--- freeswitch/trunk/src/switch_loadable_module.c (original)
+++ freeswitch/trunk/src/switch_loadable_module.c Fri Jul 14 15:42:09 2006
@@ -662,28 +662,43 @@
const switch_codec_implementation_t *imp;
for (x = 0; x < preflen; x++) {
- char *name, *p, buf[128];
- uint32_t interval = 0, len = 0;
+ char *cur, *last = NULL, *next = NULL, *name, *p, buf[256];
+ uint32_t interval = 0, rate = 0;
- name = prefs[x];
- if ((p = strchr(name, '@'))) {
- p++;
- len = (uint32_t)(p-name);
+ switch_copy_string(buf, prefs[x], sizeof(buf));
+ last = name = next = cur = buf;
- if (len > sizeof(buf)) {
- len = sizeof(buf);
- }
- switch_copy_string(buf, name, len);
- *(buf + len) = '\0';
- interval = atoi(p);
- name = buf;
- }
+ for (;;) {
+ if (!next) {
+ break;
+ }
+ if ((p = strchr(next, '@'))) {
+ *p++ = '\0';
+ }
+ next = p;
+ if (cur != name) {
+ if (strchr(cur, 'i')) {
+ interval = atoi(cur);
+ } else if (strchr(cur, 'k')) {
+ rate = atoi(cur);
+ }
+ }
+ cur = next;
+ }
if ((codec_interface = switch_loadable_module_get_codec_interface(name)) != 0 ) {
for (imp = codec_interface->implementations; imp; imp = imp->next) {
- if (!interval) {
- array[i++] = imp;
- } else if ((uint32_t)(imp->microseconds_per_frame / 1000) == interval) {
+ uint8_t match = 1;
+
+ if (interval && (uint32_t)(imp->microseconds_per_frame / 1000) != interval) {
+ match = 0;
+ }
+
+ if (match && rate && (uint32_t)imp->samples_per_second != rate) {
+ match = 0;
+ }
+
+ if (match) {
array[i++] = imp;
}
}
1
0
14 Jul '06
Author: anthm
Date: Fri Jul 14 15:20:54 2006
New Revision: 1882
Modified:
freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c
Log:
add fmtp to sip
Modified: freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c Fri Jul 14 15:20:54 2006
@@ -352,8 +352,10 @@
sprintf(dbuf, "%u", tech_pvt->te);
sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(dbuf));
sdp_add_codec(tech_pvt->sdp_config, SWITCH_CODEC_TYPE_AUDIO, tech_pvt->te, "telephone-event", 8000, 0);
- sprintf(dbuf, "%u telephone-event/8000\na=fmtp %u 0-15", tech_pvt->te, tech_pvt->te);
+ sprintf(dbuf, "%u telephone-event/8000", tech_pvt->te);
sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(dbuf));
+ sprintf(dbuf, "%u 0-15", tech_pvt->te);
+ sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "fmtp", osip_strdup(dbuf));
if (tech_pvt->num_codecs > 0) {
int i, lastcode = -1;
@@ -1306,11 +1308,6 @@
sdp_message_init(&tech_pvt->local_sdp);
- sprintf(dbuf, "%u", tech_pvt->te);
- sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(dbuf));
- sdp_add_codec(tech_pvt->sdp_config, SWITCH_CODEC_TYPE_AUDIO, tech_pvt->te, "telephone-event", 8000, 0);
- sprintf(dbuf, "%u telephone-event/8000\na=fmtp %u 0-15", tech_pvt->te, tech_pvt->te);
- sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(dbuf));
if (tech_pvt->num_codecs > 0) {
int i;
@@ -1318,8 +1315,12 @@
for (i = 0; i < tech_pvt->num_codecs; i++) {
for (imp = tech_pvt->codecs[i]; imp; imp = imp->next) {
- sdp_add_codec(tech_pvt->sdp_config, tech_pvt->codecs[i]->codec_type, imp->ianacode, imp->iananame,
- imp->samples_per_second, 0);
+ sdp_add_codec(tech_pvt->sdp_config,
+ tech_pvt->codecs[i]->codec_type,
+ imp->ianacode,
+ imp->iananame,
+ imp->samples_per_second,
+ 0);
}
}
@@ -1335,6 +1336,7 @@
sdp_message_to_str(remote_sdp, &remote_sdp_str);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "REMOTE SDP:\n%s", remote_sdp_str);
+
mline = 0;
while (0 == osip_rfc3264_match(tech_pvt->sdp_config, remote_sdp, audio_tab, video_tab, t38_tab, app_tab, mline)) {
if (audio_tab[0] == NULL && video_tab[0] == NULL && t38_tab[0] == NULL && app_tab[0] == NULL) {
@@ -1355,6 +1357,18 @@
done:
free(remote_sdp_str);
+
+
+ sprintf(dbuf, "%u", tech_pvt->te);
+ sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(dbuf));
+ sdp_add_codec(tech_pvt->sdp_config, SWITCH_CODEC_TYPE_AUDIO, tech_pvt->te, "telephone-event", 8000, 0);
+
+ sprintf(dbuf, "%u telephone-event/8000", tech_pvt->te);
+ sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(dbuf));
+ sprintf(dbuf, "%u 0-15", tech_pvt->te);
+ sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "fmtp", osip_strdup(dbuf));
+
+
sdp_message_o_origin_set(tech_pvt->local_sdp, "FreeSWITCH", "0", "0", "IN", "IP4", ip);
sdp_message_s_name_set(tech_pvt->local_sdp, "SIP Call");
1
0
14 Jul '06
Author: anthm
Date: Fri Jul 14 14:31:23 2006
New Revision: 1881
Modified:
freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c
Log:
add fmtp to sip
Modified: freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_exosip/mod_exosip.c Fri Jul 14 14:31:23 2006
@@ -352,10 +352,9 @@
sprintf(dbuf, "%u", tech_pvt->te);
sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(dbuf));
sdp_add_codec(tech_pvt->sdp_config, SWITCH_CODEC_TYPE_AUDIO, tech_pvt->te, "telephone-event", 8000, 0);
- sprintf(dbuf, "%u telephone-event/8000", tech_pvt->te);
+ sprintf(dbuf, "%u telephone-event/8000\na=fmtp %u 0-15", tech_pvt->te, tech_pvt->te);
sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(dbuf));
-
if (tech_pvt->num_codecs > 0) {
int i, lastcode = -1;
@@ -1310,11 +1309,9 @@
sprintf(dbuf, "%u", tech_pvt->te);
sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(dbuf));
sdp_add_codec(tech_pvt->sdp_config, SWITCH_CODEC_TYPE_AUDIO, tech_pvt->te, "telephone-event", 8000, 0);
- sprintf(dbuf, "%u telephone-event/8000", tech_pvt->te);
+ sprintf(dbuf, "%u telephone-event/8000\na=fmtp %u 0-15", tech_pvt->te, tech_pvt->te);
sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(dbuf));
-
-
if (tech_pvt->num_codecs > 0) {
int i;
static const switch_codec_implementation_t *imp = NULL;
@@ -1597,7 +1594,8 @@
char *url;
char *expires = NULL;
osip_message_t *tmp = NULL;
- char sql[1024] = "";
+ char buf[1024];
+ char *sql = NULL;
time_t exptime;
switch_event_t *s_event;
@@ -1625,16 +1623,16 @@
}
- if (!find_reg_url(globals.db, je->request->from->url->username, sql, sizeof(sql))) {
- snprintf(sql, sizeof(sql), "insert into sip_registrations values ('%s','%s','%s',%ld)",
- je->request->from->url->username,
- je->request->from->url->host,
- url, exptime);
+ if (!find_reg_url(globals.db, je->request->from->url->username, buf, sizeof(buf))) {
+ sql = switch_core_db_mprintf("insert into sip_registrations values ('%s','%s','%s',%ld)",
+ je->request->from->url->username,
+ je->request->from->url->host,
+ url, exptime);
} else {
- snprintf(sql, sizeof(sql), "update sip_registrations set url='%s', expires=%ld where key = '%s'",
- url,
- exptime,
- je->request->from->url->username);
+ sql = switch_core_db_mprintf("update sip_registrations set url='%s', expires=%ld where key = '%s'",
+ url,
+ exptime,
+ je->request->from->url->username);
}
@@ -1644,9 +1642,13 @@
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "expires", "%ld", exptime);
switch_event_fire(&s_event);
}
- switch_mutex_lock(globals.reg_mutex);
- switch_core_db_persistant_execute(globals.db, sql, 25);
- switch_mutex_unlock(globals.reg_mutex);
+ if (sql) {
+ switch_mutex_lock(globals.reg_mutex);
+ switch_core_db_persistant_execute(globals.db, sql, 25);
+ switch_core_db_free(sql);
+ sql = NULL;
+ switch_mutex_unlock(globals.reg_mutex);
+ }
eXosip_lock();
if (eXosip_message_build_answer(je->tid, 200, &tmp) < 0) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "build_answer failed\n");
1
0
Author: sphere
Date: Fri Jul 14 13:31:51 2006
New Revision: 1880
Added:
freeswitch/branches/kevinmccauley/
Log:
Creating empty folder for kevinmccauley
1
0
Author: sphere
Date: Fri Jul 14 12:35:43 2006
New Revision: 1879
Added:
freeswitch/branches/cyberlord/
Log:
Creating empty folder for cyberlord
1
0
Author: sphere
Date: Fri Jul 14 10:15:45 2006
New Revision: 1878
Added:
freeswitch/branches/maczhan/
Log:
Creating empty folder for maczhan
1
0
[commit] r1877 - in freeswitch/branches/cypromis/trunk: . conf src src/include src/mod/applications/mod_dptools src/mod/codecs/mod_speex
by Freeswitch SVN 14 Jul '06
by Freeswitch SVN 14 Jul '06
14 Jul '06
Author: cypromis
Date: Fri Jul 14 09:45:10 2006
New Revision: 1877
Added:
freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/
freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/mod_dptools.c
freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj
Modified:
freeswitch/branches/cypromis/trunk/ (props changed)
freeswitch/branches/cypromis/trunk/conf/freeswitch.xml
freeswitch/branches/cypromis/trunk/modules.conf.in
freeswitch/branches/cypromis/trunk/src/include/switch.h
freeswitch/branches/cypromis/trunk/src/include/switch_ivr.h
freeswitch/branches/cypromis/trunk/src/mod/codecs/mod_speex/mod_speex.c
freeswitch/branches/cypromis/trunk/src/switch_channel.c
freeswitch/branches/cypromis/trunk/src/switch_core.c
freeswitch/branches/cypromis/trunk/src/switch_ivr.c
Log:
merge to trunk
r11632@free (orig r1203): michal | 2006-07-13 10:42:34 +0200
upgrade to trunk
r11627@free (orig r1857): anthm | 2006-07-13 03:06:06 +0200
fix sql stmts
r11655@free (orig r1204): michal | 2006-07-14 13:46:03 +0200
merge to trunk
r11635@free (orig r1864): anthm | 2006-07-13 15:20:20 +0200
add mod_dptools, for set variable and sleep from the dialplan
r11638@free (orig r1867): anthm | 2006-07-13 19:58:28 +0200
add effective callerid variables
r11642@free (orig r1871): anthm | 2006-07-14 00:14:52 +0200
tweak speex
r11647@free (orig r1876): anthm | 2006-07-14 14:17:01 +0200
dox
Modified: freeswitch/branches/cypromis/trunk/conf/freeswitch.xml
==============================================================================
--- freeswitch/branches/cypromis/trunk/conf/freeswitch.xml (original)
+++ freeswitch/branches/cypromis/trunk/conf/freeswitch.xml Fri Jul 14 09:45:10 2006
@@ -36,6 +36,7 @@
<!-- Applications -->
<load module="mod_bridgecall"/>
<load module="mod_echo"/>
+ <load module="mod_dptools"/>
<!-- <load module="mod_ivrtest"/> -->
<load module="mod_playback"/>
<load module="mod_commands"/>
Modified: freeswitch/branches/cypromis/trunk/modules.conf.in
==============================================================================
--- freeswitch/branches/cypromis/trunk/modules.conf.in (original)
+++ freeswitch/branches/cypromis/trunk/modules.conf.in Fri Jul 14 09:45:10 2006
@@ -1,5 +1,6 @@
loggers/mod_console
loggers/mod_syslog
+applications/mod_dptools
applications/mod_commands
applications/mod_conference
applications/mod_bridgecall
Modified: freeswitch/branches/cypromis/trunk/src/include/switch.h
==============================================================================
--- freeswitch/branches/cypromis/trunk/src/include/switch.h (original)
+++ freeswitch/branches/cypromis/trunk/src/include/switch.h Fri Jul 14 09:45:10 2006
@@ -100,19 +100,19 @@
*
* Additionally, the experimental external modules make use of several external modules:
*
- * mod_Exosip:
+ * mod_exosip:
* - eXoSIP (http://savannah.nongnu.org/projects/exosip/)
*
- * mod_iaxchan:
+ * mod_iax:
* - libiax2 (forked from http://iaxclient.sourceforge.net/)
*
- * mod_speexcodec
+ * mod_speex
* - libspeex (http://www.speex.org/)
*
* mod_portaudio
* - portaudio (http://www.portaudio.com/)
*
- * mod_woomerachan
+ * mod_woomera
* - openh323/woomera (http://www.voxgratia.org/)
*
* mod_xmpp_event
Modified: freeswitch/branches/cypromis/trunk/src/include/switch_ivr.h
==============================================================================
--- freeswitch/branches/cypromis/trunk/src/include/switch_ivr.h (original)
+++ freeswitch/branches/cypromis/trunk/src/include/switch_ivr.h Fri Jul 14 09:45:10 2006
@@ -50,6 +50,15 @@
* @{
*/
+
+/*!
+ \brief Wait for time to pass for a specified number of milliseconds
+ \param session the session to wait for.
+ \param ms the number of milliseconds
+ \return SWITCH_STATUS_SUCCESS if the channel is still up
+*/
+SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session, uint32_t ms);
+
/*!
\brief Wait for DTMF digits calling a pluggable callback function when digits are collected.
\param session the session to read.
Added: freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- (empty file)
+++ freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/mod_dptools.c Fri Jul 14 09:45:10 2006
@@ -0,0 +1,111 @@
+/*
+ * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ * Copyright (C) 2005/2006, Anthony Minessale II <anthmct(a)yahoo.com>
+ *
+ * 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 <anthmct(a)yahoo.com>
+ * Portions created by the Initial Developer are Copyright (C)
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Anthony Minessale II <anthmct(a)yahoo.com>
+ *
+ *
+ * mod_dptools.c -- Raw Audio File Streaming Application Module
+ *
+ */
+#include <switch.h>
+
+static const char modname[] = "mod_dptools";
+
+
+static void sleep_function(switch_core_session_t *session, char *data)
+{
+
+ if (switch_strlen_zero(data)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No timeout specified.\n");
+ } else {
+ uint32_t ms = atoi(data);
+ switch_ivr_sleep(session, ms);
+ }
+}
+
+static void set_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ char *var, *val = NULL;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ if (switch_strlen_zero(data)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No variable name specified.\n");
+ } else {
+ var = switch_core_session_strdup(session, data);
+ val = strchr(var, '=');
+
+ if (val) {
+ *val++ = '\0';
+ if (!strcmp(val, "_UNDEF_")) {
+ val = NULL;
+ }
+ }
+
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SET [%s]=[%s]\n", var, val ? val : "UNDEF");
+ switch_channel_set_variable(channel, var, val);
+ }
+}
+
+static const switch_application_interface_t set_application_interface = {
+ /*.interface_name */ "set",
+ /*.application_function */ set_function
+};
+
+static const switch_application_interface_t sleep_application_interface = {
+ /*.interface_name */ "sleep",
+ /*.application_function */ sleep_function,
+ NULL,NULL,NULL,
+ &set_application_interface
+};
+
+static const switch_loadable_module_interface_t mod_dptools_module_interface = {
+ /*.module_name = */ modname,
+ /*.endpoint_interface = */ NULL,
+ /*.timer_interface = */ NULL,
+ /*.dialplan_interface = */ NULL,
+ /*.codec_interface = */ NULL,
+ /*.application_interface */ &sleep_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_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)
Added: freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj
==============================================================================
--- (empty file)
+++ freeswitch/branches/cypromis/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj Fri Jul 14 09:45:10 2006
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="mod_dptools"
+ ProjectGUID="{78100236-7CEA-4948-96CC-E8ED3160329C}"
+ RootNamespace="mod_dptools"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)include";"$(InputDir)..\..\..\..\libs\include""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_dptools.dll"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\..\w32\vsnet\$(OutDir)"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/mod_dptools.pdb"
+ SubSystem="2"
+ ImportLibrary="$(OutDir)/mod_dptools.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)include";"$(InputDir)..\..\..\..\libs\include""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_dptools.dll"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\..\w32\vsnet\$(OutDir)"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(OutDir)/mod_dptools.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\mod_dptools.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Modified: freeswitch/branches/cypromis/trunk/src/mod/codecs/mod_speex/mod_speex.c
==============================================================================
--- freeswitch/branches/cypromis/trunk/src/mod/codecs/mod_speex/mod_speex.c (original)
+++ freeswitch/branches/cypromis/trunk/src/mod/codecs/mod_speex/mod_speex.c Fri Jul 14 09:45:10 2006
@@ -269,7 +269,7 @@
/* Registration */
static const switch_codec_implementation_t speex_32k_implementation = {
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
- /*.ianacode */ 98,
+ /*.ianacode */ 102,
/*.iananame */ "speex",
/*.samples_per_second */ 32000,
/*.bits_per_second */ 512000,
@@ -288,7 +288,7 @@
static const switch_codec_implementation_t speex_16k_implementation = {
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
- /*.ianacode */ 98,
+ /*.ianacode */ 100,
/*.iananame */ "speex",
/*.samples_per_second */ 16000,
/*.bits_per_second */ 256000,
Modified: freeswitch/branches/cypromis/trunk/src/switch_channel.c
==============================================================================
--- freeswitch/branches/cypromis/trunk/src/switch_channel.c (original)
+++ freeswitch/branches/cypromis/trunk/src/switch_channel.c Fri Jul 14 09:45:10 2006
@@ -339,11 +339,18 @@
SWITCH_DECLARE(switch_status_t) switch_channel_set_variable(switch_channel_t *channel, char *varname, char *value)
{
assert(channel != NULL);
- switch_core_hash_delete(channel->variables, varname);
- switch_core_hash_insert_dup(channel->variables, varname, switch_core_session_strdup(channel->session, value));
+ if (varname) {
+ switch_core_hash_delete(channel->variables, varname);
+ if (value) {
+ switch_core_hash_insert_dup(channel->variables, varname, switch_core_session_strdup(channel->session, value));
+ } else {
+ switch_core_hash_delete(channel->variables, varname);
+ }
+ return SWITCH_STATUS_SUCCESS;
+ }
- return SWITCH_STATUS_SUCCESS;
+ return SWITCH_STATUS_FALSE;
}
SWITCH_DECLARE(int) switch_channel_test_flag(switch_channel_t *channel, switch_channel_flag_t flags)
Modified: freeswitch/branches/cypromis/trunk/src/switch_core.c
==============================================================================
--- freeswitch/branches/cypromis/trunk/src/switch_core.c (original)
+++ freeswitch/branches/cypromis/trunk/src/switch_core.c Fri Jul 14 09:45:10 2006
@@ -965,6 +965,8 @@
switch_io_event_hook_outgoing_channel_t *ptr;
switch_status_t status = SWITCH_STATUS_FALSE;
const switch_endpoint_interface_t *endpoint_interface;
+ switch_channel_t *channel = NULL;
+ switch_caller_profile_t *outgoing_profile = caller_profile;
if ((endpoint_interface = switch_loadable_module_get_endpoint_interface(endpoint_name)) == 0) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not locate channel type %s\n", endpoint_name);
@@ -972,9 +974,36 @@
}
if (endpoint_interface->io_routines->outgoing_channel) {
- if ((status =
- endpoint_interface->io_routines->outgoing_channel(session, caller_profile,
- new_session, pool)) == SWITCH_STATUS_SUCCESS) {
+ if (session) {
+ char *ecaller_id_name = NULL, *ecaller_id_number = NULL;
+ channel = switch_core_session_get_channel(session);
+
+ ecaller_id_name = switch_channel_get_variable(channel, "effective_caller_id_name");
+ ecaller_id_number = switch_channel_get_variable(channel, "effective_caller_id_number");
+
+ if (ecaller_id_name || ecaller_id_number) {
+ if (caller_profile) {
+ outgoing_profile = switch_caller_profile_new(switch_core_session_get_pool(session),
+ caller_profile->username,
+ caller_profile->dialplan,
+ ecaller_id_name ? ecaller_id_name : caller_profile->caller_id_name,
+ ecaller_id_number ? ecaller_id_number : caller_profile->caller_id_number,
+ caller_profile->network_addr,
+ caller_profile->ani,
+ caller_profile->ani2,
+ caller_profile->rdnis,
+ caller_profile->source,
+ caller_profile->context,
+ caller_profile->destination_number);
+
+ }
+ }
+ }
+
+ if ((status = endpoint_interface->io_routines->outgoing_channel(session,
+ outgoing_profile,
+ new_session,
+ pool)) == SWITCH_STATUS_SUCCESS) {
if (session) {
for (ptr = session->event_hooks.outgoing_channel; ptr; ptr = ptr->next) {
if ((status = ptr->outgoing_channel(session, caller_profile, *new_session)) != SWITCH_STATUS_SUCCESS) {
@@ -985,13 +1014,16 @@
} else {
return status;
}
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not locate outgoing channel interface for %s\n", endpoint_name);
+ return SWITCH_STATUS_FALSE;
}
if (*new_session) {
switch_caller_profile_t *profile = NULL, *peer_profile = NULL, *cloned_profile = NULL;
- switch_channel_t *channel = NULL, *peer_channel = NULL;
+ switch_channel_t *peer_channel = NULL;
- if (session && (channel = switch_core_session_get_channel(session)) != 0) {
+ if (session && channel) {
profile = switch_channel_get_caller_profile(channel);
}
if ((peer_channel = switch_core_session_get_channel(*new_session)) != 0) {
@@ -2680,7 +2712,7 @@
if (switch_core_db_persistant_execute(runtime.event_db, sql, 25) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "SQL exec error! [%s]\n", sql);
}
- free(sql);
+ switch_core_db_free(sql);
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "SQL thread ending\n");
break;
@@ -2727,33 +2759,26 @@
static void core_event_handler(switch_event_t *event)
{
- char buf[1024];
char *sql = NULL;
-
-
switch (event->event_id) {
-
case SWITCH_EVENT_CHANNEL_DESTROY:
- snprintf(buf, sizeof(buf), "delete from channels where uuid='%s'", switch_event_get_header(event, "unique-id"));
- sql = buf;
+ switch_core_db_mprintf("delete from channels where uuid='%s'", switch_event_get_header(event, "unique-id"));
break;
case SWITCH_EVENT_CHANNEL_CREATE:
- snprintf(buf, sizeof(buf), "insert into channels (uuid,created,name,state) values('%s','%s','%s','%s')",
- switch_event_get_header(event, "unique-id"),
- switch_event_get_header(event, "event-date-local"),
- switch_event_get_header(event, "channel-name"),
- switch_event_get_header(event, "channel-state")
- );
- sql = buf;
+ sql = switch_core_db_mprintf("insert into channels (uuid,created,name,state) values('%q','%q','%q','%q')",
+ switch_event_get_header(event, "unique-id"),
+ switch_event_get_header(event, "event-date-local"),
+ switch_event_get_header(event, "channel-name"),
+ switch_event_get_header(event, "channel-state")
+ );
break;
case SWITCH_EVENT_CHANNEL_EXECUTE:
- snprintf(buf, sizeof(buf), "update channels set application='%s',application_data='%s' where uuid='%s'",
- switch_event_get_header(event, "application"),
- switch_event_get_header(event, "application-data"),
- switch_event_get_header(event, "unique-id")
- );
- sql = buf;
+ sql = switch_core_db_mprintf("update channels set application='%q',application_data='%q' where uuid='%q'",
+ switch_event_get_header(event, "application"),
+ switch_event_get_header(event, "application-data"),
+ switch_event_get_header(event, "unique-id")
+ );
break;
case SWITCH_EVENT_CHANNEL_STATE:
if (event) {
@@ -2765,60 +2790,54 @@
case CS_DONE:
break;
case CS_RING:
- snprintf(buf, sizeof(buf), "update channels set state='%s',cid_name='%s',cid_num='%s',ip_addr='%s',dest='%s'"
- "where uuid='%s'",
- switch_event_get_header(event, "channel-state"),
- switch_event_get_header(event, "caller-caller-id-name"),
- switch_event_get_header(event, "caller-caller-id-number"),
- switch_event_get_header(event, "caller-network-addr"),
- switch_event_get_header(event, "caller-destination-number"),
- switch_event_get_header(event, "unique-id")
- );
- sql = buf;
+ sql = switch_core_db_mprintf("update channels set state='%s',cid_name='%q',cid_num='%q',ip_addr='%s',dest='%q'"
+ "where uuid='%s'",
+ switch_event_get_header(event, "channel-state"),
+ switch_event_get_header(event, "caller-caller-id-name"),
+ switch_event_get_header(event, "caller-caller-id-number"),
+ switch_event_get_header(event, "caller-network-addr"),
+ switch_event_get_header(event, "caller-destination-number"),
+ switch_event_get_header(event, "unique-id")
+ );
break;
default:
- snprintf(buf, sizeof(buf), "update channels set state='%s' where uuid='%s'",
- switch_event_get_header(event, "channel-state"),
- switch_event_get_header(event, "unique-id")
- );
- sql = buf;
+ sql = switch_core_db_mprintf("update channels set state='%s' where uuid='%s'",
+ switch_event_get_header(event, "channel-state"),
+ switch_event_get_header(event, "unique-id")
+ );
break;
}
}
break;
case SWITCH_EVENT_CHANNEL_BRIDGE:
- snprintf(buf, sizeof(buf), "insert into calls values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",
- switch_event_get_header(event, "event-calling-function"),
- switch_event_get_header(event, "caller-caller-id-name"),
- switch_event_get_header(event, "caller-caller-id-number"),
- switch_event_get_header(event, "caller-destination-number"),
- switch_event_get_header(event, "caller-channel-name"),
- switch_event_get_header(event, "caller-unique-id"),
- switch_event_get_header(event, "originatee-caller-id-name"),
- switch_event_get_header(event, "originatee-caller-id-number"),
- switch_event_get_header(event, "originatee-destination-number"),
- switch_event_get_header(event, "originatee-channel-name"),
- switch_event_get_header(event, "originatee-unique-id")
- );
- sql = buf;
+ sql = switch_core_db_mprintf("insert into calls values ('%s','%q','%q','%q','%q','%s','%q','%q','%q','%q','%s')",
+ switch_event_get_header(event, "event-calling-function"),
+ switch_event_get_header(event, "caller-caller-id-name"),
+ switch_event_get_header(event, "caller-caller-id-number"),
+ switch_event_get_header(event, "caller-destination-number"),
+ switch_event_get_header(event, "caller-channel-name"),
+ switch_event_get_header(event, "caller-unique-id"),
+ switch_event_get_header(event, "originatee-caller-id-name"),
+ switch_event_get_header(event, "originatee-caller-id-number"),
+ switch_event_get_header(event, "originatee-destination-number"),
+ switch_event_get_header(event, "originatee-channel-name"),
+ switch_event_get_header(event, "originatee-unique-id")
+ );
break;
case SWITCH_EVENT_CHANNEL_UNBRIDGE:
- snprintf(buf, sizeof(buf), "delete from calls where caller_uuid='%s'", switch_event_get_header(event, "caller-unique-id"));
- sql = buf;
+ sql = switch_core_db_mprintf("delete from calls where caller_uuid='%s'", switch_event_get_header(event, "caller-unique-id"));
break;
case SWITCH_EVENT_SHUTDOWN:
- snprintf(buf, sizeof(buf), "delete from channels;delete from interfaces;delete from calls");
- sql = buf;
+ sql = switch_core_db_mprintf("delete from channels;delete from interfaces;delete from calls");
break;
case SWITCH_EVENT_LOG:
return;
case SWITCH_EVENT_MODULE_LOAD:
- snprintf(buf, sizeof(buf), "insert into interfaces (type,name) values('%s','%s')",
- switch_event_get_header(event, "type"),
- switch_event_get_header(event, "name")
- );
- sql = buf;
+ sql = switch_core_db_mprintf("insert into interfaces (type,name) values('%q','%q')",
+ switch_event_get_header(event, "type"),
+ switch_event_get_header(event, "name")
+ );
break;
default:
//buf[0] = '\0';
@@ -2828,7 +2847,8 @@
}
if (sql) {
- switch_queue_push(runtime.sql_queue, strdup(sql));
+ switch_queue_push(runtime.sql_queue, sql);
+ sql = NULL;
}
}
Modified: freeswitch/branches/cypromis/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/branches/cypromis/trunk/src/switch_ivr.c (original)
+++ freeswitch/branches/cypromis/trunk/src/switch_ivr.c Fri Jul 14 09:45:10 2006
@@ -34,6 +34,46 @@
static const switch_state_handler_table_t audio_bridge_peer_state_handlers;
+SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session, uint32_t ms)
+{
+ switch_channel_t *channel;
+ switch_status_t status = SWITCH_STATUS_SUCCESS;
+ switch_time_t start, now, done = switch_time_now() + (ms * 1000);
+ switch_frame_t *read_frame;
+ int32_t left, elapsed;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ start = switch_time_now();
+
+ for(;;) {
+ now = switch_time_now();
+ elapsed = (int32_t)((now - start) / 1000);
+ left = ms - elapsed;
+
+ if (!switch_channel_ready(channel)) {
+ status = SWITCH_STATUS_FALSE;
+ break;
+ }
+
+ if (now > done || left <= 0) {
+ break;
+ }
+
+ if (switch_channel_test_flag(channel, CF_SERVICE)) {
+ switch_yield(1000);
+ } else {
+ status = switch_core_session_read_frame(session, &read_frame, left, 0);
+ if (!SWITCH_READ_ACCEPTABLE(status)) {
+ break;
+ }
+ }
+ }
+
+
+ return status;
+}
SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_callback(switch_core_session_t *session,
switch_input_callback_function_t input_callback,
1
0
Author: anthm
Date: Fri Jul 14 08:17:01 2006
New Revision: 1876
Modified:
freeswitch/trunk/src/include/switch.h
Log:
dox
Modified: freeswitch/trunk/src/include/switch.h
==============================================================================
--- freeswitch/trunk/src/include/switch.h (original)
+++ freeswitch/trunk/src/include/switch.h Fri Jul 14 08:17:01 2006
@@ -100,19 +100,19 @@
*
* Additionally, the experimental external modules make use of several external modules:
*
- * mod_Exosip:
+ * mod_exosip:
* - eXoSIP (http://savannah.nongnu.org/projects/exosip/)
*
- * mod_iaxchan:
+ * mod_iax:
* - libiax2 (forked from http://iaxclient.sourceforge.net/)
*
- * mod_speexcodec
+ * mod_speex
* - libspeex (http://www.speex.org/)
*
* mod_portaudio
* - portaudio (http://www.portaudio.com/)
*
- * mod_woomerachan
+ * mod_woomera
* - openh323/woomera (http://www.voxgratia.org/)
*
* mod_xmpp_event
1
0
Author: sphere
Date: Thu Jul 13 23:26:48 2006
New Revision: 1875
Added:
freeswitch/branches/xxx_liubin/
Log:
Creating empty folder for xxx_liubin
1
0