aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk
AgeCommit message (Collapse)AuthorFilesLines
2010-12-01Clarify documentation on how we store codec preference lists.tilghman1-1/+9
(closes issue #18397) Reported by: birgita git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@296990 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-22The channel redirect function (CLI or AMI) hangs up the call instead of ↵rmudgett2-2/+31
redirecting the call. To recreate the problem: 1) Party A calls Party B 2) Invoke CLI "channel redirect" command to redirect channel call leg associated with A. 3) All associated channels are hung up. Note that if the CLI command were done on the channel call leg associated with B it works. This regression was a result of the fix for issue #16946 (https://reviewboard.asterisk.org/r/740/). The regression affects all features that use an async goto to execute the dialplan because of an external event: Channel redirect, AMI redirect, SIP REFER, and FAX detection. The struct ast_channel._softhangup code is a mess. The variable is used for several purposes that do not necessarily result in the call being hung up. I have added doxygen comments to describe how the various _softhangup bits are used. I have corrected all the places where the variable was tested in a non-bit oriented manner. The primary fix is the new AST_CONTROL_END_OF_Q frame. It acts as a weak hangup request so the soft hangup requests that do not normally result in a hangup do not hangup. JIRA SWP-2470 JIRA SWP-2489 (closes issue #18171) Reported by: SantaFox (closes issue #18185) Reported by: kwemheuer (closes issue #18211) Reported by: zahir_koradia (closes issue #18230) Reported by: vmarrone (closes issue #18299) Reported by: mbrevda (closes issue #18322) Reported by: nerbos Review: https://reviewboard.asterisk.org/r/1013/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@295790 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-07Allow PRI to build properly when using --with-pri.qwell1-31/+22
Use the directories found for the parent when using lib dependencies. (closes issue #17314) Reported by: tzafrir Patches: 17314-withdeps.diff uploaded by qwell (license 4) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@290750 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-01Change RFC2833 DTMF event duration on end to report actual elapsed time.jpeeler1-0/+1
The scenario here is with a non P2P early media session. The reported time length of DTMF presses are coming up short when sending to the remote side. Currently the event duration is a running total that is incremented when sending continuation packets. These continuation packets are only triggered upon incoming media from the remote side, which means that the running total probably is not going to end up matching the actual length of time Asterisk received DTMF. This patch changes the end event duration to be lengthened if it is detected that the end event is going to come up short. Review: https://reviewboard.asterisk.org/r/957/ ABE-2476 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@289797 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-24Solaris compatibility fixestilghman2-13/+4
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@288636 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-21Underquoted definition of stringfield macro.tilghman1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@288116 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-10Inherit CHANNEL() writes to both sides of a Local channeltwilson3-2/+27
Having Local (/n) channels as queue members and setting the language in the extension with Set(CHANNEL(language)=fr) sets the language on the Local/...,2 channel. Hold time report playbacks happen on the Local/...,1 channel and therefor do not play in the specified language. This patch modifies func_channel_write to call the setoption callback and pass the CHANNEL() write info to the callback. chan_local uses this information to look up the other side of the channel and apply the same changes to it. (closes issue #17673) Reported by: Guggemand Review: https://reviewboard.asterisk.org/r/903/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@286059 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-10Fix Mac OS X build.tilghman2-5/+18
This also fixes a rather grievous calculation error for the offset of ast_fdset, which was masked on Linux and FreeBSD, because these platforms check the first 256 FDs regardless of the bitmask setting (due to backwards compatibility). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@285889 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-09Transmit silence when reading DTMF in ast_readstring.qwell4-57/+162
Otherwise, you could get issues with DTMF timeouts causing hangups. (closes issue #17370) Reported by: makoto Patches: channel-readstring-silence-generator.patch uploaded by makoto (license 38) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@285742 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-27remove empty audiohook write list on channeldvossel1-0/+7
If a channel has an audiohook write list created on it, that list stays on the channel until the channel is destroyed. There is no reason to keep that list on the channel if it becomes empty. If it is empty that just means we are doing needless translating for every ast_read and ast_write. This patch removes the audiohook list from the channel once it is detected to be empty on either a read or write. If a audiohook is added back to the channel after this list is destroyed, the list just gets recreated as if it never existed to begin with. (closes issue #17630) Reported by: manvirr Review: https://reviewboard.asterisk.org/r/799/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@279945 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-24Provide a default value for DAHDI_TRANSCODE so when DAHDI is not installedjpeeler1-30/+21
menuselect doesn't get confused: Unknown value '' found in build_tools/menuselect-deps for DAHDI_TRANSCODE git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@279344 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-20Do not queue up DTMF frames while a call is on hold.tilghman1-0/+12
(Fixes ABE-2110) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@278167 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-09Document that a leading and trailing slash is expected for test categories.russell1-1/+6
Also, emit a warning if a test is registered without one of these. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@275021 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-02Have the DEADLOCK_AVOIDANCE macro warn when an unlock fails, to help catch ↵tilghman3-30/+66
potentially large software bugs. (closes issue #17407) Reported by: pdf Patches: 20100527__issue17407.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/751/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@273793 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-28Backport unit test API to 1.4.russell2-0/+245
Review: https://reviewboard.asterisk.org/r/750/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@272878 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-18Remove an unnecessary assignment that causes a DEBUG_THREADS build failure ↵russell1-4/+0
on mac os x. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@271340 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-18Fix a build problem on Mac OS X with DEBUG_THREADS enabled.russell2-46/+41
This set of changes was already in trunk. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@271339 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-04Make the default install path appear to be /usr on Linux, instead of /usr/local.tilghman1-0/+6
Also, reorganize the options, so that they're more alphabetical. (closes issue #17013) Reported by: klaus3000 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@267759 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-031.4 version of the dead PLC code fix.mmichelson1-6/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@267539 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-25Merged revisions 265320,265467 via svnmerge from twilson1-0/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r265320 | twilson | 2010-05-24 14:06:40 -0500 (Mon, 24 May 2010) | 14 lines Add the FullyBooted AMI event It is possible to connect to the manager interface before all Asterisk modules are loaded. To ensure that an application does not send AMI actions that might require a module that has not yet loaded, the application can listen for the FullyBooted manager event. It will be sent upon connection if all modules have been loaded, or as soon as loading is complete. The event: Event: FullyBooted Privilege: system,all Status: Fully Booted Review: https://reviewboard.asterisk.org/r/639/ ........ r265467 | twilson | 2010-05-24 17:21:58 -0500 (Mon, 24 May 2010) | 1 line Merge the rest of the FullyBooted patch ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@265570 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-21Don't hang up on a queue caller if the file we attempt to play does not exist.mmichelson1-1/+1
This also fixes a documentation mistake in file.h that made my original attempt to correct this problem not work correctly. (closes issue #17061) Reported by: RoadKill git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@265089 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-21Fix grammatical error in comment.mmichelson1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@264999 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-21Allow ast_safe_sleep to defer specific frames until after the sleep has ↵mmichelson1-0/+16
concluded. From reviewboard Background: A Digium customer discovered a somewhat odd bug. The setup is that parties A and B are bridged, and party A places party B on hold. While party B is listening to hold music, he mashes a bunch of DTMF. Party A takes party B off hold while this is happening, but party B continues to hear hold music. I could reproduce this about 1 in 5 times. The issue: When DTMF features are enabled and a user presses keys, the channel that the DTMF is streamed to is placed in an ast_safe_sleep for 100 ms, the duration of the emulated tone. If an AST_CONTROL_UNHOLD frame is read from the channel during the sleep, the frame is dropped. Thus the unhold indication is never made to the channel that was originally placed on hold. The fix: Originally, I discussed with Kevin possible ways of fixing the specific problem reported. However, we determined that the same type of problem could happen in other situations where ast_safe_sleep() is used. Using autoservice as a model, I modified ast_safe_sleep_conditional() to defer specific frame types so they can be re-queued once the sleep has finished. I made a common function for determining if a frame should be deferred so that there are not two identical switch blocks to maintain. Review: https://reviewboard.asterisk.org/r/674/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@264996 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-201.4 version of PLC fix.mmichelson2-1/+10
Analogous to trunk revision 264452, but without the change to chan_sip since it is not necessary in this branch. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@264541 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-19Internal timing is now on by default, if you're using DAHDI 2.3 or above.tilghman1-1/+7
The reason for ensuring DAHDI 2.3 or above is that this version ensures that a timer is always available, whereas in previous versions, it was possible for DAHDI to be loaded, but have no drivers to actually generate timing. If internal_timing was turned on in this circumstance, a complete lack of audio would result. This is the reason why internal_timing was not on by default. However, now that DAHDI ensures the availability of a timer, there is no reason for this setting to be off (and in fact, it solves a great many initial user problems). (closes issue #15932) Reported by: dimas Patches: 20100519__issue15932.diff.txt uploaded by tilghman (license 14) Tested by: tilghman git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@264248 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-29Fixes crash in audiohook_write_listdvossel1-3/+10
The middle_frame in the audiohook_write_list function was being freed if a audiohook manipulator returned a failure. This is incorrect logic. This patch resolves this and adds detailed descriptions of how this function should work and why manipulator failures must be ignored. (closes issue #17052) Reported by: dvossel Tested by: dvossel (closes issue #16196) Reported by: atis Review: https://reviewboard.asterisk.org/r/623/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@260049 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-15Allow application options with arguments to contain parentheses, through a ↵tilghman1-1/+1
variety of escaping techniques. Fixes SWP-1194 (ABE-2143). Review: https://reviewboard.asterisk.org/r/604/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@257544 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-25Fix DEBUG_THREADS issue with out-of-tree modules.qwell1-9/+6
Take 2, without ABI breakage this time. Review: https://reviewboard.asterisk.org/r/588/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@254714 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-25Add doxygen for acl.hmmichelson1-0/+173
Review: https://reviewboard.asterisk.org/r/528 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@254552 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-23Revert revisions 254046 and 254098.qwell2-131/+1059
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@254161 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-23Allow out-of-tree modules to load, regardless of ↵qwell2-1059/+131
DEBUG_THREADS/DEBUG_CHANNEL_LOCKS differences. This can be guaranteed by forcing the ABI to no longer change when these compiler flags are set. An unfortunate side-effect to this is that there is an ABI change here. However, there is some mitigation. Existing modules *will* fail to load since they would require functions that no longer exist. Review: https://reviewboard.asterisk.org/r/508/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@254046 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-17Revert API change in release branchestwilson1-1/+1
This re-renames ast_rtp_update_source to ast_rtp_new_source git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@253158 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-13Merged revisions 252089 via svnmerge from twilson2-4/+7
https://origsvn.digium.com/svn/asterisk/trunk ........ r252089 | twilson | 2010-03-12 16:04:51 -0600 (Fri, 12 Mar 2010) | 20 lines Only change the RTP ssrc when we see that it has changed This change basically reverts the change reviewed in https://reviewboard.asterisk.org/r/374/ and instead limits the updating of the RTP synchronization source to only those times when we detect that the other side of the conversation has changed the ssrc. The problem is that SRCUPDATE control frames are sent many times where we don't want a new ssrc, including whenever Asterisk has to send DTMF in a normal bridge. This is also not the first time that this mistake has been made. The initial implementation of the ast_rtp_new_source function also changed the ssrc--and then it was removed because of this same issue. Then, we put it back in again to fix a different issue. This patch attempts to only change the ssrc when we see that the other side of the conversation has changed the ssrc. It also renames some functions to make their purpose more clear. Review: https://reviewboard.asterisk.org/r/540/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@252175 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-24Only rebuild bison and flex source files on demand, if bison and flex are ↵tilghman1-21/+30
detected by the configure script. Changed after discussion on the -dev list about possible unnecessary build failures, due to checkouts/untars causing these special source files to possibly be newer than their resulting C files. This should additionally ensure that nobody need learn about extra Makefile arguments to ensure the proper files get rebuilt when changes are made to these special source files. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@242520 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-04Add a flag to disable the Background behavior, for AGI users.tilghman1-0/+4
This is in a section of code that relates to two other issues, namely issue #14011 and issue #14940), one of which was the behavior of Background when called with a context argument that matched the current context. This fix broke FreePBX, however, in a post-Dial situation. Needless to say, this is an extremely difficult collision of several different issues. While the use of an exception flag is ugly, fixing all of the issues linked is rather difficult (although if someone would like to propose a better solution, we're happy to entertain that suggestion). (closes issue #16434) Reported by: rickead2000 Patches: 20091217__issue16434.diff.txt uploaded by tilghman (license 14) 20091222__issue16434__1.6.1.diff.txt uploaded by tilghman (license 14) Tested by: rickead2000 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@237405 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-28Try a test compile to see if PTHREAD_ONCE_INIT requires extra braces.seanbright2-32/+32
There was conditional code (based on build platform) to optioinally wrap PTHREAD_ONCE_INIT in braces that was removed since it is fixed in newer versions of Solaris/OpenSolaris, but I am still running into it on Solaris 10 x86 so add a configure-time check for it. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@236585 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-18Correct CDR dispositions for BUSY/FAILEDjpeeler1-4/+4
This patch is simple in that it reorders the disposition defines so that the fix for issue 12946 works properly (the default CDR disposition was changed to AST_CDR_NOANSWER). Also, the AST_CDR_FLAG_ORIGINATED flag was set in ast_call to ensure all CDR records are written. The side effects of CDR changes are scary, so I'm documenting the test cases performed to attempt to catch any regressions. The following tests were all performed using 1.4 rev 195881 vs head (235571) + patch: A calls B C calls B (busy) Hangup C Hangup A (Both SIP and features) A calls B A blind transfers to C Hangup C (Both SIP and features) A calls B A attended transfers to C Hangup C A calls B A attended transfers to C (SIP) C blind transfers to A (features) Hangup A All of the test scenario CDRs matched. The following tests were performed just with the patch to ensure proper operation (with unanswered=yes): exten =>s,1,Answer exten =>s,n,ResetCDR(w) exten =>s,n,ResetCDR(w) exten =>s,1,ResetCDR(w) exten =>s,n,ResetCDR(w) (closes issue #16180) Reported by: aatef Patches: bug16180.patch uploaded by jpeeler (license 325) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@235635 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-09Set a module load priority for format modules.russell1-0/+8
A recent change to app_voicemail made it such that the module now assumes that all format modules are available while processing voicemail configuration. However, when autoloading modules, it was possible that app_voicemail was loaded before the format modules. Since format modules don't depend on anything, set a module load priority on them to ensure that they get loaded first when autoloading. This version of the patch is specific to Asterisk 1.4 and 1.6.0. These versions did not already support module load priority in the module API. This adds a trivial version of this which is just a module flag to include it in a pass before loading "everything". Thanks to mmichelson for the review! (closes issue #16412) Reported by: jiddings Tested by: russell Review: https://reviewboard.asterisk.org/r/445/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@233782 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-30Remove duplicate entries from voicemail format lists. This prevents ↵mnicholson1-0/+10
app_voicemail from entering an infinite loop when the same format is specified twice in the format list. (closes issue #15625) Reported by: Shagg63 Tested by: mnicholson Review: https://reviewboard.asterisk.org/r/429/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@231614 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-09Perform limited bounds checking when destroying ast_mutex_t structures to ↵mnicholson1-9/+10
make sure we don't try to use negative indices. (closes issue #15588) Reported by: zerohalo Patches: 20090820__issue15588.diff.txt uploaded by tilghman (license 14) Tested by: zerohalo git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@228827 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-28Fix documentation (pointed out by TheDavidFactor on #-dev)tilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@226304 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-26detect ARM Linux EABI OSARCH as linux-gnu instead of linux-gnueabitzafrir1-1/+1
* Set OSARCH to linux-gnu even if host_os is linux-gnueabi * When checking if we are Linux, check OSARCH rather than host_os The newer ARM ABI ("EABI") shows the OS name 'linux-gnueabi' rather than 'linux-gnu' . This patch sets OSARCH to be 'linux-gnu' even in such a case. OSARCH is tested for the value of 'linux-gnu' in one or two places in the tree. This patch also fixes the check libcap to check for $OSARCH rather than $host_os . See also: http://wiki.debian.org/ArmEabiPort git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@225957 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21Fix documentation for ast_softhangup() and correct the misuse thereof.tilghman1-2/+2
(closes issue #16103) Reported by: majorbloodnok git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@225105 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21Isolate frames returned from a DSP instance or codec translator.russell3-39/+0
The reasoning for these changes are the same as what I wrote in the commit message for rev 222878. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@224931 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-08Make filestream frame handling safer by isolating frames before returning them.russell2-19/+0
This patch is related to a number of issues on the bug tracker that show crashes related to freeing frames that came from a filestream. A number of fixes have been made over time while trying to figure out these problems, but there re still people seeing the crash. (Note that some of these bug reports include information about other problems. I am specifically addressing the filestream frame crash here.) I'm still not clear on what the exact problem is. However, what is _very_ clear is that we have seen quite a few problems over time related to unexpected behavior when we try to use embedded frames as an optimization. In some cases, this optimization doesn't really provide much due to improvements made in other areas. In this case, the patch modifies filestream handling such that the embedded frame will not be returned. ast_frisolate() is used to ensure that we end up with a completely mallocd frame. In reality, though, we will not actually have to malloc every time. For filestreams, the frame will almost always be allocated and freed in the same thread. That means that the thread local frame cache will be used. So, going this route doesn't hurt. With this patch in place, some people have reported success in not seeing the crash anymore. (SWP-150) (AST-208) (ABE-1834) (issue #15609) Reported by: aragon Patches: filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2) Tested by: aragon, russell (closes issue #15817) Reported by: zerohalo Tested by: zerohalo (closes issue #15845) Reported by: marhbere Review: https://reviewboard.asterisk.org/r/386/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@222878 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-08fixes an ast_netsock_list memory leak.dvossel1-2/+0
ABE-1998 Review: https://reviewboard.asterisk.org/r/395/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@222877 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-06Fix ao2_iterator API to hold references to containers being iterated.kpfleming1-3/+49
See Mantis issue for details of what prompted this change. Additional notes: This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK has become an enum instead of a macro, with a name that fits our naming policy; also, it is now necessary to call ao2_iterator_destroy() on any iterator that has been created. Currently this only releases the reference to the container being iterated, but in the future this could also release other resources used by the iterator, if the iterator implementation changes to use additional resources. (closes issue #15987) Reported by: kpfleming Review: https://reviewboard.asterisk.org/r/383/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@222152 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30Change the SSRC by default when our media stream changestwilson1-0/+3
Be default, change SSRC when doing an audio stream changes Asterisk doesn't honor marker bit when reinvited to already-bridged RTP streams,resulting in far-end stack discarding packets with "old" timestamps that areactually part of a new stream. This patch sends AST_CONTROL_SRCUPDATE whenever there is a reinvite, unless the 'constantssrc' is set to true in sip.conf. The original issue reported to Digium support detailed the following situation: ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in fromITSP, Asterisk dials the app server which sends a re-invite back toAsterisk--not to negotiate to send media directly to the ITSP, but to indicatethat it's changing the stream it's sending to Asterisk. The app servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker bit on the new stream. Asterisk passes through the teimstamp of the new stream, butdoes not reset the SSRC, sequence numbers, or set the marker bit. When the timestamp on the new stream is older than the timestamp on the originalstream, the ITSP (which doesn't know there has been any change) discards the newframes because it thinks they are too old. This patch addresses this by changing the SSRC on a stream update unless constantssrc=true is set in sip.conf. Review: https://reviewboard.asterisk.org/r/374/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@221086 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-17Prevent a potential race condition and crash when hanging up a channel by ↵mnicholson2-0/+7
removing the channel from the channel list before begining channel tear down. This fix may potentially cause problems with CDR backends that access the channel a CDR is associated with via the channel list. This fix makes the channel unavabile at the time when the CDR backend is invoked. This has been documented in include/asterisk/cdr.h. (closes issue #15316) Reported by: vmarrone Tested by: mnicholson Review: https://reviewboard.asterisk.org/r/362/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@219136 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-04make asterisk compile under devmode with DEBUG_THREADS enabled on OpenBSDmvanbaak1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@216435 f38db490-d61c-443f-a65b-d21fe96a405b