From 10ead46ffd64ec6930f436cc441ac1c12ade83a1 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 24 Oct 2006 18:50:52 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3181 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/libdingaling/src/libdingaling.c | 2 +- src/mod/endpoints/mod_dingaling/mod_dingaling.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/libdingaling/src/libdingaling.c b/libs/libdingaling/src/libdingaling.c index a418a3cf72..3d96b36950 100644 --- a/libs/libdingaling/src/libdingaling.c +++ b/libs/libdingaling/src/libdingaling.c @@ -796,7 +796,7 @@ static int on_unsubscribe(void *user_data, ikspak *pak) char *to = iks_find_attrib(pak->x, "to"); if (handle->session_callback) { - handle->session_callback(handle, NULL, LDL_SIGNAL_SUBSCRIBE, to, from, NULL, NULL); + handle->session_callback(handle, NULL, LDL_SIGNAL_UNSUBSCRIBE, to, from, NULL, NULL); } return IKS_FILTER_EAT; diff --git a/src/mod/endpoints/mod_dingaling/mod_dingaling.c b/src/mod/endpoints/mod_dingaling/mod_dingaling.c index 6316c917b3..43378b0368 100644 --- a/src/mod/endpoints/mod_dingaling/mod_dingaling.c +++ b/src/mod/endpoints/mod_dingaling/mod_dingaling.c @@ -2078,7 +2078,8 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi case LDL_SIGNAL_SUBSCRIBE: - if ((sql = switch_mprintf("insert into subscriptions values('%q','%q','%q','%q')", from, to, msg, subject))) { + if ((sql = switch_mprintf("delete from subscriptions where sub_from='%q' and sub_to='%q';\n" + "insert into subscriptions values('%q','%q','%q','%q');\n", from, to, from, to, msg, subject))) { execute_sql(profile->dbname, sql, profile->mutex); switch_core_db_free(sql); }