]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix
authorAnthony Minessale <anthony.minessale@gmail.com>
Fri, 20 Oct 2006 22:26:06 +0000 (22:26 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Fri, 20 Oct 2006 22:26:06 +0000 (22:26 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3126 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_dingaling/mod_dingaling.c

index f5b414034302fc209331d2716dac4a4befb786d3..c2f598aaa0670086cd25d19d39588c8a62acad76 100644 (file)
@@ -1949,65 +1949,70 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
        }
 
        if (!dlsession) {
-               switch(signal) {
-               case LDL_SIGNAL_UNSUBSCRIBE:
-                       if ((profile->user_flags & LDL_FLAG_COMPONENT)) {
+               if (profile->user_flags & LDL_FLAG_COMPONENT) {
+                       switch(signal) {
+                       case LDL_SIGNAL_UNSUBSCRIBE:
 
                                if ((sql = switch_mprintf("delete from subscriptions where sub_from='%q' and sub_to='%q';", from, to))) {
                                        execute_sql(profile->dbname, sql, profile->mutex);
                                        switch_core_db_free(sql);
                                }
-                       }
-                       break;
 
-               case LDL_SIGNAL_SUBSCRIBE:
-                       if ((profile->user_flags & LDL_FLAG_COMPONENT)) {
+                               break;
 
+                       case LDL_SIGNAL_SUBSCRIBE:
+                               
                                if ((sql = switch_mprintf("insert into subscriptions values('%q','%q','%q','%q')", from, to, msg, subject))) {
                                        execute_sql(profile->dbname, sql, profile->mutex);
                                        switch_core_db_free(sql);
                                }
-                       }
-                       break;
-               case LDL_SIGNAL_ROSTER:
-                       if (switch_event_create(&event, SWITCH_EVENT_ROSTER) == SWITCH_STATUS_SUCCESS) {
-                               switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
-                               switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", from);
-                               switch_event_fire(&event);
-                       }
-                       break;
-               case LDL_SIGNAL_PRESENCE_IN:
-
-                       if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
-                               execute_sql(profile->dbname, sql, profile->mutex);
-                               switch_core_db_free(sql);
-                       }
-
-                       if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
-                               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",  from);
-                               switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "%s", msg);
-                               switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "%s", subject);
-                               switch_event_fire(&event);
-                       }
+                               
+                               break;
+                       case LDL_SIGNAL_ROSTER:
+                               if (switch_event_create(&event, SWITCH_EVENT_ROSTER) == SWITCH_STATUS_SUCCESS) {
+                                       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO);
+                                       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", from);
+                                       switch_event_fire(&event);
+                               }
+                               break;
+                       case LDL_SIGNAL_PRESENCE_IN:
+                               
+                               if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
+                                       execute_sql(profile->dbname, sql, profile->mutex);
+                                       switch_core_db_free(sql);
+                               }
+                               
+                               if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) {
+                                       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",  from);
+                                       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "rpid", "%s", msg);
+                                       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "status", "%s", subject);
+                                       switch_event_fire(&event);
+                               }
 
-                       break;
+                               break;
 
-               case LDL_SIGNAL_PRESENCE_OUT:
+                       case LDL_SIGNAL_PRESENCE_OUT:
+                               
+                               if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
+                                       execute_sql(profile->dbname, sql, profile->mutex);
+                                       switch_core_db_free(sql);
+                               }
 
-                       if ((sql = switch_mprintf("update subscriptions set show='%q', status='%q' where sub_from='%q'", msg, subject, from))) {
-                               execute_sql(profile->dbname, sql, profile->mutex);
-                               switch_core_db_free(sql);
+                               if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_OUT) == SWITCH_STATUS_SUCCESS) {
+                                       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", from);
+                                       switch_event_fire(&event);
+                               }
+                               break;
+                       default:
+                               break;
                        }
+               } 
 
-                       if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_OUT) == SWITCH_STATUS_SUCCESS) {
-                               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", from);
-                               switch_event_fire(&event);
-                       }
-                       break;
+               switch(signal) {
                case LDL_SIGNAL_MSG: {
                        switch_chat_interface_t *ci;
                        char *proto = MDL_CHAT_PROTO;
@@ -2063,7 +2068,6 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
                        }
                        break;
                default:
-                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "ERROR\n");
                        break;
                        
                }