diff options
author | Joshua Colp <jcolp@digium.com> | 2012-09-12 20:54:38 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2012-09-12 20:54:38 +0000 |
commit | 189249cc73d66948957884494ed23da738ab4cd1 (patch) | |
tree | 67bdc05f820456178af63fc4eed403bdac09f840 /channels/chan_motif.c | |
parent | 1e59e7ee08db3113c10e4736ada217f3091e37b7 (diff) |
Skip any non-content information when looking for and handling content.
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
Diffstat (limited to 'channels/chan_motif.c')
-rw-r--r-- | channels/chan_motif.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/channels/chan_motif.c b/channels/chan_motif.c index 55c0f5e0b..70629f4e0 100644 --- a/channels/chan_motif.c +++ b/channels/chan_motif.c @@ -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"))) { |