Russell Bryant [Mon, 26 Feb 2007 00:34:31 +0000 (00:34 +0000)]
Ensure that lock.h is included in utils.c with AST_API_MODULE defined so that
the implementations will be properly included when the AST_INLINE_API functions
are not going to be inlined. (issue #9124, festr)
Russell Bryant [Fri, 23 Feb 2007 23:20:55 +0000 (23:20 +0000)]
Fix up a couple more signal handlers to not do bad things that could cause
various undesirable results. The other day, I made Asterisk deadlock by
hitting Control-C because of a bad signal handler. Now, signal handlers
just set a flag and write to an alert pipe for the flag to be handled. Then,
there is another thread that is monitoring for these flags. If being run in
console mode, it is just the main thread. If Asterisk is in the background,
a thread is created to do it.
Russell Bryant [Fri, 23 Feb 2007 20:17:56 +0000 (20:17 +0000)]
Don't destroy mutexes before unregistering all of the entry points from the core.
Also, fix a potential memory leak from not destroying the locks for all of the
possible call numbers (about 32k of them).
Joshua Colp [Wed, 21 Feb 2007 20:32:16 +0000 (20:32 +0000)]
Change naughty warning message to provide useful information. If a write now fails on a channel in meetme it will tell you the channel name instead of spitting out the wrong error message.
Russell Bryant [Wed, 21 Feb 2007 00:19:14 +0000 (00:19 +0000)]
Fix random crashes when using the MeetMe application. This patch converts list
handling to use the linked list macros and most importantly, implements
reference counting on the ast_conference objects. The reference counting was
first backported from 1.4. However, that code has some problems that caused
the reference count to never hit zero. Those problems are fixed in this patch
and will be resolved in 1.4 and trunk next, with a different patch.
Joshua Colp [Tue, 20 Feb 2007 22:39:14 +0000 (22:39 +0000)]
Defer clearing callback information if channels are up until they are hung up. This ensures the hangup process goes smoothly and no channels get hung in limbo. (issue #8088 reported by kebl0155)
Joshua Colp [Sat, 17 Feb 2007 01:09:50 +0000 (01:09 +0000)]
Allow chan_sip to handle attended transfers from a SIP phone that is sitting behind chan_agent. Yes folks, all it took was one line of code. (issue #8784 reported by pzieba)
Russell Bryant [Fri, 16 Feb 2007 22:48:22 +0000 (22:48 +0000)]
Revert the change I did in revisions 54955, 54969, and 54970, in 1.2, 1.4,
and trunk. I decided that once a conference is created from meetme.conf,
it is acceptable behavior that the pin can not be changed until the
conference goes away. I also added a note in meetme.conf to describe this
behavior.
We still have another issue in 1.4 and trunk where some conferences with no
users don't go away. That is the real bug that needs to be addressed here.
Joshua Colp [Fri, 16 Feb 2007 22:13:45 +0000 (22:13 +0000)]
Do not send indications through ast_indicate in chan_agent but instead go directly to the technology. This way when indications are emulated they happen on the Agent channel and do not screw up formats on the channels. (issue #8439 reported by punkgode)
Russell Bryant [Fri, 16 Feb 2007 20:56:58 +0000 (20:56 +0000)]
For conferences that are configured in meetme.conf, check the configuration
file every time someone joins the conference instead of only when the
conference is first created. This is to ensure that changes to the pin
numbers in the config file are always honored. (issue #9073)
Russell Bryant [Sat, 3 Feb 2007 20:38:13 +0000 (20:38 +0000)]
set the DIALSTATUS variable to contain "INVALIDARGS" when the dial application
exits early because of invalid arguments instead of just leaving it empty.
(issue #8975)
Joshua Colp [Fri, 2 Feb 2007 16:58:09 +0000 (16:58 +0000)]
Pass the glob expanded filename to process_text_line so that error messages contain the actual filename, not the original include one. (issue #8959 reported by tzafrir)
Russell Bryant [Tue, 30 Jan 2007 19:41:52 +0000 (19:41 +0000)]
Don't print a message indicating that we don't know what to do with a proceeding
control frame in ast_request_and_dial(). We just need to ignore it.
(reported by JerJer on #asterisk-dev)
Russell Bryant [Tue, 30 Jan 2007 17:12:04 +0000 (17:12 +0000)]
The SIGHUP handler was implemented to allow admins to send SIGHUP to a running
Asterisk process to reload the configuration. However, doing the actual reload
in the signal handler itself is a very bad thing to do, because the reload
process includes calling non-reentrant functions such as malloc/calloc/etc.
If Asterisk is running in the background, then the reload will happen
immediately. However, if running in console mode, the reload doesn't work
until something is typed at the console. That sort of defeats the purpose,
but I don't see an easy way to get around it at this point.
Russell Bryant [Tue, 30 Jan 2007 15:35:23 +0000 (15:35 +0000)]
Comment out the parts in the Makefile that make codec_zap get built. It will
not yet build against zaptel 1.2, so I am disabling it to prevent further bug
reports until it gets merged.
(issue #8940)
Russell Bryant [Tue, 30 Jan 2007 00:15:06 +0000 (00:15 +0000)]
Fix the extraction of the timestamp from video frames. It was using the
mapping for a mini-frame instead of a video-frame, which caused it to
get invalid data.
(issue #8795, mihai)
Joshua Colp [Mon, 29 Jan 2007 23:39:39 +0000 (23:39 +0000)]
Now that filename is part of the structure and since it comes before postprocess... we have to add it to our postprocess line. (reported on asterisk-dev by Boris Bakchiev)
Steve Murphy [Wed, 24 Jan 2007 17:43:50 +0000 (17:43 +0000)]
updated check_expr via 8322 (refactoring of expression checking impl); elfring contributed a nice code reorg, I contributed some time to get it working again, better messages
Russell Bryant [Wed, 24 Jan 2007 00:57:28 +0000 (00:57 +0000)]
Fix an issue related to synchronization of recordings when using Monitor().
The bug is a miscalculation of the amount to seek the stream for writing to
disk when the number of samples coming in and out of a channel do not match up.
(issue #8298, #8887, report and patch by guillecabeza, patch files created and
testing done by whoiswes)
Russell Bryant [Wed, 24 Jan 2007 00:17:50 +0000 (00:17 +0000)]
Don't set a new value for the END_ variable on the channel before using the
old value. If you do, it will lead to accessing a memory address that has
been free()'d. (issue #8895, arkadia)
Joshua Colp [Mon, 22 Jan 2007 19:08:52 +0000 (19:08 +0000)]
Move filestream creation to Mixmonitor loop. This will prevent a blank file from being created if no frames ever pass through to be recorded. (issue #7589 reported by steve_mcneil)
Joshua Colp [Mon, 22 Jan 2007 16:23:03 +0000 (16:23 +0000)]
Explicitly declare what codecs are supported by default globally since using a bitmask for all may include ones we don't need. (issue #8357 reported by gknispel_proformatique)
Russell Bryant [Fri, 19 Jan 2007 16:44:09 +0000 (16:44 +0000)]
Fix a memory leak on command line tab completion. The container for the
matches was freed, but the individual matches themselves were not.
(issue #8851, arkadia)
issue 7877: chan_zap module reload does not use default/initialized values on subsequent loads. Reset configuration variables to default values prior to parsing configuration file.
Tilghman Lesher [Wed, 17 Jan 2007 20:52:21 +0000 (20:52 +0000)]
When ast_strip_quoted was called with a zero-length string, it would treat a
NULL as if it were the quoting character (and would thus return the string
in memory immediately following the passed-in string).
Joshua Colp [Tue, 16 Jan 2007 17:36:50 +0000 (17:36 +0000)]
Return previous behavior. ParkedCalls will be able to do DTMF based transfers again. trunk however will get an option to allow this to be set on/off. (issue #8804 reported by nortex)
Joshua Colp [Tue, 16 Jan 2007 05:53:31 +0000 (05:53 +0000)]
Add none as a valid callgroup/pickupgroup option. I consider it a bug that it would inherit it all the way down and not have any way to reset it to nothing - so that's why it is in 1.2. (issue #8296 reported by gkloepfer)
* more additions to make the RESTART message work
* added fix for misdn_call to allow SETUPs with empty
extensions, replaced the strtok_r functions with strsep for that
(inspired by Sandro Cappellazzo, thanks)
more fixes regarding warnings for gcc-4 and first additions for the restart Information element, in the first step we initiate a restart with a CLI command
Joshua Colp [Wed, 10 Jan 2007 04:51:06 +0000 (04:51 +0000)]
Add another return value to dial_exec_full that indicates execution is going to continuing at a new extension/context/priority and to just let it slide. (issue #8598 reported by jon)
Russell Bryant [Wed, 10 Jan 2007 02:16:45 +0000 (02:16 +0000)]
Make the number that represents the major version number a single digit instead
of 2. Using two digits makes it an octal number when put into version.h, which
breaks the compilation of any out of tree module that checks the version for
any version after 1.2.7 (reported by Matteo Brancaleoni on the asterisk-dev
mailing list, who gave credit to vihai for pointing it out)
Tilghman Lesher [Tue, 9 Jan 2007 13:30:04 +0000 (13:30 +0000)]
The advent of realtime has enabled people to use commas in the fullname field.
This could cause an issue with sending voicemails, when the field is unquoted.
(Issue 8595)
* Added check for bridging in misdn_call to avoid setting echocancellation
when 2 mISDN channels are involved and when bridging is set. That lead
to a kernel panic before under different situations, because we switched
about 2 times between hardware bridging and echocancelation
* readded MISDN_URATE variable which got lost before, this should make app_v110
work again
* fixed typo
added check for channel ranges in the set/empty channel functions. set pmp_l1_check default to no. added misdn restart pid cli command. added cleaning of channel when we send a RELEASE_COMPLETE.
Russell Bryant [Mon, 25 Dec 2006 05:19:48 +0000 (05:19 +0000)]
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)