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

Freeswitch SVN anthm at freeswitch.org
Mon Jun 2 16:06:08 EDT 2008


Author: anthm
Date: Mon Jun  2 16:06:07 2008
New Revision: 8741

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c

Log:
presence but no presents

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c	Mon Jun  2 16:06:07 2008
@@ -888,7 +888,14 @@
 		const char *clean_to_user = NULL;
 		const char *clean_from_user = NULL;
 		const char *p_to_user = switch_str_nil(switch_event_get_header(helper->event, "to-user"));
-		
+#if 0
+		char *buf;
+		switch_event_serialize(helper->event, &buf, SWITCH_FALSE);
+		switch_assert(buf);
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "CHANNEL_DATA:\n%s\n", buf);
+		free(buf);
+#endif
+
 		if (is_dialog) {
 			SWITCH_STANDARD_STREAM(stream);
 		}
@@ -923,12 +930,6 @@
 			if (!strcasecmp(state, "cs_hangup")) {
 				astate = "terminated";
 			} else if (switch_strlen_zero(astate)) {
-				//char *buf;
-				//switch_event_serialize(helper->event, &buf, SWITCH_FALSE);
-				//switch_assert(buf);
-				//switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "CHANNEL_DATA:\n%s\n", buf);
-				//free(buf);
-
 				astate = switch_str_nil(switch_event_get_header(helper->event, "answer-state"));
 				if (switch_strlen_zero(astate)) {
 					if (is_dialog) {
@@ -1065,11 +1066,11 @@
 		prpid = translate_rpid(rpid);
 		pl = gen_pidf(user_agent, clean_id, profile->url, open, rpid, prpid, status, &ct);
 	}
-
+	
 	switch_snprintf(exp, sizeof(exp), "active;expires=%ld", (long) exptime);
 	nua_handle_bind(nh, &mod_sofia_globals.keep_private);
 	nua_notify(nh, SIPTAG_SUBSCRIPTION_STATE_STR(exp), SIPTAG_EVENT_STR(event), SIPTAG_CONTENT_TYPE_STR(ct), SIPTAG_PAYLOAD_STR(pl), TAG_END());
-
+	
   end:
 
 	switch_safe_free(id);

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c	Mon Jun  2 16:06:07 2008
@@ -616,12 +616,14 @@
 							  "Register:\nFrom:    [%s@%s]\nContact: [%s]\nExpires: [%ld]\n", to_user, to_host, contact_str, (long) exptime);
 		}
 
-		if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
+		if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_PROBE) == SWITCH_STATUS_SUCCESS) {
 			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", "sip");
 			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->url);
 			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "%s", rpid);
 			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", to_user, to_host);
+			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "to", "%s@%s", to_user, to_host);
 			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Registered");
+			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_subtype", "probe");
 			switch_event_add_header(event, SWITCH_STACK_BOTTOM, "event_type", "presence");
 			switch_event_fire(&event);
 		}
@@ -665,12 +667,6 @@
 	}
 
 
-	if (switch_event_create(&event, SWITCH_EVENT_ROSTER) == SWITCH_STATUS_SUCCESS) {
-		switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", "sip");
-		switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s@%s", to_user, to_host);
-		switch_event_fire(&event);
-	}
-
 	if (regtype == REG_REGISTER) {
 		char exp_param[128] = "";
 		s_event = NULL;



More information about the Freeswitch-svn mailing list