Merged revisions 70311 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r70311 | crichter | 2007-06-20 16:47:59 +0200 (Mi, 20 Jun 2007) | 1 line
on receiption of cause:44 we mark the channel as in use and inform the user about the situation, we need to test the RESTART stuff then. Also shuffled the empty_chan_in_stack function after the bchannel cleaning functions, to avoid race conditions.
........
Fixed infinite loop when controlling terminal was lost
and return value of input function wasn't checked for
errors. This would cause 100% cpu to be taken up.
(closes issue #9654, issue #10010)
Reported by: mnicholson, and eserra
Steve Murphy [Fri, 22 Jun 2007 14:10:24 +0000 (14:10 +0000)]
My conditions for merging amaflags info was naive; DOCUMENTATION is the default, although null is possible; theft of user-settable fields is not good. Just copy them, leave them alone.
Steve Murphy [Thu, 21 Jun 2007 22:34:41 +0000 (22:34 +0000)]
Merged revisions 70948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r70948 | murf | 2007-06-21 16:29:50 -0600 (Thu, 21 Jun 2007) | 1 line
This little fix is in response to bug 10016, but may not cure it. The code is wrong, clearly. In a situation where you set the CDR's amaflags, and then ForkCDR, and then set the new CDR's amaflags to some other value, you will see that all CDRs have had their amaflags changed. This is not good. So I fixed it.
........
Russell Bryant [Thu, 21 Jun 2007 21:07:04 +0000 (21:07 +0000)]
If a full frame is received while one of the iax2 threads is in the middle
of handling a full frame for the same call, queue it up for processing by that
same thread later instead of dropping it.
(issue #9937, patch by me)
Steve Murphy [Thu, 21 Jun 2007 20:19:36 +0000 (20:19 +0000)]
Merged revisions 70804 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r70804 | murf | 2007-06-21 13:13:17 -0600 (Thu, 21 Jun 2007) | 1 line
it was pointed out that the cdr_custom config load could get a lock, and under certain circumstances, would never release it. I also noted that the situation where more than one mapping spec was warned about, but did not ignore further mappings as it had promised. I think I have fixed both situations.
........
Russell Bryant [Wed, 20 Jun 2007 18:46:49 +0000 (18:46 +0000)]
Merged revisions 70396 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r70396 | russell | 2007-06-20 13:45:38 -0500 (Wed, 20 Jun 2007) | 5 lines
Fix a problem where an established call would not be properly disconnected
when a PRI disconnect is received depending on which cause code was received.
(issue #9588, original patch by softins, updated patch from jtexter3, and some
additional feedback from mhardeman)
Steve Murphy [Tue, 19 Jun 2007 18:23:23 +0000 (18:23 +0000)]
Merged revisions 70053 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r70053 | murf | 2007-06-19 12:07:59 -0600 (Tue, 19 Jun 2007) | 1 line
This fixes 9246, where channel variables are not available in the 'h' exten, on a 'ZOMBIE' channel. The fix is to consolidate the channel variables during a masquerade, and then copy the merged variables back onto the clone, so the zombie has the same vars that the 'original' has.
........
Russell Bryant [Tue, 19 Jun 2007 16:46:43 +0000 (16:46 +0000)]
Blocked revisions 69990 via svnmerge
........
r69990 | russell | 2007-06-19 11:45:37 -0500 (Tue, 19 Jun 2007) | 12 lines
Backport fix for crashes related to subscriptions from 1.4 ...
Fix a crash that could occur when handing device state changes.
When the state of a device changes, the device state thread tells the extension
state handling code that it changed. Then, the extension state code calls the
callback in chan_sip so that it can update subscriptions to that extension.
A pointer to a sip_pvt structure is passed to this function as the call which
needs a NOTIFY sent. However, there was no locking done to ensure that the pvt
struct didn't disappear during this process.
(issue #9946, reported by tdonahue, patch by me, patch updated to trunk to use
the sip_pvt lock wrappers by eliel)
Russell Bryant [Tue, 19 Jun 2007 15:22:36 +0000 (15:22 +0000)]
Fix a crash that could occur when handing device state changes.
When the state of a device changes, the device state thread tells the extension
state handling code that it changed. Then, the extension state code calls the
callback in chan_sip so that it can update subscriptions to that extension.
A pointer to a sip_pvt structure is passed to this function as the call which
needs a NOTIFY sent. However, there was no locking done to ensure that the pvt
struct didn't disappear during this process.
(issue #9946, reported by tdonahue, patch by me, patch updated to trunk to use
the sip_pvt lock wrappers by eliel)
Add parked call extension AFTER the parking slot has been announced, otherwise two threads will try to handle the same channel and it will go kaboom. (issue #9191 reported by japple)
Set the peer name on the dialog to the one configured in sip.conf and NOT the username to be used for authentication attempts. (issue #9967 reported by achauvin)
Joshua Colp [Mon, 18 Jun 2007 16:51:36 +0000 (16:51 +0000)]
Remember the DNS lookup done when dnsmgr is called for the first time so that it does not needlessly spit out changed messages when the host really didn't change.
Russell Bryant [Mon, 18 Jun 2007 16:35:02 +0000 (16:35 +0000)]
To prevent 92138749238754 more reports of "I have unixodbc installed, but
still can't build *_odbc.so!", check for ltdl directly, instead of just listing
it as another library to include in the unixodbc check in the configure script.
This also makes ltdl show up as a dependency in menuselect so people know what
to go install. (related to issue #9989, patch by me)
Russell Bryant [Mon, 18 Jun 2007 16:15:12 +0000 (16:15 +0000)]
Change the use of "echo -e" to "printf". On systems where /bin/sh is not bash,
most of the lines in menuselect-tree were getting a "-e" at the beginning of
every line. I'm surprised nobody noticed this, but I think the XML parser was
being very nice and ignoring them.
Joshua Colp [Mon, 18 Jun 2007 15:46:32 +0000 (15:46 +0000)]
Few minor transfer tweaks. We can't unlock something we never locked, and better handle a specific scenario with doing an attended transfer between two non-bridged calls.
Russell Bryant [Fri, 15 Jun 2007 20:18:58 +0000 (20:18 +0000)]
Fix a silly deadlock in res_features that I found while debugging on one of
blitzrage's test machines. It was one of the situations where he was seeing
hung channels, and may be the cause of some of the reports from other people.
(related to issue #9235)
Russell Bryant [Fri, 15 Jun 2007 15:27:34 +0000 (15:27 +0000)]
The SLATRUNK_STATUS variable indicated "SUCCESS" for both an answer of the
incoming call on the trunk, or if the trunk reached its ring timeout.
This patch changes the variable to say "RINGTIMEOUT" in that case.
(issue #9973, reported by n00dle, patch by me)
Russell Bryant [Wed, 13 Jun 2007 19:57:38 +0000 (19:57 +0000)]
Move the logic for destroying a call when no response is received to a BYE
outside of the block that checks for FLAG_FATAL to be set. This flag is only
set when the packet is transmitted with the reliability set to XMIT_CRITICAL
when the original packet is transmitted. A BYE is always sent with it set
to XMIT_RELIABLE, meaning this code could never be encountered. This resulted
in seeing some SIP channels that would never go away with the last packet
sent being a BYE.
(part of issue #9235, patch from jcmoore)
Mark Michelson [Wed, 13 Jun 2007 19:41:13 +0000 (19:41 +0000)]
Contains a patch for fixing an encoding problem when using Outlook to view voicemail emails and attachments.
This fix has also been tested on Thunderbird, Evolution, Pine, and Mutt.
(Issue 9336, reported by marwick, patched by mutterc)
Russell Bryant [Tue, 12 Jun 2007 19:40:17 +0000 (19:40 +0000)]
Fix a memory leak pointed out by prashant_jois in #asterisk-bugs. PQclear() was
not called on the result structure after doing a PQexec(). Also, fix up some
formatting in passing.
Russell Bryant [Tue, 12 Jun 2007 19:13:41 +0000 (19:13 +0000)]
In ast_channel_make_compatible(), just return if the channels' read and write
formats already match up. There are code paths that call this function on a
pair of channels multiple times. This made calls fail that were using g729
in some cases. The reason is that codec_g729a will unregister itself from the
list of available translators will all licenses are in use. So, the first
time the function got called, the right translation path was allocated.
However, the second time it got called, the code would not find a translation
path to/from g729 and make the call fail, even if the channel actually already
had a g729 translation path allocated.
Merged revisions 68732 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r68732 | crichter | 2007-06-11 18:49:00 +0200 (Mo, 11 Jun 2007) | 1 line
added check for NULL Pointer when calling misdn_new. Asterisk does not allow us to create channels anymore when stop gracefully is used :). also modified the restart_indicator to 0
........
Merged revisions 68631 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r68631 | crichter | 2007-06-11 11:18:01 +0200 (Mo, 11 Jun 2007) | 1 line
fixed problem that the dummybc chanels had no lock, checking for the lock now. Also fixed the channel restart stuff, we can now specify and restart particular channels too.
........
Don't call ast_waitstream_full when the control file descriptor and audio file descriptor are not set, simply call ast_waitstream! (issue #8530 reported by rickead2000)
Russell Bryant [Thu, 7 Jun 2007 23:14:45 +0000 (23:14 +0000)]
Merged revisions 68351 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r68351 | russell | 2007-06-07 18:13:33 -0500 (Thu, 07 Jun 2007) | 3 lines
Fix a problem where saying a character wouldn't properly break out when the caller pressed '#'
(issue #8113, reported by patbaker82, patch from jamesgolovich (hey, long time no see!) and patbaker82)
some improvements to the IAX2 full frame dropping logic recently added:
- use inaddrcmp(), since we have it
- output the type of frame and subclass being dropped, and the type/subclass that is already being processed (which caused the drop)
Russell Bryant [Thu, 7 Jun 2007 21:16:07 +0000 (21:16 +0000)]
Fix loading persistent queue members when using realtime configuration for queues.
Also, remove an unneeded leading slash for the astdb family.
(issue #9911, patch by atis)