[Freeswitch-svn] [commit] r1904 - in freeswitch/branches/stkn: . conf libs/libteletone/src src src/include src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/asr_tts/mod_cepstral src/mod/codecs/mod_speex src/mod/endpoints/mod_dingaling src/mod/endpoints/mod_exosip src/mod/languages/mod_spidermonkey w32/Setup w32/vsnet
Freeswitch SVN
stkn at freeswitch.org
Mon Jul 17 10:29:51 EDT 2006
Author: stkn
Date: Mon Jul 17 10:29:50 2006
New Revision: 1904
Added:
freeswitch/branches/stkn/src/mod/applications/mod_dptools/
- copied from r1903, /freeswitch/trunk/src/mod/applications/mod_dptools/
freeswitch/branches/stkn/src/mod/applications/mod_dptools/mod_dptools.c
- copied unchanged from r1903, /freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
freeswitch/branches/stkn/src/mod/applications/mod_dptools/mod_dptools.vcproj
- copied unchanged from r1903, /freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj
Modified:
freeswitch/branches/stkn/conf/freeswitch.xml
freeswitch/branches/stkn/libs/libteletone/src/libteletone_generate.c
freeswitch/branches/stkn/modules.conf.in
freeswitch/branches/stkn/src/include/switch.h
freeswitch/branches/stkn/src/include/switch_ivr.h
freeswitch/branches/stkn/src/mod/applications/mod_commands/mod_commands.c
freeswitch/branches/stkn/src/mod/applications/mod_conference/mod_conference.c
freeswitch/branches/stkn/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
freeswitch/branches/stkn/src/mod/codecs/mod_speex/mod_speex.c
freeswitch/branches/stkn/src/mod/endpoints/mod_dingaling/mod_dingaling.c
freeswitch/branches/stkn/src/mod/endpoints/mod_exosip/mod_exosip.c
freeswitch/branches/stkn/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj
freeswitch/branches/stkn/src/switch_channel.c
freeswitch/branches/stkn/src/switch_core.c
freeswitch/branches/stkn/src/switch_ivr.c
freeswitch/branches/stkn/src/switch_loadable_module.c
freeswitch/branches/stkn/w32/Setup/Setup.vdproj
freeswitch/branches/stkn/w32/vsnet/Freeswitch.sln
freeswitch/branches/stkn/w32/vsnet/GetLibs.vbs
Log:
Merge changes from trunk
Modified: freeswitch/branches/stkn/conf/freeswitch.xml
==============================================================================
--- freeswitch/branches/stkn/conf/freeswitch.xml (original)
+++ freeswitch/branches/stkn/conf/freeswitch.xml Mon Jul 17 10:29:50 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/stkn/libs/libteletone/src/libteletone_generate.c
==============================================================================
--- freeswitch/branches/stkn/libs/libteletone/src/libteletone_generate.c (original)
+++ freeswitch/branches/stkn/libs/libteletone/src/libteletone_generate.c Mon Jul 17 10:29:50 2006
@@ -30,6 +30,9 @@
*
*/
#include <libteletone.h>
+#define SMAX 32767
+#define SMIN -32768
+#define normalize_to_16bit(n) if (n > SMAX) n = SMAX; else if (n < SMIN) n = SMIN;
@@ -163,6 +166,7 @@
for (i = 0; i < freqlen; i++) {
sample += ((teletone_process_t) 2 * (ts->volume > 0 ? ts->volume : 1) * cos(tones[i] * ts->samples * period));
}
+ normalize_to_16bit(sample);
ts->buffer[ts->samples] = (teletone_audio_t)sample;
for (c = 1; c < ts->channels; c++) {
Modified: freeswitch/branches/stkn/modules.conf.in
==============================================================================
--- freeswitch/branches/stkn/modules.conf.in (original)
+++ freeswitch/branches/stkn/modules.conf.in Mon Jul 17 10:29:50 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/stkn/src/include/switch.h
==============================================================================
--- freeswitch/branches/stkn/src/include/switch.h (original)
+++ freeswitch/branches/stkn/src/include/switch.h Mon Jul 17 10:29:50 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/stkn/src/include/switch_ivr.h
==============================================================================
--- freeswitch/branches/stkn/src/include/switch_ivr.h (original)
+++ freeswitch/branches/stkn/src/include/switch_ivr.h Mon Jul 17 10:29:50 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.
Modified: freeswitch/branches/stkn/src/mod/applications/mod_commands/mod_commands.c
==============================================================================
--- freeswitch/branches/stkn/src/mod/applications/mod_commands/mod_commands.c (original)
+++ freeswitch/branches/stkn/src/mod/applications/mod_commands/mod_commands.c Mon Jul 17 10:29:50 2006
@@ -207,10 +207,16 @@
) {
sprintf (sql, "select * from interfaces where type = '%s'", cmd);
}
+ else if ( !strcmp(cmd,"calls")) {
+ sprintf (sql, "select * from calls");
+ }
+ else if ( !strcmp(cmd,"channels")) {
+ sprintf (sql, "select * from channels");
+ }
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/branches/stkn/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/branches/stkn/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/branches/stkn/src/mod/applications/mod_conference/mod_conference.c Mon Jul 17 10:29:50 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 = (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 */
+ 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 = (uint32_t)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];
@@ -675,129 +704,134 @@
switch_size_t file_sample_len = samples;
char *digit;
char msg[512];
+ switch_event_t *event;
+ if (switch_core_session_dequeue_event(member->session, &event) == SWITCH_STATUS_SUCCESS) {
+ switch_event_destroy(&event);
+ }
+
if (switch_channel_has_dtmf(channel)) {
switch_channel_dequeue_dtmf(channel, dtmf, sizeof(dtmf));
- }
- for (digit = dtmf; *digit; digit++) {
- switch(*digit) {
- case '0':
- if (switch_test_flag(member, MFLAG_CAN_SPEAK)) {
- switch_clear_flag_locked(member, MFLAG_CAN_SPEAK | MFLAG_CAN_HEAR);
- if (member->conference->muted_sound) {
- conference_member_play_file(member, member->conference->muted_sound, 0);
+ for (digit = dtmf; *digit; digit++) {
+ switch(*digit) {
+ case '0':
+ if (switch_test_flag(member, MFLAG_CAN_SPEAK)) {
+ switch_clear_flag_locked(member, MFLAG_CAN_SPEAK | MFLAG_CAN_HEAR);
+ if (member->conference->muted_sound) {
+ conference_member_play_file(member, member->conference->muted_sound, 0);
+ } else {
+ snprintf(msg, sizeof(msg), "Muted");
+ conference_member_say(member->conference, member, msg, 0);
+ }
} else {
- snprintf(msg, sizeof(msg), "Muted");
- conference_member_say(member->conference, member, msg, 0);
+ switch_set_flag_locked(member, MFLAG_CAN_SPEAK);
+ if (member->conference->unmuted_sound) {
+ conference_member_play_file(member, member->conference->unmuted_sound, 0);
+ } else {
+ snprintf(msg, sizeof(msg), "Un-Muted");
+ conference_member_say(member->conference, member, msg, 0);
+ }
}
- } else {
- switch_set_flag_locked(member, MFLAG_CAN_SPEAK);
- if (member->conference->unmuted_sound) {
- conference_member_play_file(member, member->conference->unmuted_sound, 0);
+ break;
+ case '*':
+ if (switch_test_flag(member, MFLAG_CAN_SPEAK)) {
+ switch_clear_flag_locked(member, MFLAG_CAN_SPEAK|MFLAG_CAN_HEAR);
+ if (member->conference->muted_sound) {
+ conference_member_play_file(member, member->conference->muted_sound, 0);
+ } else {
+ snprintf(msg, sizeof(msg), "Muted");
+ conference_member_say(member->conference, member, msg, 0);
+ }
} else {
- snprintf(msg, sizeof(msg), "Un-Muted");
- conference_member_say(member->conference, member, msg, 0);
+ switch_set_flag_locked(member, MFLAG_CAN_SPEAK|MFLAG_CAN_HEAR);
+ if (member->conference->unmuted_sound) {
+ conference_member_play_file(member, member->conference->unmuted_sound, 0);
+ } else {
+ snprintf(msg, sizeof(msg), "UN-Muted");
+ conference_member_say(member->conference, member, msg, 0);
+ }
}
- }
- break;
- case '*':
- if (switch_test_flag(member, MFLAG_CAN_SPEAK)) {
- switch_clear_flag_locked(member, MFLAG_CAN_SPEAK|MFLAG_CAN_HEAR);
- if (member->conference->muted_sound) {
- conference_member_play_file(member, member->conference->muted_sound, 0);
- } else {
- snprintf(msg, sizeof(msg), "Muted");
- conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '9':
+ switch_mutex_lock(member->flag_mutex);
+ member->energy_level += 100;
+ if (member->energy_level > 1200) {
+ member->energy_level = 1200;
}
- } else {
- switch_set_flag_locked(member, MFLAG_CAN_SPEAK|MFLAG_CAN_HEAR);
- if (member->conference->unmuted_sound) {
- conference_member_play_file(member, member->conference->unmuted_sound, 0);
- } else {
- snprintf(msg, sizeof(msg), "UN-Muted");
- conference_member_say(member->conference, member, msg, 0);
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '8':
+ switch_mutex_lock(member->flag_mutex);
+ member->energy_level = member->conference->energy_level;
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '7':
+ switch_mutex_lock(member->flag_mutex);
+ member->energy_level -= 100;
+ if (member->energy_level < 0) {
+ member->energy_level = 0;
}
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '3':
+ switch_mutex_lock(member->flag_mutex);
+ member->volume_out_level++;
+ normalize_volume(member->volume_out_level);
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '2':
+ switch_mutex_lock(member->flag_mutex);
+ member->volume_out_level = 0;
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '1':
+ switch_mutex_lock(member->flag_mutex);
+ member->volume_out_level--;
+ normalize_volume(member->volume_out_level);
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '6':
+ switch_mutex_lock(member->flag_mutex);
+ member->volume_in_level++;
+ normalize_volume(member->volume_in_level);
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '5':
+ switch_mutex_lock(member->flag_mutex);
+ member->volume_in_level = 0;
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '4':
+ switch_mutex_lock(member->flag_mutex);
+ member->volume_in_level--;
+ normalize_volume(member->volume_in_level);
+ switch_mutex_unlock(member->flag_mutex);
+ snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
+ conference_member_say(member->conference, member, msg, 0);
+ break;
+ case '#':
+ switch_clear_flag_locked(member, MFLAG_RUNNING);
+ break;
+ default:
+ break;
}
- break;
- case '9':
- switch_mutex_lock(member->flag_mutex);
- member->energy_level += 100;
- if (member->energy_level > 1200) {
- member->energy_level = 1200;
- }
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '8':
- switch_mutex_lock(member->flag_mutex);
- member->energy_level = member->conference->energy_level;
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '7':
- switch_mutex_lock(member->flag_mutex);
- member->energy_level -= 100;
- if (member->energy_level < 0) {
- member->energy_level = 0;
- }
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '3':
- switch_mutex_lock(member->flag_mutex);
- member->volume_out_level++;
- normalize_volume(member->volume_out_level);
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '2':
- switch_mutex_lock(member->flag_mutex);
- member->volume_out_level = 0;
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '1':
- switch_mutex_lock(member->flag_mutex);
- member->volume_out_level--;
- normalize_volume(member->volume_out_level);
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '6':
- switch_mutex_lock(member->flag_mutex);
- member->volume_in_level++;
- normalize_volume(member->volume_in_level);
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '5':
- switch_mutex_lock(member->flag_mutex);
- member->volume_in_level = 0;
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '4':
- switch_mutex_lock(member->flag_mutex);
- member->volume_in_level--;
- normalize_volume(member->volume_in_level);
- switch_mutex_unlock(member->flag_mutex);
- snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
- conference_member_say(member->conference, member, msg, 0);
- break;
- case '#':
- switch_clear_flag_locked(member, MFLAG_RUNNING);
- break;
- default:
- break;
}
}
@@ -865,22 +899,29 @@
}
}
} else {
- if (switch_buffer_inuse(member->mux_buffer)) {
+ switch_buffer_t *use_buffer = NULL;
+ 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) {
/* 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);
@@ -1387,15 +1428,30 @@
}
} else if (!strcasecmp(argv[1], "saymember")) {
char *tbuf = NULL, *text, *name;
- uint32_t id = atoi(argv[3]);
+ uint32_t id;
conference_member_t *member;
+ if (argc > 3) {
+ id = atoi(argv[3]);
+ } else {
+ stream->write_function(stream, "(saymember) Syntax Error!");
+ goto done;
+ }
+
if ((tbuf = strdup(buf))) {
if ((name = strstr(tbuf, "saymember "))) {
name += 10;
- text = strchr(name, ' ');
- id = atoi(name);
+ if (*name) {
+ text = strchr(name, ' ');
+ id = atoi(name);
+ } else {
+ stream->write_function(stream, "(saymember) Syntax Error!");
+ goto done;
+ }
+
+
+
if ((member = conference_member_get(conference, id))) {
if (text && conference_member_say(conference, member, text, 0) == SWITCH_STATUS_SUCCESS) {
stream->write_function(stream, "(saymember) OK\n");
@@ -2226,13 +2282,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 +2308,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 +2524,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/branches/stkn/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
==============================================================================
--- freeswitch/branches/stkn/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original)
+++ freeswitch/branches/stkn/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Mon Jul 17 10:29:50 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/branches/stkn/src/mod/codecs/mod_speex/mod_speex.c
==============================================================================
--- freeswitch/branches/stkn/src/mod/codecs/mod_speex/mod_speex.c (original)
+++ freeswitch/branches/stkn/src/mod/codecs/mod_speex/mod_speex.c Mon Jul 17 10:29:50 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;
}
@@ -269,14 +269,14 @@
/* 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,
/*.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,
@@ -288,14 +288,14 @@
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,
/*.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/branches/stkn/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/branches/stkn/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/branches/stkn/src/mod/endpoints/mod_dingaling/mod_dingaling.c Mon Jul 17 10:29:50 2006
@@ -1509,9 +1509,12 @@
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", from);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "subject", subject);
switch_event_add_body(event, msg);
+
if (switch_core_session_queue_event(tech_pvt->session, &event) != SWITCH_STATUS_SUCCESS) {
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "delivery-failure", "true");
switch_event_fire(&event);
}
+
}
break;
Modified: freeswitch/branches/stkn/src/mod/endpoints/mod_exosip/mod_exosip.c
==============================================================================
--- freeswitch/branches/stkn/src/mod/endpoints/mod_exosip/mod_exosip.c (original)
+++ freeswitch/branches/stkn/src/mod/endpoints/mod_exosip/mod_exosip.c Mon Jul 17 10:29:50 2006
@@ -354,8 +354,9 @@
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));
-
if (tech_pvt->num_codecs > 0) {
int i, lastcode = -1;
@@ -1006,7 +1007,7 @@
struct callback_t cbt = {0};
char buf[1024];
char *host = NULL;
-
+
if (db) {
udb = db;
} else {
@@ -1027,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) {
@@ -1307,22 +1309,19 @@
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", 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;
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);
}
}
@@ -1338,6 +1337,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) {
@@ -1358,6 +1358,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");
@@ -1597,7 +1609,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 +1638,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 +1657,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");
Modified: freeswitch/branches/stkn/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj
==============================================================================
--- freeswitch/branches/stkn/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj (original)
+++ freeswitch/branches/stkn/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj Mon Jul 17 10:29:50 2006
@@ -65,7 +65,7 @@
<Tool
Name="VCLinkerTool"
LinkLibraryDependencies="false"
- AdditionalDependencies="js32.lib curllib.lib ws2_32.lib winmm.lib sqlite.lib fdlibm.lib libnspr4.lib libplc4.lib libplds4.lib libteletone.lib FreeSwitchCore.lib libetpan.lib"
+ AdditionalDependencies="js32.lib curllib.lib ws2_32.lib winmm.lib sqlite.lib fdlibm.lib libnspr4.lib libplc4.lib libplds4.lib libteletone.lib FreeSwitchCore.lib"
OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_spidermonkey.dll"
LinkIncremental="2"
AdditionalLibraryDirectories=""..\..\..\..\libs\js\src\$(OutDir)";"..\..\..\..\libs\curl\lib\$(OutDir)";"..\..\..\..\libs\sqlite\$(OutDir)";..\..\..\..\libs\js\nspr\lib;"..\..\..\..\w32\vsnet\$(OutDir)";"..\..\..\..\libs\libetpan\build-windows\libetpan\$(OutDir)""
@@ -147,7 +147,7 @@
<Tool
Name="VCLinkerTool"
LinkLibraryDependencies="false"
- AdditionalDependencies="js32.lib curllib.lib ws2_32.lib winmm.lib sqlite.lib fdlibm.lib libnspr4.lib libplc4.lib libplds4.lib libteletone.lib FreeSwitchCore.lib libetpan.lib"
+ AdditionalDependencies="js32.lib curllib.lib ws2_32.lib winmm.lib sqlite.lib fdlibm.lib libnspr4.lib libplc4.lib libplds4.lib libteletone.lib FreeSwitchCore.lib"
OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_spidermonkey.dll"
LinkIncremental="1"
AdditionalLibraryDirectories=""..\..\..\..\libs\js\src\$(OutDir)";"..\..\..\..\libs\curl\lib\$(OutDir)";"..\..\..\..\libs\sqlite\$(OutDir)";..\..\..\..\libs\js\nspr\lib;"..\..\..\..\w32\vsnet\$(OutDir)";"..\..\..\..\libs\libetpan\build-windows\libetpan\$(OutDir)""
Modified: freeswitch/branches/stkn/src/switch_channel.c
==============================================================================
--- freeswitch/branches/stkn/src/switch_channel.c (original)
+++ freeswitch/branches/stkn/src/switch_channel.c Mon Jul 17 10:29:50 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/stkn/src/switch_core.c
==============================================================================
--- freeswitch/branches/stkn/src/switch_core.c (original)
+++ freeswitch/branches/stkn/src/switch_core.c Mon Jul 17 10:29:50 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) {
@@ -1098,7 +1130,7 @@
SWITCH_DECLARE(switch_status_t) switch_core_session_queue_event(switch_core_session_t *session, switch_event_t **event)
{
- switch_status_t status = SWITCH_STATUS_SUCCESS;
+ switch_status_t status = SWITCH_STATUS_FALSE;
assert(session != NULL);
@@ -1106,10 +1138,13 @@
switch_queue_create(&session->event_queue, SWITCH_EVENT_QUEUE_LEN, session->pool);
}
- if ((status = (switch_status_t) switch_queue_push(session->event_queue, *event) == SWITCH_STATUS_SUCCESS)) {
- *event = NULL;
- }
-
+ if (session->event_queue) {
+ if (switch_queue_trypush(session->event_queue, *event) == SWITCH_STATUS_SUCCESS) {
+ *event = NULL;
+ status = SWITCH_STATUS_SUCCESS;
+ }
+ }
+
return status;
}
@@ -2724,7 +2759,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;
@@ -2771,33 +2806,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) {
@@ -2809,60 +2837,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';
@@ -2872,7 +2894,8 @@
}
if (sql) {
- switch_queue_push(runtime.sql_queue, strdup(sql));
+ switch_queue_push(runtime.sql_queue, sql);
+ sql = NULL;
}
}
Modified: freeswitch/branches/stkn/src/switch_ivr.c
==============================================================================
--- freeswitch/branches/stkn/src/switch_ivr.c (original)
+++ freeswitch/branches/stkn/src/switch_ivr.c Mon Jul 17 10:29:50 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,
Modified: freeswitch/branches/stkn/src/switch_loadable_module.c
==============================================================================
--- freeswitch/branches/stkn/src/switch_loadable_module.c (original)
+++ freeswitch/branches/stkn/src/switch_loadable_module.c Mon Jul 17 10:29:50 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;
}
}
Modified: freeswitch/branches/stkn/w32/Setup/Setup.vdproj
==============================================================================
--- freeswitch/branches/stkn/w32/Setup/Setup.vdproj (original)
+++ freeswitch/branches/stkn/w32/Setup/Setup.vdproj Mon Jul 17 10:29:50 2006
@@ -15,6 +15,18 @@
{
"Entry"
{
+ "MsmKey" = "8:_045CD868C425A84E27B5FD7DA5097B9D"
+ "OwnerKey" = "8:_1F21CF104E90499E8F6BBD2136A52884"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_0A2A2813738E4157B2CC6A4EF2A303BB"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_10A983E896C14286A47AAB6A8570EE6D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -22,35 +34,131 @@
"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:_2D09AB81AB8D45FF97E9DFA4DAC3465D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -99,157 +207,169 @@
}
"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:_A40E3F2045F44C60A8509FDFE47E6C45"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_833354487E2841DDA7386EB492D2F21C"
- "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
+ "MsmKey" = "8:_A55F680EDBCDA3F18A46EF6CFC14A1D5"
+ "OwnerKey" = "8:_E72980C058C646E0A7FAF423EB57EA6E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
+ "MsmKey" = "8:_AD2EB44FE6D548F2A8DA4F9F2CE817AC"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87768631363249B2B301143C193612F7"
+ "MsmKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_95DF1AC815283888345057940530D1C0"
+ "MsmKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "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 +399,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_E91E659A30834790A7F1C1669AE92172"
+ "OwnerKey" = "8:_180AE5B7EEED44D098233F52DEDDF9A1"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_EC68A140B58841DA9B9172BAFA5BEC63"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -291,6 +417,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -404,6 +536,46 @@
}
"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}:_0A2A2813738E4157B2CC6A4EF2A303BB"
+ {
+ "SourcePath" = "8:..\\..\\AUTHORS"
+ "TargetName" = "8:AUTHORS"
+ "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:FALSE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1273F63008CF585CA0E063E436B4646F"
{
"SourcePath" = "8:iphlpapi.dll"
@@ -424,12 +596,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"
@@ -504,12 +676,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 +693,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 +736,46 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A40E3F2045F44C60A8509FDFE47E6C45"
+ {
+ "SourcePath" = "8:..\\..\\COPYING"
+ "TargetName" = "8:COPYING"
+ "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:FALSE"
+ "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 +796,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 +835,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 +846,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 +857,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 +868,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 +876,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,14 +927,14 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:Freeswitch"
"ProductCode" = "8:{317A9CC0-40DC-4803-A13E-5937F05F9D2E}"
- "PackageCode" = "8:{35F86401-29E6-4EA4-9362-D05B6C91426B}"
+ "PackageCode" = "8:{F5FFEAA8-6C32-4FFC-9DA5-FC799FDB8B8F}"
"UpgradeCode" = "8:{8080E3A5-7ADD-4173-8913-BDA439D1C8DD}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.0.0"
- "Manufacturer" = "8:Freeswitch"
+ "Manufacturer" = "8:Freeswitch.org"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
"Title" = "8:Freeswitch"
@@ -679,7 +942,7 @@
"ARPCONTACT" = "8:"
"Keywords" = "8:"
"ARPCOMMENTS" = "8:"
- "ARPURLINFOABOUT" = "8:"
+ "ARPURLINFOABOUT" = "8:http://www.freeswitch.org"
"ARPPRODUCTICON" = "8:"
"ARPIconIndex" = "3:0"
"SearchPath" = "8:"
@@ -716,6 +979,14 @@
}
"Values"
{
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C59781825E5B4A9AA93BDAA5A88B7390"
+ {
+ "Name" = "8:[ProductName]"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:"
+ }
}
}
}
@@ -930,6 +1201,53 @@
}
}
}
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E8A0FD168FA4401FBF582E01DA819A71"
+ {
+ "Sequence" = "3:210"
+ "DisplayName" = "8:License Agreement"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdAdminLicenseDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "EulaText"
+ {
+ "Name" = "8:EulaText"
+ "DisplayName" = "8:#1008"
+ "Description" = "8:#1108"
+ "Type" = "3:6"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:2"
+ "Value" = "8:_A40E3F2045F44C60A8509FDFE47E6C45"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Sunken"
+ {
+ "Name" = "8:Sunken"
+ "DisplayName" = "8:#1007"
+ "Description" = "8:#1107"
+ "Type" = "3:5"
+ "ContextData" = "8:4;True=4;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:4"
+ "DefaultValue" = "3:4"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9237AC900FC7421096FC1C1F479A57D9"
@@ -1031,9 +1349,56 @@
}
}
}
- "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3106DA132FA54E148478AB6CBA658548"
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1229F6668E004795AE90C753D37CA881"
{
"Sequence" = "3:300"
+ "DisplayName" = "8:License Agreement"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdLicenseDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "EulaText"
+ {
+ "Name" = "8:EulaText"
+ "DisplayName" = "8:#1008"
+ "Description" = "8:#1108"
+ "Type" = "3:6"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:2"
+ "Value" = "8:_A40E3F2045F44C60A8509FDFE47E6C45"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Sunken"
+ {
+ "Name" = "8:Sunken"
+ "DisplayName" = "8:#1007"
+ "Description" = "8:#1107"
+ "Type" = "3:5"
+ "ContextData" = "8:4;True=4;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:4"
+ "DefaultValue" = "3:4"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E4748A502E1E4F89B72F6B70E40E6954"
+ {
+ "Sequence" = "3:400"
"DisplayName" = "8:Confirm Installation"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
@@ -1193,30 +1558,30 @@
}
"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"
{
}
"LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
+ "Exclude" = "11:TRUE"
"Folder" = "8:"
"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"
{
}
"LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
+ "Exclude" = "11:TRUE"
"Folder" = "8:"
"Feature" = "8:"
"IsolateTo" = "8:"
@@ -1252,9 +1617,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 +1639,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 +2121,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 +2177,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 +2233,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 +2459,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 +2480,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/branches/stkn/w32/vsnet/Freeswitch.sln
==============================================================================
--- freeswitch/branches/stkn/w32/vsnet/Freeswitch.sln (original)
+++ freeswitch/branches/stkn/w32/vsnet/Freeswitch.sln Mon Jul 17 10:29:50 2006
@@ -201,8 +201,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{99D6D74B-32A8-4441-A417-551B0E0A4510}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_rss", "..\..\src\mod\applications\mod_rss\mod_rss.vcproj", "{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}"
ProjectSection(ProjectDependencies) = postProject
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
@@ -213,6 +211,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 +366,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 +393,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}
Modified: freeswitch/branches/stkn/w32/vsnet/GetLibs.vbs
==============================================================================
--- freeswitch/branches/stkn/w32/vsnet/GetLibs.vbs (original)
+++ freeswitch/branches/stkn/w32/vsnet/GetLibs.vbs Mon Jul 17 10:29:50 2006
@@ -239,7 +239,7 @@
If BuildModSpiderMonkey Then
BuildLibs_SpiderMonkey BuildDebug, BuildRelease
BuildLibs_curl BuildDebug, BuildRelease
- BuildLibs_libetpan BuildDebug, BuildRelease
+' BuildLibs_libetpan BuildDebug, BuildRelease
End If
WScript.Echo "Complete"
@@ -249,7 +249,7 @@
' ******************
Sub BuildLibs_aprutil(BuildDebug, BuildRelease)
If Not FSO.FolderExists(LibDestDir & "apr-util") Then
- WgetUnCompress "ftp://ftp.wayne.edu/apache/apr/apr-util-1.2.6.tar.gz", LibDestDir
+' WgetUnCompress "ftp://ftp.wayne.edu/apache/apr/apr-util-1.2.6.tar.gz", LibDestDir
If Not FSO.FolderExists(LibDestDir & "apr-util-1.2.6") Then
Wscript.echo "Unable to get apr-util from default download location, Trying backup location:"
WgetUnCompress LibsBase & "apr-util-1.2.6.tar.gz", LibDestDir
@@ -286,7 +286,7 @@
Sub BuildLibs_apriconv(BuildDebug, BuildRelease)
If Not FSO.FolderExists(LibDestDir & "apr-iconv") Then
- WgetUnCompress "ftp://ftp.wayne.edu/apache/apr/apr-iconv-1.1.1.tar.gz", LibDestDir
+' WgetUnCompress "ftp://ftp.wayne.edu/apache/apr/apr-iconv-1.1.1.tar.gz", LibDestDir
If Not FSO.FolderExists(LibDestDir & "apr-iconv-1.1.1") Then
Wscript.echo "Unable to get apr-iconv from default download location, Trying backup location:"
WgetUnCompress LibsBase & "apr-iconv-1.1.1.tar.gz", LibDestDir
@@ -316,7 +316,7 @@
Sub BuildLibs_apr(BuildDebug, BuildRelease)
If Not FSO.FolderExists(LibDestDir & "apr") Then
- WgetUnCompress "ftp://ftp.wayne.edu/apache/apr/apr-1.2.6.tar.gz", LibDestDir
+' WgetUnCompress "ftp://ftp.wayne.edu/apache/apr/apr-1.2.6.tar.gz", LibDestDir
If Not FSO.FolderExists(LibDestDir & "apr-1.2.6") Then
Wscript.echo "Unable to get apr from default download location, Trying backup location:"
WgetUnCompress LibsBase & "apr-1.2.6.tar.gz", LibDestDir
@@ -449,11 +449,7 @@
Sub BuildLibs_iksemel(BuildDebug, BuildRelease)
If Not FSO.FolderExists(LibDestDir & "iksemel") Then
- WgetUnCompress "http://jabberstudio.2nw.net/iksemel/iksemel-1.2.tar.gz", LibDestDir
- If Not FSO.FolderExists(LibDestDir & "iksemel-1.2") Then
- Wscript.echo "Unable to get iksemel from default download location, Trying backup location:"
- WgetUnCompress LibsBase & "iksemel-1.2.tar.gz", LibDestDir
- End If
+ WgetUnCompress LibsBase & "iksemel-1.2.tar.gz", LibDestDir
RenameFolder LibDestDir & "iksemel-1.2", "iksemel"
FSO.CopyFile Utilsdir & "iksemel\iksemel.vcproj", LibDestDir & "iksemel\", True
FSO.CopyFile Utilsdir & "iksemel\config.h", LibDestDir & "iksemel\include\", True
More information about the Freeswitch-svn
mailing list