[Freeswitch-trunk] [commit] r13603 - freeswitch/trunk/src/mod/endpoints/mod_sofia

FreeSWITCH SVN brian at freeswitch.org
Wed Jun 3 21:04:15 PDT 2009


Author: brian
Date: Wed Jun  3 23:04:14 2009
New Revision: 13603

Log:
 adding network_ip to the dialogs

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c

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	Wed Jun  3 23:04:14 2009
@@ -3600,7 +3600,8 @@
 		"   hostname          VARCHAR(255),\n"
 		"   contact_str       VARCHAR(255),\n"
 		"   call_id           VARCHAR(255),\n"
-		"   expires           INTEGER\n"
+		"   expires           INTEGER,\n"
+		"   network_ip        VARCHAR(255)\n"
 		");\n";
 
 	if (profile->odbc_dsn) {
@@ -3645,6 +3646,7 @@
 			"create index ssd_contact_str on sip_shared_appearance_dialogs (contact_str)",
 			"create index ssd_call_id on sip_shared_appearance_dialogs (call_id)",
 			"create index ssd_expires on sip_shared_appearance_dialogs (expires)",
+			"create index ssd_expires on sip_shared_appearance_dialogs (network_ip)",
 			NULL	
 		};
 
@@ -3709,7 +3711,7 @@
 		free(test_sql);
 
 
-		test_sql = switch_mprintf("delete from sip_shared_appearance_dialogs where contact_str='' or hostname='%q'", mod_sofia_globals.hostname);
+		test_sql = switch_mprintf("delete from sip_shared_appearance_dialogs where contact_str='' or network_ip='%q'", mod_sofia_globals.hostname);
 		if (switch_odbc_handle_exec(profile->master_odbc, test_sql, NULL) != SWITCH_ODBC_SUCCESS) {
 			switch_odbc_handle_exec(profile->master_odbc, "DROP TABLE sip_shared_appearance_dialogs", NULL);
 			switch_odbc_handle_exec(profile->master_odbc, shared_appearance_dialogs_sql, NULL);
@@ -3759,7 +3761,7 @@
 		switch_core_db_test_reactive(profile->master_db, test_sql, "DROP TABLE sip_shared_appearance_subscriptions", shared_appearance_sql);
 		free(test_sql);
 
-		test_sql = switch_mprintf("delete from sip_shared_appearance_dialogs where contact_str = '' or hostname='%q'", mod_sofia_globals.hostname);
+		test_sql = switch_mprintf("delete from sip_shared_appearance_dialogs where contact_str = '' or network_ip='%q'", mod_sofia_globals.hostname);
 		switch_core_db_test_reactive(profile->master_db, test_sql, "DROP TABLE sip_shared_appearance_dialogs", shared_appearance_dialogs_sql);
 		free(test_sql);
 		

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_sla.c	Wed Jun  3 23:04:14 2009
@@ -237,13 +237,16 @@
 		time_t expires = switch_epoch_time_now(NULL);
 		char *sql;
 		char *contact_str = strip_uri(full_contact);
+		char network_ip[80];
+		int network_port = 0;
 
 		if (sip && sip->sip_expires) {
 			expires += sip->sip_expires->ex_delta + 30;
 		}
+		sofia_glue_get_addr(nua_current_request(nua), network_ip,  sizeof(network_ip), &network_port);
 
-		if ((sql = switch_mprintf("insert into sip_shared_appearance_dialogs (profile_name, hostname, contact_str, call_id, expires) "
-								  "values ('%q','%q','%q','%q','%ld')", 
+		if ((sql = switch_mprintf("insert into sip_shared_appearance_dialogs (profile_name, hostname, contact_str, call_id, expires, network_ip) "
+								  "values ('%q','%q','%q','%q','%ld','%q')", 
 								  profile->name, mod_sofia_globals.hostname, contact_str, sip->sip_call_id->i_id, (long)expires))) {
 			sofia_glue_execute_sql(profile, &sql, SWITCH_TRUE);
 		}



More information about the Freeswitch-trunk mailing list