Russell Bryant [Wed, 7 Mar 2007 18:17:07 +0000 (18:17 +0000)]
Fix a problem where the Asterisk channel name could be that of the wrong IAX2
user for a call. This is because the first step of choosing this name is to
look for an IAX2 peer that happens to have the same IP/port number that this
call is coming from and assuming that is it. However, this is not always
correct. So, I have made it change this name after authentication happens
since at that point, we have an exact match.
Russell Bryant [Wed, 7 Mar 2007 00:20:13 +0000 (00:20 +0000)]
If the channels acquired using the manager Redirect action are not up, then
don't attempt to do anything with them. It could lead to weird behavior,
including crashes. (issue #8977)
Steve Murphy [Tue, 6 Mar 2007 22:52:52 +0000 (22:52 +0000)]
Fix for 9220: Eyebeam cannot renew subscriptions for presence info. Reason: re-SUBSCRIBE requests don't include Accept headers, which the rfc says are optional (to put it tersely), (it uses MAY), and luckily, the sip_pvt struct has the format info stored, so we simply leave it if the format is set, and the accept header null.
BJ Weschke [Tue, 6 Mar 2007 15:17:16 +0000 (15:17 +0000)]
Cleanup the Makefile so that we only attempt to include a file when we're building and not 'clean'ing so 'make clean' completes successfully. chan_h323 maintainer: please check to make sure I haven't broken your build target. From: jsmith in #asterisk-dev
Joshua Colp [Thu, 1 Mar 2007 22:19:32 +0000 (22:19 +0000)]
Don't even attempt to optimize things when a proxy channel is involved. It will just explode in weird and unexplaineable ways. (issue #9175 reported by clegall_proformatique)
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)