Commit Graph

42 Commits

Author SHA1 Message Date
David Brooks
a2933fefef Fix incorrect parsing in chan_gtalk when xmpp contains extra whitespaces
To drill into the xmpp to find the capabilities between channels, chan_gtalk 
calls iks_child() and iks_next(). iks_child() and iks_next() are functions in 
the iksemel xml parsing library that traverse xml nodes. The bug here is that 
both iks_child() and iks_next() will return the next iks_struct node 
*regardless* of type. chan_gtalk expects the next node to be of type IKS_TAG, 
which in most cases, it is, but in this case (a call being made from the 
Empathy IM client), there exists iks_struct nodes which are not IKS_TAG data 
(they are extraneous whitespaces), and chan_gtalk doesn't handle that case, 
so capabilities don't match, and a call cannot be made.

iks_first_tag() and iks_next_tag(), on the other hand, will not return the 
very next iks_struct, but will check to see if the next iks_struct is of 
type IKS_TAG. If it isn't, it will be skipped, and the next struct of type 
IKS_TAG it finds will be returned. This assures that chan_gtalk will find 
the iks_struct it is looking for.

This fix simply changes all calls to iks_child() and iks_next() to become 
calls to iks_first_tag() and iks_next_tag(), which resolves the capability 
matching.

The following is a payload listing from Empathy, which, due to the extraneous 
whitespace, will not be parsed correctly by iksemel:

<iq from='dbrooksjab@235-22-24-10/Telepathy' to='astjab@235-22-24-10/asterisk' type='set' id='542757715704'> <session xmlns='http://www.google.com/session' initiator='dbrooksjab@235-22-24-10/Telepathy' type='initiate' id='1837267342'> <description xmlns='http://www.google.com/session/phone'> <payload-type clockrate='16000' name='speex' id='96'/>
 <payload-type clockrate='8000' name='PCMA' id='8'/>
 <payload-type clockrate='8000' name='PCMU' id='0'/>
 <payload-type clockrate='90000' name='MPA' id='97'/>
 <payload-type clockrate='16000' name='SIREN' id='98'/>
 <payload-type clockrate='8000' name='telephone-event' id='99'/>
</description>
</session>
</iq>


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@185362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31 16:37:12 +00:00
Philippe Sultan
d045d36561 Set the initiator attribute to lowercase in our replies when receiving calls.
This attribute contains a JID that identifies the initiator of the GoogleTalk
voice session. The GoogleTalk client discards Asterisk's replies if the 
initiator attribute contains uppercase characters.

(closes issue #13984)
Reported by: jcovert
Patches:
      chan_gtalk.2.patch uploaded by jcovert (license 551)
Tested by: jcovert


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@175029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-12 10:16:21 +00:00
Philippe Sultan
ab1b8017e2 Apply fix for issue #13310 to branch 1.4, too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@139283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-21 10:11:00 +00:00
Philippe Sultan
59410a3f01 Do not link the guest account with any configured XMPP client (in
jabber.conf). The actual connection is made when a call comes in
Asterisk.

Fix the ast_aji_get_client function that was not able to retrieve an
XMPP client from its JID.

(closes issue #12085)
Reported by: junky
Tested by: phsultan

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 14:32:53 +00:00
Tilghman Lesher
a4732cfb3c When modules are embedded, they take on a different name, without the ".so"
extension.  Specifically check for this name, when we're checking if a module
is loaded.
(Closes issue #12534)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-28 04:47:39 +00:00
Philippe Sultan
fbf0f7107e Free newly allocated channel before returning
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@112820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-04 19:26:15 +00:00
Philippe Sultan
5e5094f89e Prevent call connections when codecs don't match.
(closes issue #10604)
Reported by: keepitcool
Patches:
      branch-1.4-10604-2.diff uploaded by phsultan (license 73)
Tested by: phsultan

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@112766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-04 17:16:59 +00:00
Jason Parker
ea47c2d0b7 Copy voicemail dependency logic for res_adsi to chan_gtalk (for jabber).
(closes issue #12014)
Reported by: junky


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 20:49:56 +00:00
Philippe Sultan
863ef8d7d2 Set the caller id within the gtalk_alloc function.
As underlined in issue #10437 by Josh, we need to prevent a possible
memory leak. We only set the name part of the caller id, the number
part is not relevant when dealing with JIDs.

Closes issue #11549.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@97489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 16:44:24 +00:00
Jason Parker
40cd95fc27 Don't try to allocate memory that we're just going to re-allocate later anyways.
Issue 11130, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 21:16:20 +00:00
Philippe Sultan
ab36dd5843 Fix the output for this channel help CLI command
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 10:46:13 +00:00
Philippe Sultan
b558ac3acf Closes issue #9401, reported and patched by irrot, with slight
modifications by me.

Handle DTMF sent by Asterisk properly.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-13 11:47:14 +00:00
Philippe Sultan
8e10babcbd Various string length fixes. Removed an unused variable in aji_client structure (context)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 16:56:29 +00:00
Philippe Sultan
1da5446f1a Make the 'gtalk show channels' CLI command available.
Closes issue 10548, reported by keepitcool.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-31 17:38:26 +00:00
Philippe Sultan
0518339c30 Closes issue #10509
Googletalk calls are answered too early, which results in CDRs wrongly
stating that a call was ANSWERED when the calling party cancelled a
call before before being established.

We must not answer the call upon reception of a 'transport-accept' iq
packet, but this packet still needs to be acknowledged, otherwise the
remote peer would close the call (like in #8970).

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24 11:42:46 +00:00
Joshua Colp
9a35428295 (closes issue #10437)
Reported by: haklin
Don't set the callerid name and number a second time on a newly created channel. ast_channel_alloc itself already sets it and setting it twice would cause a memory leak.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-13 14:18:04 +00:00
Joshua Colp
5055793871 Make payload IDs for iLBC/Speex match to our list. Since these are dynamic payloads the other side shouldn't care. (issue #9426 reported by irroot)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 22:58:02 +00:00
Jason Parker
7508fce25b Don't modify a variable that we don't want modified. Make a copy of it instead.
Issue 10029, patch by phsultan with slight modifications by me (to remove needless casts).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 17:10:32 +00:00
Russell Bryant
a0a33670bd Only attempt to queue a hangup on the owner channel if it actually exists.
(issue #9795, patch from zandbelt)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-19 19:13:45 +00:00
Kevin P. Fleming
5f9897ba56 handle the GNUTLS library properly in the configure script and build system
don't build in OSP support unless we have found and are allowed to use SSL support


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@66157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-25 14:28:46 +00:00
Kevin P. Fleming
0b14e93d00 oops, use #ifdef instead of #if
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 18:28:48 +00:00
Kevin P. Fleming
e49f14e6cb don't reference GnuTLS headers and functions unless the configure script found it
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 18:25:21 +00:00
Olle Johansson
4eab565b25 Issue 7672 - fix by zandbelt - Asterisk core dump since the GnuTLS interface did not support multithreading correctly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 15:26:10 +00:00
Olle Johansson
e8addde3f1 Issue 8193 - NAT issues with gtalk/STUN. Patch by phsultan. Thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 15:20:54 +00:00
Olle Johansson
abc8683ce7 Issue 7686, fix by phsultan, NAT issues when calling from gtalk to SIP over nat.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 15:05:10 +00:00
Olle Johansson
e4f9cc15e6 Issue #8536 - Caller ID not set in CDR for jingle
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 14:48:55 +00:00
Steve Murphy
7d5a79a0b9 This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 18:32:07 +00:00
Jason Parker
b937d7e8bc Fix locking issue, and accept "transport-accept" as a valid accept message.
This should solve issues 8970 and 8503.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-21 20:27:08 +00:00
Jason Parker
67421802de Fix segfault when buddy couldn't be found.
Issue 7764, patch by sailer


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-21 02:01:36 +00:00
Jason Parker
e0b88aba12 No need to cast nor free with strdupa (thanks file)
55555!


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-20 16:53:45 +00:00
Kevin P. Fleming
ff17d402de another dependency
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-09 23:52:44 +00:00
Joshua Colp
8f7ddbef0d Update channel drivers to use module referencing so that unloading them while in use will not result in crashes. (issue #8897 reported by junky)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 22:46:31 +00:00
Russell Bryant
0e37d936da Fix VLDTMF support in chan_gtalk. AST_FRAME_DTMF and AST_FRAME_DTMF_END are
actually the same thing.  So, a digit would have been interpreted incorrectly
here.  Since the channel driver will always have the begin and end callbacks
called for a digit, only support the button-down and button-up messages.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 19:08:25 +00:00
Russell Bryant
33235b40d6 Merge the changes from the /team/group/vldtmf_fixup branch.
The main bug being addressed here is a problem introduced when two SIP
channels using SIP INFO dtmf have their media directly bridged.  So, when a
DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk
would try to emulate a digit of some length by first sending a DTMF BEGIN
frame and sending a DTMF END later timed off of incoming audio.  However,
since there was no audio coming in, the DTMF_END was never generated.  This
caused DTMF based features to no longer work.

To fix this, the core now knows when a channel doesn't care about DTMF BEGIN
frames (such as a SIP channel sending INFO dtmf).  If this is the case, then
Asterisk will not emulate a digit of some length, and will instead just pass
through the single DTMF END event.

Channel drivers also now get passed the length of the digit to their digit_end
callback.  This improves SIP INFO support even further by enabling us to put
the real digit duration in the INFO message instead of a hard coded 250ms.
Also, for an incoming INFO message, the duration is read from the frame and
passed into the core instead of just getting ignored.

(issue #8597, maybe others...)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 17:49:38 +00:00
Joshua Colp
b2b70adede Do not do a partial bridge for Google Talk since we need to handle STUN. (issue #8448 reported by phsultan)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-30 21:18:24 +00:00
Russell Bryant
487d4512d3 Make this module build again
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-08 16:55:35 +00:00
Steve Murphy
517978fd5f These mods are to solve the problem in bug 7506. It's a lot of rework to solve a fairly small problem... such is life.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-07 23:46:41 +00:00
Matt O'Gorman
6a10570614 bind address support from bug 8164
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-01 20:35:41 +00:00
Matt O'Gorman
0c4d8edca6 fix for bug 7764.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-12 20:34:49 +00:00
Matt O'Gorman
592cbc0452 fix issue with dialing client without resource.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-03 22:35:43 +00:00
Matt O'Gorman
ff11e64e67 updates for better compontent support
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@43466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 23:50:56 +00:00
Matt O'Gorman
ec4bf7a849 seperate jingle and gtalk so it will be easier to track
changes in both of the moving specs.  Currently chan_gtalk is 
compatible with the latest gtalk/libjingle version, and chan_jingle
needs a lot of work.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 16:36:14 +00:00