Freeswitch-svn
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- 12151 discussions
20 Nov '07
Author: mikej
Date: Mon Nov 19 20:09:39 2007
New Revision: 6345
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
re-factor, reduce indentation in some function, whitespace and comment cleanup.
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Mon Nov 19 20:09:39 2007
@@ -47,70 +47,66 @@
char const *phrase,
nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[])
{
-#if 0
- if (status > 299) {
- nua_handle_destroy(nh);
- switch_core_hash_delete(profile->sub_hash, sip->sip_call_id->i_id);
- }
-#endif
}
void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
char const *phrase,
- nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[])
+ nua_t *nua,
+ sofia_profile_t *profile,
+ nua_handle_t *nh,
+ sofia_private_t *sofia_private,
+ sip_t const *sip,
+ tagi_t tags[])
{
switch_channel_t *channel = NULL;
- if (sip && sip->sip_event) {
- char *type = (char *)sip->sip_event->o_type;
-
- if (!strcasecmp(type, "talk")) {
- if (session) {
- channel = switch_core_session_get_channel(session);
- assert(channel != NULL);
- if (!switch_channel_test_flag(channel, CF_OUTBOUND)) {
- switch_channel_answer(channel);
- switch_channel_set_variable(channel, "auto_answer_destination", switch_channel_get_variable(channel, "destination_number"));
- switch_ivr_session_transfer(session, "auto_answer", NULL , NULL);
- nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END());
- return;
- }
- }
- }
+ /* make sure we have a proper "talk" event */
+ if (!session || !sip || !sip->sip_event || strcasecmp(sip->sip_event->o_type, "talk")) {
+ goto error;
+ }
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+ if (!switch_channel_test_flag(channel, CF_OUTBOUND)) {
+ switch_channel_answer(channel);
+ switch_channel_set_variable(channel, "auto_answer_destination", switch_channel_get_variable(channel, "destination_number"));
+ switch_ivr_session_transfer(session, "auto_answer", NULL , NULL);
+ nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END());
+ return;
}
+error:
nua_respond(nh, 481, "Subscription Does Not Exist", NUTAG_WITH_THIS(nua), TAG_END());
-
+ return;
}
-
-
-
void sofia_event_callback(nua_event_t event,
int status,
char const *phrase,
- nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[])
+ nua_t *nua,
+ sofia_profile_t *profile,
+ nua_handle_t *nh,
+ sofia_private_t *sofia_private,
+ sip_t const *sip,
+ tagi_t tags[])
{
struct private_object *tech_pvt = NULL;
auth_res_t auth_res = AUTH_FORBIDDEN;
switch_core_session_t *session = NULL;
switch_channel_t *channel = NULL;
- if (sofia_private) {
- if (!switch_strlen_zero(sofia_private->uuid)) {
-
- if ((session = switch_core_session_locate(sofia_private->uuid))) {
- tech_pvt = switch_core_session_get_private(session);
- channel = switch_core_session_get_channel(tech_pvt->session);
- if (!tech_pvt->call_id && sip && sip->sip_call_id && sip->sip_call_id->i_id) {
- tech_pvt->call_id = switch_core_session_strdup(session, (char *) sip->sip_call_id->i_id);
- switch_channel_set_variable(channel, "sip_call_id", tech_pvt->call_id);
- }
- } else {
- /* too late */
- return;
+ if (sofia_private && !switch_strlen_zero(sofia_private->uuid)) {
+ if ((session = switch_core_session_locate(sofia_private->uuid))) {
+ tech_pvt = switch_core_session_get_private(session);
+ channel = switch_core_session_get_channel(tech_pvt->session);
+ if (!tech_pvt->call_id && sip && sip->sip_call_id && sip->sip_call_id->i_id) {
+ tech_pvt->call_id = switch_core_session_strdup(session, sip->sip_call_id->i_id);
+ switch_channel_set_variable(channel, "sip_call_id", tech_pvt->call_id);
}
+ } else {
+ /* too late */
+ return;
}
}
@@ -339,7 +335,6 @@
goto end;
}
-
profile->nua = nua_create(profile->s_root, /* Event loop */
sofia_event_callback, /* Callback for processing events */
profile, /* Additional data to pass to callback */
@@ -351,14 +346,12 @@
goto end;
}
-
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Created agent for %s\n", profile->name);
nua_set_params(profile->nua,
NUTAG_APPL_METHOD("OPTIONS"),
NUTAG_APPL_METHOD("NOTIFY"),
NUTAG_APPL_METHOD("INFO"),
- //NUTAG_EARLY_MEDIA(1),
NUTAG_AUTOANSWER(0),
NUTAG_AUTOALERT(0),
NUTAG_ALLOW("REGISTER"),
@@ -369,7 +362,6 @@
NUTAG_SESSION_TIMER(profile->session_timeout),
NTATAG_MAX_PROCEEDING(profile->max_proceeding),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("PUBLISH")),
- //TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("NOTIFY")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("SUBSCRIBE")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ENABLEMESSAGE(1)),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence")),
@@ -399,8 +391,6 @@
}
-
-
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "activated db for %s\n", profile->name);
switch_mutex_init(&profile->ireg_mutex, SWITCH_MUTEX_NESTED, profile->pool);
@@ -445,16 +435,11 @@
su_root_step(profile->s_root, 1000);
}
-
- //sofia_reg_check_expire(profile, 0);
- //sofia_reg_check_gateway(profile, 0);
-
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Write lock %s\n", profile->name);
switch_thread_rwlock_wrlock(profile->rwlock);
sofia_reg_unregister(profile);
nua_shutdown(profile->nua);
-
su_root_run(profile->s_root);
nua_destroy(profile->nua);
@@ -475,7 +460,6 @@
su_root_destroy(profile->s_root);
pool = profile->pool;
-
sofia_glue_del_profile(profile);
switch_core_hash_destroy(&profile->chat_hash);
switch_core_hash_destroy(&profile->sub_hash);
@@ -489,10 +473,7 @@
switch_core_destroy_memory_pool(&pool);
-
end:
-
-
switch_mutex_lock(mod_sofia_globals.mutex);
mod_sofia_globals.threads--;
switch_mutex_unlock(mod_sofia_globals.mutex);
@@ -680,13 +661,11 @@
params = switch_core_sprintf(gateway->pool, ";transport=%s", register_transport);
}
-
gateway->register_url = switch_core_sprintf(gateway->pool, "sip:%s;transport=%s", register_proxy,register_transport);
gateway->register_from = switch_core_sprintf(gateway->pool, "<sip:%s@%s;transport=%s>", from_user, from_domain, register_transport);
gateway->register_contact = switch_core_sprintf(gateway->pool, "<sip:%s@%s:%d%s>", extension,
profile->extsipip ? profile->extsipip : profile->sipip, profile->sip_port, params);
-
if (!strncasecmp(proxy, "sip:", 4)) {
gateway->register_proxy = switch_core_strdup(gateway->pool, proxy);
gateway->register_to = switch_core_sprintf(gateway->pool, "sip:%s@%s", username, proxy + 4);
@@ -695,8 +674,6 @@
gateway->register_to = switch_core_sprintf(gateway->pool, "sip:%s@%s", username, proxy);
}
-
-
gateway->expires_str = switch_core_strdup(gateway->pool, expire_seconds);
if ((gateway->freq = atoi(gateway->expires_str)) < 5) {
@@ -750,7 +727,6 @@
su_log_redirect(tport_log, logger, NULL);
}
-
if (!switch_strlen_zero(profile_name) && (profile = sofia_glue_find_profile(profile_name))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile [%s] Already exists.\n", switch_str_nil(profile_name));
status = SWITCH_STATUS_FALSE;
@@ -809,8 +785,6 @@
goto done;
}
-
-
profile->pool = pool;
profile->name = switch_core_strdup(profile->pool, xprofilename);
@@ -823,7 +797,6 @@
switch_mutex_init(&profile->flag_mutex, SWITCH_MUTEX_NESTED, profile->pool);
profile->dtmf_duration = 100;
-
for (param = switch_xml_child(settings, "param"); param; param = param->next) {
char *var = (char *) switch_xml_attr_soft(param, "name");
char *val = (char *) switch_xml_attr_soft(param, "value");
@@ -1100,7 +1073,6 @@
}
}
-
if (profile->sipip) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Started Profile %s [%s]\n", profile->name, url);
launch_sofia_profile_thread(profile);
@@ -1143,7 +1115,6 @@
switch_channel_t *other_channel = NULL;
char st[80] = "";
-
tl_gets(tags,
NUTAG_CALLSTATE_REF(ss_state),
NUTAG_OFFER_RECV_REF(offer_recv),
@@ -1159,8 +1130,6 @@
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
assert(tech_pvt->nh != NULL);
-
-
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s entering state [%s]\n",
switch_channel_get_name(channel), nua_callstate_name(ss_state));
@@ -1176,7 +1145,6 @@
if (status == 988) {
goto done;
}
-
if (channel && (status == 180 || status == 183) && switch_channel_test_flag(channel, CF_OUTBOUND)) {
const char *val;
@@ -1185,7 +1153,6 @@
}
}
-
switch ((enum nua_callstate) ss_state) {
case nua_callstate_init:
break;
@@ -1254,7 +1221,6 @@
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED_NOMEDIA");
switch_set_flag_locked(tech_pvt, TFLAG_READY);
switch_channel_set_state(channel, CS_INIT);
- //switch_core_session_thread_launch(session);
goto done;
} else {
sdp_parser_t *parser;
@@ -1277,7 +1243,6 @@
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED");
switch_set_flag_locked(tech_pvt, TFLAG_READY);
switch_channel_set_state(channel, CS_INIT);
- //switch_core_session_thread_launch(session);
if (replaces_str) {
home = su_home_new(sizeof(*home));
@@ -1470,7 +1435,6 @@
switch_channel_hangup(channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION);
}
}
-
}
break;
@@ -1510,7 +1474,6 @@
}
done:
-
return;
}
@@ -1608,8 +1571,13 @@
switch_set_flag_locked(b_tech_pvt, TFLAG_XFER);
b_tech_pvt->xferto = switch_core_session_strdup(b_session, switch_core_session_get_uuid(session));
switch_set_flag_locked(tech_pvt, TFLAG_BYE);
- nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
- NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"), SIPTAG_EVENT_STR(etmp), TAG_END());
+ nua_notify(tech_pvt->nh,
+ NUTAG_NEWSUB(1),
+ SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ NUTAG_SUBSTATE(nua_substate_terminated),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
} else {
switch_core_session_t *t_session;
switch_channel_t *hup_channel;
@@ -1622,15 +1590,19 @@
t_session = switch_core_session_locate(br_b);
hup_channel = channel_a;
switch_channel_hangup(channel_b, SWITCH_CAUSE_ATTENDED_TRANSFER);
-
}
if (t_session) {
ext = switch_channel_get_variable(hup_channel, "destination_number");
switch_ivr_session_transfer(t_session, ext, NULL, NULL);
- nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
- NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"), SIPTAG_EVENT_STR(etmp), TAG_END());
+ nua_notify(tech_pvt->nh,
+ NUTAG_NEWSUB(1),
+ SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
+ NUTAG_SUBSTATE(nua_substate_terminated),
+ SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"),
+ SIPTAG_EVENT_STR(etmp),
+ TAG_END());
switch_core_session_rwunlock(t_session);
switch_channel_hangup(hup_channel, SWITCH_CAUSE_ATTENDED_TRANSFER);
} else {
@@ -1660,7 +1632,9 @@
exten = switch_mprintf("sofia/%s/%s@%s:%s",
profile->name,
- (char *) refer_to->r_url->url_user, (char *) refer_to->r_url->url_host, refer_to->r_url->url_port);
+ refer_to->r_url->url_user,
+ refer_to->r_url->url_host,
+ refer_to->r_url->url_port);
switch_channel_set_variable(channel, SOFIA_REPLACES_HEADER, rep);
@@ -1731,7 +1705,6 @@
nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),
NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(etmp),
TAG_END());
-
}
}
@@ -1747,59 +1720,57 @@
if (etmp) {
switch_safe_free(etmp);
}
-
-
}
void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, switch_core_session_t *session, sip_t const *sip, tagi_t tags[])
{
+ struct private_object *tech_pvt = NULL;
+ switch_channel_t *channel = NULL;
+ char dtmf_digit[2] = { 0, 0 };
- //placeholder for string searching
+ /* placeholder for string searching */
char *signal_ptr;
- //Try and find signal information in the payload
+ /* Try and find signal information in the payload */
signal_ptr = strstr(sip->sip_payload->pl_data, "Signal=");
- //See if we found a match
- if (signal_ptr) {
- struct private_object *tech_pvt = NULL;
- switch_channel_t *channel = NULL;
- char dtmf_digit[2] = { 0, 0 };
-
- //Get the channel
- channel = switch_core_session_get_channel(session);
-
- //Barf if we didn't get it
- assert(channel != NULL);
+ /* unknown info type */
+ if (!signal_ptr) {
+ sip_from_t const *from = sip->sip_from;
- //make sure we have our privates
- tech_pvt = switch_core_session_get_private(session);
+ /* print in the logs if something comes through we don't understand */
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Unknown INFO Recieved: %s%s" URL_PRINT_FORMAT "[%s]\n",
+ from->a_display ? from->a_display : "",
+ from->a_display ? " " : "",
+ URL_PRINT_ARGS(from->a_url),
+ sip->sip_payload->pl_data);
+ return;
+ }
- //Barf if we didn't get it
- assert(tech_pvt != NULL);
+ /* Get the channel */
+ channel = switch_core_session_get_channel(session);
- //move signal_ptr where we need it (right past Signal=)
- signal_ptr = signal_ptr + 7;
+ /* Barf if we didn't get it */
+ assert(channel != NULL);
- //put the digit somewhere we can muck with
- strncpy(dtmf_digit, signal_ptr, 1);
+ /* make sure we have our privates */
+ tech_pvt = switch_core_session_get_private(session);
- //queue it up
- switch_channel_queue_dtmf(channel, dtmf_digit);
+ /* Barf if we didn't get it */
+ assert(tech_pvt != NULL);
- //print debug info
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "INFO DTMF(%s)\n", dtmf_digit);
+ /* move signal_ptr where we need it (right past Signal=) */
+ signal_ptr = signal_ptr + 7;
- } else { //unknown info type
- sip_from_t const *from;
+ /* put the digit somewhere we can muck with */
+ strncpy(dtmf_digit, signal_ptr, 1);
- from = sip->sip_from;
+ /* queue it up */
+ switch_channel_queue_dtmf(channel, dtmf_digit);
- //print in the logs if something comes through we don't understand
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Unknown INFO Recieved: %s%s" URL_PRINT_FORMAT "[%s]\n",
- from->a_display ? from->a_display : "", from->a_display ? " " : "", URL_PRINT_ARGS(from->a_url), sip->sip_payload->pl_data);
- }
+ /* print debug info */
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "INFO DTMF(%s)\n", dtmf_digit);
return;
}
@@ -1874,7 +1845,6 @@
int is_auth = 0;
su_addrinfo_t *my_addrinfo = msg_addrinfo(nua_current_request(nua));
-
if (sess_count >= sess_max) {
nua_respond(nh, 480, "Maximum Calls In Progress", SIPTAG_RETRY_AFTER_STR("300"), TAG_END());
return;
@@ -1886,7 +1856,6 @@
return;
}
-
if (!(sip->sip_contact && sip->sip_contact->m_url)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "NO CONTACT!\n");
nua_respond(nh, 400, "Missing Contact Header", TAG_END());
@@ -1920,7 +1889,6 @@
tech_pvt->key = switch_core_session_strdup(session, key);
}
-
get_addr(network_ip, sizeof(network_ip), &((struct sockaddr_in *) my_addrinfo->ai_addr)->sin_addr);
channel = switch_core_session_get_channel(session);
@@ -1928,7 +1896,6 @@
switch_channel_set_variable(channel, "sip_authorized", "true");
}
-
if (v_event) {
switch_event_header_t *hp;
@@ -1946,7 +1913,6 @@
check_decode(from_user, session);
-
if (!switch_strlen_zero(from_user)) {
if (*from_user == '+') {
switch_channel_set_variable(channel, "sip_from_user_stripped", (const char *) (from_user + 1));
@@ -1964,7 +1930,6 @@
}
}
-
if ((rpid = sip_remote_party_id(sip))) {
if (rpid->rpid_url && rpid->rpid_url->url_user) {
from_user = rpid->rpid_url->url_user;
@@ -2026,7 +1991,6 @@
sofia_glue_tech_prepare_codecs(tech_pvt);
switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "INBOUND CALL");
-
if (switch_test_flag(tech_pvt, TFLAG_INB_NOMEDIA)) {
switch_channel_set_flag(channel, CF_BYPASS_MEDIA);
@@ -2059,15 +2023,12 @@
switch_channel_set_variable(channel, SWITCH_MAX_FORWARDS_VARIABLE, max_forwards);
}
-
if (sip->sip_request->rq_url) {
sofia_gateway_t *gateway;
char *from_key;
char *user = (char *) sip->sip_request->rq_url->url_user;
check_decode(user, session);
- from_key = switch_core_session_sprintf(session, "sip:%s@%s",
- user,
- (char *) sip->sip_request->rq_url->url_host);
+ from_key = switch_core_session_sprintf(session, "sip:%s@%s", user, sip->sip_request->rq_url->url_host);
if ((gateway = sofia_reg_find_gateway(from_key))) {
context = gateway->register_context;
@@ -2127,11 +2088,12 @@
switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_SCREEN);
}
}
+
/* Loop thru unknown Headers Here so we can do something with them */
for (un = sip->sip_unknown; un; un = un->un_next) {
if (!strncasecmp(un->un_name, "Diversion", 9)) {
- // Basic Diversion Support for Diversion Indication in SIP
- // draft-levy-sip-diversion-08
+ /* Basic Diversion Support for Diversion Indication in SIP */
+ /* draft-levy-sip-diversion-08 */
if (!switch_strlen_zero(un->un_value)) {
char *tmp_name;
if ((tmp_name = switch_mprintf("%s%s", SOFIA_SIP_HEADER_PREFIX, un->un_name))) {
@@ -2199,15 +2161,6 @@
{
nua_respond(nh, SIP_200_OK,
NUTAG_WITH_THIS(nua),
- //SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str),
- //SOATAG_AUDIO_AUX("cn telephone-event"),
- //NUTAG_INCLUDE_EXTRA_SDP(1),
TAG_END());
nua_handle_destroy(nh);
}
-
-
-
-
-
-
1
0
19 Nov '07
Author: mikej
Date: Mon Nov 19 18:29:32 2007
New Revision: 6344
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
use the sofia parsers for Alert-Info and Remote-Party-ID headers instead of our own. Further fix for MODENDP-45
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Mon Nov 19 18:29:32 2007
@@ -741,12 +741,10 @@
if (!reload) {
su_init();
-#if 0
if (sip_update_default_mclass(sip_extend_mclass(NULL)) < 0) {
su_deinit();
return SWITCH_STATUS_FALSE;
}
-#endif
su_log_redirect(NULL, logger, NULL);
su_log_redirect(tport_log, logger, NULL);
@@ -1853,91 +1851,14 @@
return uri;
}
-void process_rpid(const char *val, private_object_t *tech_pvt)
-{
- int argc, x, screen = 1;
- char *mydata, *argv[10] = { 0 };
-
- if (!switch_strlen_zero(val)) {
- if ((mydata = strdup(val))) {
- char *name = argv[0];
- char *num;
- argc = switch_separate_string(mydata, ';', argv, (sizeof(argv) / sizeof(argv[0])));
-
- if ((num = strchr(argv[0], '<'))) {
- char *end;
- *num++ = '\0';
-
- if (!strncasecmp(num, "sip:", 4)) {
- num += 4;
- }
-
- if ((end = strchr(num, '@'))) {
- *end = '\0';
- }
-
- if (*name == '"') {
- name++;
- }
-
- if ((end = strchr(name, '"'))) {
- *end = '\0';
- }
-
- if (name) {
- check_decode(name, tech_pvt->session);
- tech_pvt->caller_profile->caller_id_number = switch_core_session_strdup(tech_pvt->session, name);
- }
-
- if (num) {
- check_decode(num, tech_pvt->session);
- tech_pvt->caller_profile->caller_id_number = switch_core_session_strdup(tech_pvt->session, num);
- }
- }
-
- for (x = 1; x < argc && argv[x]; x++) {
- // we dont need to do anything with party yet we should only be seeing party=calling here anyway
- // maybe thats a dangerous assumption bit oh well yell at me later
- // if (!strncasecmp(argv[x], "party", 5)) {
- // party = argv[x];
- // } else
- if (!strncasecmp(argv[x], "privacy=", 8)) {
- char *arg = argv[x] + 8;
-
- if (!strcasecmp(arg, "yes")) {
- switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER);
- } else if (!strcasecmp(arg, "full")) {
- switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER);
- } else if (!strcasecmp(arg, "name")) {
- switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME);
- } else if (!strcasecmp(arg, "number")) {
- switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER);
- } else {
- switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME);
- switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER);
- }
-
- } else if (!strncasecmp(argv[x], "screen=", 7) && screen > 0) {
- char *arg = argv[x] + 8;
- if (!strcasecmp(arg, "no")) {
- screen = 0;
- switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_SCREEN);
- }
- }
- }
- free(mydata);
- }
- }
-}
void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[])
{
switch_core_session_t *session = NULL;
char key[128] = "";
sip_unknown_t *un;
-#if 0
sip_remote_party_id_t *rpid = NULL;
-#endif
+ sip_alert_info_t *alert_info = NULL;
private_object_t *tech_pvt = NULL;
switch_channel_t *channel = NULL;
const char *channel_name = NULL;
@@ -2037,22 +1958,24 @@
switch_channel_set_variable(channel, "sofia_profile_name", profile->name);
if (!switch_strlen_zero(sip->sip_from->a_display)) {
- char *tmp;
- tmp = switch_core_session_strdup(session, sip->sip_from->a_display);
- if (*tmp == '"') {
- char *p;
-
- tmp++;
- if ((p = strchr(tmp, '"'))) {
- *p = '\0';
- }
- }
- displayname = tmp;
+ displayname = sip->sip_from->a_display;
} else {
displayname = switch_strlen_zero(from_user) ? "unknown" : from_user;
}
}
+
+ if ((rpid = sip_remote_party_id(sip))) {
+ if (rpid->rpid_url && rpid->rpid_url->url_user) {
+ from_user = rpid->rpid_url->url_user;
+ check_decode(from_user, session);
+ }
+
+ if (rpid->rpid_display) {
+ displayname = rpid->rpid_display;
+ }
+ }
+
if (sip->sip_request->rq_url) {
const char *req_uri = url_set_chanvars(session, sip->sip_request->rq_url, sip_req);
if (profile->pflags & PFLAG_FULL_ID) {
@@ -2169,9 +2092,9 @@
dialplan = profile->dialplan;
}
-#if 0
- rpid = sip_remote_party_id(sip);
-#endif
+ if ((alert_info = sip_alert_info(sip))) {
+ switch_channel_set_variable(channel, "alert_info", sip_header_as_string(profile->home, (void *) alert_info));
+ }
check_decode(displayname, session);
tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session),
@@ -2183,15 +2106,30 @@
NULL, NULL, NULL, MODNAME, context, destination_number);
if (tech_pvt->caller_profile) {
+
+ if (rpid) {
+ if (rpid->rpid_privacy) {
+ if (!strcasecmp(rpid->rpid_privacy, "yes")) {
+ switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER);
+ } else if (!strcasecmp(rpid->rpid_privacy, "full")) {
+ switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME | SWITCH_CPF_HIDE_NUMBER);
+ } else if (!strcasecmp(rpid->rpid_privacy, "name")) {
+ switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME);
+ } else if (!strcasecmp(rpid->rpid_privacy, "number")) {
+ switch_set_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER);
+ } else {
+ switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NAME);
+ switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_HIDE_NUMBER);
+ }
+ }
+
+ if (rpid->rpid_screen && !strcasecmp(rpid->rpid_screen, "no")) {
+ switch_clear_flag(tech_pvt->caller_profile, SWITCH_CPF_SCREEN);
+ }
+ }
/* Loop thru unknown Headers Here so we can do something with them */
for (un = sip->sip_unknown; un; un = un->un_next) {
- if (!strncasecmp(un->un_name, "Alert-Info", 10)) {
- if (!switch_strlen_zero(un->un_value)) {
- switch_channel_set_variable(channel, "alert_info", un->un_value);
- }
- } else if (!strncasecmp(un->un_name, "Remote-Party-ID", 15)) {
- process_rpid(un->un_value, tech_pvt);
- } else if (!strncasecmp(un->un_name, "Diversion", 9)) {
+ if (!strncasecmp(un->un_name, "Diversion", 9)) {
// Basic Diversion Support for Diversion Indication in SIP
// draft-levy-sip-diversion-08
if (!switch_strlen_zero(un->un_value)) {
1
0
19 Nov '07
Author: mikej
Date: Mon Nov 19 16:34:27 2007
New Revision: 6343
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
fix windows build
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Mon Nov 19 16:34:27 2007
@@ -35,6 +35,7 @@
*/
#include "mod_sofia.h"
#include "sofia-sip/msg_parser.h"
+#include "sofia-sip/sip_extra.h"
extern su_log_t tport_log[];
@@ -740,6 +741,13 @@
if (!reload) {
su_init();
+#if 0
+ if (sip_update_default_mclass(sip_extend_mclass(NULL)) < 0) {
+ su_deinit();
+ return SWITCH_STATUS_FALSE;
+ }
+#endif
+
su_log_redirect(NULL, logger, NULL);
su_log_redirect(tport_log, logger, NULL);
}
@@ -1852,9 +1860,9 @@
if (!switch_strlen_zero(val)) {
if ((mydata = strdup(val))) {
- argc = switch_separate_string(mydata, ';', argv, (sizeof(argv) / sizeof(argv[0])));
char *name = argv[0];
char *num;
+ argc = switch_separate_string(mydata, ';', argv, (sizeof(argv) / sizeof(argv[0])));
if ((num = strchr(argv[0], '<'))) {
char *end;
@@ -1927,6 +1935,9 @@
switch_core_session_t *session = NULL;
char key[128] = "";
sip_unknown_t *un;
+#if 0
+ sip_remote_party_id_t *rpid = NULL;
+#endif
private_object_t *tech_pvt = NULL;
switch_channel_t *channel = NULL;
const char *channel_name = NULL;
@@ -2158,6 +2169,10 @@
dialplan = profile->dialplan;
}
+#if 0
+ rpid = sip_remote_party_id(sip);
+#endif
+
check_decode(displayname, session);
tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session),
from_user,
1
0
19 Nov '07
Author: anthm
Date: Mon Nov 19 15:52:21 2007
New Revision: 6342
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
band aid
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Mon Nov 19 15:52:21 2007
@@ -1845,31 +1845,46 @@
return uri;
}
-void process_rpid(sip_unknown_t *un, private_object_t *tech_pvt)
+void process_rpid(const char *val, private_object_t *tech_pvt)
{
int argc, x, screen = 1;
char *mydata, *argv[10] = { 0 };
- char *display = NULL;
- size_t n = 0;
-
- if (!switch_strlen_zero(un->un_value)) {
- if ((mydata = strdup(un->un_value))) {
+
+ if (!switch_strlen_zero(val)) {
+ if ((mydata = strdup(val))) {
argc = switch_separate_string(mydata, ';', argv, (sizeof(argv) / sizeof(argv[0])));
+ char *name = argv[0];
+ char *num;
- /* FIXME: This is completely insufficient parsing code, and should use the parsers from sofia-sip */
- if (*argv[0] == '"') {
- if (msg_quoted_d(&argv[0], &display) != -1)
- tech_pvt->caller_profile->caller_id_name = switch_core_session_strdup(tech_pvt->session, display);
- }
- if (*argv[0] == '<') {
+ if ((num = strchr(argv[0], '<'))) {
char *end;
- argv[0]++;
- n = strcspn(argv[0], ":");
- argv[0] += (n + 1);
- n = strcspn(argv[0], "@");
- end = argv[0] + n;
- if (*end) *end++ = '\0';
- tech_pvt->caller_profile->caller_id_number = switch_core_session_strdup(tech_pvt->session, argv[0]);
+ *num++ = '\0';
+
+ if (!strncasecmp(num, "sip:", 4)) {
+ num += 4;
+ }
+
+ if ((end = strchr(num, '@'))) {
+ *end = '\0';
+ }
+
+ if (*name == '"') {
+ name++;
+ }
+
+ if ((end = strchr(name, '"'))) {
+ *end = '\0';
+ }
+
+ if (name) {
+ check_decode(name, tech_pvt->session);
+ tech_pvt->caller_profile->caller_id_number = switch_core_session_strdup(tech_pvt->session, name);
+ }
+
+ if (num) {
+ check_decode(num, tech_pvt->session);
+ tech_pvt->caller_profile->caller_id_number = switch_core_session_strdup(tech_pvt->session, num);
+ }
}
for (x = 1; x < argc && argv[x]; x++) {
@@ -2160,7 +2175,7 @@
switch_channel_set_variable(channel, "alert_info", un->un_value);
}
} else if (!strncasecmp(un->un_name, "Remote-Party-ID", 15)) {
- process_rpid(un, tech_pvt);
+ process_rpid(un->un_value, tech_pvt);
} else if (!strncasecmp(un->un_name, "Diversion", 9)) {
// Basic Diversion Support for Diversion Indication in SIP
// draft-levy-sip-diversion-08
1
0
Author: mikej
Date: Mon Nov 19 14:34:54 2007
New Revision: 6341
Modified:
freeswitch/trunk/Freeswitch.sln
Log:
use new file locations for config files.
Modified: freeswitch/trunk/Freeswitch.sln
==============================================================================
--- freeswitch/trunk/Freeswitch.sln (original)
+++ freeswitch/trunk/Freeswitch.sln Mon Nov 19 14:34:54 2007
@@ -395,102 +395,20 @@
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Default", "Default", "{3B08FEFD-4D3D-4C16-BA94-EE83509E32A0}"
ProjectSection(SolutionItems) = preProject
- conf\conference.conf.xml = conf\conference.conf.xml
- conf\console.conf.xml = conf\console.conf.xml
- conf\default_context.xml = conf\default_context.xml
- conf\dialplan_directory.conf.xml = conf\dialplan_directory.conf.xml
- conf\dingaling.conf.xml = conf\dingaling.conf.xml
- conf\directory.xml = conf\directory.xml
- conf\enum.conf.xml = conf\enum.conf.xml
- conf\event_multicast.conf.xml = conf\event_multicast.conf.xml
- conf\event_socket.conf.xml = conf\event_socket.conf.xml
conf\freeswitch.xml = conf\freeswitch.xml
- conf\iax.conf.xml = conf\iax.conf.xml
- conf\ivr.conf.xml = conf\ivr.conf.xml
- conf\modules.conf.xml = conf\modules.conf.xml
- conf\portaudio.conf.xml = conf\portaudio.conf.xml
- conf\rss.conf.xml = conf\rss.conf.xml
- conf\sofia.conf.xml = conf\sofia.conf.xml
- conf\spidermonkey.conf.xml = conf\spidermonkey.conf.xml
- conf\switch.conf.xml = conf\switch.conf.xml
- conf\syslog.conf.xml = conf\syslog.conf.xml
conf\vars.xml = conf\vars.xml
- conf\wanpipe.conf.xml = conf\wanpipe.conf.xml
- conf\woomera.conf.xml = conf\woomera.conf.xml
- conf\xml_cdr.conf.xml = conf\xml_cdr.conf.xml
- conf\xml_curl.conf.xml = conf\xml_curl.conf.xml
- conf\xml_rpc.conf.xml = conf\xml_rpc.conf.xml
- conf\zeroconf.conf.xml = conf\zeroconf.conf.xml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Release", "Release", "{7BFD517E-7F8F-4A40-A78E-8D3632738227}"
ProjectSection(SolutionItems) = preProject
- release\conf\conference.conf.xml = release\conf\conference.conf.xml
- release\conf\console.conf.xml = release\conf\console.conf.xml
- release\conf\default_context.xml = release\conf\default_context.xml
- release\conf\dialplan_directory.conf.xml = release\conf\dialplan_directory.conf.xml
- release\conf\dingaling.conf.xml = release\conf\dingaling.conf.xml
- release\conf\directory.xml = release\conf\directory.xml
- release\conf\enum.conf.xml = release\conf\enum.conf.xml
- release\conf\event_multicast.conf.xml = release\conf\event_multicast.conf.xml
- release\conf\event_socket.conf.xml = release\conf\event_socket.conf.xml
release\conf\freeswitch.xml = release\conf\freeswitch.xml
- release\conf\freeswitch_combined.xml = release\conf\freeswitch_combined.xml
- release\conf\iax.conf.xml = release\conf\iax.conf.xml
- release\conf\ivr.conf.xml = release\conf\ivr.conf.xml
- release\conf\lang_en.xml = release\conf\lang_en.xml
- release\conf\lang_fr.xml = release\conf\lang_fr.xml
- release\conf\mod_cdr.conf.xml = release\conf\mod_cdr.conf.xml
- release\conf\modules.conf.xml = release\conf\modules.conf.xml
- release\conf\portaudio.conf.xml = release\conf\portaudio.conf.xml
- release\conf\rss.conf.xml = release\conf\rss.conf.xml
- release\conf\sofia.conf.xml = release\conf\sofia.conf.xml
- release\conf\spidermonkey.conf.xml = release\conf\spidermonkey.conf.xml
- release\conf\switch.conf.xml = release\conf\switch.conf.xml
- release\conf\syslog.conf.xml = release\conf\syslog.conf.xml
release\conf\vars.xml = release\conf\vars.xml
- release\conf\wanpipe.conf.xml = release\conf\wanpipe.conf.xml
- release\conf\woomera.conf.xml = release\conf\woomera.conf.xml
- release\conf\xml_cdr.conf.xml = release\conf\xml_cdr.conf.xml
- release\conf\xml_curl.conf.xml = release\conf\xml_curl.conf.xml
- release\conf\xml_rpc.conf.xml = release\conf\xml_rpc.conf.xml
- release\conf\xmpp_event.conf.xml = release\conf\xmpp_event.conf.xml
- release\conf\zeroconf.conf.xml = release\conf\zeroconf.conf.xml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debug", "Debug", "{6374D55C-FABE-4A02-9CF1-4145308A56C5}"
ProjectSection(SolutionItems) = preProject
- debug\conf\conference.conf.xml = debug\conf\conference.conf.xml
- debug\conf\console.conf.xml = debug\conf\console.conf.xml
- debug\conf\default_context.xml = debug\conf\default_context.xml
- debug\conf\dialplan_directory.conf.xml = debug\conf\dialplan_directory.conf.xml
- debug\conf\dingaling.conf.xml = debug\conf\dingaling.conf.xml
- debug\conf\directory.xml = debug\conf\directory.xml
- debug\conf\enum.conf.xml = debug\conf\enum.conf.xml
- debug\conf\event_multicast.conf.xml = debug\conf\event_multicast.conf.xml
- debug\conf\event_socket.conf.xml = debug\conf\event_socket.conf.xml
debug\conf\freeswitch.xml = debug\conf\freeswitch.xml
- debug\conf\freeswitch_combined.xml = debug\conf\freeswitch_combined.xml
- debug\conf\iax.conf.xml = debug\conf\iax.conf.xml
- debug\conf\ivr.conf.xml = debug\conf\ivr.conf.xml
- debug\conf\lang_en.xml = debug\conf\lang_en.xml
- debug\conf\lang_fr.xml = debug\conf\lang_fr.xml
- debug\conf\mod_cdr.conf.xml = debug\conf\mod_cdr.conf.xml
- debug\conf\modules.conf.xml = debug\conf\modules.conf.xml
- debug\conf\portaudio.conf.xml = debug\conf\portaudio.conf.xml
- debug\conf\rss.conf.xml = debug\conf\rss.conf.xml
- debug\conf\sofia.conf.xml = debug\conf\sofia.conf.xml
- debug\conf\spidermonkey.conf.xml = debug\conf\spidermonkey.conf.xml
- debug\conf\switch.conf.xml = debug\conf\switch.conf.xml
- debug\conf\syslog.conf.xml = debug\conf\syslog.conf.xml
debug\conf\vars.xml = debug\conf\vars.xml
- debug\conf\wanpipe.conf.xml = debug\conf\wanpipe.conf.xml
- debug\conf\woomera.conf.xml = debug\conf\woomera.conf.xml
- debug\conf\xml_cdr.conf.xml = debug\conf\xml_cdr.conf.xml
- debug\conf\xml_curl.conf.xml = debug\conf\xml_curl.conf.xml
- debug\conf\xml_rpc.conf.xml = debug\conf\xml_rpc.conf.xml
- debug\conf\xmpp_event.conf.xml = debug\conf\xmpp_event.conf.xml
- debug\conf\zeroconf.conf.xml = debug\conf\zeroconf.conf.xml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build System", "_Build System", "{DB1024A8-41BF-4AD7-9AE6-13202230D1F3}"
@@ -648,6 +566,296 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs", "autoload_configs", "{3C90CCF0-2CDD-4A7A-ACFF-208C1E271692}"
+ ProjectSection(SolutionItems) = preProject
+ conf\autoload_configs\alsa.conf.xml = conf\autoload_configs\alsa.conf.xml
+ conf\autoload_configs\cdr.conf.xml = conf\autoload_configs\cdr.conf.xml
+ conf\autoload_configs\conference.conf.xml = conf\autoload_configs\conference.conf.xml
+ conf\autoload_configs\console.conf.xml = conf\autoload_configs\console.conf.xml
+ conf\autoload_configs\dialplan_directory.conf.xml = conf\autoload_configs\dialplan_directory.conf.xml
+ conf\autoload_configs\dingaling.conf.xml = conf\autoload_configs\dingaling.conf.xml
+ conf\autoload_configs\enum.conf.xml = conf\autoload_configs\enum.conf.xml
+ conf\autoload_configs\event_multicast.conf.xml = conf\autoload_configs\event_multicast.conf.xml
+ conf\autoload_configs\event_socket.conf.xml = conf\autoload_configs\event_socket.conf.xml
+ conf\autoload_configs\iax.conf.xml = conf\autoload_configs\iax.conf.xml
+ conf\autoload_configs\ivr.conf.xml = conf\autoload_configs\ivr.conf.xml
+ conf\autoload_configs\java.conf.xml = conf\autoload_configs\java.conf.xml
+ conf\autoload_configs\limit.conf.xml = conf\autoload_configs\limit.conf.xml
+ conf\autoload_configs\local_stream.conf.xml = conf\autoload_configs\local_stream.conf.xml
+ conf\autoload_configs\modules.conf.xml = conf\autoload_configs\modules.conf.xml
+ conf\autoload_configs\openmrcp.conf.xml = conf\autoload_configs\openmrcp.conf.xml
+ conf\autoload_configs\portaudio.conf.xml = conf\autoload_configs\portaudio.conf.xml
+ conf\autoload_configs\rss.conf.xml = conf\autoload_configs\rss.conf.xml
+ conf\autoload_configs\sofia.conf.xml = conf\autoload_configs\sofia.conf.xml
+ conf\autoload_configs\spidermonkey.conf.xml = conf\autoload_configs\spidermonkey.conf.xml
+ conf\autoload_configs\switch.conf.xml = conf\autoload_configs\switch.conf.xml
+ conf\autoload_configs\syslog.conf.xml = conf\autoload_configs\syslog.conf.xml
+ conf\autoload_configs\voicemail.conf.xml = conf\autoload_configs\voicemail.conf.xml
+ conf\autoload_configs\wanpipe.conf.xml = conf\autoload_configs\wanpipe.conf.xml
+ conf\autoload_configs\woomera.conf.xml = conf\autoload_configs\woomera.conf.xml
+ conf\autoload_configs\xml_cdr.conf.xml = conf\autoload_configs\xml_cdr.conf.xml
+ conf\autoload_configs\xml_curl.conf.xml = conf\autoload_configs\xml_curl.conf.xml
+ conf\autoload_configs\xml_rpc.conf.xml = conf\autoload_configs\xml_rpc.conf.xml
+ conf\autoload_configs\zeroconf.conf.xml = conf\autoload_configs\zeroconf.conf.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan", "dialplan", "{C7E2382E-2C22-4D18-BF93-80C6A1FFA7AC}"
+ ProjectSection(SolutionItems) = preProject
+ conf\dialplan\default.xml = conf\dialplan\default.xml
+ conf\dialplan\US.conf.xml = conf\dialplan\US.conf.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory", "directory", "{FC71C66E-E268-4EAD-B1F5-F008DC382E83}"
+ ProjectSection(SolutionItems) = preProject
+ conf\directory\default.xml = conf\directory\default.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profiles", "{8E2E8798-8B6F-4A55-8E4F-4E6FDE40ED26}"
+ ProjectSection(SolutionItems) = preProject
+ conf\sip_profiles\default.xml = conf\sip_profiles\default.xml
+ conf\sip_profiles\nat.xml = conf\sip_profiles\nat.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{09455AA9-C243-4F16-A1A1-A016881A2765}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "en", "en", "{57199684-EC63-4A60-9DC6-11815AF6B413}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\en\en.xml = conf\lang\en\en.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de", "de", "{2DED4BA2-D6B0-4064-BB2A-76DE3AA49E7C}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\de\de.xml = conf\lang\de\de.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr", "fr", "{D4A12E4C-DBDA-4614-BA26-3425AE9F60F5}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\fr\fr.xml = conf\lang\fr\fr.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{D3E5C8ED-3A6A-4FEA-92A2-48A0BA865358}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\de\demo\demo.xml = conf\lang\de\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{CC3E7F48-2590-49CB-AD8B-BE3650F55462}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\de\vm\tts.xml = conf\lang\de\vm\tts.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{765EF1B9-5027-4820-BC37-A44466A51631}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\en\demo\demo.xml = conf\lang\en\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{713E4747-1126-40B1-BD84-58F9A7745423}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\en\vm\sounds.xml = conf\lang\en\vm\sounds.xml
+ conf\lang\en\vm\tts.xml = conf\lang\en\vm\tts.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{F1B71990-EB04-4EB5-B28A-BC3EB6F7E843}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\fr\demo\demo.xml = conf\lang\fr\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{3DAF028C-AB5B-4183-A01B-DCC43F5A87F0}"
+ ProjectSection(SolutionItems) = preProject
+ conf\lang\fr\vm\sounds.xml = conf\lang\fr\vm\sounds.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs", "autoload_configs", "{4833F8E3-ABBF-4260-9DB1-B34015676CFC}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\autoload_configs\alsa.conf.xml = debug\conf\autoload_configs\alsa.conf.xml
+ debug\conf\autoload_configs\cdr.conf.xml = debug\conf\autoload_configs\cdr.conf.xml
+ debug\conf\autoload_configs\conference.conf.xml = debug\conf\autoload_configs\conference.conf.xml
+ debug\conf\autoload_configs\console.conf.xml = debug\conf\autoload_configs\console.conf.xml
+ debug\conf\autoload_configs\dialplan_directory.conf.xml = debug\conf\autoload_configs\dialplan_directory.conf.xml
+ debug\conf\autoload_configs\dingaling.conf.xml = debug\conf\autoload_configs\dingaling.conf.xml
+ debug\conf\autoload_configs\enum.conf.xml = debug\conf\autoload_configs\enum.conf.xml
+ debug\conf\autoload_configs\event_multicast.conf.xml = debug\conf\autoload_configs\event_multicast.conf.xml
+ debug\conf\autoload_configs\event_socket.conf.xml = debug\conf\autoload_configs\event_socket.conf.xml
+ debug\conf\autoload_configs\iax.conf.xml = debug\conf\autoload_configs\iax.conf.xml
+ debug\conf\autoload_configs\ivr.conf.xml = debug\conf\autoload_configs\ivr.conf.xml
+ debug\conf\autoload_configs\java.conf.xml = debug\conf\autoload_configs\java.conf.xml
+ debug\conf\autoload_configs\limit.conf.xml = debug\conf\autoload_configs\limit.conf.xml
+ debug\conf\autoload_configs\local_stream.conf.xml = debug\conf\autoload_configs\local_stream.conf.xml
+ debug\conf\autoload_configs\modules.conf.xml = debug\conf\autoload_configs\modules.conf.xml
+ debug\conf\autoload_configs\openmrcp.conf.xml = debug\conf\autoload_configs\openmrcp.conf.xml
+ debug\conf\autoload_configs\portaudio.conf.xml = debug\conf\autoload_configs\portaudio.conf.xml
+ debug\conf\autoload_configs\rss.conf.xml = debug\conf\autoload_configs\rss.conf.xml
+ debug\conf\autoload_configs\sofia.conf.xml = debug\conf\autoload_configs\sofia.conf.xml
+ debug\conf\autoload_configs\spidermonkey.conf.xml = debug\conf\autoload_configs\spidermonkey.conf.xml
+ debug\conf\autoload_configs\switch.conf.xml = debug\conf\autoload_configs\switch.conf.xml
+ debug\conf\autoload_configs\syslog.conf.xml = debug\conf\autoload_configs\syslog.conf.xml
+ debug\conf\autoload_configs\voicemail.conf.xml = debug\conf\autoload_configs\voicemail.conf.xml
+ debug\conf\autoload_configs\wanpipe.conf.xml = debug\conf\autoload_configs\wanpipe.conf.xml
+ debug\conf\autoload_configs\woomera.conf.xml = debug\conf\autoload_configs\woomera.conf.xml
+ debug\conf\autoload_configs\xml_cdr.conf.xml = debug\conf\autoload_configs\xml_cdr.conf.xml
+ debug\conf\autoload_configs\xml_curl.conf.xml = debug\conf\autoload_configs\xml_curl.conf.xml
+ debug\conf\autoload_configs\xml_rpc.conf.xml = debug\conf\autoload_configs\xml_rpc.conf.xml
+ debug\conf\autoload_configs\zeroconf.conf.xml = debug\conf\autoload_configs\zeroconf.conf.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan", "dialplan", "{D44DD429-FE98-42AA-B5B7-4B4EBE33AEFD}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\dialplan\default.xml = debug\conf\dialplan\default.xml
+ debug\conf\dialplan\US.conf.xml = debug\conf\dialplan\US.conf.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory", "directory", "{471110C9-A7ED-4966-98E1-8EA667BF0EEA}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\directory\default.xml = debug\conf\directory\default.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profiles", "{4DF5199E-F7F5-4347-97DD-22078FCDB371}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{B487BEBE-4A5C-434F-8D30-39465412F84F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de", "de", "{2003189F-0E69-4FF7-A11D-3BFB3F03D558}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\de\de.xml = debug\conf\lang\de\de.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "en", "en", "{C8EA69FA-365E-4897-9BB0-08022509E18B}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\en\en.xml = debug\conf\lang\en\en.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr", "fr", "{1240C217-6674-43C1-B099-B0290D84F28B}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\fr\fr.xml = debug\conf\lang\fr\fr.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{03517B06-98A1-46DD-9347-BFFFED7DD8A4}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\de\demo\demo.xml = debug\conf\lang\de\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{1D339A14-FFC2-4F6E-BEF2-D5D6DF14AC88}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\de\vm\tts.xml = debug\conf\lang\de\vm\tts.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{B4C6D0B5-5F39-4546-820D-4BCAA6C3E301}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\en\demo\demo.xml = debug\conf\lang\en\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{3041F86C-51D4-4D9E-8A00-91BA4B7C51D4}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\en\vm\sounds.xml = debug\conf\lang\en\vm\sounds.xml
+ debug\conf\lang\en\vm\tts.xml = debug\conf\lang\en\vm\tts.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{DFE96A6E-5C9A-4C74-959A-9C485A7AD95C}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\fr\demo\demo.xml = debug\conf\lang\fr\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{80A4CA5C-7208-4134-8EFD-C147B03C8AA1}"
+ ProjectSection(SolutionItems) = preProject
+ debug\conf\lang\fr\vm\sounds.xml = debug\conf\lang\fr\vm\sounds.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs", "autoload_configs", "{8D29085B-952D-4594-9BB9-5781CE552D0A}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\autoload_configs\alsa.conf.xml = release\conf\autoload_configs\alsa.conf.xml
+ release\conf\autoload_configs\cdr.conf.xml = release\conf\autoload_configs\cdr.conf.xml
+ release\conf\autoload_configs\conference.conf.xml = release\conf\autoload_configs\conference.conf.xml
+ release\conf\autoload_configs\console.conf.xml = release\conf\autoload_configs\console.conf.xml
+ release\conf\autoload_configs\dialplan_directory.conf.xml = release\conf\autoload_configs\dialplan_directory.conf.xml
+ release\conf\autoload_configs\dingaling.conf.xml = release\conf\autoload_configs\dingaling.conf.xml
+ release\conf\autoload_configs\enum.conf.xml = release\conf\autoload_configs\enum.conf.xml
+ release\conf\autoload_configs\event_multicast.conf.xml = release\conf\autoload_configs\event_multicast.conf.xml
+ release\conf\autoload_configs\event_socket.conf.xml = release\conf\autoload_configs\event_socket.conf.xml
+ release\conf\autoload_configs\iax.conf.xml = release\conf\autoload_configs\iax.conf.xml
+ release\conf\autoload_configs\ivr.conf.xml = release\conf\autoload_configs\ivr.conf.xml
+ release\conf\autoload_configs\java.conf.xml = release\conf\autoload_configs\java.conf.xml
+ release\conf\autoload_configs\limit.conf.xml = release\conf\autoload_configs\limit.conf.xml
+ release\conf\autoload_configs\local_stream.conf.xml = release\conf\autoload_configs\local_stream.conf.xml
+ release\conf\autoload_configs\modules.conf.xml = release\conf\autoload_configs\modules.conf.xml
+ release\conf\autoload_configs\openmrcp.conf.xml = release\conf\autoload_configs\openmrcp.conf.xml
+ release\conf\autoload_configs\portaudio.conf.xml = release\conf\autoload_configs\portaudio.conf.xml
+ release\conf\autoload_configs\rss.conf.xml = release\conf\autoload_configs\rss.conf.xml
+ release\conf\autoload_configs\sofia.conf.xml = release\conf\autoload_configs\sofia.conf.xml
+ release\conf\autoload_configs\spidermonkey.conf.xml = release\conf\autoload_configs\spidermonkey.conf.xml
+ release\conf\autoload_configs\switch.conf.xml = release\conf\autoload_configs\switch.conf.xml
+ release\conf\autoload_configs\syslog.conf.xml = release\conf\autoload_configs\syslog.conf.xml
+ release\conf\autoload_configs\voicemail.conf.xml = release\conf\autoload_configs\voicemail.conf.xml
+ release\conf\autoload_configs\wanpipe.conf.xml = release\conf\autoload_configs\wanpipe.conf.xml
+ release\conf\autoload_configs\woomera.conf.xml = release\conf\autoload_configs\woomera.conf.xml
+ release\conf\autoload_configs\xml_cdr.conf.xml = release\conf\autoload_configs\xml_cdr.conf.xml
+ release\conf\autoload_configs\xml_curl.conf.xml = release\conf\autoload_configs\xml_curl.conf.xml
+ release\conf\autoload_configs\xml_rpc.conf.xml = release\conf\autoload_configs\xml_rpc.conf.xml
+ release\conf\autoload_configs\zeroconf.conf.xml = release\conf\autoload_configs\zeroconf.conf.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan", "dialplan", "{23874F4B-C0AF-4587-9F7E-DB0F06DE8CB4}"
+ ProjectSection(SolutionItems) = preProject
+ conf\dialplan\default.xml = conf\dialplan\default.xml
+ conf\dialplan\US.conf.xml = conf\dialplan\US.conf.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory", "directory", "{19ED97F6-30D8-4FCE-AE1D-8B7FCB170D40}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\directory\default.xml = release\conf\directory\default.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profiles", "{99E79D76-FCFC-466B-965B-273CCACF99B0}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\sip_profiles\default.xml = release\conf\sip_profiles\default.xml
+ release\conf\sip_profiles\nat.xml = release\conf\sip_profiles\nat.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{8FADAC7F-CA9E-49D9-B957-A5F5605D238C}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de", "de", "{58A56014-DEA7-4172-8C26-BAD8D499A1E8}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\de\de.xml = release\conf\lang\de\de.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "en", "en", "{EB577858-8284-4DEA-ADDA-DD046BCA0126}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\en\en.xml = release\conf\lang\en\en.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr", "fr", "{89A94241-1DA6-44E8-A685-AED1E665C2AD}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\fr\fr.xml = release\conf\lang\fr\fr.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{2D74F635-AB18-43B3-A87E-A71F3EA24DDB}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\de\demo\demo.xml = release\conf\lang\de\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{A721E646-07E9-4E16-A92D-B97F654B2BAC}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\de\vm\tts.xml = release\conf\lang\de\vm\tts.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{50331CA0-7038-4341-B92D-C34E1601EFF0}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\en\demo\demo.xml = release\conf\lang\en\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{FC0DB2A2-B1A3-426E-9E37-BE28FE8FE01B}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\en\vm\sounds.xml = release\conf\lang\en\vm\sounds.xml
+ release\conf\lang\en\vm\tts.xml = release\conf\lang\en\vm\tts.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{91C6DEDE-CE4A-47D1-A84B-3E828F82E2B0}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\fr\demo\demo.xml = release\conf\lang\fr\demo\demo.xml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{8F5A511B-F716-4D07-9657-55B9E4F1D3E9}"
+ ProjectSection(SolutionItems) = preProject
+ release\conf\lang\fr\vm\sounds.xml = release\conf\lang\fr\vm\sounds.xml
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -1322,6 +1530,21 @@
{3B08FEFD-4D3D-4C16-BA94-EE83509E32A0} = {57D119DC-484F-420F-B9E9-8589FD9A8DF8}
{7BFD517E-7F8F-4A40-A78E-8D3632738227} = {57D119DC-484F-420F-B9E9-8589FD9A8DF8}
{6374D55C-FABE-4A02-9CF1-4145308A56C5} = {57D119DC-484F-420F-B9E9-8589FD9A8DF8}
+ {3C90CCF0-2CDD-4A7A-ACFF-208C1E271692} = {3B08FEFD-4D3D-4C16-BA94-EE83509E32A0}
+ {C7E2382E-2C22-4D18-BF93-80C6A1FFA7AC} = {3B08FEFD-4D3D-4C16-BA94-EE83509E32A0}
+ {FC71C66E-E268-4EAD-B1F5-F008DC382E83} = {3B08FEFD-4D3D-4C16-BA94-EE83509E32A0}
+ {8E2E8798-8B6F-4A55-8E4F-4E6FDE40ED26} = {3B08FEFD-4D3D-4C16-BA94-EE83509E32A0}
+ {09455AA9-C243-4F16-A1A1-A016881A2765} = {3B08FEFD-4D3D-4C16-BA94-EE83509E32A0}
+ {8D29085B-952D-4594-9BB9-5781CE552D0A} = {7BFD517E-7F8F-4A40-A78E-8D3632738227}
+ {23874F4B-C0AF-4587-9F7E-DB0F06DE8CB4} = {7BFD517E-7F8F-4A40-A78E-8D3632738227}
+ {19ED97F6-30D8-4FCE-AE1D-8B7FCB170D40} = {7BFD517E-7F8F-4A40-A78E-8D3632738227}
+ {99E79D76-FCFC-466B-965B-273CCACF99B0} = {7BFD517E-7F8F-4A40-A78E-8D3632738227}
+ {8FADAC7F-CA9E-49D9-B957-A5F5605D238C} = {7BFD517E-7F8F-4A40-A78E-8D3632738227}
+ {4833F8E3-ABBF-4260-9DB1-B34015676CFC} = {6374D55C-FABE-4A02-9CF1-4145308A56C5}
+ {D44DD429-FE98-42AA-B5B7-4B4EBE33AEFD} = {6374D55C-FABE-4A02-9CF1-4145308A56C5}
+ {471110C9-A7ED-4966-98E1-8EA667BF0EEA} = {6374D55C-FABE-4A02-9CF1-4145308A56C5}
+ {4DF5199E-F7F5-4347-97DD-22078FCDB371} = {6374D55C-FABE-4A02-9CF1-4145308A56C5}
+ {B487BEBE-4A5C-434F-8D30-39465412F84F} = {6374D55C-FABE-4A02-9CF1-4145308A56C5}
{CDE9B06A-3C27-4987-8FAE-DF1006BC705D} = {DB1024A8-41BF-4AD7-9AE6-13202230D1F3}
{829A9309-3B94-43C0-846B-7EC9D6D35F8B} = {ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE}
{EB751DC4-87BD-4766-B78D-DFB64BA9F988} = {ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE}
@@ -1331,5 +1554,32 @@
{819C7242-6184-46FE-BC7B-C7E25C0581EE} = {ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE}
{FB64EA08-3BC0-48AE-BE4B-74F1024B756E} = {ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE}
{A407B661-D7DC-4E30-B268-FFF3296C35E6} = {ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE}
+ {57199684-EC63-4A60-9DC6-11815AF6B413} = {09455AA9-C243-4F16-A1A1-A016881A2765}
+ {2DED4BA2-D6B0-4064-BB2A-76DE3AA49E7C} = {09455AA9-C243-4F16-A1A1-A016881A2765}
+ {D4A12E4C-DBDA-4614-BA26-3425AE9F60F5} = {09455AA9-C243-4F16-A1A1-A016881A2765}
+ {765EF1B9-5027-4820-BC37-A44466A51631} = {57199684-EC63-4A60-9DC6-11815AF6B413}
+ {713E4747-1126-40B1-BD84-58F9A7745423} = {57199684-EC63-4A60-9DC6-11815AF6B413}
+ {D3E5C8ED-3A6A-4FEA-92A2-48A0BA865358} = {2DED4BA2-D6B0-4064-BB2A-76DE3AA49E7C}
+ {CC3E7F48-2590-49CB-AD8B-BE3650F55462} = {2DED4BA2-D6B0-4064-BB2A-76DE3AA49E7C}
+ {F1B71990-EB04-4EB5-B28A-BC3EB6F7E843} = {D4A12E4C-DBDA-4614-BA26-3425AE9F60F5}
+ {3DAF028C-AB5B-4183-A01B-DCC43F5A87F0} = {D4A12E4C-DBDA-4614-BA26-3425AE9F60F5}
+ {2003189F-0E69-4FF7-A11D-3BFB3F03D558} = {B487BEBE-4A5C-434F-8D30-39465412F84F}
+ {C8EA69FA-365E-4897-9BB0-08022509E18B} = {B487BEBE-4A5C-434F-8D30-39465412F84F}
+ {1240C217-6674-43C1-B099-B0290D84F28B} = {B487BEBE-4A5C-434F-8D30-39465412F84F}
+ {03517B06-98A1-46DD-9347-BFFFED7DD8A4} = {2003189F-0E69-4FF7-A11D-3BFB3F03D558}
+ {1D339A14-FFC2-4F6E-BEF2-D5D6DF14AC88} = {2003189F-0E69-4FF7-A11D-3BFB3F03D558}
+ {B4C6D0B5-5F39-4546-820D-4BCAA6C3E301} = {C8EA69FA-365E-4897-9BB0-08022509E18B}
+ {3041F86C-51D4-4D9E-8A00-91BA4B7C51D4} = {C8EA69FA-365E-4897-9BB0-08022509E18B}
+ {DFE96A6E-5C9A-4C74-959A-9C485A7AD95C} = {1240C217-6674-43C1-B099-B0290D84F28B}
+ {80A4CA5C-7208-4134-8EFD-C147B03C8AA1} = {1240C217-6674-43C1-B099-B0290D84F28B}
+ {58A56014-DEA7-4172-8C26-BAD8D499A1E8} = {8FADAC7F-CA9E-49D9-B957-A5F5605D238C}
+ {EB577858-8284-4DEA-ADDA-DD046BCA0126} = {8FADAC7F-CA9E-49D9-B957-A5F5605D238C}
+ {89A94241-1DA6-44E8-A685-AED1E665C2AD} = {8FADAC7F-CA9E-49D9-B957-A5F5605D238C}
+ {2D74F635-AB18-43B3-A87E-A71F3EA24DDB} = {58A56014-DEA7-4172-8C26-BAD8D499A1E8}
+ {A721E646-07E9-4E16-A92D-B97F654B2BAC} = {58A56014-DEA7-4172-8C26-BAD8D499A1E8}
+ {50331CA0-7038-4341-B92D-C34E1601EFF0} = {EB577858-8284-4DEA-ADDA-DD046BCA0126}
+ {FC0DB2A2-B1A3-426E-9E37-BE28FE8FE01B} = {EB577858-8284-4DEA-ADDA-DD046BCA0126}
+ {91C6DEDE-CE4A-47D1-A84B-3E828F82E2B0} = {89A94241-1DA6-44E8-A685-AED1E665C2AD}
+ {8F5A511B-F716-4D07-9657-55B9E4F1D3E9} = {89A94241-1DA6-44E8-A685-AED1E665C2AD}
EndGlobalSection
EndGlobal
1
0
Author: mikej
Date: Mon Nov 19 14:08:14 2007
New Revision: 6340
Modified:
freeswitch/trunk/configure.in
Log:
not in tree anymore.
Modified: freeswitch/trunk/configure.in
==============================================================================
--- freeswitch/trunk/configure.in (original)
+++ freeswitch/trunk/configure.in Mon Nov 19 14:08:14 2007
@@ -404,7 +404,6 @@
AC_CONFIG_FILES([Makefile
src/Makefile
src/mod/Makefile
- src/mod/event_handlers/mod_cdr/Makefile
src/mod/endpoints/mod_sofia/Makefile
src/mod/event_handlers/mod_radius_cdr/Makefile
src/mod/languages/mod_java/Makefile
1
0
[commit] r6339 - in freeswitch/trunk: . libs/libetpan libs/libspeakup libs/win32/etpan
by Freeswitch SVN 19 Nov '07
by Freeswitch SVN 19 Nov '07
19 Nov '07
Author: mikej
Date: Mon Nov 19 13:47:56 2007
New Revision: 6339
Removed:
freeswitch/trunk/libs/libetpan/
freeswitch/trunk/libs/libspeakup/
freeswitch/trunk/libs/win32/etpan/
Modified:
freeswitch/trunk/Freeswitch.sln
freeswitch/trunk/bootstrap.sh
freeswitch/trunk/configure.in
Log:
cleanup of unused stuff
Modified: freeswitch/trunk/Freeswitch.sln
==============================================================================
--- freeswitch/trunk/Freeswitch.sln (original)
+++ freeswitch/trunk/Freeswitch.sln Mon Nov 19 13:47:56 2007
@@ -143,16 +143,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fs_perl", "src\mod\languages\mod_perl\fs_perl.vcproj", "{B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}"
- ProjectSection(ProjectDependencies) = postProject
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_perl", "src\mod\languages\mod_perl\mod_perl.vcproj", "{7B077E7F-1BE7-4291-AB86-55E527B25CAC}"
- ProjectSection(ProjectDependencies) = postProject
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_ilbc", "src\mod\codecs\mod_ilbc\mod_ilbc.vcproj", "{D3EC0AFF-76FC-4210-A825-9A17410660A3}"
ProjectSection(ProjectDependencies) = postProject
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
@@ -215,12 +205,6 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_cdr", "src\mod\event_handlers\mod_cdr\mod_cdr.vcproj", "{3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}"
- ProjectSection(ProjectDependencies) = postProject
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Libraries", "_Libraries", "{EB910B0D-F27D-4B62-B67B-DE834C99AC5B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgsm", "libs\codec\gsm\libgsm.vcproj", "{8FD2E297-4096-47E5-9258-C48FF1841523}"
@@ -371,15 +355,6 @@
{4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {4043FC6A-9A30-4577-8AD5-9B233C9575D8}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_etpan", "src\mod\languages\mod_spidermonkey_etpan\mod_spidermonkey_etpan.vcproj", "{D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}"
- ProjectSection(ProjectDependencies) = postProject
- {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE} = {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}
- {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
- {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
- {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_odbc", "src\mod\languages\mod_spidermonkey_odbc\mod_spidermonkey_odbc.vcproj", "{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}"
ProjectSection(ProjectDependencies) = postProject
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}
@@ -388,8 +363,6 @@
{204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libetpan", "libs\win32\etpan\libetpan.vcproj", "{BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_xml_curl", "src\mod\xml_int\mod_xml_curl\mod_xml_curl.vcproj", "{AB91A099-7690-4ECF-8994-E458F4EA1ED4}"
ProjectSection(ProjectDependencies) = postProject
{87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588}
@@ -523,6 +496,7 @@
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build System", "_Build System", "{DB1024A8-41BF-4AD7-9AE6-13202230D1F3}"
ProjectSection(SolutionItems) = preProject
acsite.m4 = acsite.m4
+ bootstrap.sh = bootstrap.sh
build\buildlib.sh = build\buildlib.sh
configure.in = configure.in
Makefile.am = Makefile.am
@@ -804,14 +778,6 @@
{692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|x64.ActiveCfg = Debug|Win32
{692F6330-4D87-4C82-81DF-40DB5892636E}.Release|Win32.ActiveCfg = Release|Win32
{692F6330-4D87-4C82-81DF-40DB5892636E}.Release|x64.ActiveCfg = Release|Win32
- {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Debug|Win32.ActiveCfg = Debug|Win32
- {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Debug|x64.ActiveCfg = Debug|Win32
- {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Release|Win32.ActiveCfg = Release|Win32
- {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Release|x64.ActiveCfg = Release|Win32
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.ActiveCfg = Debug|Win32
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32
{D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.ActiveCfg = Debug|Win32
{D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|Win32.Build.0 = Debug|Win32
{D3EC0AFF-76FC-4210-A825-9A17410660A3}.Debug|x64.ActiveCfg = Debug|Win32
@@ -866,12 +832,6 @@
{05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Win32.ActiveCfg = Release|Win32
{05515420-16DE-4E63-BE73-85BE85BA5142}.Release|Win32.Build.0 = Release|Win32
{05515420-16DE-4E63-BE73-85BE85BA5142}.Release|x64.ActiveCfg = Release|Win32
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}.Debug|Win32.ActiveCfg = Debug|Win32
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}.Debug|Win32.Build.0 = Debug|Win32
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}.Debug|x64.ActiveCfg = Debug|Win32
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}.Release|Win32.ActiveCfg = Release|Win32
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}.Release|Win32.Build.0 = Release|Win32
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8}.Release|x64.ActiveCfg = Release|Win32
{8FD2E297-4096-47E5-9258-C48FF1841523}.Debug|Win32.ActiveCfg = Debug|Win32
{8FD2E297-4096-47E5-9258-C48FF1841523}.Debug|Win32.Build.0 = Debug|Win32
{8FD2E297-4096-47E5-9258-C48FF1841523}.Debug|x64.ActiveCfg = Debug|Win32
@@ -1094,24 +1054,12 @@
{71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.ActiveCfg = Release|Win32
{71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.Build.0 = Release|Win32
{71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|x64.ActiveCfg = Release|Win32
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Debug|Win32.ActiveCfg = Debug|Win32
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Debug|Win32.Build.0 = Debug|Win32
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Debug|x64.ActiveCfg = Debug|Win32
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Release|Win32.ActiveCfg = Release|Win32
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Release|Win32.Build.0 = Release|Win32
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Release|x64.ActiveCfg = Release|Win32
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.Build.0 = Debug|Win32
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|x64.ActiveCfg = Debug|Win32
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.ActiveCfg = Release|Win32
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.Build.0 = Release|Win32
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|x64.ActiveCfg = Release|Win32
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Debug|Win32.ActiveCfg = Debug|Win32
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Debug|Win32.Build.0 = Debug|Win32
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Debug|x64.ActiveCfg = Debug|Win32
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Release|Win32.ActiveCfg = Release|Win32
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Release|Win32.Build.0 = Release|Win32
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Release|x64.ActiveCfg = Release|Win32
{AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Win32.ActiveCfg = Debug|Win32
{AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|Win32.Build.0 = Debug|Win32
{AB91A099-7690-4ECF-8994-E458F4EA1ED4}.Debug|x64.ActiveCfg = Debug|Win32
@@ -1320,7 +1268,6 @@
{C7705DC4-2088-493E-AF8D-65BC6D65C125} = {9ADF1E48-2F5C-4ED7-A893-596259FABFE0}
{784113EF-44D9-4949-835D-7065D3C7AD08} = {9ADF1E48-2F5C-4ED7-A893-596259FABFE0}
{05515420-16DE-4E63-BE73-85BE85BA5142} = {9ADF1E48-2F5C-4ED7-A893-596259FABFE0}
- {3D1EED36-A510-4EDB-B4D9-4E0F4A5EC2A8} = {9ADF1E48-2F5C-4ED7-A893-596259FABFE0}
{1A1FF289-4FD6-4285-A422-D31DD67A4723} = {CBD81696-EFB4-4D2F-8451-1B8DAA86155A}
{EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}
{89385C74-5860-4174-9CAF-A39E7C48909C} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
@@ -1351,15 +1298,11 @@
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
- {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{0A18A071-125E-442F-AFF7-A3F68ABECF99} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}
- {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8} = {0C808854-54D1-4230-BFF5-77B5FD905000}
- {7B077E7F-1BE7-4291-AB86-55E527B25CAC} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{ACFFF684-4D19-4D48-AF12-88EA1D778BDF} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{8F992C49-6C51-412F-B2A3-34EAB708EB65} = {0C808854-54D1-4230-BFF5-77B5FD905000}
- {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{028C7278-05D7-4E18-82FE-BE231B844F41} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{692F6330-4D87-4C82-81DF-40DB5892636E} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}
Modified: freeswitch/trunk/bootstrap.sh
==============================================================================
--- freeswitch/trunk/bootstrap.sh (original)
+++ freeswitch/trunk/bootstrap.sh Mon Nov 19 13:47:56 2007
@@ -4,7 +4,7 @@
BASEDIR=`pwd`;
LIBDIR=${BASEDIR}/libs;
SUBDIRS="codec/g7xx codec/g726 codec/gsm codec/ilbc codec/lpc10 curl iax iksemel \
- js js/nsprpub libdingaling libetpan libresample libsndfile pcre sofia-sip \
+ js js/nsprpub libdingaling libresample libsndfile pcre sofia-sip \
speex sqlite srtp xmlrpc-c";
Modified: freeswitch/trunk/configure.in
==============================================================================
--- freeswitch/trunk/configure.in (original)
+++ freeswitch/trunk/configure.in Mon Nov 19 13:47:56 2007
@@ -454,7 +454,6 @@
AC_CONFIG_SUBDIRS(libs/js/nsprpub)
AC_CONFIG_SUBDIRS(libs/js)
AC_CONFIG_SUBDIRS(libs/libdingaling)
-AC_CONFIG_SUBDIRS(libs/libetpan)
AC_CONFIG_SUBDIRS(libs/libsndfile)
AC_CONFIG_SUBDIRS(libs/sofia-sip)
AC_CONFIG_SUBDIRS(libs/speex)
1
0
[commit] r6338 - in freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua: bnf http ipt iptsec msg nua sip su su/sofia-sip url
by Freeswitch SVN 19 Nov '07
by Freeswitch SVN 19 Nov '07
19 Nov '07
Author: mikej
Date: Mon Nov 19 13:09:15 2007
New Revision: 6338
Modified:
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_basic_call.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.h
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_register.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_log.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url.c
Log:
Merge up to current sofia-sip darcs.
Thu Nov 15 08:40:38 EST 2007 Pekka.Pessi(a)nokia.com
* htable2.h: fixed usize_t/size_t confusion
Fri Nov 16 06:38:51 EST 2007 Youness Alaoui <youness.alaoui(a)collabora.co.uk>
* Added #include <stdio.h>
Fri Nov 16 10:27:58 EST 2007 Pekka.Pessi(a)nokia.com
* auth_client.c: allow multiple challenges in auc_credentials() or auc_all_credentials()
Fri Nov 16 10:29:00 EST 2007 Pekka.Pessi(a)nokia.com
* nua/test_proxy.[hc], nua/test_register.c: test support of multiple realms.
Fri Nov 16 11:17:09 EST 2007 Pekka.Pessi(a)nokia.com
* sofia-sip/su_alloc.h, su_alloc.c: added su_home_lock(), su_home_trylock(), su_home_unlock()
Added test in torture_su_alloc.c. Using in su_pthread_port.c.
Fri Nov 16 12:29:55 EST 2007 Pekka.Pessi(a)nokia.com
* test_register.c, test_proxy.c: use realm "test-proxy" during normal tests
Fri Nov 16 12:34:00 EST 2007 Pekka.Pessi(a)nokia.com
* nua_register.c: sf.net bug #1816647: Outbound contact does not make it to dialogs
Now use Contact from first registration instead of Contact generated from
transport.
Mon Nov 19 12:00:06 EST 2007 Pekka Pessi <Pekka.Pessi(a)nokia.com>
* su_alloc.c: silenced warnings on Sun CC
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c Mon Nov 19 13:09:15 2007
@@ -35,6 +35,7 @@
#include "sofia-sip/bnf.h"
+#include <stdio.h>
#include <assert.h>
#define ws bnf_ws
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c Mon Nov 19 13:09:15 2007
@@ -33,6 +33,7 @@
#include "config.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c Mon Nov 19 13:09:15 2007
@@ -33,6 +33,7 @@
#include "config.h"
+#include <stdio.h>
#include <stddef.h>
#include <assert.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c Mon Nov 19 13:09:15 2007
@@ -387,7 +387,7 @@
if ((scheme != NULL && strcasecmp(scheme, ca->ca_scheme)) ||
(realm != NULL && strcmp(realm, ca->ca_realm)))
- return -1;
+ return 0;
old_user = ca->ca_user, old_pass = ca->ca_pass;
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c Mon Nov 19 13:09:15 2007
@@ -37,6 +37,7 @@
#include "sofia-sip/auth_common.h"
#include "sofia-sip/msg_header.h"
+#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <assert.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c Mon Nov 19 13:09:15 2007
@@ -41,6 +41,7 @@
#include "iptsec_debug.h"
+#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <limits.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c Mon Nov 19 13:09:15 2007
@@ -35,6 +35,7 @@
#include "config.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c Mon Nov 19 13:09:15 2007
@@ -1426,6 +1426,7 @@
int sips_uri = remote_uri && remote_uri->url_type == url_sips;
nua_registration_t const *nr, *public = NULL, *any = NULL;
+ nua_registration_t const *registered = NULL;
nua_registration_t const *namewise = NULL, *sipswise = NULL;
int ip4 = remote_uri && host_is_ip4_address(remote_uri->url_host);
@@ -1444,11 +1445,15 @@
continue;
if (sips_uri ? nr->nr_secure : !nr->nr_secure)
return (nua_registration_t *)nr;
+ if (!registered && nr->nr_aor)
+ registered = nr;
if (!public && nr->nr_public)
public = nr;
if (!any)
any = nr;
}
+ if (registered)
+ return (nua_registration_t *)registered;
if (public)
return (nua_registration_t *)public;
if (any)
@@ -1456,8 +1461,11 @@
return NULL;
}
- if (!sips_aor && aor)
+ if (!sips_aor && aor) {
alt_aor = memcpy(_alt_aor, aor, sizeof _alt_aor);
+ alt_aor->a_url->url_type = url_sips;
+ alt_aor->a_url->url_scheme = "sips";
+ }
for (nr = list; nr; nr = nr->nr_next) {
if (!nr->nr_ready || !nr->nr_contact)
@@ -1468,11 +1476,12 @@
if (!namewise && alt_aor && url_cmp(nr->nr_aor->a_url, aor->a_url) == 0)
namewise = nr;
}
- else {
- if (!sipswise && ((sips_aor || sips_uri) ?
- nr->nr_secure : !nr->nr_secure))
- sipswise = nr;
- }
+
+ if (!sipswise && ((sips_aor || sips_uri) ?
+ nr->nr_secure : !nr->nr_secure))
+ sipswise = nr;
+ if (!registered)
+ registered = nr;
if (!public && nr->nr_public)
public = nr;
if (!any)
@@ -1483,7 +1492,9 @@
return (nua_registration_t *)namewise;
if (sipswise)
return (nua_registration_t *)sipswise;
-
+ if (registered)
+ return (nua_registration_t *)registered;
+
/* XXX -
should we do some policing whether sips_aor or sips_uri can be used
with sip contact?
@@ -1594,7 +1605,7 @@
*
* @param nh
* @param msg response message
- * @param sip response headers
+ * @param sip headers in response message
* @param record_route record-route from request
* @param remote_contact Contact from request
*/
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_basic_call.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_basic_call.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_basic_call.c Mon Nov 19 13:09:15 2007
@@ -457,8 +457,14 @@
TEST_S(sip->sip_content_type->c_type, "application/sdp");
TEST_1(sip->sip_payload); /* there is sdp in 200 OK */
TEST_1(sip->sip_contact);
+#if nomore
/* Test that B does not use application-specific contact */
TEST_1(!sip->sip_contact->m_url->url_user);
+#else
+ /* sf.net bug #1816647: Outbound contact does not make it to dialogs */
+ /* Now we use first registered contact if aor does not match */
+ TEST_S(sip->sip_contact->m_url->url_user, "b");
+#endif
TEST_1(e = e->next); TEST_E(e->data->e_event, nua_i_state);
TEST(callstate(e->data->e_tags), nua_callstate_ready); /* READY */
TEST_1(!is_answer_recv(e->data->e_tags)); /* but it is ignored */
@@ -989,6 +995,9 @@
}
/* Test changing from/to within dialog */
+/* Test that a proper Contact gets selected in response
+ * regardless of the To URI.
+ */
int test_basic_call_5(struct context *ctx)
{
BEGIN();
@@ -1004,13 +1013,15 @@
a_call->sdp = "m=audio 5008 RTP/AVP 8";
b_call->sdp = "m=audio 5010 RTP/AVP 0 8";
- TEST_1(a_call->nh = nua_handle(a->nua, a_call, SIPTAG_TO(b->to), TAG_END()));
+ TEST_1(a_call->nh = nua_handle(a->nua, a_call,
+ SIPTAG_TO_STR("<sips:b@x.org>"),
+ TAG_END()));
TEST_1(!nua_handle_has_active_call(a_call->nh));
TEST_1(!nua_handle_has_call_on_hold(a_call->nh));
INVITE(a, a_call, a_call->nh,
- TAG_IF(!ctx->proxy_tests, NUTAG_URL(b->contact->m_url)),
+ NUTAG_URL(b->contact->m_url),
SOATAG_USER_SDP_STR(a_call->sdp),
NUTAG_AUTOACK(0),
TAG_END());
@@ -1032,6 +1043,7 @@
TEST(e->data->e_status, 200);
TEST_1(sip = sip_object(e->data->e_msg));
TEST_1(sip->sip_contact);
+ TEST_S(sip->sip_contact->m_url->url_user, "b");
TEST_1(e = e->next); TEST_E(e->data->e_event, nua_i_state);
TEST(callstate(e->data->e_tags), nua_callstate_completing); /* COMPLETING */
TEST_1(e = e->next); TEST_E(e->data->e_event, nua_i_state);
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.c Mon Nov 19 13:09:15 2007
@@ -134,7 +134,7 @@
struct {
sip_time_t min_expires, expires, max_expires;
int outbound_tcp; /**< Use inbound TCP connection as outbound */
- int authorize;
+ char const *authorize; /**< Authorization realm to use */
} prefs;
tagi_t *tags;
@@ -216,6 +216,7 @@
auth_mod_t *am; /* Authentication module */
auth_status_t *as; /* Authentication status */
+ char const *realm; /* Authentication realm to use */
unsigned use_auth; /* Authentication method (401/407) to use */
unsigned rr:1;
@@ -473,20 +474,33 @@
}
}
-void test_proxy_domain_set_authorize(struct domain *d, int authorize)
+int test_proxy_domain_set_authorize(struct domain *d,
+ char const *realm)
{
if (d) {
- d->prefs.authorize = authorize;
+ if (realm) {
+ realm = su_strdup(d->home, realm);
+ if (!realm)
+ return -1;
+ }
+
+ d->prefs.authorize = realm;
+
+ return 0;
}
+ return -1;
}
-void test_proxy_domain_get_authorize(struct domain *d,
- int *return_authorize)
+int test_proxy_domain_get_authorize(struct domain *d,
+ char const **return_realm)
{
if (d) {
- if (return_authorize)
- *return_authorize = d->prefs.authorize;
+ if (return_realm) {
+ *return_realm = d->prefs.authorize;
+ return 0;
+ }
}
+ return -1;
}
int test_proxy_close_tports(struct proxy *p)
@@ -533,7 +547,7 @@
d->prefs.expires = 3600;
d->prefs.max_expires = 36000;
d->prefs.outbound_tcp = 0;
- d->prefs.authorize = 0;
+ d->prefs.authorize = NULL;
if (d->uri && d->tags &&
!su_task_execute(su_clone_task(p->clone), _domain_init, d, &init)) {
@@ -795,6 +809,7 @@
if (o && o->auth && o->prefs.authorize) {
t->am = o->auth;
+ t->realm = o->prefs.authorize;
t->use_auth = 407;
}
@@ -966,6 +981,7 @@
as->as_method = sip->sip_request->rq_method_name;
as->as_source = msg_addrinfo(t->msg);
+ as->as_realm = t->realm;
as->as_user_uri = sip->sip_from->a_url;
as->as_display = sip->sip_from->a_display;
@@ -1110,6 +1126,8 @@
if (t->domain->auth) {
t->am = t->domain->auth, t->use_auth = 401;
+ if (t->domain->prefs.authorize)
+ t->realm = t->domain->prefs.authorize;
if (challenge_transaction(t))
return t->status;
}
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.h
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.h (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_proxy.h Mon Nov 19 13:09:15 2007
@@ -64,8 +64,9 @@
sip_time_t *return_session_expires,
sip_time_t *return_min_se);
-void test_proxy_domain_set_authorize(struct domain *d, int authorize);
-void test_proxy_domain_get_authorize(struct domain *d, int *return_authorize);
+int test_proxy_domain_set_authorize(struct domain *, char const *realm);
+int test_proxy_domain_get_authorize(struct domain *,
+ char const **return_realm);
void test_proxy_domain_set_outbound(struct domain *d,
int use_outbound);
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_register.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_register.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_register.c Mon Nov 19 13:09:15 2007
@@ -426,7 +426,7 @@
printf("TEST NUA-2.3.3: REGISTER c\n");
test_proxy_domain_set_expiration(ctx->c.domain, 600, 3600, 36000);
- test_proxy_domain_set_authorize(ctx->c.domain, 2);
+ test_proxy_domain_set_authorize(ctx->c.domain, "test-proxy-0");
TEST_1(c_reg->nh = nua_handle(c->nua, c_reg, TAG_END()));
@@ -453,7 +453,7 @@
free_events_in_list(ctx, c->events);
AUTHENTICATE(c, c_reg, c_reg->nh,
- NUTAG_AUTH("Digest:\"test-proxy\":charlie:secret"), TAG_END());
+ NUTAG_AUTH("Digest:\"test-proxy-0\":charlie:secret"), TAG_END());
run_abc_until(ctx, -1, save_events, -1, save_events,
-1, save_until_final_response);
@@ -778,6 +778,23 @@
free_events_in_list(ctx, c->events);
+ /* Sneakily change the realm */
+
+ TEST(test_proxy_domain_set_authorize(ctx->c.domain, "test-proxy"), 0);
+
+ AUTHENTICATE(c, c_call, c_call->nh,
+ NUTAG_AUTH("Digest:\"test-proxy-0\":charlie:secret"),
+ TAG_END());
+
+ run_abc_until(ctx, -1, NULL, -1, NULL, -1, save_until_final_response);
+
+ /* Client events: nua_options(), nua_r_options */
+ TEST_1(e = c->events->head); TEST_E(e->data->e_event, nua_r_options);
+ TEST(e->data->e_status, 407);
+ TEST_1(!e->next);
+
+ free_events_in_list(ctx, c->events);
+
AUTHENTICATE(c, c_call, c_call->nh,
NUTAG_AUTH("Digest:\"test-proxy\":charlie:secret"),
TAG_END());
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c Mon Nov 19 13:09:15 2007
@@ -41,6 +41,7 @@
#include "sofia-sip/sip_parser.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c Mon Nov 19 13:09:15 2007
@@ -43,6 +43,7 @@
#include "sofia-sip/sip_parser.h"
#include "sofia-sip/sip_extra.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c Mon Nov 19 13:09:15 2007
@@ -39,6 +39,7 @@
#include "sofia-sip/sip_parser.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c Mon Nov 19 13:09:15 2007
@@ -40,6 +40,7 @@
#include "sofia-sip/sip_parser.h"
#include "sofia-sip/msg_mime_protos.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c Mon Nov 19 13:09:15 2007
@@ -33,6 +33,7 @@
#include "config.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c Mon Nov 19 13:09:15 2007
@@ -39,6 +39,7 @@
#include "sofia-sip/sip_parser.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c Mon Nov 19 13:09:15 2007
@@ -42,6 +42,7 @@
#include "sofia-sip/sip_parser.h"
#include "sofia-sip/sip_extra.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c Mon Nov 19 13:09:15 2007
@@ -57,6 +57,7 @@
#include "sofia-sip/sip_parser.h"
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c Mon Nov 19 13:09:15 2007
@@ -42,6 +42,7 @@
#include <sofia-sip/su_tagarg.h>
#include <sofia-sip/su_strlst.h>
+#include <stdio.h>
#include <ctype.h>
#include <assert.h>
#include <stddef.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c Mon Nov 19 13:09:15 2007
@@ -50,6 +50,7 @@
#include <sofia-sip/hostdomain.h>
+#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h Mon Nov 19 13:09:15 2007
@@ -138,13 +138,13 @@
HTABLE2_SCOPE \
int prefix##_resize(void *realloc_arg, \
type pr[1], \
- usize_t new_size) \
+ size_t new_size) \
{ \
entrytype *new_hash; \
entrytype *old_hash = pr->pr##table; \
- usize_t old_size; \
- usize_t i, j, i0; \
- usize_t again = 0, used = 0, collisions = 0; \
+ size_t old_size; \
+ size_t i, j, i0; \
+ size_t again = 0, used = 0, collisions = 0; \
\
(void)realloc_arg; \
\
@@ -256,7 +256,7 @@
HTABLE2_SCOPE \
int prefix##_remove(type *pr, entrytype const e) \
{ \
- usize_t i, j, k, size = pr->pr##size; \
+ size_t i, j, k, size = pr->pr##size; \
entrytype *htable = pr->pr##table; \
\
/* Search for entry */ \
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h Mon Nov 19 13:09:15 2007
@@ -107,6 +107,10 @@
SU_DLL int su_home_mutex_unlock(su_home_t *home);
+SU_DLL int su_home_lock(su_home_t *home);
+SU_DLL int su_home_trylock(su_home_t *home);
+SU_DLL int su_home_unlock(su_home_t *home);
+
SU_DLL void *su_alloc(su_home_t *h, isize_t size)
__attribute__((__malloc__));
SU_DLL void *su_zalloc(su_home_t *h, isize_t size)
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c Mon Nov 19 13:09:15 2007
@@ -186,6 +186,7 @@
#include "sofia-sip/su_alloc_stat.h"
#include "sofia-sip/su_errno.h"
+#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <memory.h>
@@ -193,17 +194,18 @@
#include <assert.h>
-void (*su_home_locker)(void *mutex);
-void (*su_home_unlocker)(void *mutex);
+int (*_su_home_locker)(void *mutex);
+int (*_su_home_unlocker)(void *mutex);
-void (*su_home_mutex_locker)(void *mutex);
-void (*su_home_mutex_unlocker)(void *mutex);
+int (*_su_home_mutex_locker)(void *mutex);
+int (*_su_home_mutex_trylocker)(void *mutex);
+int (*_su_home_mutex_unlocker)(void *mutex);
-void (*su_home_destroy_mutexes)(void *mutex);
+void (*_su_home_destroy_mutexes)(void *mutex);
#define MEMLOCK(h) \
- (((h) && (h)->suh_lock ? su_home_locker((h)->suh_lock) : (void)0), (h)->suh_blocks)
-#define UNLOCK(h) (((h) && (h)->suh_lock ? su_home_unlocker((h)->suh_lock) : (void)0), NULL)
+ ((void)((h) && (h)->suh_lock ? _su_home_locker((h)->suh_lock) : 0), (h)->suh_blocks)
+#define UNLOCK(h) ((void)((h) && (h)->suh_lock ? _su_home_unlocker((h)->suh_lock) : 0), NULL)
#ifdef NDEBUG
#define MEMCHECK 0
@@ -987,7 +989,7 @@
home->suh_blocks = NULL;
if (home->suh_lock)
- su_home_destroy_mutexes(home->suh_lock);
+ _su_home_destroy_mutexes(home->suh_lock);
}
home->suh_lock = NULL;
@@ -1462,42 +1464,108 @@
return home && home->suh_lock;
}
-/** Obtain exclusive lock on home (if home is threadsafe). */
+/** Increase refcount and obtain exclusive lock on home.
+ *
+ * @note The #su_home_t structure must be created with su_home_new() or
+ * su_home_clone(), or initialized with su_home_init() before using this
+ * function.
+ *
+ * In order to enable actual locking, use su_home_threadsafe(), too.
+ * Otherwise the su_home_mutex_lock() will just increase the reference
+ * count.
+ */
int su_home_mutex_lock(su_home_t *home)
{
+ int error;
+
if (home == NULL)
return su_seterrno(EFAULT);
- if (home->suh_lock) {
- su_home_ref(home);
- su_home_mutex_locker(home->suh_lock);
- }
- else if (home->suh_blocks) {
- if (!su_home_ref(home))
- return -1;
- }
+ if (home->suh_blocks == NULL || !su_home_ref(home))
+ return su_seterrno(EINVAL); /* Uninitialized home */
+
+ if (!home->suh_lock)
+ return 0; /* No-op */
+
+ error = _su_home_mutex_locker(home->suh_lock);
+ if (error)
+ return su_seterrno(error);
return 0;
}
-/** Release exclusive lock on home (if home is threadsafe) */
+/** Release exclusive lock on home and decrease refcount (if home is threadsafe) */
int su_home_mutex_unlock(su_home_t *home)
{
if (home == NULL)
return su_seterrno(EFAULT);
if (home->suh_lock) {
- su_home_mutex_unlocker(home->suh_lock);
- su_home_unref(home);
- }
- else if (home->suh_blocks) {
- su_home_unref(home);
+ int error = _su_home_mutex_unlocker(home->suh_lock);
+ if (error)
+ return su_seterrno(error);
}
+ if (home->suh_blocks == NULL)
+ return su_seterrno(EINVAL), -1; /* Uninitialized home */
+
+ su_home_unref(home);
+
return 0;
}
+/** Obtain exclusive lock on home without increasing refcount.
+ *
+ * @return 0 if successful, -1 if not threadsafe, error code otherwise.
+ *
+ */
+int su_home_lock(su_home_t *home)
+{
+ if (home == NULL)
+ return EFAULT;
+
+ if (home->suh_lock == NULL)
+ return -1; /* No-op */
+
+ return _su_home_mutex_locker(home->suh_lock);
+}
+
+
+/** Try to obtain exclusive lock on home without increasing refcount.
+ *
+ * @return 0 if successful, -1 if not threadsafe,
+ * EBUSY if already locked, error code otherwise.
+ *
+ */
+int su_home_trylock(su_home_t *home)
+{
+ if (home == NULL)
+ return EFAULT;
+
+ if (home->suh_lock == NULL)
+ return -1; /* No-op */
+
+ return _su_home_mutex_trylocker(home->suh_lock);
+}
+
+
+/** Release exclusive lock on home.
+ *
+ * @return 0 if successful, -1 if not threadsafe, error code otherwise.
+ */
+int su_home_unlock(su_home_t *home)
+{
+ if (home == NULL)
+ return EFAULT;
+
+ if (home->suh_lock == NULL)
+ return -1; /* No-op */
+
+ return _su_home_mutex_unlocker(home->suh_lock);
+}
+
+
/** Initialize statistics structure */
void su_home_init_stats(su_home_t *home)
{
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c Mon Nov 19 13:09:15 2007
@@ -41,25 +41,32 @@
#include <assert.h>
#include <stdlib.h>
-extern void (*su_home_locker)(void *mutex);
-extern void (*su_home_unlocker)(void *mutex);
+extern int (*_su_home_locker)(void *mutex);
+extern int (*_su_home_unlocker)(void *mutex);
-extern void (*su_home_mutex_locker)(void *mutex);
-extern void (*su_home_mutex_unlocker)(void *mutex);
+extern int (*_su_home_mutex_locker)(void *mutex);
+extern int (*_su_home_mutex_trylocker)(void *mutex);
+extern int (*_su_home_mutex_unlocker)(void *mutex);
-extern void (*su_home_destroy_mutexes)(void *mutex);
+extern void (*_su_home_destroy_mutexes)(void *mutex);
/** Mutex */
-static void mutex_locker(void *_mutex)
+static int mutex_locker(void *_mutex)
{
pthread_mutex_t *mutex = _mutex;
- pthread_mutex_lock(mutex + 1);
+ return pthread_mutex_lock(mutex + 1);
}
-static void mutex_unlocker(void *_mutex)
+int mutex_trylocker(void *_mutex)
{
pthread_mutex_t *mutex = _mutex;
- pthread_mutex_unlock(mutex + 1);
+ return pthread_mutex_trylock(mutex + 1);
+}
+
+static int mutex_unlocker(void *_mutex)
+{
+ pthread_mutex_t *mutex = _mutex;
+ return pthread_mutex_unlock(mutex + 1);
}
static void mutex_destroy(void *_mutex)
@@ -69,7 +76,6 @@
pthread_mutex_destroy(mutex + 1);
free(_mutex);
}
-
#endif
@@ -100,13 +106,14 @@
#endif
#if SU_HAVE_PTHREADS
- if (!su_home_unlocker) {
+ if (!_su_home_unlocker) {
/* Avoid linking pthread library just for memory management */
- su_home_mutex_locker = mutex_locker;
- su_home_mutex_unlocker = mutex_unlocker;
- su_home_locker = (void (*)(void *))pthread_mutex_lock;
- su_home_unlocker = (void (*)(void *))pthread_mutex_unlock;
- su_home_destroy_mutexes = mutex_destroy;
+ _su_home_mutex_locker = mutex_locker;
+ _su_home_mutex_trylocker = mutex_trylocker;
+ _su_home_mutex_unlocker = mutex_unlocker;
+ _su_home_locker = (int (*)(void *))pthread_mutex_lock;
+ _su_home_unlocker = (int (*)(void *))pthread_mutex_unlock;
+ _su_home_destroy_mutexes = mutex_destroy;
}
mutex = calloc(1, 2 * (sizeof *mutex));
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_log.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_log.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_log.c Mon Nov 19 13:09:15 2007
@@ -37,6 +37,7 @@
#include <sofia-sip/su_log.h>
#include <sofia-sip/su_errno.h>
+#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <assert.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c Mon Nov 19 13:09:15 2007
@@ -97,7 +97,7 @@
PORT_LOCK_DEBUG(("%p at %s locking(%p)...",
(void *)pthread_self(), who, self));
- su_home_mutex_lock(self->sup_base->sup_home);
+ su_home_lock(self->sup_base->sup_home);
PORT_LOCK_DEBUG((" ...%p at %s locked(%p)...",
(void *)pthread_self(), who, self));
@@ -105,7 +105,7 @@
void su_pthread_port_unlock(su_port_t *self, char const *who)
{
- su_home_mutex_unlock(self->sup_base->sup_home);
+ su_home_unlock(self->sup_base->sup_home);
PORT_LOCK_DEBUG((" ...%p at %s unlocked(%p)\n",
(void *)pthread_self(), who, self));
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c Mon Nov 19 13:09:15 2007
@@ -79,6 +79,7 @@
#include "sofia-sip/su_config.h"
#include "sofia-sip/su_strlst.h"
+#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <memory.h>
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c Mon Nov 19 13:09:15 2007
@@ -39,6 +39,7 @@
#include <stdlib.h>
#include <sofia-sip/su_alloc.h>
+#include <sofia-sip/su_errno.h>
#include <sofia-sip/su_strlst.h>
#include <sofia-sip/su_alloc_stat.h>
@@ -194,6 +195,42 @@
END();
}
+static int test_lock(void)
+{
+ su_home_t home[1] = { SU_HOME_INIT(home) };
+
+ BEGIN();
+
+ TEST(su_home_mutex_lock(home), -1);
+ TEST(su_home_mutex_unlock(home), -1);
+
+ TEST(su_home_lock(home), -1);
+ TEST(su_home_trylock(home), -1);
+ TEST(su_home_unlock(home), -1);
+
+ TEST(su_home_init(home), 0);
+
+ TEST(su_home_mutex_lock(home), 0);
+ TEST(su_home_trylock(home), -1);
+ TEST(su_home_mutex_unlock(home), 0);
+ TEST(su_home_trylock(home), -1);
+
+ TEST(su_home_threadsafe(home), 0);
+
+ TEST(su_home_mutex_lock(home), 0);
+ TEST(su_home_trylock(home), EBUSY);
+ TEST(su_home_mutex_unlock(home), 0);
+
+ TEST(su_home_lock(home), 0);
+ TEST(su_home_trylock(home), EBUSY);
+ TEST(su_home_unlock(home), 0);
+
+ TEST(su_home_trylock(home), 0);
+ TEST(su_home_unlock(home), 0);
+
+ END();
+}
+
static int test_strdupcat(void)
{
su_home_t home[1] = { SU_HOME_INIT(home) };
@@ -708,6 +745,7 @@
#endif
retval |= test_alloc();
+ retval |= test_lock();
retval |= test_strdupcat();
retval |= test_sprintf("%s.%s", "foo", "bar");
retval |= test_strlst();
@@ -716,4 +754,3 @@
return retval;
}
-
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url.c Mon Nov 19 13:09:15 2007
@@ -40,6 +40,7 @@
#include <sofia-sip/string0.h>
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
1
0
19 Nov '07
Author: anthm
Date: Mon Nov 19 12:19:32 2007
New Revision: 6335
Modified:
freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
freeswitch/trunk/src/switch_channel.c
Log:
zigged where i should have zagged
Modified: freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c Mon Nov 19 12:19:32 2007
@@ -396,7 +396,7 @@
assert(tech_pvt != NULL);
for(;;) {
- if (!switch_test_flag(tech_pvt, TFLAG_ABORT) || !tech_pvt->udp_socket) {
+ if (switch_test_flag(tech_pvt, TFLAG_ABORT) || !tech_pvt->udp_socket) {
return SWITCH_STATUS_GENERR;
}
@@ -441,7 +441,7 @@
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
- if (!switch_test_flag(tech_pvt, TFLAG_ABORT) || !tech_pvt->udp_socket) {
+ if (switch_test_flag(tech_pvt, TFLAG_ABORT) || !tech_pvt->udp_socket) {
return SWITCH_STATUS_GENERR;
}
Modified: freeswitch/trunk/src/switch_channel.c
==============================================================================
--- freeswitch/trunk/src/switch_channel.c (original)
+++ freeswitch/trunk/src/switch_channel.c Mon Nov 19 12:19:32 2007
@@ -179,7 +179,7 @@
if (((*channel) = switch_core_alloc(pool, sizeof(switch_channel_t))) == 0) {
return SWITCH_STATUS_MEMERR;
}
-
+
switch_event_create(&(*channel)->variables, SWITCH_EVENT_MESSAGE);
switch_core_hash_init(&(*channel)->private_hash, pool);
@@ -189,6 +189,7 @@
switch_mutex_init(&(*channel)->flag_mutex, SWITCH_MUTEX_NESTED, pool);
switch_mutex_init(&(*channel)->profile_mutex, SWITCH_MUTEX_NESTED, pool);
(*channel)->hangup_cause = SWITCH_CAUSE_UNALLOCATED;
+ (*channel)->name = "N/A";
return SWITCH_STATUS_SUCCESS;
}
1
0
19 Nov '07
Author: anthm
Date: Mon Nov 19 12:09:46 2007
New Revision: 6334
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c
Log:
omgwtf
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 Mon Nov 19 12:09:46 2007
@@ -1607,6 +1607,7 @@
switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND);
switch_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION);
switch_channel_set_state(nchannel, CS_INIT);
+ tech_pvt->caller_profile = caller_profile;
*new_session = nsession;
cause = SWITCH_CAUSE_SUCCESS;
if (session) {
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Mon Nov 19 12:09:46 2007
@@ -629,6 +629,13 @@
from_str = sofia_overcome_sip_uri_weakness(session, use_from_str, NULL);
to_str = sofia_overcome_sip_uri_weakness(session, tech_pvt->dest_to, NULL);
+ /*
+ Does the "genius" who wanted SIP to be "text-based" so it was "easier to read" even use it now,
+ or did he just suggest it to make our lives miserable?
+ */
+ use_from_str = from_str;
+ from_str = switch_core_session_sprintf(session, "\"%s\" <%s>", tech_pvt->caller_profile->caller_id_name, use_from_str);
+
tech_pvt->nh = nua_handle(tech_pvt->profile->nua, NULL,
NUTAG_URL(url_str),
SIPTAG_TO_STR(to_str),
1
0