[Freeswitch-svn] [commit] r3624 - in freeswitch/trunk: libs/libdingaling libs/libdingaling/src src/mod/endpoints/mod_dingaling
Freeswitch SVN
anthm at freeswitch.org
Tue Dec 12 12:44:59 EST 2006
Author: anthm
Date: Tue Dec 12 12:44:59 2006
New Revision: 3624
Modified:
freeswitch/trunk/libs/libdingaling/.update
freeswitch/trunk/libs/libdingaling/src/libdingaling.c
freeswitch/trunk/libs/libdingaling/src/libdingaling.h
freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
Log:
tweak to jingle
Modified: freeswitch/trunk/libs/libdingaling/.update
==============================================================================
--- freeswitch/trunk/libs/libdingaling/.update (original)
+++ freeswitch/trunk/libs/libdingaling/.update Tue Dec 12 12:44:59 2006
@@ -1 +1 @@
-Fri Dec 1 21:13:04 EST 2006
+Tue Dec 12 11:55:02 EST 2006
Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/libdingaling.c (original)
+++ freeswitch/trunk/libs/libdingaling/src/libdingaling.c Tue Dec 12 12:44:59 2006
@@ -701,6 +701,8 @@
if (type && !strcasecmp(type, "unavailable")) {
signal = LDL_SIGNAL_PRESENCE_OUT;
+ } else if (type && !strcasecmp(type, "probe")) {
+ signal = LDL_SIGNAL_PRESENCE_PROBE;
} else {
signal = LDL_SIGNAL_PRESENCE_IN;
}
@@ -725,20 +727,15 @@
}
-
if (resource && strstr(resource, "talk") && (buffer = apr_hash_get(handle->probe_hash, id, APR_HASH_KEY_STRING))) {
apr_cpystrn(buffer->buf, from, buffer->len);
fflush(stderr);
buffer->hit = 1;
}
- if (!type || (type && strcasecmp(type, "probe"))) {
-
- if (handle->session_callback) {
- handle->session_callback(handle, NULL, signal, to, id, status ? status : "n/a", show ? show : "n/a");
- }
- }
-
+ if (handle->session_callback) {
+ handle->session_callback(handle, NULL, signal, to, id, status ? status : "n/a", show ? show : "n/a");
+ }
return IKS_FILTER_EAT;
}
Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.h
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/libdingaling.h (original)
+++ freeswitch/trunk/libs/libdingaling/src/libdingaling.h Tue Dec 12 12:44:59 2006
@@ -125,6 +125,7 @@
LDL_SIGNAL_MSG,
LDL_SIGNAL_PRESENCE_IN,
LDL_SIGNAL_PRESENCE_OUT,
+ LDL_SIGNAL_PRESENCE_PROBE,
LDL_SIGNAL_ROSTER,
LDL_SIGNAL_SUBSCRIBE,
LDL_SIGNAL_UNSUBSCRIBE,
Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Tue Dec 12 12:44:59 2006
@@ -2107,7 +2107,7 @@
}
if (is_special(to)) {
- ldl_handle_send_presence(profile->handle, to, from, NULL, "unknown", "Click To Call");
+ ldl_handle_send_presence(profile->handle, to, from, NULL, NULL, "Click To Call");
}
#if 0
@@ -2116,7 +2116,7 @@
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", to);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
+ //switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Click To Call");
switch_event_fire(&event);
}
@@ -2130,6 +2130,11 @@
switch_event_fire(&event);
}
break;
+ case LDL_SIGNAL_PRESENCE_PROBE:
+ if (is_special(to)) {
+ ldl_handle_send_presence(profile->handle, to, from, NULL, NULL, "Click To Call");
+ }
+ break;
case LDL_SIGNAL_PRESENCE_IN:
if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
@@ -2148,7 +2153,7 @@
if (is_special(to)) {
- ldl_handle_send_presence(profile->handle, to, from, NULL, "unknown", "Click To Call");
+ ldl_handle_send_presence(profile->handle, to, from, NULL, NULL, "Click To Call");
}
#if 0
if (is_special(to)) {
@@ -2156,13 +2161,14 @@
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", to);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
+ //switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "unknown");
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "Click To Call");
switch_event_fire(&event);
}
}
break;
#endif
+
case LDL_SIGNAL_PRESENCE_OUT:
if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
More information about the Freeswitch-svn
mailing list