check specifically for VLDTMF and transcoding support in the system's Zaptel installation, and make only the modules that need those features dependent on them (this will allow building the other Zaptel-using parts of Asterisk against older versions of Zaptel or those on other platforms that haven't caught up yet to the Linux version)
revert this change until a better solution can be found... 'env -i' was not being used properly, but even when changed to do so, this process fails during cross-compilation because the menuselect build still sees 'CC' as set to the cross-compiler
Joshua Colp [Sat, 30 Dec 2006 18:19:57 +0000 (18:19 +0000)]
Use asprintf to build the channel names instead of custom function. I believe the custom function is doing some things that are not portable across all implementations. (issue #8570 reported by hterag & issue #8692 reported by nicolasg)
Joshua Colp [Sat, 30 Dec 2006 05:46:57 +0000 (05:46 +0000)]
If the Packet2Packet bridge is being broken because of a masquerade then attempt to read a frame in so the masquerade actually happens. Otherwise weirdness will occur. (issue #8696 reported by kjotte)
Joshua Colp [Wed, 27 Dec 2006 22:28:46 +0000 (22:28 +0000)]
ast_copy_string is not available when LOW_MEMORY is used and things are being built in the utils directory, so we need to resort to the old method of strncpy. (issue #8579 reported by mottano)
Kevin P. Fleming [Wed, 27 Dec 2006 21:08:30 +0000 (21:08 +0000)]
move extern declaration for this option to a header file where it belongs
provide an initial value for 'languageprefix' option, instead of relying on randomness to provide a useful value
Kevin P. Fleming [Wed, 27 Dec 2006 18:29:13 +0000 (18:29 +0000)]
allow 'show memory' and 'show memory summary' to distinguish memory allocations that were done for caching purposes, so they don't look like memory leaks
Olle Johansson [Wed, 27 Dec 2006 16:49:45 +0000 (16:49 +0000)]
Issue #8575 - Buggy cisco MWI support.
Normally we try not to change our software for bugs in other devices. But in
this case, the Cisco phones are so widespread so we try to implement a fix while
waiting for a bugfix from Cisco.
Olle Johansson [Wed, 27 Dec 2006 16:31:55 +0000 (16:31 +0000)]
- Make sure handle_common_options return 1 when we found a common option
- Move uncommon (only global) option away from handle_common_options
Reported by rizzo. Thanks!
Joshua Colp [Tue, 26 Dec 2006 05:20:08 +0000 (05:20 +0000)]
Get rid of a needless memory allocation and only create a conference structure in find_conf_realtime if data was read from realtime. (issue #8669 reported by robl)
Joshua Colp [Tue, 26 Dec 2006 04:31:58 +0000 (04:31 +0000)]
Add an API call that initializes an RTP structure. We need this because chan_sip is cheeky and uses a temporary RTP structure for codec purposes, and the API calls that are used rely on the lock. (Pointed out on asterisk-dev by Andy Wang)
Russell Bryant [Mon, 25 Dec 2006 05:21:20 +0000 (05:21 +0000)]
Merged revisions 48955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r48955 | russell | 2006-12-25 00:19:48 -0500 (Mon, 25 Dec 2006) | 6 lines
Fix an error introduced by copying and pasting the handling of the >= operator
for the MATH function. If a single equal sign was used as an operator, the
function would treat it is as if it were the >= operator. Now, it properly
handles it as an invalid operator.
(issue #8665, patch by tempest1)
Joshua Colp [Mon, 18 Dec 2006 17:15:49 +0000 (17:15 +0000)]
Put thread into proper list if we abort handling due to an error, and also hold the lock while putting it back into the proper idle list so we don't prematurely get a signal. (issue #8604 reported by arkadia)
Kevin P. Fleming [Sat, 16 Dec 2006 21:14:34 +0000 (21:14 +0000)]
simplify dependency tracking system, using the compiler's built-in method for generating them, and only doing dependency tracking if developer mode is enabled via the configure script
Kevin P. Fleming [Sat, 16 Dec 2006 20:12:41 +0000 (20:12 +0000)]
since we really, really have to have autoconfig.h included before all other headers (especially system headers), the Makefile will now force it to happen (this will fix build problems with files like ast_expr2f.c, where we can't control the inclusion order in the file itself)
Kevin P. Fleming [Sat, 16 Dec 2006 04:25:09 +0000 (04:25 +0000)]
instead of initializing the curl library every time the CURL() function is invoked, do it only once per thread (this allows multiple calls to CURL() in the dialplan for a channel to run much more quickly, and also to re-use connections to the server) (thanks to JerJer for frequently complaining about this performance problem)
Joshua Colp [Fri, 15 Dec 2006 19:55:28 +0000 (19:55 +0000)]
Turn payload_lock into bridge_lock and make it encompass all RTP structure contents that may relate to bridge information, including who we are bridged to.
Joshua Colp [Thu, 14 Dec 2006 17:36:12 +0000 (17:36 +0000)]
Payload values on the RTP structure can change AFTER a bridge has started. This comes from the packet handling of the SIP response when indication that it was answered has been sent. Therefore we need to protect this data with a lock when we read/write. (issue #8232 reported by tgrman)
Joshua Colp [Thu, 14 Dec 2006 03:33:30 +0000 (03:33 +0000)]
Remove direct RTCP bridging. I've come to the conclusion that we should handle this through the core and not just forward it on. Should solve a few bugs.
app_externalivr needs a real silence file, and additional
changes to add silence files into core instead of extra
patch provided by bug 8177 with minor additions.
Joshua Colp [Mon, 11 Dec 2006 21:31:23 +0000 (21:31 +0000)]
Return non-existant callerid handling to that which it was before. In 1.4 and trunk callerid can be allocated but not have any contents so we have to use ast_strlen_zero before passing it to the relevant functions. (issue #8567 reported by pabelanger)
When doing a fork() and exec(), two problems existed (Issue 8086):
1) Ignored signals stayed ignored after the exec().
2) Signals could possibly fire between the fork() and exec(), causing Asterisk
signal handlers within the child to execute, which caused nasty race conditions.
Russell Bryant [Sat, 9 Dec 2006 15:59:42 +0000 (15:59 +0000)]
Use locking when accessing the registrations list. This list is not actually
used very often, so the likelihood of there being a problem is pretty small,
but still possible. For example, if the CLI command to list the registrations
was called at the same time that a reload was occurring and the registrations
list was getting destroyed and rebuilt, a crash could occur.
In passing, go ahead and convert this list to use the linked list macros.
Russell Bryant [Sat, 9 Dec 2006 15:47:01 +0000 (15:47 +0000)]
Blocked revisions 48361 via svnmerge
........
r48361 | russell | 2006-12-09 10:45:37 -0500 (Sat, 09 Dec 2006) | 6 lines
Use locking when accessing the registrations list. This list is not actually
used very often, so the likelihood of there being a problem is pretty small,
but still possible. For example, if the CLI command to list the registrations
was called at the same time that a reload was occurring and the registrations
list was getting destroyed and rebuilt, a crash could occur.
Olle Johansson [Tue, 5 Dec 2006 12:39:30 +0000 (12:39 +0000)]
Updating sip.conf.sample with information about T38 not working
when chan_local or chan_agent is involved in the call.
I don't know how big a fix that would be to solve, but this is
the current state of affairs.
(Chan_sip currently checks if the other side of the bridge
has a SIP tech. We could/should implement another check,
possibly for udptl_write or some flag in the ast_channel
structure).
If the recording in the database is too large, it will fail to retrieve with
an mmap error. Not too sure why this doesn't happen when we put it in the
database, also, but since that doesn't seem to be broken, I'm not going to fix
it (at least until someone reports it). Solution is to ask for the file in
smaller chunks. (Bug 8385)
Revert change from 8016 - this breaks other stuff... Needs further review.
Tip: When you've reported a bug about something and somebody has put up a
patch for it.. It's not a good idea to open a completely new bug and say that
something is broken because of the patch in the other bug - PLEASE mention
something in the bug where the patch was actually created.
If the generic bridge tells us not to retry, and we have a frame to spit out then break the bridge. Props to markit in #asterisk-bugs for bringing this up.