Skip any non-content information when looking for and handling content.
authorJoshua Colp <jcolp@digium.com>
Wed, 12 Sep 2012 20:54:38 +0000 (20:54 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 12 Sep 2012 20:54:38 +0000 (20:54 +0000)
This fixes a bug with Jitsi and conference calling. Jitsi implements XEP-0298
which places some conference-info information in the session-initiate request
which chan_motif did not expect to occur.
........

Merged revisions 372995 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372996 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_motif.c

index 55c0f5e..70629f4 100644 (file)
@@ -2098,10 +2098,16 @@ static int jingle_interpret_content(struct jingle_session *session, ikspak *pak)
 
        /* Look at the content in the session initiation */
        for (content = iks_child(iks_child(pak->x)); content; content = iks_next(content)) {
-               char *name = iks_find_attrib(content, "name");
+               char *name;
                struct ast_rtp_instance *rtp = NULL;
                iks *description, *transport;
 
+               if (strcmp(iks_name(content), "content")) {
+                       continue;
+               }
+
+               name = iks_find_attrib(content, "name");
+
                if (session->transport != JINGLE_TRANSPORT_GOOGLE_V1) {
                        /* If this content stanza has no name consider it invalid and move on */
                        if (ast_strlen_zero(name) && !(name = iks_find_attrib(content, "jin:name"))) {