If two pattern classes start with the same digit and have the same number of characters, they will compare equal.
The example given in the issue report is that of [234] and [246], which have
these characteristics, yet they are clearly not equivalent. The code still
uses these two characteristics, yet when the two scores compare equal, an
additional check will be done to compare all characters within the class to
verify equality.
(closes issue #15421)
Reported by: jsmith
Patches:
20091109__issue15421__2.diff.txt uploaded by tilghman (license 14)
Tested by: jsmith, thedavidfactor
........
Tilghman Lesher [Tue, 10 Nov 2009 21:22:50 +0000 (21:22 +0000)]
When GOSUB is invoked within an AGI, it may not exit correctly.
(closes issue #16216)
Reported by: atis
Patches:
20091110__atis_work.diff.txt uploaded by tilghman (license 14)
Tested by: atis
Remove broken support for direct transcoding between G.726 RFC3551 and G.726 AAL2.
On some systems the translation core would actually consider g726aal2 -> g726 -> signed linear
to be a quicker path then g726aal2 -> signed linear which exposed this problem.
ExternalIVR uses the D tag for two different event types. This documents that
behavior and how to differentiate between the two cases. Also includes a minor
spelling fix and clarification
Gavin Henry [Tue, 10 Nov 2009 11:16:10 +0000 (11:16 +0000)]
Schema file additions
* Added AsteriskDialplan, AsteriskAccount and AsteriskMailbox objectClasses
to allow standalone dialplan, account and mailbox entries (STRUCTURAL)
* Added new Fields:
- AstAccountLanguage, AstAccountTransport, AstAccountPromiscRedir,
- AstAccountAccountCode, AstAccountSetVar, AstAccountAllowOverlap,
- AstAccountVideoSupport, AstAccountIgnoreSDPVersion
* Removed redundant IPaddr (there's already IPAddress)
- Gives more configuration Flags for SIP-Users available (tested)
- Allows to create Asterisk Attributes in defined Asterisk ObjectClasses
without extensibleObject (which really should be the last resort); gives
also additional possibilities for LDAP-filter
Add the 'relative-periodic-announce' option to app_queue to allow for calculating the time of announcments from the end of the previous announcment rather than from the beginning.
Tilghman Lesher [Mon, 9 Nov 2009 07:37:52 +0000 (07:37 +0000)]
Fix various problems detected with Valgrind.
* chan_console accessed pvts after deallocation.
* cdr_mysql stored a pointer that was freed by realloc()
* The module loader did not check usecount on shutdown, which led to chan_iax2
reading a timer that was already unloaded.
* The event subsystem sometimes creates an event with no IEs. Due to a corner
condition, the code would read beyond the memory boundary.
* res_pktccops did not correctly check whether its monitor thread was started.
(closes issue #16062)
Reported by: alexanderheinz
Patches:
20091109__issue16062.diff.txt uploaded by tilghman (license 14)
Tested by: tilghman
fixes audiohook write crash occuring in chan_spy whisper mode.
After writing to the audiohook list in ast_write(), frames
were being freed incorrectly. Under certain conditions this
resulted in a double free crash.
David Brooks [Fri, 6 Nov 2009 22:07:22 +0000 (22:07 +0000)]
ami_testhooks.c automatically registers hook
ami_testhooks.c was registering for AMI events upon module load. Moved the registration
to its own CLI command. Added CLI command for unregistering the hook. Changed some of
the wording, removed unnecessary arguments/parameters.
Mark Michelson [Fri, 6 Nov 2009 22:00:12 +0000 (22:00 +0000)]
Get chan_ooh323 to compile with gcc 4.2.
For some reason, the code compiles just fine with later versions
of GCC, but this one requires some weird double casting in order
to get rid of all warnings. Whatever.
For reasons not yet known, it appears possible for an ast_frame
to have a datalen greater than zero while the actual data is NULL
during Packet Loss Concealment. Most codecs don't support PLC so
this doesn't affect them. This patch catches the malformed frame
and prevents the crash from occuring. Additional efforts to determine
why it is possible for a frame to look like this are still being
investigated.
Tilghman Lesher [Thu, 5 Nov 2009 21:24:21 +0000 (21:24 +0000)]
MEETME_INFO should not return a literal error message to the dialplan.
(closes issue #15450)
Reported by: JimVanM
Patches:
meetmeinfopatch.diff.txt uploaded by dbrooks (license 790)
Tested by: JimVanM
Jeff Peeler [Thu, 5 Nov 2009 21:23:06 +0000 (21:23 +0000)]
Fix the fix for chanspy option o
In 224178, I assumed the uploaded patch was correct as it had received positive
feedback. The flags were being checked in the incorrect location. Upon testing
the fix this time it was also found that the flags from the dialplan weren't
being copied to the chanspy_translation_helper.
Crash related to chan_misdn connection. Patch submitted by gknispel_proformatique, tested
by francesco_r. "I have many crash since i have upgraded to Asterisk 1.4.27-rc2. Attached
a full bt." This patch zeros out an ast_frame.
Fix incorrect filename comparsion after monitor file change
The logic to detect if a requested file is indeed a different file from the
current file was incorrect. The main issue being confusion of the use of
filename_base which was previously set without pathing information and then
compared to another full path. Robust file comparison logic has been added
to properly check if two files are the same even if symlinks are used.
(closes issue #15313)
Reported by: caspy
Patches:
20091103__issue15313__1.4.diff.txt uploaded by jpeeler (license 325)
but mostly tilghman's work
........
Alexandr Anikin [Wed, 4 Nov 2009 22:10:44 +0000 (22:10 +0000)]
Reworked chan_ooh323 channel module.
Many architectural and functional changes.
Main changes are threading model chanes (many thread in ooh323 stack
instead of one), modifications and improvements in signalling part,
additional codecs support (726, speex), t38 mode support.
This module tested and used in production environment.
Modify the SDP parsing code to parse session and media level items separately.
With the new code, media level proprieties should no longer be confused with session level proprieties. This change also reorganizes some of the SDP parsing code which should make it easier to manage in the future.
Fix a security issue where sending a REGISTER with a differing username in the From
URI and Authorization header would reveal whether it was valid or not.
David Brooks [Tue, 3 Nov 2009 21:26:28 +0000 (21:26 +0000)]
AMI hook interface
This patch, originally submitted by jozza, enables custom modules to send actions to AMI
and receive messages from AMI via a hook interface. Included is a simple test module to
illustrate the interface.
Leif Madsen [Tue, 3 Nov 2009 19:25:18 +0000 (19:25 +0000)]
Additional fixes to the extensions.conf.sample file.
Update the extensions.conf.sample [stdexten] context so that we use the
variable instead of requiring it to be passed explicitly. Also updated uses of
the [stdexten] context throughout.
Olle Johansson [Tue, 3 Nov 2009 16:56:48 +0000 (16:56 +0000)]
Adding some clarifications to func_speex doxygen docs.
The functions needed doesn't exist in Speex 1.05 which is what a lot of distros use.
1.2 seems to have been in beta status for years, and does include the sexy functions needed for func_speex to work.
David Brooks [Mon, 2 Nov 2009 20:59:37 +0000 (20:59 +0000)]
SIP channel name uniqueness
SIP channel names were supposed to be unique by way of a name suffix derived from the
pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but
not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with
a simple incremented unsigned int.
David Brooks [Mon, 2 Nov 2009 20:57:45 +0000 (20:57 +0000)]
SIP channel name uniqueness
SIP channel names were supposed to be unique by way of a name suffix derived from the
pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but
not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with
a simple incremented unsigned int.
Fix a bug where the recorded privacy introduction file would not get removed if the caller hung up
while the called party had not yet answered.
This was fixed by introducing an argument to the 'n' option which, when enabled, removes the introduction
file under all scenarios. This was done to preserve the behavior that has existed for quite some time.
Richard Mudgett [Mon, 2 Nov 2009 17:34:22 +0000 (17:34 +0000)]
DAHDI ISDN channel names will not allow device state to work. (Interim solution.)
Since ISDN works like SIP and not analog ports in regard to devices, the
device state based on the ISDN channel number could not work. This has
not been an issue until the advent of PTMP NT mode. Previously, ISDN
lines were used as trunks and did not have to keep track of specific
devices.
As an interim solution until device states are properly implemented, the
channel name is being changed to the following format to use the generic
device state support:
DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>
Dialplan hints would thus be:
exten => xxx,hint,DAHDI/i2/5551212
This will work with the following restrictions:
* The number of devices/phones cannot exceed the number of B channels.
(i.e., BRI has 2)
* Each device/phone can only have one number. No shared MSN's.
* The phones/devices probably should not use subaddressing.
Don't allow two separate instances of safe_asterisk when restarting from the init script.
(closes issue #14562)
Reported by: davidw
Patches:
Initially 20091022__issue14562.diff.txt uploaded by tilghman (license 14)
Modified to 20091030__Issue14562_diff.txt uploaded by davidw (license 780)
Tested by: davidw
........
Richard Mudgett [Fri, 30 Oct 2009 23:26:41 +0000 (23:26 +0000)]
Cleanup some flags on DAHDI PRI channel hangup.
* Cleanup some flags on DAHDI PRI channel hangup. (sig_pri split)
* Make sure the outgoing flag is cleared if a new channel fails to get
created for outgoing calls.
* Remove some unused flags since sig_pri was split.
Russell Bryant [Fri, 30 Oct 2009 04:08:39 +0000 (04:08 +0000)]
Add an "Asterisk Architecture Overview" section to the doxygen documentation.
This is a side project I've been poking at this week. The intent is to discuss
Asterisk architecture in a top down fashion to help new developers understand how
Asterisk is put together. There is a ton of stuff to write about, so this will
just continue to evolve over time.
Update the documentation in sip.conf.sample in order to make it more clear
that directmedia/canreinvite do not cause Asterisk to ignore reINVITEs. It
is only used to stop Asterisk from generating a reINVITE, but does not stop
it from accepting them if necessary.
Manager output is not always NULL-terminated, so force a NULL at the end of the filestream.
(closes issue #15495)
Reported by: pdf
Patches:
20090916__issue15495.diff.txt uploaded by tilghman (license 14)
Tested by: pdf
........
Joshua Colp [Tue, 27 Oct 2009 13:30:27 +0000 (13:30 +0000)]
Add support for receiving unsolicited MWI NOTIFY messages.
This change adds a configuration option to SIP peers, unsolicited_mailbox, which
configures a virtual mailbox to use for received new/old MWI information. This
virtual mailbox can then be used by any device supporting MWI.
Tzafrir Cohen [Mon, 26 Oct 2009 22:46:09 +0000 (22:46 +0000)]
detect ARM Linux EABI OSARCH as linux-gnu instead of linux-gnueabi
* 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
Merged revisions 225957 via svnmerge from
http://svn.digium.com/svn/asterisk/branches/1.4