Russell Bryant [Mon, 29 Jan 2007 20:39:20 +0000 (20:39 +0000)]
The session lock can not be held while calling action callbacks. If so, then
when the WaitEvent callback gets called, then no event can happen because the
session can't be locked by another thread. Also, the session needs to be
locked in the HTTP callback when it reads out the output string. This fixes
the deadlock reported in both 8711 and 8934.
Regarding issue 8711, there still may be an issue. If there is a second action
requested before the processing of the first action is finished, there could
still be some corruption of the output string buffer used to build the result.
(issue #8711, #8934)
Steve Murphy [Mon, 29 Jan 2007 17:57:08 +0000 (17:57 +0000)]
this is for 8778 (pt_BR backport to 1.4). It was committed to trunk via 7663. But it wasn't so much an enhancement as a fix for the bad language output for portuguese in Brazil, so, after a lot of prodding from patient Brazilians, here is the same fix for 1.4
Russell Bryant [Mon, 29 Jan 2007 16:54:27 +0000 (16:54 +0000)]
Clean up a few things in the last commit to the adaptive jitterbuffer code.
- Specifically indicate to the compiler that the "dropem" variable only
needs one but.
- Change formatting to conform to coding guidelines.
Jim Dixon [Mon, 29 Jan 2007 04:18:36 +0000 (04:18 +0000)]
Fixed problem with jitterbuf, whereas it would not complain about, and
would allow itself to be overfilled (per the max_jitterbuf parameter). Now
it rejects any data over and above that size, and complains about it.
Joshua Colp [Sat, 27 Jan 2007 00:44:51 +0000 (00:44 +0000)]
Have the manager interface send back an "Already logged in" message instead of "Invalid/Unknown Command" when the client authenticates for a second time. (issue #8509 reported by pari)
Steve Murphy [Wed, 24 Jan 2007 18:26:22 +0000 (18:26 +0000)]
Merged revisions 52002 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r52002 | murf | 2007-01-24 10:43:50 -0700 (Wed, 24 Jan 2007) | 1 line
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
........
Joshua Colp [Wed, 24 Jan 2007 17:59:55 +0000 (17:59 +0000)]
Fix changing channel formats when joint capability changes and there are no audio formats... I didn't break it originally! (issue #8535 reported by ivoc)
Russell Bryant [Wed, 24 Jan 2007 00:59:58 +0000 (00:59 +0000)]
Merged revisions 51843 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r51843 | russell | 2007-01-23 18:57:28 -0600 (Tue, 23 Jan 2007) | 6 lines
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:19:55 +0000 (00:19 +0000)]
Merged revisions 51828 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r51828 | russell | 2007-01-23 18:17:50 -0600 (Tue, 23 Jan 2007) | 4 lines
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)
Russell Bryant [Tue, 23 Jan 2007 22:04:01 +0000 (22:04 +0000)]
Fix some bugs in process_message(). The manager session lock needs to be held
when sending some sort of response, or calling one of the manager action
callbacks. This resolves an issue where people using the GUI would get random
crashes when they start clicking around a lot.
(issue #8711, reported and debugged by zandbelt)
Russell Bryant [Tue, 23 Jan 2007 21:33:15 +0000 (21:33 +0000)]
When traversing the list of manager actions, the iterator needs to be
initialized to the list head *after* locking the list. Also, lock the actions
list in one place it is being accessed where it was not being done.
Steve Murphy [Tue, 23 Jan 2007 18:58:27 +0000 (18:58 +0000)]
via 8748 (callerid.c loses name when returning PRIVATE_NUMBER flag), the user suggested this mod, saying it would allow 'WITHHELD' to appear in the name field, which would be useful
* 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)
........
r50506 | crichter | 2007-01-11 15:45:38 +0100 (Do, 11 Jan 2007) | 1 line
when we get L2 UP, the L1 is UP definitely too, so we set the L1 state up as well.
........
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)
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)
Jason Parker [Sat, 20 Jan 2007 06:53:49 +0000 (06:53 +0000)]
Fix Italian numeral support in say.conf for "_[2-9]00" case.
"2131" would've translated to something along the lines of (pardon my..Italian {or lack thereof})
"duecentocentotrentuno", which makes no sense at all.
Russell Bryant [Fri, 19 Jan 2007 19:08:25 +0000 (19:08 +0000)]
Fix VLDTMF support in chan_gtalk. AST_FRAME_DTMF and AST_FRAME_DTMF_END are
actually the same thing. So, a digit would have been interpreted incorrectly
here. Since the channel driver will always have the begin and end callbacks
called for a digit, only support the button-down and button-up messages.
Russell Bryant [Fri, 19 Jan 2007 17:49:38 +0000 (17:49 +0000)]
Merge the changes from the /team/group/vldtmf_fixup branch.
The main bug being addressed here is a problem introduced when two SIP
channels using SIP INFO dtmf have their media directly bridged. So, when a
DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk
would try to emulate a digit of some length by first sending a DTMF BEGIN
frame and sending a DTMF END later timed off of incoming audio. However,
since there was no audio coming in, the DTMF_END was never generated. This
caused DTMF based features to no longer work.
To fix this, the core now knows when a channel doesn't care about DTMF BEGIN
frames (such as a SIP channel sending INFO dtmf). If this is the case, then
Asterisk will not emulate a digit of some length, and will instead just pass
through the single DTMF END event.
Channel drivers also now get passed the length of the digit to their digit_end
callback. This improves SIP INFO support even further by enabling us to put
the real digit duration in the INFO message instead of a hard coded 250ms.
Also, for an incoming INFO message, the duration is read from the frame and
passed into the core instead of just getting ignored.
Russell Bryant [Fri, 19 Jan 2007 16:56:17 +0000 (16:56 +0000)]
Merged revisions 51300 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r51300 | russell | 2007-01-19 10:44:09 -0600 (Fri, 19 Jan 2007) | 4 lines
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.
Russell Bryant [Thu, 18 Jan 2007 21:54:23 +0000 (21:54 +0000)]
Ensure that the locations given to the Asterisk configure script for ncurses,
curses, termcap, or tinfo are further passed along to the editline configure
script. This fixes some cross-compilation environments.
(issue #8637, reported by ovi, patch by me)
Joshua Colp [Thu, 18 Jan 2007 18:36:35 +0000 (18:36 +0000)]
Copy MOH settings when calling a peer so that if they put someone on hold or get put on hold themselves they get the right music class. (issue #8840 reported by mdu113)
Joshua Colp [Thu, 18 Jan 2007 00:48:55 +0000 (00:48 +0000)]
Build the IMAP remote directory string better and properly. Fix an issue with encoding the GSM voicemail when attaching to the voicemail. (issue #8808 reported by akohlsmith)
Russell Bryant [Wed, 17 Jan 2007 23:31:11 +0000 (23:31 +0000)]
Fix some instances where when loading func_odbc, a double-free could occur.
Also, remove an unneeded error message. If the failure condition is
actually a memory allocation failure, a log message will already be
generated automatically.
Russell Bryant [Wed, 17 Jan 2007 22:09:52 +0000 (22:09 +0000)]
Instead of dividing the offset by 2 directly, make it more clear that the
offset is being scaled by the size of the elements in the buffer.
(Inspired by a discussing on the asterisk-dev list about this code)
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 [Wed, 17 Jan 2007 06:36:41 +0000 (06:36 +0000)]
Return the correct result when directly writing out a packet so that the core doesn't then decide to handle it the regular way again. (issue #8833 reported by rcourtna)
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)
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)
Kevin P. Fleming [Mon, 15 Jan 2007 15:03:06 +0000 (15:03 +0000)]
use the ACX_PTHREAD macro from the Autoconf macro archive for setting up compiler pthreads support... should improve portability to platforms with unusual pthreads requirements
Kevin P. Fleming [Sat, 13 Jan 2007 16:45:37 +0000 (16:45 +0000)]
when building the sample greetings for maibox 1234@default during 'make samples', build a greeting for each language and file format the user selected to install with menuselect (reported by Brian Capouch on asterisk-dev)
Joshua Colp [Sat, 13 Jan 2007 06:00:24 +0000 (06:00 +0000)]
Only write a frame out to the channel if one exists. There are cases where one may not and would therefore cause the channel driver to segfault. (issue #8434 reported by slimey)