summaryrefslogtreecommitdiff
path: root/channels
AgeCommit message (Collapse)Author
2009-04-20Merged revisions 189391 via svnmerge from Doug Bailey
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189391 | dbailey | 2009-04-20 14:10:56 -0500 (Mon, 20 Apr 2009) | 4 lines Clean up problem with manager implementation of mmap where it was not testing against MAP_FAILED response. Got rid of shadowed variable used in processign the mmap results. Change test of mmap results to compare against MAP_FAILED ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-20Fix a bug with non-UDP connections that caused dialogs to not get freed.Joshua Colp
This issue crept up because of a reference count issue on non-UDP based dialogs. The dialog reference count was increased when transmitting a packet reliably but never decreased. This caused the dialog structure to hang around despite being unlinked from the dialogs container. (closes issue #14919) Reported by: vrban git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-18Merged revisions 189203 via svnmerge from David Vossel
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189203 | dvossel | 2009-04-17 20:27:19 -0500 (Fri, 17 Apr 2009) | 12 lines Fixed autologoff in agents.conf not working when agent logs in via AgentLogin app An agent logs in by calling an extension that calls the AgentLogin app. In agents.conf ackcall=always is set, so when they get a call they have the choice to either acknowledge it or ignore it. autologoff=10 is set as well, so if the agent ignores the call over 10sec one may assume that the agent should be logged out (and in this case hungup on as well), but this was not happening. (closes issue #14091) Reported by: evandro Patches: autologoff.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/225/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17Merged revisions 188833,189134 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188833 | rmudgett | 2009-04-16 16:37:58 -0500 (Thu, 16 Apr 2009) | 4 lines Only disable mISDN DSP if Asterisk DSP is enabled. Leave jitter setting alone. JIRA ABE-1835 ........ r189134 | rmudgett | 2009-04-17 16:27:55 -0500 (Fri, 17 Apr 2009) | 4 lines Modifed/added some debug messages. JIRA ABE-1835 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17Prevent a crash when SIP blonde transferring an unbridged call.Mark Michelson
If one attempts to use the attended transfer button on a SIP phone to transfer an unbridged call (such as a call to an IVR) but hangs up while the target of the transfer is still ringing, we need to not crash. The problem was that ast_hangup was called from outside the channel thread. AST-211 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17Merged revisions 188946 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188946 | file | 2009-04-17 11:41:25 -0300 (Fri, 17 Apr 2009) | 15 lines Fix a bug where a value used to create the channel name was bogus. This commit fixes the scenario where an incoming call is authenticated using a peer entry. Previously the channel name was created using either the username setting from the sip.conf entry or the IP address that the call came from. Now the channel name will be created using the peer name itself. This commit will not change the way the channel name is generated for users or friends. (closes issue #14256) Reported by: Nick_Lewis Patches: chan_sip.c-chname.patch uploaded by Nick (license 657) Tested by: Nick_Lewis, file ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17Merged revisions 188937 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188937 | file | 2009-04-17 11:25:57 -0300 (Fri, 17 Apr 2009) | 4 lines Fix a situation where the DAHDI channel private structure lock was not unlocked when it should have been. (issue AST-210) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16Merged revisions 188835 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188835 | tilghman | 2009-04-16 16:41:13 -0500 (Thu, 16 Apr 2009) | 7 lines Only update realtime, if global option rtupdate != false (closes issue #14885) Reported by: deepesh Patches: 20090413__bug14885.diff.txt uploaded by tilghman (license 14) Tested by: deepesh ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16SIP state notify reorganizationDavid Vossel
What I've done here is simply break up how a state NOTIFY is built. Originally both the XML and sip header information were built within the same function. While this does work, it does not allow for the creation of multipart/related message bodies that can contain multiple XML entries with only one sip header. Now a separate function builds the XML for each notify. This patch also makes maintaining and modifying state notifications in the future much less of a pain. Review: http://reviewboard.digium.com/r/224/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16Fix a bug with the dahdi_setoption callback in chan_dahdi.Joshua Colp
This function incorrectly reported success even if the option was unsupported. This was exposed by the options to change the underlying channel format. The function now returns a failure if the option is unsupported. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-15Merged revisions 188646 via svnmerge from David Vossel
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188646 | dvossel | 2009-04-15 17:08:40 -0500 (Wed, 15 Apr 2009) | 12 lines National prefix inserted even when caller ID not available When the caller ID is restricted, the expected behavior is for the caller id to be blank. In chan_dahdi, the national prefix is placed onto the callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank. (closes issue #13207) Reported by: shawkris Patches: national_prefix.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/220/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-15Don't try to do anything in pri_check_restart with service messages unlessJeff Peeler
libpri supports it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14change some capitalizationJeff Peeler
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14Add service maintenance message supportJeff Peeler
This is the companion commit to libpri r732. Service messages are now supported for switch types 4ess/5ess. A new option service_message_support has been added to chan_dahdi.conf and is noted in the sample config file. The service message support is turned off by default. The current implementation relies on AstDB to keep track of channel state, which allows the statuses to be preserved across Asterisk restarts. Below is a description of the storage format. The state and reason for the service state are in the form <state>:<reason>, where: <state> ::= { 'O' } // 'O' – Out Of Service <reason> ::= { '0' | '1' | '2' | '3' }, where: '0' – No reason (backwards compatibility) '1' – NEAR END '2' – FAR END '3' – both NEAR and FAR END The new CLI commands to handle channel service state are: pri service disable channel <chan> pri service enable channel <chan> Many people contributed to the development of this functionality. Because I entered at the very end I do not know the exact history. Special thanks to all who moved the bug forward one way or another: cmaj, PCadach, markster, mattf, drmac, MikeJ, serge-v, murf, kanelbullar, Seb7, tilghman, lmadsen, and especially dhubbard (he answered lots of my questions and did a large portion of the work) (closes issue #3450) Reported by: cmaj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14Fix a bug with the change I made yesterday to outbound proxy support.Joshua Colp
Per discussion with oej on IRC we need the actual IP address, not the outbound proxy IP address, in the sa field. This change matches the already existing code for all other uses of the outbound proxy setting. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-13Fix a bug where using an outbound proxy would cause the local address to be ↵Joshua Colp
127.0.0.1. Copy the outbound proxy IP address into the SIP dialog structure as the IP address we will be sending to. This has to be done because the logic that determines what local IP address to use in the SIP messages is not aware of an outbound proxy being in place. It only knows what IP address we are sending to. (closes issue #12006) Reported by: mnicholson git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Fix module embedding for chan_h323.Jeff Peeler
Include libchanh323.a in the modules.link file so that all the symbols can be resolved at link time. (closes issue #11966) Reported by: dome Patches: issue_11966.patch uploaded by kpfleming (license 421) Tested by: jpeeler git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Indicating connected line or redirecting updates were missing a call to lock ↵Mark Michelson
the local_pvt. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Fix some uninitialized memory notices that appeared under valgrind.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10ast_strdup failures aren't really failures if the original value was NULL.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Ensure pvt is not NULL before dereferencing it.Tilghman Lesher
(closes issue #14784) Reported by: pj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Miscellaneous minor changes to chan_misdn.Richard Mudgett
* Miscellaneous spacing and comment changes. * Minor code rearangements. * Miscellaneous doxygen comments. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Make chan_misdn_log() avoid generating the log message if logging is disabled.Richard Mudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Add a new option, mwi_from, to sip.conf.Mark Michelson
This allows for you to change the From header for outgoing MWI NOTIFY requests. Prior to this, the best you could do was to set a callerid in the general section of sip.conf. The problem was that this was used for all outbound requests, not just MWI NOTIFY requests. AST-201 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Merged revisions 187484 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187484 | mmichelson | 2009-04-09 13:51:20 -0500 (Thu, 09 Apr 2009) | 18 lines Handle a SIP race condition (reinvite before an ACK) properly. RFC 5047 explains the proper course of action to take if a reINVITE is received before the ACK from a previous invite transaction. What we are to do is to treat the reINVITE as if it were both an ACK and a reINVITE and process it normally. Later, when we receive the ACK we had been expecting, we will ignore it since its CSeq is less than the current iseqno of the sip_pvt representing this dialog. (closes issue #13849) Reported by: klaus3000 Patches: 13849_v2.patch uploaded by mmichelson (license 60) Tested by: mmichelson, klaus3000 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Allow '/' in username portion of register; this is a regression.Tilghman Lesher
(closes issue #14668) Reported by: Netview git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Merged revisions 187362 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187362 | tilghman | 2009-04-09 11:38:37 -0500 (Thu, 09 Apr 2009) | 3 lines Permit zero-length text messages in SIP. (Related to an issue posted to the -users list, subject "AEL2, BASE64_DECODE and hexadecimal") ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Do not try to send the format read/format write/make compatible options over ↵Joshua Colp
IAX2. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Add support for allowing the channel driver to handle transcoding.Joshua Colp
This was accomplished using a set of options and the setoption channel callback. The core calls into the channel driver using these options and the channel driver either returns success or failure. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08Remove duplicate prototype for temp_peer().Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08Update some comments and resolve potential memory corruption in chan_sip.Russell Bryant
While browsing chan_sip the other day, I noticed this dangerous code in dialog_needdestroy(). This function is an ao2_callback. It is absolutely _not_ okay to unlock the container from within this function. It's also not clear why it was useful. Given that it could cause memory corruption, I have removed it. There was also a TODO comment left describing a potential implementation of an improvement to the needdestroy handling. I'm not convinced that what was described is the best choice here, so I have briefly described the way that this function is used today that could be improved. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08Add lastms to the require API call.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08Fix bad merge from fix for issue 13867.Mark Michelson
(closes issue #14686) Reported by: davidw git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-06Fix problem when authenticating a non-RTP dialog.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-06Add support for changing the outbound codec on a SIP call usingJoshua Colp
a dialplan variable. This adds a dialplan variable (SIP_CODEC_OUTBOUND) which controls the codec offered for an outgoing SIP call. This is much like the SIP_CODEC dialplan variable and has the same restrictions. The codec set must be one that is configured for the call. (closes issue #13243) Reported by: samdell3 Patches: 13243.diff uploaded by file (license 11) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03This commit introduces COLP/CONP and Redirecting party information into ↵Mark Michelson
Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue #8824) Reported by: gareth Review: http://reviewboard.digium.com/r/201 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03Merged revisions 186458 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186458 | kpfleming | 2009-04-03 15:19:20 -0500 (Fri, 03 Apr 2009) | 5 lines Fix a bug where DAHDI/Zaptel channels would not properly switch formats when requested Don't offer AST_FORMAT_SLINEAR on DAHDI/Zaptel channels... while it could provide a slight performance benefit, the translation core in Asterisk has some flaws when a channel driver offers multiple raw formats. this fix is much simpler than fixing the translation core to solve that issue (although that will be done later). ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03Add better support for relaying success or failure of the ast_transfer() API ↵Joshua Colp
call. This API call now waits for a special frame from the underlying channel driver to indicate success or failure. This allows the return value to truly convey whether the transfer worked or not. In the case of the Transfer() dialplan application this means the value of the TRANSFERSTATUS dialplan variable is actually true. (closes issue #12713) Reported by: davidw Tested by: file git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02Merged revisions 186081 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186081 | kpfleming | 2009-04-02 12:21:29 -0500 (Thu, 02 Apr 2009) | 3 lines ensure that the buffer passed to DAHDI_SET_BUFINFO is fully initialized ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02Merge in the RTP engine API.Joshua Colp
This API provides a generic way for multiple RTP stacks to be integrated into Asterisk. Right now there is only one present, res_rtp_asterisk, which is the existing Asterisk RTP stack. Functionality wise this commit performs the same as previously. API documentation can be viewed in the rtp_engine.h header file. Review: http://reviewboard.digium.com/r/209/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02Merged revisions 186059 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r186059 | tilghman | 2009-04-02 12:09:13 -0500 (Thu, 02 Apr 2009) | 9 lines Merged revisions 186056 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r186056 | tilghman | 2009-04-02 12:02:18 -0500 (Thu, 02 Apr 2009) | 2 lines Fix for AST-2009-003 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02Merged revisions 185952 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185952 | kpfleming | 2009-04-02 08:43:43 -0500 (Thu, 02 Apr 2009) | 5 lines the DAHDI_GETCONF, DAHDI_SETCONF and DAHDI_GET_PARAMS ioctls were recently corrected to show that they do, in fact, read data from userspace as part of their work. due to this fix, valgrind now reports a number of cases where chan_dahdi passed an uninitialized (or partially) buffer to these ioctls, which could lead to unexpected behavior. this patch corrects chan_dahdi to ensure that buffers passed to these ioctls are always fully initialized. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-01Merged revisions 185845 via svnmerge from David Vossel
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185845 | dvossel | 2009-04-01 14:02:00 -0500 (Wed, 01 Apr 2009) | 10 lines Fixes issue with dropped calles due to re-Invite glare and re-Invites never executing after a 491 Acknowledgement for 491 responses were never being processed because it didn't match our pending invite's seqno. Since the ACK was never processed, the 491 frame would continue to be retransmitted until eventually the call was dropped due to max retries. Now during a pending invite, if we receive another invite, we send an 491 and hold on to that glare invite's seqno in the "glareinvite" variable for that sip_pvt struct. When ACK's are received, we first check to see if it is in response to our pending invite, if not we check to see if it is in response to a glare invite. In this case, it is in response to the glare invite and must be dealt with or the call is dropped. I've changed the wait time for resending the re-Invite after receving a 491 response to comply with RFC 3261. Before this patch the scheduled re-Invite would only change a flag indicating that the re-Invite should be sent out, now it actually sends it out as well. (closes issue #12013) Reported by: alx Review: http://reviewboard.digium.com/r/213/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31Improve performance of the code handling the frame queue in chan_iax2.Russell Bryant
In my tests that exercised full frame handling in chan_iax2, the version with these changes took 30% to 40% of the CPU time compared to the same test of Asterisk trunk before these modifications. While doing some profiling for <http://reviewboard.digium.com/r/205/>, one function that caught my eye was network_thread() in chan_iax2.c. After the things that I was working on there, it was the next target for analysis and optimization. I used oprofile's source annotation functionality and found that the loop traversing the frame queue in network_thread() was to blame for the excessive CPU cycle consumption. The frame_queue in chan_iax2 previously held all frames that either were pending transmission or had been transmitted and are still pending acknowledgment. In network_thread(), the previous code would go back through the main for loop after reading a single incoming frame or after being signaled because a frame had been queued up for initial transmission. In each iteration of the loop, it traverses the entire frame queue looking for frames that need to be transmitted. On a busy server, this could easily be quite a few entries. This patch is actually quite simple. The frame_queue has become only a list of frames pending acknowledgment. Frames that need to be transmitted are queued up to a dedicated transmit thread via the taskprocessor API. As a result, the code in network_thread() becomes much simpler, as its only job is to read incoming frames. In addition to the previously described changes, this patch includes some additional changes to the frame_queue. Instead of one big frame_queue, now there is a list per call number to further reduce wasted list traversals. The biggest impact of this change is in socket_process(). For additional details on testing and test results, see the review request. Review: http://reviewboard.digium.com/r/212/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31Merged revisions 185362 via svnmerge from David Brooks
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185362 | dbrooks | 2009-03-31 11:37:12 -0500 (Tue, 31 Mar 2009) | 35 lines 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> Review: http://reviewboard.digium.com/r/181/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-30Merged revisions 185121 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185121 | rmudgett | 2009-03-30 15:40:11 -0500 (Mon, 30 Mar 2009) | 1 line Update the channel allocation method documentation. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-30Merged revisions 185120 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185120 | rmudgett | 2009-03-30 15:38:11 -0500 (Mon, 30 Mar 2009) | 19 lines Make chan_misdn BRI TE side normally defer channel selection to the NT side. Channel allocation collisions are not handled by chan_misdn very well. This patch simply avoids the problem for BRI only. For PRI, allocation collisions are still possible but less likely since there are simply more channels available and each end could use a different allocation strategy. misdn.conf options available: te_choose_channel - Use to force the TE side to allocate channels. method - Specify the channel allocation strategy. (closes issue #13488) Reported by: Christian_Pinedo Patches: isdn_lib.patch.txt uploaded by crich Tested by: crich, siepkes, festr ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-30Merged revisions 184947 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184947 | file | 2009-03-30 11:35:47 -0300 (Mon, 30 Mar 2009) | 14 lines Improve our handling of T38 in the initial INVITE from a device. We now answer with matching media streams to what is requested. If an INVITE is received with both a T38 and RTP media stream this means we answer with both. For any outgoing calls created as a result of this inbound one no T38 is requested in the initial INVITE. Instead if we start receiving udptl packets we trigger a reinvite on the outbound side. (closes issue #12437) Reported by: marsosa Tested by: pinga-fogo, okrief, file, afu Review: http://reviewboard.digium.com/r/208/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-30Fix build error when chan_h323 is not being built.Russell Bryant
(reported by cai1982 in #asterisk-dev) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-29Simplify chan_h323 build to not require a second run of "make".Russell Bryant
(closes issue #14715) Reported by: jthurman Patches: h323-makefile-1.6.2.0-beta1.patch uploaded by jthurman (license 614) Tested by: tzafrir, russell git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184838 65c4cc65-6c06-0410-ace0-fbb531ad65f3