jingle/jingle.c
changeset 126 059a6737f6a4
parent 123 58bd57666ef9
child 129 2d5c3efda92a
equal deleted inserted replaced
125:3b640eb09fbd 126:059a6737f6a4
   117       // request malformed, we reply with a bad-request
   117       // request malformed, we reply with a bad-request
   118       jingle_send_iq_error(message, "cancel", "bad-request", NULL);
   118       jingle_send_iq_error(message, "cancel", "bad-request", NULL);
   119       scr_log_print(LPRINT_DEBUG,
   119       scr_log_print(LPRINT_DEBUG,
   120                     "jingle: %s", error->message);
   120                     "jingle: %s", error->message);
   121     }
   121     }
   122     g_clear_error(&error);
   122     g_error_free(error);
       
   123     jingle_free_jinglenode(jn);
   123     return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   124     return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   124   }
   125   }
   125 
   126 
   126   scr_log_print(LPRINT_DEBUG, "jingle: Received a valid jingle IQ");
   127   scr_log_print(LPRINT_DEBUG, "jingle: Received a valid jingle IQ");
   127 
   128 
   128   if (jingle_action_list[jn->action].handler == NULL) {
   129   if (jingle_action_list[jn->action].handler == NULL) {
   129     jingle_send_iq_error(message, "cancel", "feature-not-implemented", NULL);
   130     jingle_send_iq_error(message, "cancel", "feature-not-implemented", NULL);
       
   131     jingle_free_jinglenode(jn);
   130     return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   132     return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   131   }
   133   }
   132 
   134 
   133   jingle_action_list[jn->action].handler(jn);
   135   jingle_action_list[jn->action].handler(jn);
   134 
   136   jingle_free_jinglenode(jn);
   135   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   137   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   136 }
   138 }
   137 
   139 
   138 /**
   140 /**
   139  * Handle incoming ack iq (type result or error).
   141  * Handle incoming ack iq (type result or error).