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
October 2006
- 13 participants
- 341 discussions
[commit] r2996 - in freeswitch/trunk/src: . include mod/endpoints/mod_sofia
by Freeswitch SVN 07 Oct '06
by Freeswitch SVN 07 Oct '06
07 Oct '06
Author: anthm
Date: Sat Oct 7 18:19:24 2006
New Revision: 2996
Modified:
freeswitch/trunk/src/include/switch_utils.h
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/switch_ivr.c
Log:
Modify Originate input syntax
This adds the | to the originate syntax
making it possible to put a list of urls to call and attempt
to call them one at a time until one of them is successful or there
are none of them left
The original & delimited list is valid for each step in the | separated
list
Example
sofia/test-int/3920@10.3.3.104|sofia/test-int/3910@10.3.3.104&sofia/test-int/3920@10.3.3.104
first call 1 location and if that results in a failure, try 2 at once on the next go
Modified: freeswitch/trunk/src/include/switch_utils.h
==============================================================================
--- freeswitch/trunk/src/include/switch_utils.h (original)
+++ freeswitch/trunk/src/include/switch_utils.h Sat Oct 7 18:19:24 2006
@@ -151,7 +151,7 @@
/*!
- \brief Free a pointer and set it to NULL unles it already is NULL
+ \brief Free a pointer and set it to NULL unless it already is NULL
\param it the pointer
*/
#define switch_safe_free(it) if (it) {free(it);it=NULL;}
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Sat Oct 7 18:19:24 2006
@@ -1676,7 +1676,6 @@
sofia_profile_t *profile;
switch_caller_profile_t *caller_profile = NULL;
private_object_t *tech_pvt = NULL;
- switch_channel_t *channel;
switch_channel_t *nchannel;
char *host;
@@ -1725,7 +1724,7 @@
snprintf(tech_pvt->dest, strlen(dest) + 5, "sip:%s", dest);
}
attach_private(nsession, profile, tech_pvt, dest);
- channel = switch_core_session_get_channel(session);
+
nchannel = switch_core_session_get_channel(nsession);
caller_profile = switch_caller_profile_clone(nsession, outbound_profile);
switch_channel_set_caller_profile(nchannel, caller_profile);
@@ -1737,6 +1736,7 @@
status = SWITCH_STATUS_SUCCESS;
if (session) {
char *val;
+ switch_channel_t *channel = switch_core_session_get_channel(session);
switch_ivr_transfer_variable(session, nsession, SOFIA_REPLACES_HEADER);
if (switch_channel_test_flag(channel, CF_NOMEDIA) && (val = switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE))) {
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Sat Oct 7 18:19:24 2006
@@ -1698,6 +1698,10 @@
)
{
+ char *pipe_names[MAX_PEERS] = {0};
+ char *data = NULL;
+ switch_status_t status = SWITCH_STATUS_SUCCESS;
+ switch_channel_t *caller_channel = NULL;
char *peer_names[MAX_PEERS] = {0};
switch_core_session_t *peer_session, *peer_sessions[MAX_PEERS] = {0};
switch_caller_profile_t *caller_profiles[MAX_PEERS] = {0}, *caller_caller_profile;
@@ -1705,11 +1709,8 @@
switch_channel_t *peer_channel = NULL, *peer_channels[MAX_PEERS] = {0};
time_t start;
switch_frame_t *read_frame = NULL;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- switch_channel_t *caller_channel = NULL;
switch_memory_pool_t *pool = NULL;
- char *data = NULL;
- int i, argc = 0;
+ int r = 0, i, and_argc = 0, or_argc = 0;
int32_t idx = -1;
switch_codec_t write_codec = {0};
switch_frame_t write_frame = {0};
@@ -1762,288 +1763,310 @@
file = NULL;
}
- argc = switch_separate_string(data, '&', peer_names, (sizeof(peer_names) / sizeof(peer_names[0])));
-
- for (i = 0; i < argc; i++) {
+ or_argc = switch_separate_string(data, '|', pipe_names, (sizeof(pipe_names) / sizeof(pipe_names[0])));
+
+ for (r = 0; r < or_argc; r++) {
+ memset(peer_names, 0, sizeof(peer_names));
+ peer_session = NULL;
+ memset(peer_sessions, 0, sizeof(peer_sessions));
+ memset(peer_channels, 0, sizeof(peer_channels));
+ memset(caller_profiles, 0, sizeof(caller_profiles));
+ chan_type = NULL;
+ chan_data = NULL;
+ peer_channel = NULL;
+ start = 0;
+ read_frame = NULL;
+ pool = NULL;
+ pass = 0;
+ file = NULL;
+ key = NULL;
+ var = NULL;
- chan_type = peer_names[i];
- if ((chan_data = strchr(chan_type, '/')) != 0) {
- *chan_data = '\0';
- chan_data++;
- }
+ and_argc = switch_separate_string(pipe_names[r], '&', peer_names, (sizeof(peer_names) / sizeof(peer_names[0])));
- if (session) {
- if (!switch_channel_ready(caller_channel)) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ for (i = 0; i < and_argc; i++) {
+
+ chan_type = peer_names[i];
+ if ((chan_data = strchr(chan_type, '/')) != 0) {
+ *chan_data = '\0';
+ chan_data++;
}
+
+ if (session) {
+ if (!switch_channel_ready(caller_channel)) {
+ status = SWITCH_STATUS_FALSE;
+ goto done;
+ }
- caller_caller_profile = caller_profile_override ? caller_profile_override : switch_channel_get_caller_profile(caller_channel);
+ caller_caller_profile = caller_profile_override ? caller_profile_override : switch_channel_get_caller_profile(caller_channel);
- if (!cid_name_override) {
- cid_name_override = caller_caller_profile->caller_id_name;
- }
- if (!cid_num_override) {
- cid_num_override = caller_caller_profile->caller_id_number;
- }
+ if (!cid_name_override) {
+ cid_name_override = caller_caller_profile->caller_id_name;
+ }
+ if (!cid_num_override) {
+ cid_num_override = caller_caller_profile->caller_id_number;
+ }
- caller_profiles[i] = switch_caller_profile_new(switch_core_session_get_pool(session),
- caller_caller_profile->username,
- caller_caller_profile->dialplan,
- cid_name_override,
- cid_num_override,
- caller_caller_profile->network_addr,
- NULL,
- NULL,
- caller_caller_profile->rdnis,
- caller_caller_profile->source,
- caller_caller_profile->context,
- chan_data);
- pool = NULL;
- } else {
- if (!cid_name_override) {
- cid_name_override = "FreeSWITCH";
- }
- if (!cid_num_override) {
- cid_num_override = "0000000000";
- }
-
- if (switch_core_new_memory_pool(&pool) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "OH OH no pool\n");
- status = SWITCH_STATUS_TERM;
- goto done;
- }
-
- if (caller_profile_override) {
- caller_profiles[i] = switch_caller_profile_new(pool,
- caller_profile_override->username,
- caller_profile_override->dialplan,
- caller_profile_override->caller_id_name,
- caller_profile_override->caller_id_number,
- caller_profile_override->network_addr,
- caller_profile_override->ani,
- caller_profile_override->ani2,
- caller_profile_override->rdnis,
- caller_profile_override->source,
- caller_profile_override->context,
- chan_data);
- } else {
- caller_profiles[i] = switch_caller_profile_new(pool,
- NULL,
- NULL,
+ caller_profiles[i] = switch_caller_profile_new(switch_core_session_get_pool(session),
+ caller_caller_profile->username,
+ caller_caller_profile->dialplan,
cid_name_override,
cid_num_override,
+ caller_caller_profile->network_addr,
NULL,
NULL,
- NULL,
- NULL,
- __FILE__,
- NULL,
+ caller_caller_profile->rdnis,
+ caller_caller_profile->source,
+ caller_caller_profile->context,
chan_data);
+ pool = NULL;
+ } else {
+ if (!cid_name_override) {
+ cid_name_override = "FreeSWITCH";
+ }
+ if (!cid_num_override) {
+ cid_num_override = "0000000000";
+ }
+
+ if (switch_core_new_memory_pool(&pool) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "OH OH no pool\n");
+ status = SWITCH_STATUS_TERM;
+ goto done;
+ }
+
+ if (caller_profile_override) {
+ caller_profiles[i] = switch_caller_profile_new(pool,
+ caller_profile_override->username,
+ caller_profile_override->dialplan,
+ caller_profile_override->caller_id_name,
+ caller_profile_override->caller_id_number,
+ caller_profile_override->network_addr,
+ caller_profile_override->ani,
+ caller_profile_override->ani2,
+ caller_profile_override->rdnis,
+ caller_profile_override->source,
+ caller_profile_override->context,
+ chan_data);
+ } else {
+ caller_profiles[i] = switch_caller_profile_new(pool,
+ NULL,
+ NULL,
+ cid_name_override,
+ cid_num_override,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ __FILE__,
+ NULL,
+ chan_data);
+ }
}
- }
- if (switch_core_session_outgoing_channel(session, chan_type, caller_profiles[i], &peer_sessions[i], pool) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel!\n");
- if (pool) {
- switch_core_destroy_memory_pool(&pool);
+ if (switch_core_session_outgoing_channel(session, chan_type, caller_profiles[i], &peer_sessions[i], pool) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel!\n");
+ if (pool) {
+ switch_core_destroy_memory_pool(&pool);
+ }
+ caller_profiles[i] = NULL;
+ peer_channels[i] = NULL;
+ peer_sessions[i] = NULL;
+ continue;
}
- caller_profiles[i] = NULL;
- peer_channels[i] = NULL;
- peer_sessions[i] = NULL;
- continue;
- }
- switch_core_session_read_lock(peer_sessions[i]);
- pool = NULL;
+ switch_core_session_read_lock(peer_sessions[i]);
+ pool = NULL;
- peer_channels[i] = switch_core_session_get_channel(peer_sessions[i]);
- assert(peer_channels[i] != NULL);
+ peer_channels[i] = switch_core_session_get_channel(peer_sessions[i]);
+ assert(peer_channels[i] != NULL);
- if (table == &noop_state_handler) {
- table = NULL;
- } else if (!table) {
- table = &audio_bridge_peer_state_handlers;
- }
+ if (table == &noop_state_handler) {
+ table = NULL;
+ } else if (!table) {
+ table = &audio_bridge_peer_state_handlers;
+ }
- if (table) {
- switch_channel_add_state_handler(peer_channels[i], table);
- }
+ if (table) {
+ switch_channel_add_state_handler(peer_channels[i], table);
+ }
- if (switch_core_session_running(peer_sessions[i])) {
- switch_channel_set_state(peer_channels[i], CS_RING);
- } else {
- switch_core_session_thread_launch(peer_sessions[i]);
+ if (switch_core_session_running(peer_sessions[i])) {
+ switch_channel_set_state(peer_channels[i], CS_RING);
+ } else {
+ switch_core_session_thread_launch(peer_sessions[i]);
+ }
}
- }
- time(&start);
+ time(&start);
- for (;;) {
- uint32_t valid_channels = 0;
- for (i = 0; i < argc; i++) {
- int state;
+ for (;;) {
+ uint32_t valid_channels = 0;
+ for (i = 0; i < and_argc; i++) {
+ int state;
- if (!peer_channels[i]) {
- continue;
- }
- valid_channels++;
- state = switch_channel_get_state(peer_channels[i]);
+ if (!peer_channels[i]) {
+ continue;
+ }
+ valid_channels++;
+ state = switch_channel_get_state(peer_channels[i]);
- if (state >= CS_RING) {
- goto endfor1;
- }
+ if (state >= CS_RING) {
+ goto endfor1;
+ }
- if (caller_channel && !switch_channel_ready(caller_channel)) {
- break;
- }
+ if (caller_channel && !switch_channel_ready(caller_channel)) {
+ break;
+ }
- if ((time(NULL) - start) > (time_t)timelimit_sec) {
- break;
+ if ((time(NULL) - start) > (time_t)timelimit_sec) {
+ break;
+ }
+ switch_yield(1000);
}
- switch_yield(1000);
- }
- if (valid_channels == 0) {
- status = SWITCH_STATUS_GENERR;
- goto done;
+ if (valid_channels == 0) {
+ status = SWITCH_STATUS_GENERR;
+ goto done;
+ }
+
}
+ endfor1:
- }
- endfor1:
+ if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
+ switch_codec_t *read_codec = NULL;
- if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
- switch_codec_t *read_codec = NULL;
+ switch_channel_pre_answer(caller_channel);
+ read_codec = switch_core_session_get_read_codec(session);
- switch_channel_pre_answer(caller_channel);
- read_codec = switch_core_session_get_read_codec(session);
-
- assert(read_codec != NULL);
- if (!(pass = (uint8_t)switch_test_flag(read_codec, SWITCH_CODEC_FLAG_PASSTHROUGH))) {
- if (switch_core_codec_init(&write_codec,
- "L16",
- read_codec->implementation->samples_per_second,
- read_codec->implementation->microseconds_per_frame / 1000,
- 1,
- SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
- NULL,
- pool) == SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Success L16@%uhz 1 channel %dms\n",
- read_codec->implementation->samples_per_second,
- read_codec->implementation->microseconds_per_frame / 1000);
- write_frame.codec = &write_codec;
- write_frame.datalen = read_codec->implementation->bytes_per_frame;
- write_frame.samples = write_frame.datalen / 2;
- memset(write_frame.data, 255, write_frame.datalen);
- } else {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec Error!");
- switch_channel_hangup(caller_channel, SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE);
+ assert(read_codec != NULL);
+ if (!(pass = (uint8_t)switch_test_flag(read_codec, SWITCH_CODEC_FLAG_PASSTHROUGH))) {
+ if (switch_core_codec_init(&write_codec,
+ "L16",
+ read_codec->implementation->samples_per_second,
+ read_codec->implementation->microseconds_per_frame / 1000,
+ 1,
+ SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
+ NULL,
+ pool) == SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Success L16@%uhz 1 channel %dms\n",
+ read_codec->implementation->samples_per_second,
+ read_codec->implementation->microseconds_per_frame / 1000);
+ write_frame.codec = &write_codec;
+ write_frame.datalen = read_codec->implementation->bytes_per_frame;
+ write_frame.samples = write_frame.datalen / 2;
+ memset(write_frame.data, 255, write_frame.datalen);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec Error!");
+ switch_channel_hangup(caller_channel, SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE);
+ }
}
}
- }
- while ((!caller_channel || switch_channel_ready(caller_channel)) &&
- check_channel_status(peer_channels, peer_sessions, argc, &idx, file, key) && ((time(NULL) - start) < (time_t)timelimit_sec)) {
+ while ((!caller_channel || switch_channel_ready(caller_channel)) &&
+ check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key) && ((time(NULL) - start) < (time_t)timelimit_sec)) {
- /* read from the channel while we wait if the audio is up on it */
- if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA) &&
- (switch_channel_test_flag(caller_channel, CF_ANSWERED) || switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA))) {
- switch_status_t status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
+ /* read from the channel while we wait if the audio is up on it */
+ if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA) &&
+ (switch_channel_test_flag(caller_channel, CF_ANSWERED) || switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA))) {
+ switch_status_t status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
- if (!SWITCH_READ_ACCEPTABLE(status)) {
- break;
- }
- if (read_frame && !pass) {
- if (switch_core_session_write_frame(session, &write_frame, 1000, 0) != SWITCH_STATUS_SUCCESS) {
+ if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
+ if (read_frame && !pass) {
+ if (switch_core_session_write_frame(session, &write_frame, 1000, 0) != SWITCH_STATUS_SUCCESS) {
+ break;
+ }
+ }
+
+ } else {
+ switch_yield(1000);
}
+
+ }
- } else {
- switch_yield(1000);
+ if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
+ switch_core_session_reset(session);
}
-
- }
- if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
- switch_core_session_reset(session);
- }
-
- for (i = 0; i < argc; i++) {
- if (!peer_channels[i]) {
- continue;
+ for (i = 0; i < and_argc; i++) {
+ if (!peer_channels[i]) {
+ continue;
+ }
+ if (i != idx) {
+ switch_channel_hangup(peer_channels[i], SWITCH_CAUSE_LOSE_RACE);
+ }
}
- if (i != idx) {
- switch_channel_hangup(peer_channels[i], SWITCH_CAUSE_LOSE_RACE);
- }
- }
- if (idx > -1) {
- peer_session = peer_sessions[idx];
- peer_channel = peer_channels[idx];
- } else {
- status = SWITCH_STATUS_FALSE;
- goto done;
- }
+ if (idx > -1) {
+ peer_session = peer_sessions[idx];
+ peer_channel = peer_channels[idx];
+ } else {
+ status = SWITCH_STATUS_FALSE;
+ goto done;
+ }
- if (caller_channel && switch_channel_test_flag(peer_channel, CF_ANSWERED)) {
- char *val;
+ if (caller_channel && switch_channel_test_flag(peer_channel, CF_ANSWERED)) {
+ char *val;
- if (switch_channel_test_flag(peer_channel, CF_NOMEDIA) && (val = switch_channel_get_variable(peer_channel, SWITCH_R_SDP_VARIABLE))) {
- switch_channel_set_variable(caller_channel, SWITCH_L_SDP_VARIABLE, val);
+ if (switch_channel_test_flag(peer_channel, CF_NOMEDIA) && (val = switch_channel_get_variable(peer_channel, SWITCH_R_SDP_VARIABLE))) {
+ switch_channel_set_variable(caller_channel, SWITCH_L_SDP_VARIABLE, val);
+ }
+ switch_channel_answer(caller_channel);
}
- switch_channel_answer(caller_channel);
- }
- if (switch_channel_test_flag(peer_channel, CF_ANSWERED) || switch_channel_test_flag(peer_channel, CF_EARLY_MEDIA)) {
- *bleg = peer_session;
- status = SWITCH_STATUS_SUCCESS;
- } else {
- status = SWITCH_STATUS_FALSE;
- }
+ if (switch_channel_test_flag(peer_channel, CF_ANSWERED) || switch_channel_test_flag(peer_channel, CF_EARLY_MEDIA)) {
+ *bleg = peer_session;
+ status = SWITCH_STATUS_SUCCESS;
+ } else {
+ status = SWITCH_STATUS_FALSE;
+ }
- done:
- *cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
+ done:
+ *cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
- if (status == SWITCH_STATUS_SUCCESS) {
- if (caller_channel) {
- switch_channel_set_variable(caller_channel, "originate_disposition", "call accepted");
- }
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Success: [%s]\n", switch_channel_get_name(peer_channel));
- } else {
- if (peer_channel) {
- *cause = switch_channel_get_cause(peer_channel);
+ if (status == SWITCH_STATUS_SUCCESS) {
+ if (caller_channel) {
+ switch_channel_set_variable(caller_channel, "originate_disposition", "call accepted");
+ }
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Success: [%s]\n", switch_channel_get_name(peer_channel));
} else {
- for (i = 0; i < argc; i++) {
- if (!peer_channels[i]) {
- continue;
- }
+ if (peer_channel) {
+ *cause = switch_channel_get_cause(peer_channel);
+ } else {
+ for (i = 0; i < and_argc; i++) {
+ if (!peer_channels[i]) {
+ continue;
+ }
- *cause = switch_channel_get_cause(peer_channels[i]);
- break;
+ *cause = switch_channel_get_cause(peer_channels[i]);
+ break;
+ }
}
+ if (caller_channel) {
+ switch_channel_set_variable(caller_channel, "originate_disposition", switch_channel_cause2str(*cause));
+ }
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Error Cause: %d [%s]\n", *cause, switch_channel_cause2str(*cause));
}
- if (caller_channel) {
- switch_channel_set_variable(caller_channel, "originate_disposition", switch_channel_cause2str(*cause));
+
+ if (!pass && write_codec.implementation) {
+ switch_core_codec_destroy(&write_codec);
}
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Error Cause: %d [%s]\n", *cause, switch_channel_cause2str(*cause));
- }
- if (odata) {
- free(odata);
- }
- if (!pass && write_codec.implementation) {
- switch_core_codec_destroy(&write_codec);
- }
+ for (i = 0; i < and_argc; i++) {
+ if (!peer_channels[i]) {
+ continue;
+ }
+ switch_core_session_rwunlock(peer_sessions[i]);
+ }
- for (i = 0; i < argc; i++) {
- if (!peer_channels[i]) {
- continue;
+ if (status == SWITCH_STATUS_SUCCESS) {
+ break;
}
- switch_core_session_rwunlock(peer_sessions[i]);
}
+ switch_safe_free(odata);
return status;
}
1
0
[commit] r2995 - in freeswitch/trunk: libs/win32 libs/win32/sofia src/mod/endpoints/mod_sofia
by Freeswitch SVN 07 Oct '06
by Freeswitch SVN 07 Oct '06
07 Oct '06
Author: mikej
Date: Sat Oct 7 16:09:46 2006
New Revision: 2995
Modified:
freeswitch/trunk/libs/win32/Download SOFIA.vcproj
freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj
Log:
update windows build to new sofia tarball
Modified: freeswitch/trunk/libs/win32/Download SOFIA.vcproj
==============================================================================
--- freeswitch/trunk/libs/win32/Download SOFIA.vcproj (original)
+++ freeswitch/trunk/libs/win32/Download SOFIA.vcproj Sat Oct 7 16:09:46 2006
@@ -76,8 +76,8 @@
<Tool
Name="VCCustomBuildTool"
Description="Downloading SOFIA."
- CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.tar.gz "$(ProjectDir).."
"
- Outputs="$(ProjectDir)..\sofia-sip-1.12.3"
+ CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.2" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.2.tar.gz "$(ProjectDir).."
"
+ Outputs="$(ProjectDir)..\sofia-sip-1.12.3.2"
/>
</FileConfiguration>
<FileConfiguration
@@ -86,8 +86,8 @@
<Tool
Name="VCCustomBuildTool"
Description="Downloading SOFIA."
- CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.tar.gz "$(ProjectDir).."
"
- Outputs="$(ProjectDir)..\sofia-sip-1.12.3"
+ CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.2" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.2.tar.gz "$(ProjectDir).."
"
+ Outputs="$(ProjectDir)..\sofia-sip-1.12.3.2"
/>
</FileConfiguration>
</File>
Modified: freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj
==============================================================================
--- freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj (original)
+++ freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Sat Oct 7 16:09:46 2006
@@ -26,7 +26,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3\win32\"
"autogen.cmd"
"
+ CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.2\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.2\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.2\win32\"
"autogen.cmd"
"
/>
<Tool
Name="VCCustomBuildTool"
@@ -43,7 +43,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3\win32";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
+ AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.2\win32";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;IN_LIBSOFIA_SIP_UA_STATIC;LIBSOFIA_SIP_UA_STATIC;LIBSRES_STATIC;PTW32_STATIC_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -103,7 +103,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3\win32\"
"autogen.cmd"
"
+ CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.2\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.2\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.2\win32\"
"autogen.cmd"
"
/>
<Tool
Name="VCCustomBuildTool"
@@ -121,7 +121,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
- AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3\win32";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
+ AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.2\win32";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;IN_LIBSOFIA_SIP_UA_STATIC;LIBSOFIA_SIP_UA_STATIC;LIBSRES_STATIC;PTW32_STATIC_LIB"
StringPooling="true"
RuntimeLibrary="2"
@@ -181,7 +181,7 @@
Filter="su*.c"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\inet_ntop.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\inet_ntop.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -203,7 +203,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\inet_pton.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\inet_pton.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -225,7 +225,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -247,7 +247,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_addrinfo.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_addrinfo.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -269,7 +269,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_alloc.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_alloc.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -291,7 +291,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_alloc_lock.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_alloc_lock.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -313,7 +313,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_bm.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_bm.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -335,7 +335,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_default_log.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_default_log.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -357,7 +357,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_errno.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_errno.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -379,7 +379,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_global_log.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_global_log.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -401,7 +401,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_localinfo.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_localinfo.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -423,7 +423,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_log.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_log.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -445,7 +445,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_md5.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_md5.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -467,11 +467,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_os_nw.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_os_nw.c"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_port.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_port.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -493,7 +493,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_root.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_root.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -515,7 +515,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_sprintf.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_sprintf.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -537,7 +537,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_strdup.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_strdup.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -559,7 +559,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_strlst.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_strlst.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -581,7 +581,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -603,7 +603,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_tag_io.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_tag_io.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -625,7 +625,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_taglist.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_taglist.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -647,7 +647,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_time.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_time.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -669,7 +669,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_time0.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_time0.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -691,7 +691,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_timer.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_timer.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -713,7 +713,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_uniqueid.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_uniqueid.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -735,7 +735,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_vector.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_vector.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -757,7 +757,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_wait.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_wait.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -783,7 +783,7 @@
Name="ipt"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\base64.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\base64.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -805,7 +805,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\rc4.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\rc4.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -827,7 +827,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\string0.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\string0.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -849,7 +849,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\token64.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\token64.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -876,7 +876,7 @@
Filter="url*.c"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\url\url.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url\url.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -898,7 +898,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\url\url_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url\url_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -920,7 +920,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\url\url_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url\url_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -947,7 +947,7 @@
Filter="features*.c"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\features\features.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\features\features.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -974,7 +974,7 @@
Filter="bnf*.c"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\bnf\bnf.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf\bnf.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1001,7 +1001,7 @@
Filter="msg*.c"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1023,7 +1023,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_auth.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_auth.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1045,7 +1045,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_basic.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_basic.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1067,7 +1067,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_date.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_date.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1089,7 +1089,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_generic.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_generic.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1111,7 +1111,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_header_copy.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_header_copy.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1133,7 +1133,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_header_make.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_header_make.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1155,7 +1155,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_mclass.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_mclass.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1177,7 +1177,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_mime.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_mime.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1199,7 +1199,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_mime_table.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_mime_table.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1221,7 +1221,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_parser.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_parser.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1243,7 +1243,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_parser_util.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_parser_util.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1265,7 +1265,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1291,7 +1291,7 @@
Name="clib replacement"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\memcspn.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\memcspn.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1313,7 +1313,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\memmem.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\memmem.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1335,7 +1335,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\memspn.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\memspn.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1357,7 +1357,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\strcasestr.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\strcasestr.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1379,7 +1379,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\strtoull.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\strtoull.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1405,7 +1405,7 @@
Name="sip"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_basic.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_basic.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1427,7 +1427,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_caller_prefs.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_caller_prefs.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1449,7 +1449,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_event.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_event.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1471,7 +1471,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_extra.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_extra.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1493,7 +1493,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_feature.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_feature.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1515,7 +1515,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_header.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_header.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1537,7 +1537,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_mime.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_mime.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1559,7 +1559,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_parser.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_parser.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1581,7 +1581,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_parser_table.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_parser_table.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1603,7 +1603,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_prack.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_prack.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1625,7 +1625,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_pref_util.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_pref_util.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1647,7 +1647,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_reason.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_reason.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1669,7 +1669,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_refer.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_refer.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1691,7 +1691,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_security.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_security.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1713,7 +1713,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_session.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_session.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1735,7 +1735,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_status.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_status.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1757,7 +1757,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1779,7 +1779,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_tag_class.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_tag_class.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1801,7 +1801,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1823,7 +1823,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_time.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_time.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1845,7 +1845,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_util.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_util.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1871,7 +1871,7 @@
Name="http"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_basic.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_basic.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1893,7 +1893,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_extra.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_extra.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1915,7 +1915,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_header.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_header.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1937,7 +1937,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_parser.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_parser.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1959,7 +1959,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_parser_table.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_parser_table.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -1981,7 +1981,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_status.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_status.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2003,7 +2003,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2025,7 +2025,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_tag_class.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_tag_class.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2047,7 +2047,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\http_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\http_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2073,7 +2073,7 @@
Name="nth"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth\nth_client.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth\nth_client.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2095,7 +2095,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth\nth_server.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth\nth_server.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2117,7 +2117,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth\nth_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth\nth_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2139,7 +2139,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth\nth_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth\nth_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2165,7 +2165,7 @@
Name="sresolv"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sres.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sres.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2187,7 +2187,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sres_blocking.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sres_blocking.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2209,7 +2209,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sres_cache.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sres_cache.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2231,7 +2231,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sresolv.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sresolv.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2257,7 +2257,7 @@
Name="nea"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2279,7 +2279,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea_debug.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea_debug.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2301,7 +2301,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea_event.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea_event.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2323,7 +2323,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea_server.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea_server.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2345,7 +2345,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2367,7 +2367,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2393,7 +2393,7 @@
Name="iptsec"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_client.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_client.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2415,7 +2415,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_common.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_common.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2437,7 +2437,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_digest.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_digest.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2459,7 +2459,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_module.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_module.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2481,7 +2481,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_module_http.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_module_http.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2503,7 +2503,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_module_sip.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_module_sip.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2525,7 +2525,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_plugin.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_plugin.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2547,7 +2547,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_plugin_delayed.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_plugin_delayed.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2569,7 +2569,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2591,7 +2591,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\auth_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\auth_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2613,7 +2613,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\iptsec_debug.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\iptsec_debug.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2639,7 +2639,7 @@
Name="stun"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2661,7 +2661,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun_common.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun_common.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2683,7 +2683,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun_dns.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun_dns.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2705,11 +2705,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun_internal.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun_internal.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun_mini.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun_mini.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2731,7 +2731,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2753,7 +2753,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\stun_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\stun_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2779,7 +2779,7 @@
Name="nua"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2801,7 +2801,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_common.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_common.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2823,7 +2823,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_dialog.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_dialog.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2845,11 +2845,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_dialog.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_dialog.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_event_server.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_event_server.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2871,7 +2871,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_message.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_message.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2893,11 +2893,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_notifier.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_notifier.c"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_options.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_options.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2919,7 +2919,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_params.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_params.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2941,11 +2941,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_params.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_params.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_publish.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_publish.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2967,7 +2967,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_register.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_register.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -2989,11 +2989,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_registrar.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_registrar.c"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_session.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_session.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3015,7 +3015,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_stack.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_stack.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3037,11 +3037,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_stack.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_stack.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_subnotref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_subnotref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3063,7 +3063,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3085,7 +3085,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\nua_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\nua_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3107,7 +3107,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\outbound.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\outbound.c"
>
</File>
</Filter>
@@ -3115,7 +3115,7 @@
Name="nta"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\nta.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\nta.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3137,7 +3137,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\nta_check.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\nta_check.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3159,7 +3159,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\nta_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\nta_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3181,7 +3181,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\nta_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\nta_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3203,7 +3203,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sl_read_payload.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sl_read_payload.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3225,7 +3225,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sl_utils_log.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sl_utils_log.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3247,7 +3247,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sl_utils_print.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sl_utils_print.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3273,7 +3273,7 @@
Name="tport"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3295,11 +3295,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_internal.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_internal.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_logging.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_logging.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3321,7 +3321,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_stub_sigcomp.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_stub_sigcomp.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3343,7 +3343,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_stub_stun.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_stub_stun.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3365,7 +3365,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3387,7 +3387,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3409,7 +3409,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_type_connect.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_type_connect.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3431,7 +3431,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_type_tcp.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_type_tcp.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3453,7 +3453,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_type_udp.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_type_udp.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3479,7 +3479,7 @@
Name="sdp"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sdp.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sdp.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3501,7 +3501,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sdp_parse.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sdp_parse.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3523,7 +3523,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sdp_print.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sdp_print.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3545,7 +3545,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sdp_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sdp_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3567,7 +3567,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sdp_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sdp_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3593,7 +3593,7 @@
Name="soa"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\soa.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\soa.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3615,11 +3615,11 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\sofia-sip-1.12.3\soa_session.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\sofia-sip-1.12.3.2\soa_session.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\soa_static.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\soa_static.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3641,7 +3641,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\soa_tag.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\soa_tag.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3663,7 +3663,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\soa_tag_ref.c"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\soa_tag_ref.c"
>
<FileConfiguration
Name="Debug|Win32"
@@ -3695,123 +3695,123 @@
Filter="su*.h"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\htable.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\htable.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\htable2.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\htable2.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\rbtree.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\rbtree.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_addrinfo.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_addrinfo.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_alloc.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_alloc.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_alloc_stat.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_alloc_stat.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_bm.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_bm.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_config.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_config.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_debug.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_debug.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_errno.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_errno.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_localinfo.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_localinfo.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_log.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_log.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_md5.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_md5.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_module_debug.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_module_debug.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_os_nw.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_os_nw.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\su_port.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\su_port.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_source.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_source.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_strlst.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_strlst.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_tag.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_tag_class.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_tag_class.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_tag_inline.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_tag_inline.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_tag_io.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_tag_io.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_tagarg.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_tagarg.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_time.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_time.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_types.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_types.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_uniqueid.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_uniqueid.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_vector.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_vector.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\su_wait.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\su_wait.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\su\sofia-sip-1.12.3\tstdef.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\su\sofia-sip-1.12.3.2\tstdef.h"
>
</File>
</Filter>
@@ -3823,7 +3823,7 @@
>
</File>
<File
- RelativePath="..\sofia-sip-1.12.3\su_configure.h"
+ RelativePath="..\sofia-sip-1.12.3.2\su_configure.h"
>
</File>
<File
@@ -3835,19 +3835,19 @@
Name="ipt headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\sofia-sip-1.12.3\base64.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\sofia-sip-1.12.3.2\base64.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\sofia-sip-1.12.3\rc4.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\sofia-sip-1.12.3.2\rc4.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\sofia-sip-1.12.3\string0.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\sofia-sip-1.12.3.2\string0.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\ipt\sofia-sip-1.12.3\token64.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\ipt\sofia-sip-1.12.3.2\token64.h"
>
</File>
</Filter>
@@ -3856,15 +3856,15 @@
Filter="url*.h"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\url\sofia-sip-1.12.3\url.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url\sofia-sip-1.12.3.2\url.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\url\sofia-sip-1.12.3\url_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url\sofia-sip-1.12.3.2\url_tag.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\url\sofia-sip-1.12.3\url_tag_class.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\url\sofia-sip-1.12.3.2\url_tag_class.h"
>
</File>
</Filter>
@@ -3873,7 +3873,7 @@
Filter="features*.h"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\features\sofia-sip-1.12.3\sofia_features.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\features\sofia-sip-1.12.3.2\sofia_features.h"
>
</File>
</Filter>
@@ -3882,11 +3882,11 @@
Filter="bnf*.h"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\bnf\sofia-sip-1.12.3\bnf.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf\sofia-sip-1.12.3.2\bnf.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\bnf\sofia-sip-1.12.3\hostdomain.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf\sofia-sip-1.12.3.2\hostdomain.h"
>
</File>
</Filter>
@@ -3894,63 +3894,63 @@
Name="msg headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_addr.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_addr.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_bnf.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_bnf.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_buffer.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_buffer.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_date.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_date.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_header.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_header.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\msg_internal.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\msg_internal.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_mclass.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_mclass.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_mclass_hash.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_mclass_hash.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_mime.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_mime.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_mime_protos.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_mime_protos.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_parser.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_parser.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_protos.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_protos.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_tag_class.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_tag_class.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\msg\sofia-sip-1.12.3\msg_types.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\msg\sofia-sip-1.12.3.2\msg_types.h"
>
</File>
</Filter>
@@ -3958,47 +3958,47 @@
Name="sip headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_extensions.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_extensions.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_hclasses.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_hclasses.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_header.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_header.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sip_internal.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sip_internal.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_parser.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_parser.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_protos.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_protos.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_status.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_status.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_tag.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_tag_class.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_tag_class.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sip\sofia-sip-1.12.3\sip_util.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sip\sofia-sip-1.12.3.2\sip_util.h"
>
</File>
</Filter>
@@ -4006,35 +4006,35 @@
Name="http headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_hclasses.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_hclasses.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_header.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_header.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_parser.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_parser.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_protos.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_protos.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_status.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_status.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_tag.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\http\sofia-sip-1.12.3\http_tag_class.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\http\sofia-sip-1.12.3.2\http_tag_class.h"
>
</File>
</Filter>
@@ -4042,11 +4042,11 @@
Name="nth headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth\sofia-sip-1.12.3\nth.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth\sofia-sip-1.12.3.2\nth.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nth\sofia-sip-1.12.3\nth_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nth\sofia-sip-1.12.3.2\nth_tag.h"
>
</File>
</Filter>
@@ -4054,23 +4054,23 @@
Name="sresolv headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sofia-resolv\sres.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sofia-resolv\sres.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sofia-resolv\sres_async.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sofia-resolv\sres_async.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sofia-resolv\sres_cache.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sofia-resolv\sres_cache.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sofia-resolv\sres_record.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sofia-resolv\sres_record.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sresolv\sofia-sip-1.12.3\sresolv.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sresolv\sofia-sip-1.12.3.2\sresolv.h"
>
</File>
</Filter>
@@ -4078,15 +4078,15 @@
Name="nea headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\sofia-sip-1.12.3\nea.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\sofia-sip-1.12.3.2\nea.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\nea_debug.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\nea_debug.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nea\sofia-sip-1.12.3\nea_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nea\sofia-sip-1.12.3.2\nea_tag.h"
>
</File>
</Filter>
@@ -4094,27 +4094,27 @@
Name="iptsec headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\sofia-sip-1.12.3\auth_client.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.2\auth_client.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\sofia-sip-1.12.3\auth_digest.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.2\auth_digest.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\sofia-sip-1.12.3\auth_module.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.2\auth_module.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\sofia-sip-1.12.3\auth_ntlm.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.2\auth_ntlm.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\sofia-sip-1.12.3\auth_plugin.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.2\auth_plugin.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\iptsec\iptsec_debug.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec\iptsec_debug.h"
>
</File>
</Filter>
@@ -4122,15 +4122,15 @@
Name="stun headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\sofia-sip-1.12.3\stun.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\sofia-sip-1.12.3.2\stun.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\sofia-sip-1.12.3\stun_common.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\sofia-sip-1.12.3.2\stun_common.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\stun\sofia-sip-1.12.3\stun_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\stun\sofia-sip-1.12.3.2\stun_tag.h"
>
</File>
</Filter>
@@ -4138,11 +4138,11 @@
Name="nua headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\sofia-sip-1.12.3\nua.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\sofia-sip-1.12.3.2\nua.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nua\sofia-sip-1.12.3\nua_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nua\sofia-sip-1.12.3.2\nua_tag.h"
>
</File>
</Filter>
@@ -4150,27 +4150,27 @@
Name="nta headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sofia-sip-1.12.3\nta.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sofia-sip-1.12.3.2\nta.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\nta_internal.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\nta_internal.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sofia-sip-1.12.3\nta_stateless.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sofia-sip-1.12.3.2\nta_stateless.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sofia-sip-1.12.3\nta_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sofia-sip-1.12.3.2\nta_tag.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sofia-sip-1.12.3\nta_tport.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sofia-sip-1.12.3.2\nta_tport.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\nta\sofia-sip-1.12.3\sl_utils.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\nta\sofia-sip-1.12.3.2\sl_utils.h"
>
</File>
</Filter>
@@ -4178,19 +4178,19 @@
Name="tport headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\sofia-sip-1.12.3\tport.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\sofia-sip-1.12.3.2\tport.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\sofia-sip-1.12.3\tport_plugins.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\sofia-sip-1.12.3.2\tport_plugins.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\sofia-sip-1.12.3\tport_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\sofia-sip-1.12.3.2\tport_tag.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\tport\tport_tls.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\tport\tport_tls.h"
>
</File>
</Filter>
@@ -4198,11 +4198,11 @@
Name="sdp headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sofia-sip-1.12.3\sdp.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sofia-sip-1.12.3.2\sdp.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\sdp\sofia-sip-1.12.3\sdp_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp\sofia-sip-1.12.3.2\sdp_tag.h"
>
</File>
</Filter>
@@ -4210,15 +4210,15 @@
Name="soa headers"
>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\sofia-sip-1.12.3\soa.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\sofia-sip-1.12.3.2\soa.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\sofia-sip-1.12.3\soa_add.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\sofia-sip-1.12.3.2\soa_add.h"
>
</File>
<File
- RelativePath="..\..\sofia-sip-1.12.3\libsofia-sip-ua\soa\sofia-sip-1.12.3\soa_tag.h"
+ RelativePath="..\..\sofia-sip-1.12.3.2\libsofia-sip-ua\soa\sofia-sip-1.12.3.2\soa_tag.h"
>
</File>
</Filter>
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj Sat Oct 7 16:09:46 2006
@@ -42,7 +42,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\bnf""
+ AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf""
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -126,7 +126,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3\libsofia-sip-ua\bnf""
+ AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.2\libsofia-sip-ua\bnf""
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
1
0
[commit] r2994 - in freeswitch/trunk/src: . include mod/dialplans/mod_dialplan_xml mod/loggers/mod_console
by Freeswitch SVN 07 Oct '06
by Freeswitch SVN 07 Oct '06
07 Oct '06
Author: anthm
Date: Sat Oct 7 15:54:04 2006
New Revision: 2994
Modified:
freeswitch/trunk/src/include/switch_channel.h
freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c
freeswitch/trunk/src/switch_channel.c
freeswitch/trunk/src/switch_core.c
freeswitch/trunk/src/switch_log.c
Log:
Modifying the behaviour of the dialplan engine
the 'data' field in action tags may now refer to variables and api functions
to be expanded at runtime.
Syntax:
$varname
${varname}
&func_name(func args)
Exception:
variables that are numeric are still expanded at dialplan compile time based on the regex eg $1 $2 etc
Example:
<extension name="1000">
<condition field="destination_number" expression="^(1000)$">
<action appplication="my_route_app" data="$1"/>
<action appplication="bridge" data="$destination"/>
</condition>
</extension>
Here the $1 is ecaluated before the call begins setting it to 1000 based on the regex ^(1000)$
$destination is evaluated on the fly in execution once the my_route_app has run and has had a
chance to set the variable 'destination' to the correct value.
Modified: freeswitch/trunk/src/include/switch_channel.h
==============================================================================
--- freeswitch/trunk/src/include/switch_channel.h (original)
+++ freeswitch/trunk/src/include/switch_channel.h Sat Oct 7 15:54:04 2006
@@ -400,6 +400,14 @@
*/
SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel_t *channel, switch_event_t *event);
+/*!
+ \brief Expand varaibles in a string based on the variables in a paticular channel
+ \param channel channel to expand the variables from
+ \param in the original string
+ \return the original string if no expansion takes place otherwise a new string that must be freed
+ \note it's necessary to test if the return val is the same as the input and free the string if it is not.
+*/
+SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, char *in);
// These may go away
SWITCH_DECLARE(switch_status_t) switch_channel_set_raw_mode (switch_channel_t *channel, int freq, int bits, int channels, int ms, int kbps);
Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
==============================================================================
--- freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c (original)
+++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c Sat Oct 7 15:54:04 2006
@@ -174,17 +174,16 @@
char *cmd = switch_core_session_strdup(session, field + 1);
char *arg;
+ SWITCH_STANDARD_STREAM(stream);
+
if (cmd) {
if ((arg = strchr(cmd, ' '))) {
*arg++ = '\0';
}
- stream.data = retbuf;
- stream.end = stream.data;
- stream.data_size = sizeof(retbuf);
- stream.write_function = switch_console_stream_write;
if (switch_api_execute(cmd, arg, session, &stream) == SWITCH_STATUS_SUCCESS) {
field_data = retbuf;
}
+ free(stream.data);
}
} else {
field_data = switch_caller_get_field_by_name(caller_profile, field);
Modified: freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c
==============================================================================
--- freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c (original)
+++ freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c Sat Oct 7 15:54:04 2006
@@ -128,7 +128,7 @@
}
if (!log_hash || (((all_level > - 1) || lookup) && level >= node->level)) {
- fprintf(handle, node->data);
+ fprintf(handle, "%s", node->data);
}
} else {
fprintf(stderr, "HELP I HAVE NO CONSOLE TO LOG TO!\n");
Modified: freeswitch/trunk/src/switch_channel.c
==============================================================================
--- freeswitch/trunk/src/switch_channel.c (original)
+++ freeswitch/trunk/src/switch_channel.c Sat Oct 7 15:54:04 2006
@@ -999,3 +999,125 @@
return SWITCH_STATUS_FALSE;
}
+
+SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, char *in)
+{
+ char *p, *c;
+ char *data, *indup;
+ int sp = 0, len = 0, olen = 0, vtype = 0, br = 0, vnamepos, vvalpos, cpos, ppos, block = 128;
+ char *sub_val = NULL, *func_val = NULL;
+
+ if (!strchr(in, '$') && !strchr(in, '&')) {
+ return in;
+ }
+
+ olen = strlen(in);
+ indup = strdup(in);
+
+ if ((data = malloc(olen))) {
+ memset(data, 0, olen);
+ c = data;
+ for(p = indup; *p; p++) {
+ vtype = 0;
+
+ if (*p == '$') {
+ vtype = 1;
+ }
+ if (*p == '&') {
+ vtype = 2;
+ }
+
+ if (vtype) {
+ char *s = p, *e, *vname, *vval = NULL;
+ int nlen;
+ s++;
+ if (*s == '{') {
+ br = 1;
+ s++;
+ }
+
+ e = s;
+ vname = s;
+ while (*e) {
+ if (!br && *e == ' ') {
+ *e++ = '\0';
+ sp++;
+ break;
+ }
+ if (br == 1 && *e == '}') {
+ br = 0;
+ *e++ = '\0';
+ break;
+ }
+ if (vtype == 2) {
+ if (*e == '(') {
+ *e++ = '\0';
+ vval = e;
+ br = 2;
+ }
+ if (br == 2 && *e == ')') {
+ *e++ = '\0';
+ br = 0;
+ break;
+ }
+ }
+ e++;
+ }
+ p = e;
+
+ if (vtype == 1) {
+ sub_val = switch_channel_get_variable(channel, vname);
+ } else {
+ switch_stream_handle_t stream = {0};
+
+ SWITCH_STANDARD_STREAM(stream);
+
+ if (stream.data) {
+ if (switch_api_execute(vname, vval, channel->session, &stream) == SWITCH_STATUS_SUCCESS) {
+ func_val = stream.data;
+ sub_val = func_val;
+ } else {
+ free(stream.data);
+ }
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error!\n");
+ free(data);
+ free(indup);
+ return in;
+ }
+ }
+ nlen = strlen(sub_val);
+ if (len + nlen >= olen) {
+ olen += block;
+ cpos = c - data;
+ ppos = p - data;
+ vnamepos = vname - data;
+ vvalpos = vval - data;
+ data = realloc(data, olen);
+
+ c = data + cpos;
+ p = data + ppos;
+ vname = data + vnamepos;
+ vname = data + vvalpos;
+ }
+
+ len += nlen;
+ strcat(c, sub_val);
+ c += nlen;
+
+ if (func_val) {
+ free(func_val);
+ func_val = NULL;
+ }
+ }
+ if (sp) {
+ *c++ = ' ';
+ sp = 0;
+ }
+ *c++ = *p;
+ len++;
+ }
+ }
+ free(indup);
+ return data;
+}
Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c (original)
+++ freeswitch/trunk/src/switch_core.c Sat Oct 7 15:54:04 2006
@@ -2435,6 +2435,7 @@
}
while (switch_channel_get_state(session->channel) == CS_EXECUTE && extension->current_application) {
+ char *expanded;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Execute %s(%s)\n",
extension->current_application->application_name,
extension->current_application->application_data);
@@ -2454,13 +2455,25 @@
return;
}
+ if ((expanded = switch_channel_expand_variables(session->channel, extension->current_application->application_data)) !=
+ extension->current_application->application_data) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Expanded String %s(%s)\n",
+ extension->current_application->application_name,
+ expanded);
+ }
+
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", "%s", extension->current_application->application_name);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", extension->current_application->application_data);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data-Orig", "%s", extension->current_application->application_data);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", expanded);
switch_event_fire(&event);
}
- application_interface->application_function(session, extension->current_application->application_data);
+ application_interface->application_function(session, expanded);
+
+ if (expanded != extension->current_application->application_data) {
+ free(expanded);
+ }
extension->current_application = extension->current_application->next;
}
Modified: freeswitch/trunk/src/switch_log.c
==============================================================================
--- freeswitch/trunk/src/switch_log.c (original)
+++ freeswitch/trunk/src/switch_log.c Sat Oct 7 15:54:04 2006
@@ -223,7 +223,7 @@
}
} else {
if (level == SWITCH_LOG_CONSOLE || !LOG_QUEUE || !THREAD_RUNNING) {
- fprintf(handle, data);
+ fprintf(handle, "%s", data);
free(data);
} else if (level <= MAX_LEVEL) {
switch_log_node_t *node;
1
0
07 Oct '06
Author: anthm
Date: Sat Oct 7 14:54:29 2006
New Revision: 2993
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
Log:
Update to new sofia snapshot, includes fixes for 100 on notify, and for sdp not in 200 after 183 when not using 100rel
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile Sat Oct 7 14:54:29 2006
@@ -1,6 +1,6 @@
OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/))
VERSION = sofia-sip-1.12
-TARBALL = sofia-sip-1.12.3.tar.gz
+TARBALL = sofia-sip-1.12.3.2.tar.gz
CFLAGS += -I. -I$(PREFIX)/include/$(VERSION)
LDFLAGS += -lsofia-sip-ua
LINKER=$(CC)
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Sat Oct 7 14:54:29 2006
@@ -1992,7 +1992,7 @@
switch_yield(10000);
}
- if ((b_private = nua_handle_fetch(bnh))) {
+ if ((b_private = nua_handle_magic(bnh))) {
char *br_b = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE);
char *br_a = switch_core_session_get_uuid(b_private->session);
@@ -2474,7 +2474,7 @@
sofia_private_t *b_private;
switch_channel_set_variable(channel_a, SOFIA_REPLACES_HEADER, rep);
- if ((b_private = nua_handle_fetch(bnh))) {
+ if ((b_private = nua_handle_magic(bnh))) {
channel_b = switch_core_session_get_channel(b_private->session);
br_a = switch_channel_get_variable(channel_a, SWITCH_BRIDGE_VARIABLE);
1
0
[commit] r2992 - in freeswitch/trunk/src: . include mod/applications/mod_bridgecall mod/endpoints/mod_sofia
by Freeswitch SVN 06 Oct '06
by Freeswitch SVN 06 Oct '06
06 Oct '06
Author: anthm
Date: Fri Oct 6 18:39:49 2006
New Revision: 2992
Modified:
freeswitch/trunk/src/include/switch_ivr.h
freeswitch/trunk/src/include/switch_types.h
freeswitch/trunk/src/include/switch_utils.h
freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/switch_caller.c
freeswitch/trunk/src/switch_console.c
freeswitch/trunk/src/switch_core.c
freeswitch/trunk/src/switch_ivr.c
freeswitch/trunk/src/switch_rtp.c
freeswitch/trunk/src/switch_utils.c
Log:
Insane amounts of yucky satanic code to make transfer and that kind of thing work.
Transfers work better when both legs of the call live in thier own channel eg bridged calls
A -> B where you want a to make B -> C
when you route a call to an IVR or playback app you are not really bridging you have
A all alone executing the script so it's hard to transfer that.
I do have it aparently working but it's goofy and you are better off
putting your IVR on it's own switch so they are all inbound calls
then you have A -> B -> IVR
now A can happily transfer B who can stay on line with IVR without stopping
the execution. You can also accomplish this by calling in a loop back to the same box
if you dont want to have 2 boxes.
Also the beginning effort at bridging calls with no media is here
set this magic variable in your dialplan to convince mod_sofia
to pass A's sdp as it's own to B and return B's sdp back to A on 200 or 183
<action application="set" data="no_media=true"/>
<action application="bridge" data="sofia/id(a)host.com"/>
You will need a new sofia tarball for this version
There is a bunch of other odds and ends added like a function or 2 etc
Oh,
And don't be suprised if it introduces all kinds of bugs!
Modified: freeswitch/trunk/src/include/switch_ivr.h
==============================================================================
--- freeswitch/trunk/src/include/switch_ivr.h (original)
+++ freeswitch/trunk/src/include/switch_ivr.h Fri Oct 6 18:39:49 2006
@@ -223,6 +223,13 @@
void *session_data,
void *peer_session_data);
+/*!
+ \brief Bridge Signalling from one session to another
+ \param session one session
+ \param peer_session the other session
+ \return SWITCH_STATUS_SUCCESS if all is well
+*/
+SWITCH_DECLARE(switch_status_t) switch_ivr_signal_bridge(switch_core_session_t *session, switch_core_session_t *peer_session);
/*!
\brief Transfer an existing session to another location
Modified: freeswitch/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/trunk/src/include/switch_types.h (original)
+++ freeswitch/trunk/src/include/switch_types.h Fri Oct 6 18:39:49 2006
@@ -72,6 +72,11 @@
#define SWITCH_HTDOCS_DIR SWITCH_PREFIX_DIR SWITCH_PATH_SEPARATOR "htdocs"
#endif
+#define SWITCH_R_SDP_VARIABLE "_switch_r_sdp_"
+#define SWITCH_L_SDP_VARIABLE "_switch_l_sdp_"
+#define SWITCH_BRIDGE_VARIABLE "BRIDGETO"
+#define SWITCH_SIGNAL_BRIDGE_VARIABLE "SIGNAL_BRIDGETO"
+
#define SWITCH_BITS_PER_BYTE 8
typedef uint8_t switch_byte_t;
@@ -232,7 +237,8 @@
SWITCH_MESSAGE_TRANSMIT_TEXT - A text message
SWITCH_MESSAGE_INDICATE_PROGRESS - indicate progress
SWITCH_MESSAGE_INDICATE_BRIDGE - indicate a bridge starting
- SWITCH_MESSAGE_INDICATE_UNBRIDGE - indicate a bridge ending
+ SWITCH_MESSAGE_INDICATE_UNBRIDGE - indicate a bridge ending
+ SWITCH_MESSAGE_INDICATE_TRANSFER - indicate a transfer is taking place
</pre>
*/
typedef enum {
@@ -240,7 +246,8 @@
SWITCH_MESSAGE_TRANSMIT_TEXT,
SWITCH_MESSAGE_INDICATE_PROGRESS,
SWITCH_MESSAGE_INDICATE_BRIDGE,
- SWITCH_MESSAGE_INDICATE_UNBRIDGE
+ SWITCH_MESSAGE_INDICATE_UNBRIDGE,
+ SWITCH_MESSAGE_INDICATE_TRANSFER
} switch_core_session_message_types_t;
@@ -392,6 +399,7 @@
CF_TAGGED = (1 << 10) - Channel is tagged
CF_WINNER = (1 << 11) - Channel is the winner
CF_CONTROLLED = (1 << 12) - Channel is under control
+CF_NOMEDIA = (1 << 13) - Channel has no media
</pre>
*/
@@ -408,7 +416,8 @@
CF_SERVICE = (1 << 9),
CF_TAGGED = (1 << 10),
CF_WINNER = (1 << 11),
- CF_CONTROLLED = (1 << 12)
+ CF_CONTROLLED = (1 << 12),
+ CF_NOMEDIA = (1 << 13)
} switch_channel_flag_t;
Modified: freeswitch/trunk/src/include/switch_utils.h
==============================================================================
--- freeswitch/trunk/src/include/switch_utils.h (original)
+++ freeswitch/trunk/src/include/switch_utils.h Fri Oct 6 18:39:49 2006
@@ -193,6 +193,16 @@
SWITCH_DECLARE(unsigned int) switch_separate_string(char *buf, char delim, char **array, int arraylen);
/*!
+ \brief Escape a string by prefixing a list of characters with an escape character
+ \param pool a memory pool to use
+ \param in the string
+ \param delim the list of characters to escape
+ \param esc the escape character
+ \return the escaped string
+*/
+SWITCH_DECLARE(char *) switch_escape_char(switch_memory_pool_t *pool, char *in, char *delim, char esc);
+
+/*!
\brief Create a set of file descriptors to poll
\param poll the polfd to create
\param sock the socket to add
Modified: freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c Fri Oct 6 18:39:49 2006
@@ -51,22 +51,31 @@
timelimit = atoi(var);
}
+ if ((var = switch_channel_get_variable(caller_channel, "no_media"))) {
+ switch_channel_set_flag(caller_channel, CF_NOMEDIA);
+ }
+
if (switch_ivr_originate(session, &peer_session, &cause, data, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel!\n");
/* Hangup the channel with the cause code from the failed originate.*/
switch_channel_hangup(caller_channel, cause);
return;
} else {
- switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
+ if (switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
+ switch_ivr_signal_bridge(session, peer_session);
+ } else {
+ switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
+ }
}
}
-
static const switch_application_interface_t bridge_application_interface = {
/*.interface_name */ "bridge",
- /*.application_function */ audio_bridge_function
+ /*.application_function */ audio_bridge_function,
+ /* long_desc */ "Bridge the audio between two sessions",
+ /* short_desc */ "Bridge Audio",
+ /* syntax */ "<channel_url>",
};
-
static const switch_loadable_module_interface_t mod_bridgecall_module_interface = {
/*.module_name = */ modname,
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Fri Oct 6 18:39:49 2006
@@ -62,6 +62,7 @@
#define MULTICAST_EVENT "multicast::event"
#define SOFIA_REPLACES_HEADER "_sofia_replaces_"
+
#include <sofia-sip/nua.h>
#include <sofia-sip/sip_status.h>
#include <sofia-sip/sdp.h>
@@ -131,7 +132,10 @@
TFLAG_TIMER = (1 << 14),
TFLAG_READY = (1 << 15),
TFLAG_REINVITE = (1 << 16),
- TFLAG_REFER = (1 << 17)
+ TFLAG_REFER = (1 << 17),
+ TFLAG_NOHUP = (1 << 18),
+ TFLAG_XFER = (1 << 19),
+ TFLAG_NOMEDIA = (1 << 20)
} TFLAGS;
static struct {
@@ -250,11 +254,14 @@
char *local_sdp_str;
char *dest;
char *key;
+ char *xferto;
+ char *kick;
unsigned long rm_rate;
switch_payload_t pt;
switch_mutex_t *flag_mutex;
switch_payload_t te;
nua_handle_t *nh;
+ nua_handle_t *nh2;
su_home_t *home;
sip_contact_t *contact;
};
@@ -594,8 +601,10 @@
char buf[1024];
switch_time_t now = switch_time_now();
- assert(tech_pvt != NULL);
-
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ return;
+ }
+
snprintf(buf, sizeof(buf),
"v=0\n"
"o=FreeSWITCH %d%"APR_TIME_T_FMT" %d%"APR_TIME_T_FMT" IN IP4 %s\n"
@@ -653,6 +662,11 @@
static void tech_set_codecs(private_object_t *tech_pvt)
{
+
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ return;
+ }
+
if (tech_pvt->num_codecs) {
return;
}
@@ -734,11 +748,11 @@
char *ip = tech_pvt->profile->rtpip;
switch_port_t sdp_port;
char *err;
-
- if (tech_pvt->adv_sdp_audio_port) {
+
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA) || tech_pvt->adv_sdp_audio_port) {
return SWITCH_STATUS_SUCCESS;
}
-
+
tech_pvt->local_sdp_audio_ip = ip;
tech_pvt->local_sdp_audio_port = switch_rtp_request_port();
sdp_port = tech_pvt->local_sdp_audio_port;
@@ -787,6 +801,8 @@
caller_profile = switch_channel_get_caller_profile(channel);
+
+
if ((tech_pvt->from_str = switch_core_db_mprintf("\"%s\" <sip:%s@%s>",
(char *) caller_profile->caller_id_name,
(char *) caller_profile->caller_id_number,
@@ -794,21 +810,75 @@
))) {
char *rep = switch_channel_get_variable(channel, SOFIA_REPLACES_HEADER);
-
+
tech_choose_port(tech_pvt);
set_local_sdp(tech_pvt);
+
switch_set_flag_locked(tech_pvt, TFLAG_READY);
- tech_pvt->nh = nua_handle(tech_pvt->profile->nua, NULL,
+ if (!tech_pvt->nh) {
+ tech_pvt->nh = nua_handle(tech_pvt->profile->nua, NULL,
+ SIPTAG_TO_STR(tech_pvt->dest),
+ SIPTAG_FROM_STR(tech_pvt->from_str),
+ SIPTAG_CONTACT_STR(tech_pvt->profile->url),
+ TAG_END());
+
+ tech_pvt->sofia_private.session = session;
+ nua_handle_bind(tech_pvt->nh, &tech_pvt->sofia_private);
+
+ }
+
+ nua_invite(tech_pvt->nh,
+ SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str),
+ SOATAG_RTP_SORT(SOA_RTP_SORT_REMOTE),
+ SOATAG_RTP_SELECT(SOA_RTP_SELECT_ALL),
+ TAG_IF(rep, SIPTAG_REPLACES_STR(rep)),
+ TAG_END());
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n");
+ }
+
+}
+
+
+
+static void do_xfer_invite(switch_core_session_t *session)
+{
+ private_object_t *tech_pvt;
+ switch_channel_t *channel = NULL;
+ switch_caller_profile_t *caller_profile;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ tech_pvt = (private_object_t *) switch_core_session_get_private(session);
+ assert(tech_pvt != NULL);
+
+ caller_profile = switch_channel_get_caller_profile(channel);
+
+
+
+ if ((tech_pvt->from_str = switch_core_db_mprintf("\"%s\" <sip:%s@%s>",
+ (char *) caller_profile->caller_id_name,
+ (char *) caller_profile->caller_id_number,
+ tech_pvt->profile->sipip
+ ))) {
+
+ char *rep = switch_channel_get_variable(channel, SOFIA_REPLACES_HEADER);
+
+
+ tech_pvt->nh2 = nua_handle(tech_pvt->profile->nua, NULL,
SIPTAG_TO_STR(tech_pvt->dest),
SIPTAG_FROM_STR(tech_pvt->from_str),
SIPTAG_CONTACT_STR(tech_pvt->profile->url),
TAG_END());
+
- tech_pvt->sofia_private.session = session;
- nua_handle_bind(tech_pvt->nh, &tech_pvt->sofia_private);
-
- nua_invite(tech_pvt->nh,
+ nua_handle_bind(tech_pvt->nh2, &tech_pvt->sofia_private);
+
+
+
+ nua_invite(tech_pvt->nh2,
SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str),
SOATAG_RTP_SORT(SOA_RTP_SORT_REMOTE),
SOATAG_RTP_SELECT(SOA_RTP_SELECT_ALL),
@@ -829,6 +899,7 @@
{
private_object_t *tech_pvt;
switch_channel_t *channel = NULL;
+ char *sdp;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@@ -841,6 +912,16 @@
switch_channel_set_variable(channel, "endpoint_disposition", "INIT");
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SOFIA INIT\n");
+ if (switch_channel_test_flag(channel, CF_NOMEDIA)) {
+ switch_set_flag_locked(tech_pvt, TFLAG_NOMEDIA);
+ }
+
+ if ((sdp = switch_channel_get_variable(channel, SWITCH_L_SDP_VARIABLE))) {
+ tech_pvt->local_sdp_str = switch_core_session_strdup(session, sdp);
+ switch_set_flag(tech_pvt, TFLAG_NOMEDIA);
+ switch_channel_set_flag(channel, CF_NOMEDIA);
+ }
+
if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) {
do_invite(session);
}
@@ -937,6 +1018,7 @@
static switch_status_t sofia_on_hangup(switch_core_session_t *session)
{
+ switch_core_session_t *asession;
private_object_t *tech_pvt;
switch_channel_t *channel = NULL;
switch_call_cause_t cause;
@@ -958,6 +1040,13 @@
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s hanging up, cause: %s\n",
switch_channel_get_name(channel), switch_channel_cause2str(cause), sip_cause);
+
+ if (tech_pvt->kick && (asession = switch_core_session_locate(tech_pvt->kick))) {
+ switch_channel_t *a_channel = switch_core_session_get_channel(asession);
+ switch_channel_hangup(a_channel, switch_channel_get_cause(channel));
+ switch_core_session_rwunlock(asession);
+ }
+
if (tech_pvt->nh) {
if (!switch_test_flag(tech_pvt, TFLAG_BYE)) {
if (switch_test_flag(tech_pvt, TFLAG_ANS)) {
@@ -1088,6 +1177,9 @@
channel = switch_core_session_get_channel(tech_pvt->session);
assert(channel != NULL);
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ return SWITCH_STATUS_SUCCESS;
+ }
if (switch_rtp_ready(tech_pvt->rtp_session) && !switch_test_flag(tech_pvt, TFLAG_REINVITE)) {
return SWITCH_STATUS_SUCCESS;
@@ -1168,7 +1260,8 @@
{
private_object_t *tech_pvt;
switch_channel_t *channel = NULL;
-
+ char *sdp;
+
assert(session != NULL);
channel = switch_core_session_get_channel(session);
@@ -1177,13 +1270,25 @@
tech_pvt = (private_object_t *) switch_core_session_get_private(session);
assert(tech_pvt != NULL);
+ if ((sdp = switch_channel_get_variable(channel, SWITCH_L_SDP_VARIABLE))) {
+ tech_pvt->local_sdp_str = switch_core_session_strdup(session, sdp);
+ switch_set_flag(tech_pvt, TFLAG_NOMEDIA);
+ switch_channel_set_flag(channel, CF_NOMEDIA);
+ }
+
+
if (!switch_test_flag(tech_pvt, TFLAG_ANS) && !switch_channel_test_flag(channel, CF_OUTBOUND)) {
switch_set_flag_locked(tech_pvt, TFLAG_ANS);
+
+
tech_choose_port(tech_pvt);
set_local_sdp(tech_pvt);
activate_rtp(tech_pvt);
+
if (tech_pvt->nh) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Local SDP:\n%s\n", tech_pvt->local_sdp_str);
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Local SDP %s:\n%s\n",
+ switch_channel_get_name(channel),
+ tech_pvt->local_sdp_str);
nua_respond(tech_pvt->nh, SIP_200_OK,
SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str),
SOATAG_AUDIO_AUX("cn telephone-event"),
@@ -1203,10 +1308,6 @@
switch_channel_t *channel = NULL;
int payload = 0;
- //switch_time_t now, started = switch_time_now(), last_act = switch_time_now();
- //unsigned int elapsed;
- //uint32_t hard_timeout = 60000 * 3;
-
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@@ -1246,7 +1347,6 @@
while (!switch_test_flag(tech_pvt, TFLAG_BYE) && switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->read_frame.datalen == 0) {
- //now = switch_time_now();
tech_pvt->read_frame.flags = SFF_NONE;
status = switch_rtp_zerocopy_read_frame(tech_pvt->rtp_session, &tech_pvt->read_frame);
@@ -1448,6 +1548,34 @@
switch (msg->message_id) {
case SWITCH_MESSAGE_INDICATE_BRIDGE:
+
+ if (switch_test_flag(tech_pvt, TFLAG_XFER)) {
+ switch_clear_flag_locked(tech_pvt, TFLAG_XFER);
+ if (msg->pointer_arg) {
+ switch_core_session_t *asession, *bsession = msg->pointer_arg;
+
+ if ((asession = switch_core_session_locate(tech_pvt->xferto))) {
+ private_object_t *a_tech_pvt = switch_core_session_get_private(asession);
+ private_object_t *b_tech_pvt = switch_core_session_get_private(bsession);
+
+ switch_set_flag_locked(a_tech_pvt, TFLAG_REINVITE);
+ a_tech_pvt->remote_sdp_audio_ip = switch_core_session_strdup(asession, b_tech_pvt->remote_sdp_audio_ip);
+ a_tech_pvt->remote_sdp_audio_port = b_tech_pvt->remote_sdp_audio_port;
+ a_tech_pvt->local_sdp_audio_ip = switch_core_session_strdup(asession, b_tech_pvt->local_sdp_audio_ip);
+ a_tech_pvt->local_sdp_audio_port = b_tech_pvt->local_sdp_audio_port;
+ activate_rtp(a_tech_pvt);
+
+ b_tech_pvt->kick = switch_core_session_strdup(bsession, tech_pvt->xferto);
+
+
+ switch_core_session_rwunlock(asession);
+ }
+
+
+ msg->pointer_arg = NULL;
+ return SWITCH_STATUS_FALSE;
+ }
+ }
if (tech_pvt->rtp_session && switch_test_flag(tech_pvt, TFLAG_TIMER)) {
switch_rtp_clear_flag(tech_pvt->rtp_session, SWITCH_RTP_FLAG_USE_TIMER);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "De-activate timed RTP!\n");
@@ -1462,17 +1590,26 @@
case SWITCH_MESSAGE_INDICATE_PROGRESS: {
struct private_object *tech_pvt;
switch_channel_t *channel = NULL;
-
+ char *sdp;
+
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
-
+
if (!switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) {
switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Asked to send early media by %s\n", msg->from);
+
+ if ((sdp = switch_channel_get_variable(channel, SWITCH_L_SDP_VARIABLE))) {
+ tech_pvt->local_sdp_str = switch_core_session_strdup(session, sdp);
+ switch_set_flag(tech_pvt, TFLAG_NOMEDIA);
+ switch_channel_set_flag(channel, CF_NOMEDIA);
+ }
+
+
/* Transmit 183 Progress with SDP */
tech_choose_port(tech_pvt);
set_local_sdp(tech_pvt);
@@ -1540,6 +1677,7 @@
switch_caller_profile_t *caller_profile = NULL;
private_object_t *tech_pvt = NULL;
switch_channel_t *channel;
+ switch_channel_t *nchannel;
char *host;
*new_session = NULL;
@@ -1586,19 +1724,24 @@
tech_pvt->dest = switch_core_session_alloc(nsession, strlen(dest) + 5);
snprintf(tech_pvt->dest, strlen(dest) + 5, "sip:%s", dest);
}
-
- channel = switch_core_session_get_channel(nsession);
- attach_private(nsession, profile, tech_pvt, dest);
+ attach_private(nsession, profile, tech_pvt, dest);
+ channel = switch_core_session_get_channel(session);
+ nchannel = switch_core_session_get_channel(nsession);
caller_profile = switch_caller_profile_clone(nsession, outbound_profile);
- switch_channel_set_caller_profile(channel, caller_profile);
- switch_channel_set_flag(channel, CF_OUTBOUND);
+ switch_channel_set_caller_profile(nchannel, caller_profile);
+ switch_channel_set_flag(nchannel, CF_OUTBOUND);
switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND);
- switch_channel_set_state(channel, CS_INIT);
- switch_channel_set_variable(channel, "endpoint_disposition", "OUTBOUND");
+ switch_channel_set_state(nchannel, CS_INIT);
+ switch_channel_set_variable(nchannel, "endpoint_disposition", "OUTBOUND");
*new_session = nsession;
status = SWITCH_STATUS_SUCCESS;
if (session) {
+ char *val;
switch_ivr_transfer_variable(session, nsession, SOFIA_REPLACES_HEADER);
+
+ if (switch_channel_test_flag(channel, CF_NOMEDIA) && (val = switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE))) {
+ switch_channel_set_variable(nchannel, SWITCH_L_SDP_VARIABLE, val);
+ }
}
done:
@@ -1723,7 +1866,6 @@
{
char const *l_sdp = NULL, *r_sdp = NULL;
- //int audio = nua_active_inactive, video = nua_active_inactive, chat = nua_active_inactive;
int offer_recv = 0, answer_recv = 0, offer_sent = 0, answer_sent = 0;
int ss_state = nua_callstate_init;
switch_channel_t *channel = NULL;
@@ -1758,6 +1900,7 @@
if (r_sdp) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Remote SDP:\n%s\n", r_sdp);
tech_pvt->remote_sdp_str = switch_core_session_strdup(session, (char *)r_sdp);
+ switch_channel_set_variable(channel, SWITCH_R_SDP_VARIABLE, (char *) r_sdp);
}
}
@@ -1772,34 +1915,38 @@
case nua_callstate_proceeding:
if (channel) {
if (r_sdp) {
- sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
- sdp_session_t *sdp;
- uint8_t match = 0;
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ switch_channel_pre_answer(channel);
+ return;
+ } else {
+ sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
+ sdp_session_t *sdp;
+ uint8_t match = 0;
- if (tech_pvt->num_codecs) {
- if ((sdp = sdp_session(parser))) {
- match = negotiate_sdp(session, sdp);
+ if (tech_pvt->num_codecs) {
+ if ((sdp = sdp_session(parser))) {
+ match = negotiate_sdp(session, sdp);
+ }
}
- }
- if (parser) {
- sdp_parser_free(parser);
- }
+ if (parser) {
+ sdp_parser_free(parser);
+ }
- if (match) {
- tech_choose_port(tech_pvt);
- activate_rtp(tech_pvt);
- switch_channel_set_variable(channel, "endpoint_disposition", "EARLY MEDIA");
- switch_channel_pre_answer(channel);
- return;
+ if (match) {
+ tech_choose_port(tech_pvt);
+ activate_rtp(tech_pvt);
+ switch_channel_set_variable(channel, "endpoint_disposition", "EARLY MEDIA");
+ switch_channel_pre_answer(channel);
+ return;
+ }
+ switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");
+ nua_respond(nh, SIP_488_NOT_ACCEPTABLE,
+ TAG_END());
}
- switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");
- nua_respond(nh, SIP_488_NOT_ACCEPTABLE,
- TAG_END());
}
}
-
break;
case nua_callstate_completing:
nua_ack(nh, TAG_END());
@@ -1807,60 +1954,69 @@
case nua_callstate_received:
if (channel) {
if (r_sdp) {
- sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
- sdp_session_t *sdp;
- uint8_t match = 0;
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ switch_channel_set_variable(channel, "endpoint_disposition", "RECEIVED_NOMEDIA");
+ switch_channel_set_state(channel, CS_INIT);
+ switch_set_flag_locked(tech_pvt, TFLAG_READY);
+ switch_core_session_thread_launch(session);
+ return;
+ } else {
+ sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
+ sdp_session_t *sdp;
+ uint8_t match = 0;
- if (tech_pvt->num_codecs) {
- if ((sdp = sdp_session(parser))) {
- match = negotiate_sdp(session, sdp);
+ if (tech_pvt->num_codecs) {
+ if ((sdp = sdp_session(parser))) {
+ match = negotiate_sdp(session, sdp);
+ }
}
- }
- if (parser) {
- sdp_parser_free(parser);
- }
+ if (parser) {
+ sdp_parser_free(parser);
+ }
- if (match) {
- nua_handle_t *bnh;
- sip_replaces_t *replaces;
+ if (match) {
+ nua_handle_t *bnh;
+ sip_replaces_t *replaces;
- switch_channel_set_variable(channel, "endpoint_disposition", "RECEIVED");
- switch_channel_set_state(channel, CS_INIT);
- switch_set_flag_locked(tech_pvt, TFLAG_READY);
- switch_core_session_thread_launch(session);
+ switch_channel_set_variable(channel, "endpoint_disposition", "RECEIVED");
+ switch_channel_set_state(channel, CS_INIT);
+ switch_set_flag_locked(tech_pvt, TFLAG_READY);
+ switch_core_session_thread_launch(session);
- if (replaces_str && (replaces = sip_replaces_make(tech_pvt->home, replaces_str)) && (bnh = nua_handle_by_replaces(nua, replaces))) {
- sofia_private_t *b_private;
+ if (replaces_str && (replaces = sip_replaces_make(tech_pvt->home, replaces_str)) && (bnh = nua_handle_by_replaces(nua, replaces))) {
+ sofia_private_t *b_private;
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Attended Transfer\n");
- while (switch_channel_get_state(channel) < CS_EXECUTE) {
- switch_yield(10000);
- }
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Replaces Attended Transfer\n");
+ while (switch_channel_get_state(channel) < CS_EXECUTE) {
+ switch_yield(10000);
+ }
- if ((b_private = nua_handle_fetch(bnh))) {
- char *br_b = switch_channel_get_variable(channel, "BRIDGETO");
- char *br_a = switch_core_session_get_uuid(b_private->session);
+ if ((b_private = nua_handle_fetch(bnh))) {
+ char *br_b = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE);
+ char *br_a = switch_core_session_get_uuid(b_private->session);
- if (br_b) {
- switch_ivr_uuid_bridge(br_a, br_b);
- switch_channel_set_variable(channel, "endpoint_disposition", "ATTENDED_TRANSFER");
- switch_channel_hangup(channel, SWITCH_CAUSE_ATTENDED_TRANSFER);
+ if (br_b) {
+ switch_ivr_uuid_bridge(br_a, br_b);
+ switch_channel_set_variable(channel, "endpoint_disposition", "ATTENDED_TRANSFER");
+ switch_channel_hangup(channel, SWITCH_CAUSE_ATTENDED_TRANSFER);
+ } else {
+ switch_channel_set_variable(channel, "endpoint_disposition", "ATTENDED_TRANSFER_ERROR");
+ switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ }
} else {
switch_channel_set_variable(channel, "endpoint_disposition", "ATTENDED_TRANSFER_ERROR");
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
- } else {
- switch_channel_set_variable(channel, "endpoint_disposition", "ATTENDED_TRANSFER_ERROR");
- switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ nua_handle_unref(bnh);
}
+ return;
}
- return;
- }
- switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");
- nua_respond(nh, SIP_488_NOT_ACCEPTABLE,
- TAG_END());
+ switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");
+ nua_respond(nh, SIP_488_NOT_ACCEPTABLE,
+ TAG_END());
+ }
}
}
@@ -1869,77 +2025,104 @@
break;
case nua_callstate_completed:
if (tech_pvt && r_sdp) {
- sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
- sdp_session_t *sdp;
- uint8_t match = 0;
+ if (r_sdp) {
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "What should i do?\n%s\n", r_sdp);
+ return;
+ } else {
+ sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
+ sdp_session_t *sdp;
+ uint8_t match = 0;
- if (tech_pvt->num_codecs) {
- if ((sdp = sdp_session(parser))) {
- match = negotiate_sdp(session, sdp);
+ if (tech_pvt->num_codecs) {
+ if ((sdp = sdp_session(parser))) {
+ match = negotiate_sdp(session, sdp);
+ }
+ }
+ tech_choose_port(tech_pvt);
+ set_local_sdp(tech_pvt);
+ tech_set_codec(tech_pvt);
+ switch_set_flag_locked(tech_pvt, TFLAG_REINVITE);
+ activate_rtp(tech_pvt);
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Reinvite\n");
+ if (parser) {
+ sdp_parser_free(parser);
+ }
}
}
- tech_choose_port(tech_pvt);
- set_local_sdp(tech_pvt);
- tech_set_codec(tech_pvt);
- switch_set_flag_locked(tech_pvt, TFLAG_REINVITE);
- activate_rtp(tech_pvt);
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Reinvite\n");
- if (parser) {
- sdp_parser_free(parser);
- }
}
break;
case nua_callstate_ready:
+ if (nh == tech_pvt->nh2) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Cheater Reinvite!\n");
+ switch_set_flag_locked(tech_pvt, TFLAG_REINVITE);
+ tech_pvt->nh = tech_pvt->nh2;
+ tech_pvt->nh2 = NULL;
+ tech_choose_port(tech_pvt);
+ activate_rtp(tech_pvt);
+ return;
+ }
+
if (channel) {
if (r_sdp) {
- sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
- sdp_session_t *sdp;
- uint8_t match = 0;
+ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
+ switch_set_flag_locked(tech_pvt, TFLAG_ANS);
+ switch_channel_answer(channel);
+ return;
+ } else {
+ sdp_parser_t *parser = sdp_parse(tech_pvt->home, r_sdp, (int)strlen(r_sdp), 0);
+ sdp_session_t *sdp;
+ uint8_t match = 0;
- if (tech_pvt->num_codecs) {
- if ((sdp = sdp_session(parser))) {
- match = negotiate_sdp(session, sdp);
+ if (tech_pvt->num_codecs) {
+ if ((sdp = sdp_session(parser))) {
+ match = negotiate_sdp(session, sdp);
+ }
}
- }
- if (parser) {
- sdp_parser_free(parser);
- }
+ if (parser) {
+ sdp_parser_free(parser);
+ }
- if (match) {
- switch_set_flag_locked(tech_pvt, TFLAG_ANS);
- switch_channel_set_variable(channel, "endpoint_disposition", "ANSWER");
- tech_choose_port(tech_pvt);
- activate_rtp(tech_pvt);
- switch_channel_answer(channel);
- return;
+ if (match) {
+ switch_set_flag_locked(tech_pvt, TFLAG_ANS);
+ switch_channel_set_variable(channel, "endpoint_disposition", "ANSWER");
+ tech_choose_port(tech_pvt);
+ activate_rtp(tech_pvt);
+ switch_channel_answer(channel);
+ return;
+ }
+
+ switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");
+ nua_respond(nh, SIP_488_NOT_ACCEPTABLE, TAG_END());
}
-
- switch_channel_set_variable(channel, "endpoint_disposition", "NO CODECS");
- nua_respond(nh, SIP_488_NOT_ACCEPTABLE,
- TAG_END());
} else if (switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) {
switch_set_flag_locked(tech_pvt, TFLAG_ANS);
switch_channel_set_variable(channel, "endpoint_disposition", "ANSWER");
switch_channel_answer(channel);
return;
} //else probably an ack
-
}
-
+
break;
case nua_callstate_terminating:
break;
- case nua_callstate_terminated:
+ case nua_callstate_terminated:
if (session) {
switch_set_flag_locked(tech_pvt, TFLAG_BYE);
- terminate_session(&session, sip_cause_to_freeswitch(status), __LINE__);
+ if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) {
+ switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP);
+ nua_handle_destroy(tech_pvt->nh);
+ tech_pvt->nh = NULL;
+ } else {
+ terminate_session(&session, sip_cause_to_freeswitch(status), __LINE__);
+ }
}
break;
}
+
-
}
@@ -2235,9 +2418,27 @@
if (session) {
private_object_t *tech_pvt = NULL;
- char *exten = NULL;
+ char *etmp = NULL, *exten = NULL;
+ switch_channel_t *channel_a = NULL, *channel_b = NULL;
tech_pvt = switch_core_session_get_private(session);
+ channel_a = switch_core_session_get_channel(session);
+
+
+ if (!sip->sip_cseq || !(etmp = switch_core_db_mprintf("refer;id=%u", sip->sip_cseq->cs_seq))) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n");
+ goto done;
+ }
+
+
+ if (switch_channel_test_flag(channel_a, CF_NOMEDIA)) {
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
+ goto done;
+ }
+
from = sip->sip_from;
to = sip->sip_to;
@@ -2256,12 +2457,11 @@
char *rep;
if ((rep = strchr(refer_to->r_url->url_headers, '='))) {
- switch_channel_t *channel_a = NULL, *channel_b = NULL;
char *br_a = NULL, *br_b = NULL;
char *buf;
rep++;
- channel_a = switch_core_session_get_channel(session);
+
if ((buf = switch_core_session_alloc(session, strlen(rep) + 1))) {
rep = url_unescape(buf, (const char *) rep);
@@ -2272,45 +2472,86 @@
}
if ((replaces = sip_replaces_make(tech_pvt->home, rep)) && (bnh = nua_handle_by_replaces(nua, replaces))) {
sofia_private_t *b_private;
-
+
+ switch_channel_set_variable(channel_a, SOFIA_REPLACES_HEADER, rep);
if ((b_private = nua_handle_fetch(bnh))) {
channel_b = switch_core_session_get_channel(b_private->session);
- br_a = switch_channel_get_variable(channel_a, "BRIDGETO");
- br_b = switch_channel_get_variable(channel_b, "BRIDGETO");
+ br_a = switch_channel_get_variable(channel_a, SWITCH_BRIDGE_VARIABLE);
+ br_b = switch_channel_get_variable(channel_b, SWITCH_BRIDGE_VARIABLE);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Attended Transfer [%s][%s]\n", br_a, br_b);
if (br_a && br_b) {
switch_ivr_uuid_bridge(br_a, br_b);
switch_channel_set_variable(channel_b, "endpoint_disposition", "ATTENDED_TRANSFER");
- switch_channel_hangup(channel_b, SWITCH_CAUSE_ATTENDED_TRANSFER);
- switch_channel_set_variable(channel_a, "endpoint_disposition", "ATTENDED_TRANSFER");
- switch_channel_hangup(channel_a, SWITCH_CAUSE_ATTENDED_TRANSFER);
+
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
+
} else {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Transfer! [%s][%s]\n", br_a, br_b);
- switch_channel_set_variable(channel_b, "endpoint_disposition", "ATTENDED_TRANSFER_ERROR");
- switch_channel_hangup(channel_b, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
- switch_channel_set_variable(channel_a, "endpoint_disposition", "ATTENDED_TRANSFER_ERROR");
- switch_channel_hangup(channel_a, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ private_object_t *tech_pvt_b = (private_object_t *) switch_core_session_get_private(b_private->session);
+
+ if (!br_a && !br_b) {
+ switch_set_flag_locked(tech_pvt, TFLAG_NOHUP);
+ switch_set_flag_locked(tech_pvt_b, TFLAG_XFER);
+ tech_pvt_b->xferto = switch_core_session_strdup(b_private->session, switch_core_session_get_uuid(session));
+ } else if (!br_a && br_b) {
+ switch_core_session_t *bsession;
+
+ if ((bsession = switch_core_session_locate(br_b))) {
+ private_object_t *b_tech_pvt = switch_core_session_get_private(bsession);
+ switch_channel_t *b_channel = switch_core_session_get_channel(bsession);
+ private_object_t *bp_tech_pvt = switch_core_session_get_private(b_private->session);
+
+ switch_core_session_get_uuid(b_private->session);
+ switch_set_flag_locked(tech_pvt, TFLAG_NOHUP);
+
+ switch_channel_clear_state_handler(b_channel, NULL);
+ switch_channel_set_state_flag(b_channel, CF_TRANSFER);
+ switch_channel_set_state(b_channel, CS_TRANSMIT);
+
+ switch_set_flag_locked(tech_pvt, TFLAG_REINVITE);
+ tech_pvt->local_sdp_audio_ip = switch_core_session_strdup(session, bp_tech_pvt->local_sdp_audio_ip);
+ tech_pvt->local_sdp_audio_port = bp_tech_pvt->local_sdp_audio_port;
+
+ tech_pvt->remote_sdp_audio_ip = switch_core_session_strdup(session, b_tech_pvt->remote_sdp_audio_ip);
+ tech_pvt->remote_sdp_audio_port = b_tech_pvt->remote_sdp_audio_port;
+ activate_rtp(tech_pvt);
+
+ b_tech_pvt->kick = switch_core_session_strdup(bsession, switch_core_session_get_uuid(session));
+
+
+ switch_core_session_rwunlock(bsession);
+ }
+
+ switch_channel_hangup(channel_b, SWITCH_CAUSE_ATTENDED_TRANSFER);
+ }
+
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
+
}
}
-
nua_handle_unref(bnh);
} else { /* the other channel is on a different box, we have to go find them */
- if (exten && (br_a = switch_channel_get_variable(channel_a, "BRIDGETO"))) {
- switch_core_session_t *bsession;
+ if (exten && (br_a = switch_channel_get_variable(channel_a, SWITCH_BRIDGE_VARIABLE))) {
+ switch_core_session_t *asession;
switch_channel_t *channel = switch_core_session_get_channel(session);
- if ((bsession = switch_core_session_locate(br_a))) {
+ if ((asession = switch_core_session_locate(br_a))) {
switch_core_session_t *tsession;
switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
uint32_t timeout = 60;
char *tuuid_str;
- channel = switch_core_session_get_channel(bsession);
+ channel = switch_core_session_get_channel(asession);
- exten = switch_core_db_mprintf("sofia/%s/%s@%s:%d",
+ exten = switch_core_db_mprintf("sofia/%s/%s@%s:%s",
profile->name,
(char *) refer_to->r_url->url_user,
(char *) refer_to->r_url->url_host,
@@ -2319,7 +2560,7 @@
switch_channel_set_variable(channel, SOFIA_REPLACES_HEADER, rep);
- if (switch_ivr_originate(bsession,
+ if (switch_ivr_originate(asession,
&tsession,
&cause,
exten,
@@ -2329,14 +2570,21 @@
NULL,
NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel! [%s]\n", exten);
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
goto done;
}
- switch_core_session_rwunlock(bsession);
+ switch_core_session_rwunlock(asession);
tuuid_str = switch_core_session_get_uuid(tsession);
switch_ivr_uuid_bridge(br_a, tuuid_str);
switch_channel_set_variable(channel_a, "endpoint_disposition", "ATTENDED_TRANSFER");
- switch_channel_hangup(channel_a, SWITCH_CAUSE_ATTENDED_TRANSFER);
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
} else {
goto error;
}
@@ -2344,7 +2592,10 @@
} else { error:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Transfer! [%s]\n", br_a);
switch_channel_set_variable(channel_a, "endpoint_disposition", "ATTENDED_TRANSFER_ERROR");
- switch_channel_hangup(channel_a, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
}
}
} else {
@@ -2362,26 +2613,50 @@
switch_channel_t *channel = switch_core_session_get_channel(session);
char *br;
- switch_channel_set_variable(channel, "endpoint_disposition", "BLIND_TRANSFER");
- switch_channel_hangup(channel, SWITCH_CAUSE_BLIND_TRANSFER);
-
- if ((br = switch_channel_get_variable(channel, "BRIDGETO"))) {
+ if ((br = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE))) {
switch_core_session_t *bsession;
-
+
if ((bsession = switch_core_session_locate(br))) {
channel = switch_core_session_get_channel(bsession);
switch_channel_set_variable(channel, "TRANSFER_FALLBACK", (char *) from->a_user);
switch_ivr_session_transfer(bsession, exten, profile->dialplan, profile->context);
switch_core_session_rwunlock(bsession);
}
- }
+ switch_channel_set_variable(channel, "endpoint_disposition", "BLIND_TRANSFER");
+
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
+ } else {
+ exten = switch_core_db_mprintf("sip:%s@%s:%s",
+ (char *) refer_to->r_url->url_user,
+ (char *) refer_to->r_url->url_host,
+ refer_to->r_url->url_port);
+ tech_pvt->dest = switch_core_session_strdup(session, exten);
+
+
+ switch_set_flag_locked(tech_pvt, TFLAG_NOHUP);
+
+
+ nua_notify(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
+
+ do_xfer_invite(session);
+
+ }
}
done:
- if (strchr(exten, '@')) {
+ if (exten && strchr(exten, '@')) {
switch_core_db_free(exten);
}
+ if (etmp) {
+ switch_core_db_free(etmp);
+ }
}
}
@@ -2394,11 +2669,11 @@
tagi_t tags[])
{
switch_core_session_t *session = sofia_private ? sofia_private->session : NULL;
- //refer_handle_t *refer = sofia_private ? sofia_private->refer : NULL;
char key[128] = "";
- if (!session) {
+ if (!session) {
+
if ((profile->pflags & PFLAG_AUTH_CALLS)) {
if (handle_register(nua, profile, nh, sip, REG_INVITE, key, sizeof(key))) {
return;
@@ -2510,7 +2785,6 @@
sip_t const *sip,
tagi_t tags[])
{
- //switch_core_session_t *session = sofia_private ? sofia_private->session : NULL;
handle_register(nua, profile, nh, sip, REG_REGISTER, NULL, 0);
}
@@ -2547,15 +2821,11 @@
if ((tech_pvt = switch_core_session_get_private(session)) && switch_test_flag(tech_pvt, TFLAG_REFER)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "received reply from refer\n");
- if (status == 200) {
- //crap
- }
return;
}
}
if (!oreg) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No authentication available!\n");
if (sofia_private->oreg) {
nua_handle_destroy(nh);
}
@@ -2906,9 +3176,7 @@
}
su_root_step(profile->s_root, 1000);
- //su_root_run(profile->s_root);
}
-
if (switch_event_create(&s_event, SWITCH_EVENT_UNPUBLISH) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "service", "_sip._udp");
Modified: freeswitch/trunk/src/switch_caller.c
==============================================================================
--- freeswitch/trunk/src/switch_caller.c (original)
+++ freeswitch/trunk/src/switch_caller.c Fri Oct 6 18:39:49 2006
@@ -145,55 +145,55 @@
if (caller_profile->username) {
snprintf(header_name, sizeof(header_name), "%s-Username", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->username);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->username);
}
if (caller_profile->dialplan) {
snprintf(header_name, sizeof(header_name), "%s-Dialplan", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->dialplan);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->dialplan);
}
if (caller_profile->caller_id_name) {
snprintf(header_name, sizeof(header_name), "%s-Caller-ID-Name", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->caller_id_name);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->caller_id_name);
}
if (caller_profile->caller_id_number) {
snprintf(header_name, sizeof(header_name), "%s-Caller-ID-Number", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->caller_id_number);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->caller_id_number);
}
if (caller_profile->network_addr) {
snprintf(header_name, sizeof(header_name), "%s-Network-Addr", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->network_addr);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->network_addr);
}
if (caller_profile->ani) {
snprintf(header_name, sizeof(header_name), "%s-ANI", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->ani);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->ani);
}
if (caller_profile->ani2) {
snprintf(header_name, sizeof(header_name), "%s-ANI2", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->ani2);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->ani2);
}
if (caller_profile->destination_number) {
snprintf(header_name, sizeof(header_name), "%s-Destination-Number", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->destination_number);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->destination_number);
}
if (caller_profile->uuid) {
snprintf(header_name, sizeof(header_name), "%s-Unique-ID", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->uuid);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->uuid);
}
if (caller_profile->source) {
snprintf(header_name, sizeof(header_name), "%s-Source", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->source);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->source);
}
if (caller_profile->context) {
snprintf(header_name, sizeof(header_name), "%s-Context", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->context);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->context);
}
if (caller_profile->rdnis) {
snprintf(header_name, sizeof(header_name), "%s-RDNIS", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->rdnis);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->rdnis);
}
if (caller_profile->chan_name) {
snprintf(header_name, sizeof(header_name), "%s-Channel-Name", prefix);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->chan_name);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%s", caller_profile->chan_name);
}
}
Modified: freeswitch/trunk/src/switch_console.c
==============================================================================
--- freeswitch/trunk/src/switch_console.c (original)
+++ freeswitch/trunk/src/switch_console.c Fri Oct 6 18:39:49 2006
@@ -88,7 +88,7 @@
ret = -1;
} else {
ret = 0;
- snprintf(end, remaining, data);
+ snprintf(end, remaining, "%s", data);
handle->data_len = strlen(buf);
handle->end = (uint8_t *)(handle->data) + handle->data_len;
}
Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c (original)
+++ freeswitch/trunk/src/switch_core.c Fri Oct 6 18:39:49 2006
@@ -2456,8 +2456,8 @@
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(session->channel, event);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", extension->current_application->application_name);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", extension->current_application->application_data);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", "%s", extension->current_application->application_name);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", extension->current_application->application_data);
switch_event_fire(&event);
}
application_interface->application_function(session, extension->current_application->application_data);
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Fri Oct 6 18:39:49 2006
@@ -1372,7 +1372,7 @@
msg.from = __FILE__;
switch_core_session_receive_message(session_a, &msg);
- switch_channel_set_variable(chan_a, "BRIDGETO", NULL);
+ switch_channel_set_variable(chan_a, SWITCH_BRIDGE_VARIABLE, NULL);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "BRIDGE THREAD DONE [%s]\n", switch_channel_get_name(chan_a));
switch_channel_clear_flag(chan_a, CF_BRIDGED);
@@ -1514,14 +1514,14 @@
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(channel, event);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", "uuid_bridge");
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(other_session));
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", switch_core_session_get_uuid(other_session));
switch_event_fire(&event);
}
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
switch_channel_event_set_data(other_channel, event);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", "uuid_bridge");
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", switch_core_session_get_uuid(session));
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", switch_core_session_get_uuid(session));
switch_event_fire(&event);
}
@@ -1912,7 +1912,7 @@
}
endfor1:
- if (session) {
+ if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
switch_codec_t *read_codec = NULL;
switch_channel_pre_answer(caller_channel);
@@ -1946,7 +1946,8 @@
check_channel_status(peer_channels, peer_sessions, argc, &idx, file, key) && ((time(NULL) - start) < (time_t)timelimit_sec)) {
/* read from the channel while we wait if the audio is up on it */
- if (session && (switch_channel_test_flag(caller_channel, CF_ANSWERED) || switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA))) {
+ if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA) &&
+ (switch_channel_test_flag(caller_channel, CF_ANSWERED) || switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA))) {
switch_status_t status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
@@ -1964,7 +1965,7 @@
}
- if (session) {
+ if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
switch_core_session_reset(session);
}
@@ -1987,6 +1988,11 @@
}
if (caller_channel && switch_channel_test_flag(peer_channel, CF_ANSWERED)) {
+ char *val;
+
+ if (switch_channel_test_flag(peer_channel, CF_NOMEDIA) && (val = switch_channel_get_variable(peer_channel, SWITCH_R_SDP_VARIABLE))) {
+ switch_channel_set_variable(caller_channel, SWITCH_L_SDP_VARIABLE, val);
+ }
switch_channel_answer(caller_channel);
}
@@ -2042,6 +2048,100 @@
}
+static switch_status_t signal_bridge_on_hangup(switch_core_session_t *session)
+{
+ char *uuid;
+ switch_channel_t *channel = NULL;
+ switch_core_session_t *other_session;
+ switch_event_t *event;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ if (switch_channel_test_flag(channel, CF_ORIGINATOR)) {
+ switch_channel_clear_flag(channel, CF_ORIGINATOR);
+ if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_UNBRIDGE) == SWITCH_STATUS_SUCCESS) {
+ switch_channel_event_set_data(channel, event);
+ switch_event_fire(&event);
+ }
+ }
+
+
+ if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) {
+ switch_channel_t *other_channel = NULL;
+
+ other_channel = switch_core_session_get_channel(other_session);
+ assert(other_channel != NULL);
+
+ switch_channel_hangup(other_channel, switch_channel_get_cause(channel));
+ switch_core_session_rwunlock(other_session);
+ }
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
+static const switch_state_handler_table_t signal_bridge_state_handlers = {
+ /*.on_init */ NULL,
+ /*.on_ring */ NULL,
+ /*.on_execute */ NULL,
+ /*.on_hangup */ signal_bridge_on_hangup,
+ /*.on_loopback */ NULL,
+ /*.on_transmit */ NULL,
+ /*.on_hold */ NULL
+};
+
+
+
+SWITCH_DECLARE(switch_status_t) switch_ivr_signal_bridge(switch_core_session_t *session, switch_core_session_t *peer_session)
+{
+ switch_channel_t *caller_channel, *peer_channel;
+ switch_event_t *event;
+
+ caller_channel = switch_core_session_get_channel(session);
+ assert(caller_channel != NULL);
+
+ switch_channel_set_flag(caller_channel, CF_ORIGINATOR);
+
+ peer_channel = switch_core_session_get_channel(peer_session);
+ assert(peer_channel != NULL);
+
+ switch_channel_set_variable(caller_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, switch_core_session_get_uuid(peer_session));
+ switch_channel_set_variable(peer_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, switch_core_session_get_uuid(session));
+
+ switch_channel_clear_state_handler(caller_channel, NULL);
+ switch_channel_clear_state_handler(peer_channel, NULL);
+
+ switch_channel_add_state_handler(caller_channel, &signal_bridge_state_handlers);
+ switch_channel_add_state_handler(peer_channel, &signal_bridge_state_handlers);
+
+
+ /* fire events that will change the data table from "show channels" */
+ if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
+ switch_channel_event_set_data(caller_channel, event);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", "signal_bridge");
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", switch_core_session_get_uuid(peer_session));
+ switch_event_fire(&event);
+ }
+
+ if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_EXECUTE) == SWITCH_STATUS_SUCCESS) {
+ switch_channel_event_set_data(peer_channel, event);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application", "signal_bridge");
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Application-Data", "%s", switch_core_session_get_uuid(session));
+ switch_event_fire(&event);
+ }
+
+ if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_BRIDGE) == SWITCH_STATUS_SUCCESS) {
+ switch_channel_event_set_data(caller_channel, event);
+ switch_event_fire(&event);
+ }
+
+ switch_channel_set_state(caller_channel, CS_TRANSMIT);
+ switch_channel_set_state(peer_channel, CS_TRANSMIT);
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
+
SWITCH_DECLARE(switch_status_t) switch_ivr_multi_threaded_bridge(switch_core_session_t *session,
switch_core_session_t *peer_session,
switch_input_callback_function_t input_callback,
@@ -2102,18 +2202,32 @@
switch_event_fire(&event);
}
- msg.message_id = SWITCH_MESSAGE_INDICATE_BRIDGE;
- msg.from = __FILE__;
- msg.pointer_arg = session;
+ if (switch_core_session_read_lock(peer_session) == SWITCH_STATUS_SUCCESS) {
+ switch_channel_set_variable(caller_channel, SWITCH_BRIDGE_VARIABLE, switch_core_session_get_uuid(peer_session));
+ switch_channel_set_variable(peer_channel, SWITCH_BRIDGE_VARIABLE, switch_core_session_get_uuid(session));
- switch_core_session_receive_message(peer_session, &msg);
- msg.pointer_arg = peer_session;
- switch_core_session_receive_message(session, &msg);
+ msg.message_id = SWITCH_MESSAGE_INDICATE_BRIDGE;
+ msg.from = __FILE__;
+ msg.pointer_arg = session;
- if (switch_core_session_read_lock(peer_session) == SWITCH_STATUS_SUCCESS) {
- switch_channel_set_variable(caller_channel, "BRIDGETO", switch_core_session_get_uuid(peer_session));
- switch_channel_set_variable(peer_channel, "BRIDGETO", switch_core_session_get_uuid(session));
+ switch_core_session_receive_message(peer_session, &msg);
+ if (!msg.pointer_arg) {
+ status = SWITCH_STATUS_FALSE;
+ switch_core_session_rwunlock(peer_session);
+ goto done;
+ }
+
+ msg.pointer_arg = peer_session;
+ switch_core_session_receive_message(session, &msg);
+
+ if (!msg.pointer_arg) {
+ status = SWITCH_STATUS_FALSE;
+ switch_core_session_rwunlock(peer_session);
+ goto done;
+ }
+
+
switch_channel_set_private(peer_channel, "_bridge_", other_audio_thread);
switch_channel_set_state(peer_channel, CS_LOOPBACK);
audio_bridge_thread(NULL, (void *) this_audio_thread);
@@ -2164,6 +2278,7 @@
switch_channel_hangup(peer_channel, SWITCH_CAUSE_NO_ANSWER);
}
+ done:
return status;
}
@@ -2219,6 +2334,7 @@
{
switch_channel_t *channel;
switch_caller_profile_t *profile, *new_profile;
+ switch_core_session_message_t msg = {0};
assert(session != NULL);
assert(extension != NULL);
@@ -2245,6 +2361,11 @@
switch_channel_set_caller_profile(channel, new_profile);
switch_channel_set_flag(channel, CF_TRANSFER);
switch_channel_set_state(channel, CS_RING);
+
+ msg.message_id = SWITCH_MESSAGE_INDICATE_TRANSFER;
+ msg.from = __FILE__;
+ switch_core_session_receive_message(session, &msg);
+
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Transfer %s to %s[%s@%s]\n",
switch_channel_get_name(channel), dialplan, extension, context);
return SWITCH_STATUS_SUCCESS;
Modified: freeswitch/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/trunk/src/switch_rtp.c (original)
+++ freeswitch/trunk/src/switch_rtp.c Fri Oct 6 18:39:49 2006
@@ -329,6 +329,11 @@
return SWITCH_STATUS_SOCKERR;
}
+ if (switch_socket_opt_set(rtp_session->sock, SWITCH_SO_REUSEADDR, 1) != SWITCH_STATUS_SUCCESS) {
+ *err = "Socket Error!";
+ return SWITCH_STATUS_FALSE;
+ }
+
if (switch_socket_bind(rtp_session->sock, rtp_session->local_addr) != SWITCH_STATUS_SUCCESS) {
*err = "Bind Error!";
return SWITCH_STATUS_FALSE;
Modified: freeswitch/trunk/src/switch_utils.c
==============================================================================
--- freeswitch/trunk/src/switch_utils.c (original)
+++ freeswitch/trunk/src/switch_utils.c Fri Oct 6 18:39:49 2006
@@ -72,6 +72,45 @@
return '\0';
}
+SWITCH_DECLARE(char *) switch_escape_char(switch_memory_pool_t *pool, char *in, char *delim, char esc)
+{
+ char *data, *p, *d;
+ int count = 1, i = 0;
+
+ p = in;
+ while(*p) {
+ d = delim;
+ while (*d) {
+ if (*p == *d) {
+ count++;
+ }
+ d++;
+ }
+ p++;
+ }
+
+ if (count == 1) {
+ return in;
+ }
+
+ data = switch_core_alloc(pool, strlen(in) + count);
+
+ p = in;
+ while(*p) {
+ d = delim;
+ while (*d) {
+ if (*p == *d) {
+ data[i++] = esc;
+ }
+ d++;
+ }
+ data[i++] = *p;
+ p++;
+ }
+ return data;
+}
+
+
SWITCH_DECLARE(unsigned int) switch_separate_string(char *buf, char delim, char **array, int arraylen)
{
int argc;
1
0
Author: sphere
Date: Fri Oct 6 11:58:18 2006
New Revision: 2991
Added:
freeswitch/branches/jpiezo/
Log:
Creating empty folder for jpiezo
1
0
Author: mikej
Date: Fri Oct 6 11:27:14 2006
New Revision: 2990
Modified:
freeswitch/trunk/w32/Setup/Setup.vdproj
Log:
add pthread dll to setup for sofia
Modified: freeswitch/trunk/w32/Setup/Setup.vdproj
==============================================================================
--- freeswitch/trunk/w32/Setup/Setup.vdproj (original)
+++ freeswitch/trunk/w32/Setup/Setup.vdproj Fri Oct 6 11:27:14 2006
@@ -63,222 +63,240 @@
}
"Entry"
{
- "MsmKey" = "8:_329D8DAE6C01FCF026E9DFB48B932203"
- "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_3E37631016BC45B2B672FE23257D542B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5A636BB90F7F4B86ACB8839EA2C899AA"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_684D96FA2BDD46909367E651099D8C4E"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_69EB1A147CC2428435BDCA35014C96E1"
- "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6E5C001E7A314DCEA0A4BF52BF74BCAD"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_BB649A2C1ABE4895859025B09A240323"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_72A8732C0C0C4D0EAAE89DBB82073335"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7358123D2D064AD1BC517911A8B23D1B"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_A944ADCEDF884574A23F7BA5420A6BA1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_83062AA0528B40A59202BC7668F7132A"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87768631363249B2B301143C193612F7"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
"OwnerKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
- "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
- "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
- "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
+ "MsmKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "OwnerKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
+ "MsmKey" = "8:_329D8DAE6C01FCF026E9DFB48B932203"
+ "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
+ "MsmKey" = "8:_3E37631016BC45B2B672FE23257D542B"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
+ "MsmKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+ "MsmKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_D1269F1E49D442CF8EAC96C23E60325D"
+ "MsmKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_BB649A2C1ABE4895859025B09A240323"
+ "MsmKey" = "8:_5A636BB90F7F4B86ACB8839EA2C899AA"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_B20769E090034897B32E3EA4EC1BA8A0"
+ "MsmKey" = "8:_684D96FA2BDD46909367E651099D8C4E"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_A944ADCEDF884574A23F7BA5420A6BA1"
+ "MsmKey" = "8:_69EB1A147CC2428435BDCA35014C96E1"
+ "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
+ "MsmKey" = "8:_6E5C001E7A314DCEA0A4BF52BF74BCAD"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
+ "MsmKey" = "8:_72A8732C0C0C4D0EAAE89DBB82073335"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
+ "MsmKey" = "8:_7358123D2D064AD1BC517911A8B23D1B"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_4A285D260C3748A4BEFA6E5A9004D128"
+ "MsmKey" = "8:_83062AA0528B40A59202BC7668F7132A"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA"
+ "MsmKey" = "8:_83C1B93AD71B4F8F9E074F9607B60DF1"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_318FCC99E8D143D6B4F9F534E63009B3"
+ "MsmKey" = "8:_87768631363249B2B301143C193612F7"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_2F2FEC549F02436EB87961BD1B9E5783"
+ "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+ "OwnerKey" = "8:_3FBEFE0119944C6781F81104ECEF37CA"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
+ "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+ "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "OwnerKey" = "8:_2814E641538B42EFA83525986A9D5AC1"
+ "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+ "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
+ "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+ "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_91BA2668F87764F53188E93BC8D363D7"
"OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
+ "MsmKey" = "8:_98CF7609810C41BABC219DFBA0A6075D"
+ "OwnerKey" = "8:_327123955D614480BF2995F2C39195DD"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_9A293E8A356A4959BB6E541B7DC213CD"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -387,12 +405,6 @@
}
"Entry"
{
- "MsmKey" = "8:_E0FBD4D007C74B368ED03D076D7C1D75"
- "OwnerKey" = "8:_87C07635A76B4C5D85C78D91ED64A537"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_E1CC91FCF87955D17FC3C0A8E875B690"
"OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
"MsmSig" = "8:_UNDEFINED"
@@ -1598,7 +1610,7 @@
}
"MergeModule"
{
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_87C07635A76B4C5D85C78D91ED64A537"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_327123955D614480BF2995F2C39195DD"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
@@ -1612,7 +1624,7 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_E0FBD4D007C74B368ED03D076D7C1D75"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_98CF7609810C41BABC219DFBA0A6075D"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
@@ -1792,6 +1804,34 @@
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_3E37631016BC45B2B672FE23257D542B"
+ {
+ "SourcePath" = "8:..\\..\\debug\\pthreadVC2.dll"
+ "TargetName" = "8:"
+ "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:"
+ "ProjectOutputGroupRegister" = "3:1"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
1
0
Author: sphere
Date: Fri Oct 6 10:14:17 2006
New Revision: 2989
Added:
freeswitch/branches/stu/
Log:
Creating empty folder for stu
1
0
Author: mikej
Date: Fri Oct 6 09:13:28 2006
New Revision: 2988
Modified:
freeswitch/trunk/Freeswitch.sln
freeswitch/trunk/libs/win32/pthread/pthread.vcproj
Log:
fix debug build for sofia on windows, use dll version of pthread win32 so it can do the cleanup properly.
Modified: freeswitch/trunk/Freeswitch.sln
==============================================================================
--- freeswitch/trunk/Freeswitch.sln (original)
+++ freeswitch/trunk/Freeswitch.sln Fri Oct 6 09:13:28 2006
@@ -891,8 +891,8 @@
{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Debug|Win32.Build.0 = Debug|Win32
{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Win32.ActiveCfg = Release|Win32
{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}.Release|Win32.Build.0 = Release|Win32
- {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.ActiveCfg = Debug|Win32
- {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.Build.0 = Debug|Win32
+ {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Debug|Win32.Build.0 = Debug DLL|Win32
{DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Win32.ActiveCfg = Release DLL|Win32
{DF018947-0FFF-4EB3-BDEE-441DC81DA7A4}.Release|Win32.Build.0 = Release DLL|Win32
{FEA1EEF7-876F-48DE-88BF-C0E3E606D758}.Debug|Win32.ActiveCfg = Debug Passthrough|Win32
@@ -936,9 +936,9 @@
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B5881A85-FE70-4F64-8607-2CAAE52669C6} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
- {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}
+ {3A5B9131-F20C-4A85-9447-6C1610941CEE} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{FFAA4C52-3A53-4F99-90C1-D59D1F0427F3} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{0DF3ABD0-DDC0-4265-B778-07C66780979B} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{DCC13474-28DF-47CA-A8EB-72F8CE9A78C5} = {2D57D093-3F8D-4729-AD9A-68E945C200A5}
Modified: freeswitch/trunk/libs/win32/pthread/pthread.vcproj
==============================================================================
--- freeswitch/trunk/libs/win32/pthread/pthread.vcproj (original)
+++ freeswitch/trunk/libs/win32/pthread/pthread.vcproj Fri Oct 6 09:13:28 2006
@@ -131,8 +131,8 @@
Optimization="0"
AdditionalIncludeDirectories="../../pthreads-w32-2-7-0-release/"
PreprocessorDefinitions="__CLEANUP_C;WIN32;_DEBUG;_WINDOWS;_USRDLL;PTW32_BUILD;_CRT_SECURE_NO_DEPRECATE;PTW32_STATIC_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="0"
RuntimeLibrary="3"
PrecompiledHeaderFile=".\./pthread.pch"
AssemblerListingLocation="$(IntDir)\"
@@ -178,7 +178,7 @@
</Configuration>
<Configuration
Name="Debug DLL|Win32"
- OutputDirectory="$(ConfigurationName)"
+ OutputDirectory="$(SolutionDir)Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
@@ -239,7 +239,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
- OutputFile=".\pthreadVC2.dll"
+ OutputFile="$(OutDir)\pthreadVC2.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
@@ -278,7 +278,7 @@
</Configuration>
<Configuration
Name="Release DLL|Win32"
- OutputDirectory="$(ConfigurationName)"
+ OutputDirectory="$(SolutionDir)Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
@@ -339,7 +339,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
- OutputFile=".\pthreadVC2.dll"
+ OutputFile="$(OutDir)\pthreadVC2.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
ImportLibrary=".\./pthreadVC2.lib"
1
0
Author: sphere
Date: Fri Oct 6 09:02:24 2006
New Revision: 2987
Added:
freeswitch/branches/iangregson/
Log:
Creating empty folder for iangregson
1
0