jingle/jingle.c
changeset 61 c7879aae9e1d
parent 58 daafe5b8a48d
child 67 c12618793df0
--- a/jingle/jingle.c	Tue Jul 20 19:16:58 2010 +0200
+++ b/jingle/jingle.c	Tue Jul 20 22:06:24 2010 +0200
@@ -380,6 +380,9 @@
 
 static void lm_insert_jinglecontent(gpointer data, gpointer userdata)
 {
+  const gchar *xmlns;
+  JingleTransportFuncs *tfunc;
+  JingleAppFuncs *afunc;
   JingleContent* content = (JingleContent*) data;
   LmMessageNode* dad = (LmMessageNode*) userdata;
   LmMessageNode* node = (LmMessageNode*) lm_message_node_add_child(dad,
@@ -402,6 +405,14 @@
     lm_message_node_set_attribute(node, "senders", "initiator");
   else if (content->senders == JINGLE_SENDERS_RESPONDER)
     lm_message_node_set_attribute(node, "senders", "responder");
+   
+  xmlns =  lm_message_node_get_attribute(content->transport, "xmlns");
+  tfunc = jingle_get_transportfuncs(xmlns);
+  tfunc->handle(tfunc->check(content, NULL), node);
+
+  xmlns =  lm_message_node_get_attribute(content->description, "xmlns");
+  afunc = jingle_get_appfuncs(xmlns);
+  afunc->handle(afunc->check(content, NULL), node);
 }
 
 void handle_trans_data(const gchar *xmlns, gconstpointer data, const gchar *data2, guint len)