Update the queue with the correct number of calls and
whether the call was completed within the service level
when a transfer takes place. This way, we do not "break"
the leastrecent and fewestcalls strategies by not logging
a call until after the transferred call has ended.
Tilghman Lesher [Tue, 14 Oct 2008 22:38:06 +0000 (22:38 +0000)]
Add additional memory debugging to several core APIs, and fix several memory
leaks found with these changes.
(Closes issue #13505, closes issue #13543)
Reported by: mav3rick, triccyx
Patches:
20081001__bug13505.diff.txt uploaded by Corydon76 (license 14)
Tested by: mav3rick, triccyx
Check correct values in the return of ast_waitfor(); also, get rid of a
possible memory leak.
(closes issue #13658)
Reported by: explidous
Patch by: me
........
Tilghman Lesher [Tue, 14 Oct 2008 15:15:45 +0000 (15:15 +0000)]
API differences in spandsp 0.0.6pre1 and higher
(closes issue #13688)
Reported by: irroot
Patches:
app_fax-span6.patch uploaded by irroot (license 52) with minor modifications by me
on Ubuntu (at least), recent versions of ld in binutils delete all debugging symbols when -x is supplied; since the reasons why -x is being passed are lost in the mists of time, remove it so debugging will work properly
........
Kevin P. Fleming [Tue, 14 Oct 2008 09:31:50 +0000 (09:31 +0000)]
ensure that *all* fields in the req structure are cleared out before reusing it; has_to_tag was not cleared, which caused the second incoming call over a TCP socket to fail if pedantic checking was enabled
Tilghman Lesher [Tue, 14 Oct 2008 00:08:52 +0000 (00:08 +0000)]
Merge realtime_update2 branch, which adds a new realtime API call named
'update2', which permits updates which match across multiple columns, instead
of requiring all tables to have a single unique identifier. All of the other
API calls with the exception of 'update' already had the ability to match on
multiple fields, so it was a missing and very desireable feature that an API
call implementing an update should have this, too.
This does not change any outward performance of Asterisk, but it should make
life easier for application developers who use the RealTime framework.
Steve Murphy [Mon, 13 Oct 2008 17:14:38 +0000 (17:14 +0000)]
Hmmm. Nobody (but me) is interested in seeing
the trie info when they do 'dialplan show ...'
(even with debug set to non-zero); so I set up a
'dialplan debug [context]' cli command instead,
to explicitly show just the trie info. I even
added an extension_exists() call to make sure the
trie info is built. I moved the explanatory header
to above the extension loop to ensure it only prints
once. And it will do this now, whether debug is set
or not.
I removed the trie printing from the 'dialplan show'
command entirely.
Mark Michelson [Fri, 10 Oct 2008 21:21:45 +0000 (21:21 +0000)]
The logic used when checking a peer got changed subtly
in the "kill the user" commit and caused calls relying
on the insecure setting to not work properly. I changed
for finding a peer back to how it was prior to that
commit.
Mark Michelson [Fri, 10 Oct 2008 21:18:10 +0000 (21:18 +0000)]
Make sure that the inUse and inRinging fields for
a sip peer cannot go below zero. This is a regression
from 1.4 and so it will be applied to 1.6.0 as well.
Tilghman Lesher [Fri, 10 Oct 2008 18:31:38 +0000 (18:31 +0000)]
Add keyword "same", which allows you to create multiple steps in a dialplan,
without needing to respecify an extension pattern multiple times.
(closes issue #13632)
Reported by: blitzrage
Patches:
20081006__bug13632.diff.txt uploaded by Corydon76 (license 14)
Tested by: blitzrage, Corydon76
User not notified of temporary greeting, if ODBC storage is in use.
(closes issue #13659)
Reported by: moliveras
Patches:
20081009__bug13659.diff.txt uploaded by Corydon76 (license 14)
Tested by: moliveras
........
Sean Bright [Fri, 10 Oct 2008 00:42:13 +0000 (00:42 +0000)]
Don't include logger.h in asterisk.h by default as it is causing problems building
app_voicemail. Instead, include it where it is needed. This turned out to be a
relatively minor issue because other headers include logger.h as well.
Need to test -addons before merging this back to 1.6.0.
Mark Michelson [Thu, 9 Oct 2008 23:54:59 +0000 (23:54 +0000)]
The priority was unnecessary for the manager atxfer, so it has
been removed. Furthermore, now we actually use the Context argument
passed to set the transfer context and don't error out if no
context is specified.
This addresses the actual problems outlined in issue 12158. Regarding
the other points brought up, regarding the inability to not transfer
to extensions which cannot be represented by DTMF, it is not enough of
a constraint that it is worth attempting to rework the feature.
This change prevents a call that is placed in the parkinglot to be picked up before the PBX is finished. If another extension dials the parking extension before the PBX thread has completed at minimum warnings will occur about the PBX not properly being terminated. At worst, a crash could occur.
This change prevents a call that is placed in the parkinglot to be picked up before the PBX is finished. If another extension dials the parking extension before the PBX thread has completed at minimum warnings will occur about the PBX not properly being terminated. At worse, a crash could occur.
Tilghman Lesher [Thu, 9 Oct 2008 17:46:15 +0000 (17:46 +0000)]
Remove "second form" of extensions, as it no longer applies. Also, cleanup
the grammar, formatting, and introduce several clarifications to the text.
(Closes issue #13654)
1. replaced all refs to bzero and bcopy to memset and memmove instead.
2. added a note to the CODING-GUIDELINES
3. add two macros to asterisk.h to prevent bzero, bcopy from creeping
back into the source
4. removed bzero from configure, configure.ac, autoconfig.h.in
when parsing a text configuration option, ensure that the buffer on the stack is actually large enough to hold the legal values of that option, and also ensure that sscanf() knows to stop parsing if it would overrun the buffer (without these changes, specifying "buffers=...,immediate" would overflow the buffer on the stack, and could not have worked as expected)
........
Tilghman Lesher [Wed, 8 Oct 2008 19:08:32 +0000 (19:08 +0000)]
Correct a typo in the help; also, ensure that the date and time are correctly
set, if not specified in the message.
(Closes issue #13594, closes issue #13595)
Reported by: alecdavis
Patches:
20081001__bug13595.diff.txt uploaded by Corydon76 (license 14)
Tested by: alecdavis
Sean Bright [Tue, 7 Oct 2008 18:00:14 +0000 (18:00 +0000)]
This was flawed. The issue that I was trying to address was addressed by
adding the imapsecret alias for imappassword. Will rethink this one and
give it another shot on a rainy day TBD.
Sean Bright [Tue, 7 Oct 2008 16:40:24 +0000 (16:40 +0000)]
There was a boo-boo in TFOT that is causing some confusion on the mailing lists
so include 'imapsecret' as an alias to 'imappassword' (and print a little notice
nudging users toward the right option name).
Jeff Peeler [Tue, 7 Oct 2008 16:04:45 +0000 (16:04 +0000)]
Explicitly setting these fields to NULL was done because I wasn't sure if they would be NULL otherwise. Since they will be set automatically, removing.
Sean Bright [Tue, 7 Oct 2008 12:01:36 +0000 (12:01 +0000)]
Make sure to compare the correct number of characters when special-casing
our DAHDI operator mode stuff. Technically, it would work fine, as 'DAH'
is currently unique amongst our channel technologies, but as Jared points
out:
<@jsmith> Sure... as long as the technology starts whith DAH.... but
it could be DAHDOO!
Terry Wilson [Tue, 7 Oct 2008 00:02:19 +0000 (00:02 +0000)]
A blind transfer to the parking thread would cause a segfault because copy_request accesses dst->data w/o being able to tell whether it is proerly initialized
Jeff Peeler [Mon, 6 Oct 2008 22:26:25 +0000 (22:26 +0000)]
This commit squashes together three commits because the wrong approach was originally used. (One of the commits was only one line.)
1) r143204:
The main change here was to masquerade the channel if the channel that was to be parked was running a PBX on it. The PBX thread can then maintain full control of the channel (the zombie) as it expects to while allowing the parking thread full control of the real (parked) channel.
2) r143270:
Changed park_call_full to hold the parkinglot lock a little longer, which protects the parkeduser struct from being freed out from underneath. Made sure that the parking extension is added to the parking context while holding the lock thereby ensuring that there are no spurious warnings from removal attempts when a hangup occurs while the parking lot is being announced.
3) r143475: (the one liner)
compare peer and chan instead of looking at the parked user (pu), which could have possibly already have been freed by the parking thread
Jeff Peeler [Mon, 6 Oct 2008 22:03:01 +0000 (22:03 +0000)]
Explicitly set args in park_call_exec NULL so in the case of no options being passed in, there
is no garbage attempted to be used. Also, do not set args to unknown value again if there are
no options passed in.
Dialplan functions should not actually return 0, unless they have modified the
workspace. To signal an error (and no change to the workspace), -1 should be
returned instead.
(closes issue #13340)
Reported by: kryptolus
Patches:
20080827__bug13340__2.diff.txt uploaded by Corydon76 (license 14)
........
Check whether an extension exists in the _call method, rather than the _alloc
method, because we need to evaluate the callerid (since that data affects
whether an extension exists).
(closes issue #13343)
Reported by: efutch
Patches:
20080915__bug13343.diff.txt uploaded by Corydon76 (license 14)
Tested by: efutch
........
Mark Michelson [Mon, 6 Oct 2008 15:29:56 +0000 (15:29 +0000)]
This commit introduces a change to how the "joinempty"
and "leavewhenempty" options are configured in queues.conf.
Instead of using vague terms like "yes," "no," "loose," and
"strict," we now accept a comma-separated list of values
to determine when to consider a member available.
Extended details can be found in the queues.conf.sample
file. Note also that the above four referenced values are
still accepted for backwards-compatibility, but are mapped
internally to the new method of representing the option.
Sean Bright [Sun, 5 Oct 2008 01:59:14 +0000 (01:59 +0000)]
This is far from optimal, but I just found a FreeBSD system without
md5 installed on it. So look around for all of the different binaries
that we could possibly use. I'd wager this gets completely replaced
by someone else in less than 24 hours... :)
Sean Bright [Sat, 4 Oct 2008 16:20:31 +0000 (16:20 +0000)]
Fix a bug with the last item in CLI history getting duplicated when
read from the .asterisk_history file (and subsequently being duplicated
when written). We weren't checking the result of fgets() which meant
that we read the same line twice before feof() actually returned non-
zero.
Also, stop writing out an extra blank line between each item in the
history file, fix a minor off-by-one error, and use symbolic constants
rather than a hardcoded integer.
Sean Bright [Sat, 4 Oct 2008 01:54:44 +0000 (01:54 +0000)]
Add ability to remotely reboot snom phones. Also cleaned up and
reorganized sip_notify.conf.sample a bit as well. Tested snom
reboot on snom 360 and verified snom-check-cfg worked as well.
Sean Bright [Fri, 3 Oct 2008 22:10:18 +0000 (22:10 +0000)]
Resolve a subtle bug where we would never successfully be able to get
the first item in the CLI entry list. This was preventing '!' from
showing up in either 'help' or in tab completion.