Mark Michelson [Fri, 17 Oct 2008 00:13:35 +0000 (00:13 +0000)]
After a long discussion on #asterisk-bugs, it seems kind of
odd that a channel would be named after the originating port.
For endpoints that always include ":5060" as part
of the From: header, it will mean that you have a ton of
channels with names like "SIP/5060-3ea38a8b."
I am boldly moving forward with this change in trunk, but I'm
not touching other branches with this one since this definitely
would qualify as a behavior change. If there is a problem with
this commit, and I haven't seen the obvious reason why you'd want
to name the channel after the port from which the call originated,
then please feel free to revert this
Reverting changes from commits 150298 and 150301 since
I was mistakenly under the assumption that dialplan functions
*always* required that a channel be present. I need to go
home earlier, I think :)
Don't try to call a dialplan function's read callback from
the manager's GetVar handler if an invalid channel has
been specified. Several dialplan functions, including
CHANNEL and SIP_HEADER, do not check for NULL-ness of
the channel being passed in.
Mark Michelson [Thu, 16 Oct 2008 21:23:38 +0000 (21:23 +0000)]
Change configure script to search for openais in
both /usr/lib and /usr/lib64 since some distros
place 64-bit libraries only in the /usr/lib64
directory.
Mark Michelson [Thu, 16 Oct 2008 20:57:18 +0000 (20:57 +0000)]
INVITES with proxy auth were sent with a different branch
than what was in the invite_branch of a sip_pvt, meaning
that if a CANCEL were sent later, the branch in the CANCEL
would not match the branch in the latest INVITE sent out, leading
to some endpoints responding to the CANCEL with a 481.
Kevin P. Fleming [Thu, 16 Oct 2008 15:02:10 +0000 (15:02 +0000)]
ensure that type=peer entries are only matched on IP/port, not on name (after oej audits all the calls to find_peer() to make sure that forcenamematch is set correctly in each case)
Kevin P. Fleming [Thu, 16 Oct 2008 13:28:56 +0000 (13:28 +0000)]
return this logic to where it used to be, *after* the dialog->needdestroy flag has been determined to be set; otherwise, we generate these debug messages every time we inspect every active dialog
Mark Michelson [Wed, 15 Oct 2008 20:55:42 +0000 (20:55 +0000)]
Make the sip_proxy struct reference counted. This is
necessary to allow for a sip_pvt to maintain a reference
to a sip_peer's outboundproxy even after the peer has
been freed.
An update to the documentation/example of agents.conf.sample with the correct parameter for this feature as defined in chan_agent.c
(closes issue #13709)
........
Tilghman Lesher [Wed, 15 Oct 2008 19:07:39 +0000 (19:07 +0000)]
Permit data fields to contain more than 255 characters.
(closes issue #13631)
Reported by: seanbright
Patches:
20081015__bug13631.diff.txt uploaded by Corydon76 (license 14)
Tested by: blitzrage
Tilghman Lesher [Wed, 15 Oct 2008 16:41:54 +0000 (16:41 +0000)]
When using MALLOC_DEBUG, codec_lpc10 leaks memory, because it matches a library
malloc() with an ast_free (which, of course, doesn't match up with known
allocated memory, so the free fails).
(closes issue #13702)
Reported by: eliel
Patches:
codec_lpc10_lpcini.c uploaded by eliel (license 64)
Olle Johansson [Wed, 15 Oct 2008 13:52:13 +0000 (13:52 +0000)]
Adding a note about a missing part of "kill-the-user" - I got lost in the Ao2 world...
We're going to try to get time to fix this and kpfleming believes that there's code in ao2
so that we can solve it...
Add a tolerance period for sync-triggered audiohooks
so that if packetization of audio is close (but not equal)
we don't end up flushing the audiohooks over small
inconsistencies in synchronization.
Related to issue #13005, and solves the issue
for most people who were experiencing the problem.
However, a small number of people are still experiencing
the problem on long calls, so I am not closing
the issue yet
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