Age | Commit message (Collapse) | Author | Files | Lines |
|
(closes issue #14979)
Reported by: pj
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190726 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
present.
This commit stops a warning message (user_data is NULL) from getting output when
manager events get sent before manager is initialized. This happens because manager
is initialized *after* modules are loaded and the act of loading modules triggers
manager events.
(issue #14974)
Reported by: pj
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190586 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Adds option to specify a private key .pem file when configuring TLS or SSL in AMI, HTTP, and SIP. Before this, the certificate file was used for both the public and private key. It is possible for this file to hold both, but most configurations allow for a separate private key file to be specified. Clarified in .conf files how these options are to be used. The current conf files do not explain how the private key is handled at all, so without knowledge of Asterisk's TLS implementation, it would be hard to know for sure what was going on or how to set it up.
Review: http://reviewboard.digium.com/r/234/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190545 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
There is a lot that could be said about this, but the patch is a big
improvement for performance, stability, code maintainability,
and ease of future code development.
The channel list is no longer an unsorted linked list. The main container
for channels is an astobj2 hash table. All of the code related to searching
for channels or iterating active channels has been rewritten. Let n be
the number of active channels. Iterating the channel list has gone from
O(n^2) to O(n). Searching for a channel by name went from O(n) to O(1).
Searching for a channel by extension is still O(n), but uses a new method
for doing so, which is more efficient.
The ast_channel object is now a reference counted object. The benefits
here are plentiful. Some benefits directly related to issues in the
previous code include:
1) When threads other than the channel thread owning a channel wanted
access to a channel, it had to hold the lock on it to ensure that it didn't
go away. This is no longer a requirement. Holding a reference is
sufficient.
2) There are places that now require less dealing with channel locks.
3) There are places where channel locks are held for much shorter periods
of time.
4) There are places where dealing with more than one channel at a time becomes
_MUCH_ easier. ChanSpy is a great example of this. Writing code in the
future that deals with multiple channels will be much easier.
Some additional information regarding channel locking and reference count
handling can be found in channel.h, where a new section has been added that
discusses some of the rules associated with it.
Mark Michelson also assisted with the development of this patch. He did the
conversion of ChanSpy and introduced a new API, ast_autochan, which makes it
much easier to deal with holding on to a channel pointer for an extended period
of time and having it get automatically updated if the channel gets masqueraded.
Mark was also a huge help in the code review process.
Thanks to David Vossel for his assistance with this branch, as well. David
did the conversion of the DAHDIScan application by making it become a wrapper
for ChanSpy internally.
The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.
Review: http://reviewboard.digium.com/r/203/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190423 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #14895)
Reported by: chris-mac
Patches:
20090423__bug14895__2.diff.txt uploaded by tilghman (license 14)
Tested by: lmadsen
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190352 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #10961)
Reported by: ys
Patches:
digest_auth_r148468_v5.diff uploaded by ys (license 281)
SVN branch http://svn.digium.com/svn/asterisk/team/group/manager_http_auth
Tested by: ys, twilson, tilghman
Review: http://reviewboard.digium.com/r/223/
Reviewed by: tilghman,russellb,mmichelson
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190349 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
There seems to be a bug with old versions of g++ that doesn't allow a structure
member to use the name list. Rename list member to group_list in ast_group_info
and change the few places it is used.
(closes issue #14790)
Reported by: stuarth
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190057 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189951 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
This is not just because mmichelson suggested it, but also because Mac OS X puked on my poll().
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189539 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r189391 | dbailey | 2009-04-20 14:10:56 -0500 (Mon, 20 Apr 2009) | 4 lines
Clean up problem with manager implementation of mmap where it was not testing against MAP_FAILED response.
Got rid of shadowed variable used in processign the mmap results.
Change test of mmap results to compare against MAP_FAILED
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189419 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r189277 | mmichelson | 2009-04-20 09:04:41 -0500 (Mon, 20 Apr 2009) | 12 lines
Move the check for chan->fdno == -1 to after the zombie/hangup check.
Many users were finding that their hung up channels were staying up and
causing 100% CPU usage.
(issue #14723)
Reported by: seadweller
Patches:
14723_1-4-tip.patch uploaded by mmichelson (license 60)
Tested by: falves11, bamby
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189278 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189077 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r189009 | mnicholson | 2009-04-17 10:43:09 -0500 (Fri, 17 Apr 2009) | 5 lines
Make Busy() application set the CDR disposition to BUSY.
(closes issue #14306)
Reported by: cristiandimache
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189010 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Nothing major though.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@188942 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
1. Differentiate between literal characters in an extension
and characters that should be treated as a pattern match. Prior to
these fixes, an extension such as NNN would be treated as a pattern,
rather than a literal string of N's.
2. Fixed the logic used when matching an extension with a bracketed
expression, such as 2[5-7]6.
3. Removed all areas of code that were executed when NOT_NOW was
#defined. The code in these areas had the potential to crash, for
one thing, and the actual intent of these blocks seemed counterproductive.
4. Fixed many many coding guidelines problems I encountered while looking
through the corresponding code.
5. Added failure cases and warning messages for when duplicate extensions
are encountered.
6. Miscellaneous fixes to incorrect or redundant statements.
(closes issue #14615)
Reported by: steinwej
Tested by: mmichelson
Review: http://reviewboard.digium.com/r/194/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@188901 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r188582 | mmichelson | 2009-04-15 15:04:20 -0500 (Wed, 15 Apr 2009) | 7 lines
Update ast_readvideo_callback to match ast_readaudio_callback.
This fixes potential refcount errors that may occur on ast_filestreams.
AST-208
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@188585 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Note: Update h.323 with the recent changes too
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@188283 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
pipes, but not commas.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@188210 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
The code will now only change the address and port. It will not overwrite any other values.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187773 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187772 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
cid_number.
This also fixes a small memory leak.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187680 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
much better solution will be used
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187636 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187599 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
The F option to app_dial has been modified to accept no parameters and perform
the above functionality. I don't see anywhere else that is doing function
overloading, but this really is the best place for this operation because:
- It makes it close to the 'g' option in the argument list which provides
similar functionality.
- The existing code to support the current F option provides a very
convienient location to add this new feature.
(closes issue #12381)
Reported by: michael-fig
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187491 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r187428 | tilghman | 2009-04-09 13:08:20 -0500 (Thu, 09 Apr 2009) | 8 lines
Race condition between ast_cli_command() and 'module unload' could cause a deadlock.
Add lock timeouts to avoid this potential deadlock.
(closes issue #14705)
Reported by: jamessan
Patches:
20090320__bug14705.diff.txt uploaded by tilghman (license 14)
Tested by: jamessan
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187483 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
This was accomplished using a set of options and the setoption channel callback.
The core calls into the channel driver using these options and the channel driver
either returns success or failure.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187360 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r187300 | tilghman | 2009-04-08 23:31:38 -0500 (Wed, 08 Apr 2009) | 3 lines
Add debugging mode for diagnosing file descriptor leaks.
(Related to issue #14625)
........
r187301 | tilghman | 2009-04-08 23:32:40 -0500 (Wed, 08 Apr 2009) | 2 lines
Oops, missed this file in the last commit.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187302 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
events, so that they can be fed into external processes for analysis and possible mitigation efforts
(inspired by this evening's Toronto Asterisk Users Group meeting and previous dicussions amongst various community members)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187269 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
The biggest change done here was elimination of the backup_config for use with
features. Previously, the bridging code upon detecting a feature would set the
start time of the bridge to the start time of the feature. Then after the
feature had either expired or timed out the start time would be reset to the
true bridge start time from the backup_config. Now, the time differences are
calculated with respect to the newly added feature_start_time timeval instead.
There should be no behavior changes from the previous functionality aside from
the bridge timing being unaffected by either valid or partial feature matches.
Previously the timing would be increased by the length of time configured for
featuredigittimeout, which was probably never noticed.
(closes issue #14503)
Reported by: KNK
Tested by: jpeeler
Review: http://reviewboard.digium.com/r/179/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187211 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187108 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
as errors when they are not.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187036 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r186984 | mmichelson | 2009-04-08 10:26:46 -0500 (Wed, 08 Apr 2009) | 24 lines
Make a couple of changes with regards to a new message printed in ast_read().
"ast_read() called with no recorded file descriptor" is a new message added
after a bug was discovered. Unfortunately, it seems there are a bunch of places
that potentially make such calls to ast_read() and trigger this error message
to be displayed. This commit does two things to help to make this message appear
less.
First, the message has been downgraded to a debug level message if dev mode is
not enabled. The message means a lot more to developers than it does to end users,
and so developers should take an effort to be sure to call ast_read only when
a channel is ready to be read from. However, since this doesn't actually cause an
error in operation and is not something a user can easily fix, we should not spam
their console with these messages.
Second, the message has been moved to after the check for any pending masquerades.
ast_read() being called with no recorded file descriptor should not interfere with
a masquerade taking place.
This could be seen as a simple way of resolving issue #14723. However, I still want
to try to clear out the existing ways of triggering this message, since I feel that
would be a better resolution for the issue.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186985 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
doxyref.h was created to hold miscellaneous documentation that was not specific
to a part of the code. This file has grown quite a bit so I decided to start
splitting parts of it out into new files. Now, you can drop a new file into
include/asterisk/doxygen/ and it will be processed by doxygen.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186953 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r186832 | mmichelson | 2009-04-07 18:49:49 -0500 (Tue, 07 Apr 2009) | 8 lines
Set the AST_FEATURE_WARNING_ACTIVE flag when a p2p bridge returns AST_BRIDGE_RETRY.
Without this flag set, warning sounds will not be properly played to either party
of the bridge.
(closes issue #14845)
Reported by: adomjan
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186833 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r186719 | mmichelson | 2009-04-07 15:43:49 -0500 (Tue, 07 Apr 2009) | 6 lines
Ensure that \r\n is printed after the ActionID in an OriginateResponse.
(closes issue #14847)
Reported by: kobaz
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186720 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(issue #14827)
Reported by: pj
Patches:
14827.diff uploaded by file (license 11)
Tested by: pj
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186563 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Asterisk.
The channel drivers which have been most heavily tested with these enhancements are
chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
introduced in a later commit. chan_skinny has code added to it here, but according
to user pj, the support on chan_skinny is not working as of now. This will be fixed in
a later commit.
A special thanks goes out to bugtracker user gareth for getting the ball rolling and
providing the initial support for this work. Without his initial work on this, this would
not have been nearly as painless as it was.
This functionality has been tested by Digium's product quality department, as well as a
customer site running thousands of calls every day. In addition, many many many many bugtracker
users have tested this, too.
(closes issue #8824)
Reported by: gareth
Review: http://reviewboard.digium.com/r/201
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186525 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
call.
This API call now waits for a special frame from the underlying channel driver to
indicate success or failure. This allows the return value to truly convey whether
the transfer worked or not. In the case of the Transfer() dialplan application this
means the value of the TRANSFERSTATUS dialplan variable is actually true.
(closes issue #12713)
Reported by: davidw
Tested by: file
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186382 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
ast_translate.
audio_audiohook_write_list() did not take into account that the sample size may change after translation depending on if the original frame is is 8khz or 16khz. the sample size is now updated after translating to reflect this possibility. This caused the audio on the receiving end to sound terrible. Thanks to jcolp and mmichelson for helping me work this out.
(issue AST-197)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186379 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(Closes issue #14820)
Reported by: phsultan
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186297 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
This API provides a generic way for multiple RTP stacks to be
integrated into Asterisk. Right now there is only one present, res_rtp_asterisk,
which is the existing Asterisk RTP stack. Functionality wise this commit
performs the same as previously. API documentation can be viewed in the
rtp_engine.h header file.
Review: http://reviewboard.digium.com/r/209/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186078 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #14716)
Reported by: sum
Patches:
20090402__bug14716.diff.txt uploaded by tilghman (license 14)
Tested by: sum
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186021 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Included is a small bugfix to an ast_str helper, but most of these changes
are simply doxygen fixes.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185912 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Use ast_debug and ast_softhangup_nolock.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185777 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r185771 | russell | 2009-04-01 08:47:30 -0500 (Wed, 01 Apr 2009) | 6 lines
Fix a case where DTMF could bypass audiohooks.
This change fixes a situation where an audiohook that wants DTMF would not
actually get it. This is in the code path where we end DTMF digit length
emulation while handling a NULL frame.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185772 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #14695)
Reported by: mneuhauser
Patches:
cause-for-hangup-manager-action.patch uploaded by mneuhauser (license 425)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185704 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
This patch provides a number of optimizations to the stringfields API, focused around saving (not wasting) memory whenever possible. Thanks to Mark Michelson for inspiring this work and coming up with the first two optimizations that are represented here:
Changes:
- Cleanup of some code, fix incorrect doxygen comments
- When a field is emptied or replaced with a new allocation, decrease the amount of 'active' space in the pool it was held in; if that pool reaches zero active space, and is not the current pool, then free it as it is no longer in use
- When allocating a pool, try to allocate a size that will fit in a 'standard' malloc() allocation without wasting space
- When allocating space for a field, store the amount of space in the two bytes immediately preceding the field; this eliminates the need to call strlen() on the field when overwriting it, and more importantly it 'remembers' the amount of space the field has available, even if a shorter string has been stored in it since it was allocated
- Don't automatically double the size of each successive pool allocated; it's wasteful
http://reviewboard.digium.com/r/165/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185581 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r185196 | file | 2009-03-31 11:06:39 -0300 (Tue, 31 Mar 2009) | 8 lines
Fix crash when moving audiohooks between channels.
Handle the scenario where we are called to move audiohooks between channels
and the source channel does not actually have any on it.
(closes issue #14734)
Reported by: corruptor
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185197 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
The ability to load/unload timing interfaces is nice, but it means that when a timer is allocated, it may come from provider A, but later provider B becomes the 'preferred' provider. If this happens, all timer API calls on the timer that was provided by provider A will actually be handed to provider B, which will say WTF and return an error.
This patch changes the timer API to include a pointer to the provider of the timer handle so that future operations on the timer will be forwarded to the proper provider.
(closes issue #14697)
Reported by: moy
Review: http://reviewboard.digium.com/r/211/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@184762 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@184726 f38db490-d61c-443f-a65b-d21fe96a405b
|