diff options
author | phsultan <phsultan@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-05-23 10:33:21 +0000 |
---|---|---|
committer | phsultan <phsultan@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-05-23 10:33:21 +0000 |
commit | 5f862e68539e37847ba3ffcb413d8a21962f4361 (patch) | |
tree | 71c813cf302cb851d726908b1b7505918d5076b5 /channels/chan_gtalk.c | |
parent | 42112d02ed28b3133719a8f2b34d1cd89e3cdb5c (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: http://svn.digium.com/svn/asterisk/trunk@118020 f38db490-d61c-443f-a65b-d21fe96a405b
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")) { |