aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2009-02-19ODBC transaction supporttilghman5-86/+853
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177320 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-19Update CHANGES file to include MWI subscription support that was added some ↵file1-0/+2
time ago. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177291 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Handle negative length and eliminate a condition that is always true.tilghman1-6/+5
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177287 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Merged revisions 177225 via svnmerge from murf2-228/+238
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r177225 | murf | 2009-02-18 15:43:14 -0700 (Wed, 18 Feb 2009) | 34 lines This patch fixes a regression of sorts that was introduced in rev 24425. It basically fixes AST-190/ABE-1782. What was wrong: the user has 6000 extensions in one context; and then 6000 contexts, one per extension. The parser could only handle about 4893 of the 6000 extens in the single context. This was due to the regression I mentioned. To get rid of shift/reduce conflicts, Luigi set up right-recursive lists for globals, context elements, switch lists, and statements. Right recursive lists got rid of the warnings, but instead, they use up a tremendous amount of stack space when the lists are long. I saw this a few years back, and resolved not to fix it until someone complained. That day has arrived! After the changes were made, I ran the regression test suite, and there were no problems. I took the test case the user provided, and added 100,000 extensions to the single context, that already had 6,000 extens in it. (I'll see your 6, and raise you 100!) It takes a few minutes to read it all in, check it and generate code for it, but no problems. So, I think I can say that fundamentally, there are no longer any limits on the number of items you can place in contexts, statement blocks, switches, or globals, beyond your virt mem constraints. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177286 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18fix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ↵kpfleming1-2/+2
ensure that the samples are byte-swapped to network order if needed. also, when a smoother is operating on a format that has a sample rate other than 8000 samples per second, use the proper sample rate for computing delivery timestamps. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177229 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Locking issue in action_bridge and bridge_execdvossel1-30/+45
action_bridge() and bridge_exec() both search for the channels to bridge to, and then immediately drop the lock. Instead, they should hold the lock until the masquerade is complete. This will guarantee the channel remains and prevent any other weirdness from occurring. In action_bridge() some more weirdness comes into play. Both channels are needlessly locked at the same time and perform the exact same logic. It makes sense from a coding organizational standpoint, but could cause a theoretical deadlock so I split the code up. There is an issue associated with this, but since its a rather complicated thing to reproduce I'm not certain this alone will close it. issue# 14296 Review: http://reviewboard.digium.com/r/167/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177226 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Modify h323 to build against PTLib as well as the older PWLibjpeeler14-171/+194
Several changes in PTLib have occurred requiring build time detection. Changes accounted for include the library name change, config option change, install location change, and a boolean type change which is handled by ast_ptlib.h. Also, the sed check has been modified to properly work with autoconf >= 2.62. (closes issue #14224) Reported by: bergolth Patches: asterisk-autoconf-sed.patch uploaded by bergolth (license 661) asterisk-pwlib-v3.patch uploaded by bergolth (license 661) Tested by: jpeeler git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177162 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Blocked revisions 177160 via svnmergejpeeler0-0/+0
........ r177160 | jpeeler | 2009-02-18 14:06:45 -0600 (Wed, 18 Feb 2009) | 15 lines Modify h323 to build against PTLib as well as the older PWLib Several changes in PTLib have occurred requiring build time detection. Changes accounted for include the library name change, config option change, install location change, and a boolean type change which is handled by ast_ptlib.h. Also, the sed check has been modified to properly work with autoconf >= 2.62. (closes issue #14224) Reported by: bergolth Patches: asterisk-autoconf-sed.patch uploaded by bergolth (license 661) asterisk-pwlib-v3.patch uploaded by bergolth (license 661) Tested by: jpeeler ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177161 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Re-add 'o' option to MeetMe, reverting rev 62297.russell1-6/+10
Enabling this option by default proved to be a bad idea, as the talker detection is not very reliable. So, make it optional again, and off by default. (issue #13801) Reported by: justdave git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177101 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Merged revisions 177096 via svnmerge from tilghman1-3/+54
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r177096 | tilghman | 2009-02-18 12:30:38 -0600 (Wed, 18 Feb 2009) | 2 lines Document the return value of the update method (as requested on -dev list) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177098 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Fixed error where a check for an zero length, terminated string was needed.dbailey1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177035 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Fix ordering of output for a ChannelUpdate manager event.file1-1/+1
(closes issue #14497) Reported by: vinsik Patches: chan_update_fix-chan_sip.c.diff uploaded by vinsik (license 623) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177005 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Need to take into account the \0 terminator of the old string to determine ↵dbailey1-1/+1
the amount available. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176948 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18This patch fixes merge_contexts_and_delete so it does not deadlock when ↵murf1-17/+110
hints are present. Reason: when I re-engineered the merge_and_delete func to reduce its lock time, I failed to notice that the functions it calls still also do locking as before. This leads to deadlocks on dialplan reloads, when there are actually living, subscribed hints registered in the system. While the reporter come across this problem while using AEL, I might note that these deadlocks should also happen if extensions.conf were used. Here I added these routines to pbx.c: ast_add_extension_nolock add_pri_lockopt ast_add_extension2_lockopt find_context add_hint_nolock All of the above routines are static and restricted to be used only within pbx.c, and more specifically within the merge_contexts_and_delete routine. They are pretty much the same as their counterparts except they don't lock contexts or hints. Most of them now do the real work of their name-alike, with optional locking via extra arguments, and are called by their name-alike. The goal was to have the original functions so they would behave exactly as before. Both PJ and I tested these fixes, and the deadlocking problem is no longer encountered. (closes issue #14357) Reported by: pj Patches: 14357.diff uploaded by murf (license 17) Tested by: pj, murf git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176943 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Add example code for a heap traversal.russell1-0/+22
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176904 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18Fix a number of incorrect uses of strncpy().russell1-8/+15
The big problem here is that the 3rd argument provided in these uses of strncpy() did not reserve a byte for the null terminator, leaving the potential for writing one byte past the end of the buffer. Aside from this, there were coding guidelines violations with regards to spacing, as well as hard coded lengths being used instead of sizeof(). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176901 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18T38 faxdetect should jump to the 'fax' extension for incoming calls onlydhubbard1-2/+2
The previous implementation of T38 faxdetect resulted in both sides of the call jumping to a fax extension when both sides had 't38pt_udptl=yes' and 'faxdetect=yes' in sip.conf and a 'fax' extension in the current context. This revision will jump to a 'fax' extension on incoming calls only. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176869 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-18suppress smoothers for Siren codecs as well as Speex and G.723.1kpfleming1-8/+19
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176841 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Remove a dependency that no longer exists.russell1-4/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176771 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Several changes to codec_dahdi to play nice with G723.sruffell1-84/+325
This commit brings in the changes that were living out on the svn/asterisk/team/sruffell/asterisk-trunk-transcoder branch. codec_dahdi.c now always uses signed linear as the simple codec so that a soft g729 codec will not end up being preferred to the hardware codec. There are also changes to allow codec_dahdi.c to feed packets to the hardware in the native sample size of the codec. This solves problems with choppy audio when using G723. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176760 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Merged revisions 176701 via svnmerge from jpeeler3-14/+33
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176701 | jpeeler | 2009-02-17 15:54:34 -0600 (Tue, 17 Feb 2009) | 17 lines Modify bridging to properly evaluate DTMF after first warning is played The main problem is currently if the Dial flag L is used with a warning sound, DTMF is not evaluated after the first warning sound. To fix this, a flag has been added in ast_generic_bridge for playing the warning which ensures that if a scheduled warning is missed, multiple warrnings are not played back (due to a feature evaluation or waiting for digits). ast_channel_bridge was modified to store the nexteventts in the ast_bridge_config structure as that information was lost every time ast_channel_bridge was reentered, causing a hangup due to incorrect time calculations. (closes issue #14315) Reported by: tim_ringenbach Reviewed on reviewboard: http://reviewboard.digium.com/r/163/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176708 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Use constants from inttypes.h to clear up 32-bit compilation errorsmmichelson1-2/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176706 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17create a UDPTL structure in create_addr_from_peer() if it does not already ↵dhubbard1-0/+4
exist for T38 This is required to create a UDPTL structure in create_addr_from_peer() to handle the scenario where 't38pt_udptl=yes' is not defined in the [general] section of sip.conf but is defined the peer's context. I tested this patch by enabling t38pt_udptl in the [general] section on one system and only enabling t38pt_udptl in a peer's context on the system sending a fax. Without the patch, the sending system will fail to initiate T38 negotiation with the warning message, "No way to add SDP without an UDPTL structure". When this patch is applied the sending side will successfully initiate T38 negotiation. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176705 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Clear up documentation of AST_FRIENDLY_OFFSET in frame.hmmichelson1-3/+11
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176697 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Recorded merge of revisions 176661 via svnmerge from tilghman0-0/+0
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176661 | tilghman | 2009-02-17 15:21:41 -0600 (Tue, 17 Feb 2009) | 9 lines Backport change to 1.4: Prior to masquerade, move the group definitions to the channel performing the masq, so that the group count lingers past the bridge. (closes issue #14275) Reported by: kowalma Patches: 20090216__bug14275.diff.txt uploaded by Corydon76 (license 14) Tested by: kowalma ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176669 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Update the timing API to have better support for multiple timing interfaces.russell6-137/+180
1) Add module use count handling so that timing modules can be unloaded. 2) Implement unload_module() functions for the timing interface modules. 3) Allow multiple timing modules to be loaded, and use the one with the highest priority value. 4) Report which timing module is being use in the "timing test" CLI command. (closes issue #14489) Reported by: russell Review: http://reviewboard.digium.com/r/162/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176666 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Prior to masquerade, move the group definitions to the channel performing thetilghman1-2/+3
masq, so that the group count lingers past the bridge. (closes issue #14275) Reported by: kowalma Patches: 20090216__bug14275.diff.txt uploaded by Corydon76 (license 14) Tested by: kowalma git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176642 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Significantly improve scheduler performance under high load.russell2-81/+201
This patch changes the scheduler to use a max-heap to store pending scheduler entries instead of a fully sorted doubly linked list. When the number of entries in the scheduler gets large, this will perform much better. For much more detailed information on this change, see the review request. Review: http://reviewboard.digium.com/r/160/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176639 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Add a test module for the heap implementation.russell1-0/+219
Review: http://reviewboard.digium.com/r/160/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176635 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Add an implementation of the heap data structure.russell3-1/+503
A heap is a convenient data structure for implementing a priority queue. Code from svn/asterisk/team/russell/heap/. Review: http://reviewboard.digium.com/r/160/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176632 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Typooej1-1/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176631 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Merge a large set of updates to the Asterisk indications API.russell21-879/+1324
This patch includes a number of changes to the indications API. The primary motivation for this work was to improve stability. The object management in this API was significantly flawed, and a number of trivial situations could cause crashes. The changes included are: 1) Remove the module res_indications. This included the critical functionality that actually loaded the indications configuration. I have seen many people have Asterisk problems because they accidentally did not have an indications.conf present and loaded. Now, this code is in the core, and Asterisk will fail to start without indications configuration. There was one part of res_indications, the dialplan applications, which did belong in a module, and have been moved to a new module, app_playtones. 2) Object management has been significantly changed. Tone zones are now managed using astobj2, and it is no longer possible to crash Asterisk by issuing a reload that destroys tone zones while they are in use. 3) The API documentation has been filled out. 4) The API has been updated to follow our naming conventions. 5) Various bits of code throughout the tree have been updated to account for the API update. 6) Configuration parsing has been mostly re-written. 7) "Code cleanup" The code is from svn/asterisk/team/russell/indications/. Review: http://reviewboard.digium.com/r/149/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176627 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Add assertions in the quest to track down a refcount leak.tilghman2-11/+49
(closes issue #14485) Reported by: davevg git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176592 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Fix a race condition that caused device states to become incorrect for hints.russell2-2/+2
The problem here is that the hint processing code was subscribed to the wrong event type. So, it started processing state for a hint too soon, before the device state cache had been updated. Also, fix a similar bug in app_queue, as it was also subscribed to the wrong event type. (closes issue #14461) Reported by: alecdavis git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176557 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Typooej1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176556 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17If there are no realtime engines, there's no reason to check for realtime ↵oej1-0/+3
families git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176513 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17In this version, we can combine the queries, because we support droppingtilghman1-5/+2
nonexistent columns. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176501 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Merged revisions 176426 via svnmerge from tilghman1-6/+29
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176426 | tilghman | 2009-02-16 18:49:22 -0600 (Mon, 16 Feb 2009) | 10 lines After a 'sip reload', qualifies for realtime peers weren't immediately restarted, instead waiting until the next registration. We're now caching the qualify across a reload/restart and starting the qualify immediately upon loading the peer. (closes issue #14196) Reported by: pdf Patches: 20090120__bug14196_1.4.diff.txt uploaded by pdf (license 663) Tested by: pdf ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176459 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Might want to update the buffer pointer after a realloc (or we crash)tilghman1-0/+6
(closes issue #14485) Reported by: davevg git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176360 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16add support for Siren7 and Siren14 flavors of prompts and music on holdkpfleming1-0/+22
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176356 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 176354 via svnmerge from dvossel1-4/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176354 | dvossel | 2009-02-16 17:30:52 -0600 (Mon, 16 Feb 2009) | 8 lines Fixes issue with AST_CONTROL_SRCUPDATE not being relayed correctly during bridging This should have been committed with rev176247, but I missed it. srcupdate frames no longer break out of the native bridge, but are not being sent to the other call leg either. This fixs that. issue #13749 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176355 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Use the correct list macros for deleting an item from the middle of a list.tilghman1-2/+3
(issue #13777) Reported by: pj Patches: 20090203__bug13777.diff.txt uploaded by Corydon76 (license 14) Tested by: pj git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176320 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 176216 via svnmerge from kpfleming2-24/+44
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176216 | kpfleming | 2009-02-16 15:10:38 -0600 (Mon, 16 Feb 2009) | 3 lines fix a flaw in the ast_string_field_build() family of API calls; these functions made no attempt to reuse the space already allocated to a field, so every time the field was written it would allocate new space, leading to what appeared to be a memory leak. ........ r176254 | kpfleming | 2009-02-16 15:41:46 -0600 (Mon, 16 Feb 2009) | 3 lines correct a logic error in the last stringfields commit... don't mark additional space as allocated if the string was built using already-allocated space ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176255 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 176249,176252 via svnmerge from mmichelson1-14/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176249 | mmichelson | 2009-02-16 15:34:27 -0600 (Mon, 16 Feb 2009) | 14 lines Open the DAHDI pseudo device and set it to be nonblocking atomically Apparently on FreeBSD, attempting to set the O_NONBLOCKING flag separately from opening the file was causing an "inappropriate ioctl for device" error. While I cannot fathom why this would be happening, I certainly am not opposed to making the code a bit more compact/efficient if it also fixes a bug. (closes issue #14482) Reported by: ys Patches: meetme.patch uploaded by ys (license 281) Tested by: ys ........ r176252 | mmichelson | 2009-02-16 15:39:21 -0600 (Mon, 16 Feb 2009) | 3 lines Remove unused variable and make dev-mode compilation happy ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176253 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 175597 via svnmerge from dvossel1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r175597 | dvossel | 2009-02-13 14:11:55 -0600 (Fri, 13 Feb 2009) | 4 lines Fixed iax2 key rotation backwards compatibility Turns key rotation back on by default. Added bit into encryption IE to indicate whether or not key rotation is supported or not. If it is not supported then it is not enabled, which insures backwards compatibility. This eliminates the need for the keyrotate option in iax.conf, so it has been removed. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176248 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Assist proper thread synchronization when stopping the logger thread.mmichelson1-2/+7
I was finding that on my dev box, occasionally attempting to "stop now" in trunk would cause Asterisk to hang. I traced this to the fact that the logger thread was waiting on a condition which had already been signalled. The logger thread also need to be sure to check the value of the close_logger_thread variable. The close_logger_thread variable is only checked when the list of logmessages is empty. This allows for the logger thread to print and free any pending messages before exiting. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176174 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Can't set debug level 2 (intense debugging) unless the syntax matchestilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176138 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Remove chan_features.russell1-572/+0
Review: http://reviewboard.digium.com/r/161/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176100 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Merged revisions 176029 via svnmerge from file1-5/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r176029 | file | 2009-02-16 11:33:53 -0400 (Mon, 16 Feb 2009) | 9 lines Don't have the Via header stored as a stringfield as it can change often during the lifetime of a dialog. This issue crept up with subscriptions on the AA50. When an outgoing NOTIFY is sent a new branch value is created and the Via header is changed to reflect it. Since this was a stringfield a new spot in the pool was used for the value while the old was left untouched/unused. If the current pool was full a new pool was created. This would cause memory usage to increase steadily. (issue #AA50-2332) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176030 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-16Make the causes array static, and remove the type name as it is not needed.russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@175983 f38db490-d61c-443f-a65b-d21fe96a405b