--- a/jingle/send.c Sun Aug 15 17:35:41 2010 +0200
+++ b/jingle/send.c Sun Aug 15 22:12:04 2010 +0200
@@ -128,6 +128,8 @@
{
JingleAckHandle *ackhandle;
GSList *listentry;
+ GError *err;
+ gboolean status;
LmMessage *mess = lm_message_from_jinglesession(js, JINGLE_SESSION_INITIATE);
lm_message_node_set_attribute(lm_message_node_get_child(mess->node, "jingle"),
@@ -139,8 +141,13 @@
ackhandle->user_data = (gpointer)js;
scr_log_print(LPRINT_DEBUG,
"%s", lm_message_node_to_string(mess->node));
-lm_connection_send_with_reply(lconnection, mess,
- jingle_new_ack_handler(ackhandle), NULL);
+ status = lm_connection_send_with_reply(lconnection, mess,
+ jingle_new_ack_handler(ackhandle), &err);
+ // TODO: delete the ack_handler
+ if (status == FALSE || err != NULL) {
+ scr_LogPrint(LPRINT_LOGNORM, "Jingle: %s: try again", err->message);
+ session_delete(js);
+ }
lm_message_unref(mess);
}
}