diff options
author | Philippe Sultan <philippe.sultan@gmail.com> | 2008-05-23 10:33:21 +0000 |
---|---|---|
committer | Philippe Sultan <philippe.sultan@gmail.com> | 2008-05-23 10:33:21 +0000 |
commit | de98d48a0dcc1861be136e0c7a832cd6ecb91dc1 (patch) | |
tree | 71c813cf302cb851d726908b1b7505918d5076b5 /channels/chan_gtalk.c | |
parent | a668a87a808b3d79fec19f740851419e1537aeee (diff) |
- remove whitespaces between tags in received XML packets before giving
them to the parser ;
- report Gtalk error messages from a buddy to the console.
This patch makes Asterisk "Google Jingle" (chan_gtalk) implementation
work with Empathy. Note that this is only true for audio streams, not
video.
Thank you to PH for his great help!
(closes issue #12647)
Reported by: PH
Patches:
trunk-12647-1.diff uploaded by phsultan (license 73)
Tested by: phsultan, PH
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_gtalk.c')
-rw-r--r-- | channels/chan_gtalk.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index 4e5e5a36f..90b2cde24 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -1702,7 +1702,10 @@ static int gtalk_parser(void *data, ikspak *pak) { struct gtalk *client = ASTOBJ_REF((struct gtalk *) data); - if (iks_find_with_attrib(pak->x, "session", "type", "initiate")) { + if (iks_find_attrib(pak->x, "type") && !strcmp(iks_find_attrib (pak->x, "type"),"error")) { + ast_log(LOG_NOTICE, "Remote peer reported an error, trying to establish the call anyway\n"); + } + else if (iks_find_with_attrib(pak->x, "session", "type", "initiate")) { /* New call */ gtalk_newcall(client, pak); } else if (iks_find_with_attrib(pak->x, "session", "type", "candidates") || iks_find_with_attrib(pak->x, "session", "type", "transport-info")) { |