dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

101 Commits

Author SHA1 Message Date
jrose 8d040672b5 Merged revisions 309858 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r309858 | jrose | 2011-03-07 16:07:25 -0600 (Mon, 07 Mar 2011) | 22 lines
  
  Merged revisions 309857 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r309857 | jrose | 2011-03-07 16:04:44 -0600 (Mon, 07 Mar 2011) | 15 lines
    
    Merged revisions 309856 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r309856 | jrose | 2011-03-07 16:02:12 -0600 (Mon, 07 Mar 2011) | 8 lines
      
      Bug fix for MixMonitor involving filenames with '.' not in the extension
      
      Closes issue #18391)
      Reported by: pabelanger
      Patches: 
            bugfix.patch uploaded by jrose (license 1225)
      Tested by: jrose
    ........
  ................
................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@309859 f38db490-d61c-443f-a65b-d21fe96a405b
2011-03-07 22:16:33 +00:00
dvossel f27e928f05 Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
   using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
   and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate.  This allows
   for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
   updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.

-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c

Review: https://reviewboard.asterisk.org/r/1104/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@308582 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-22 23:04:49 +00:00
dvossel 4aca3187a3 Asterisk media architecture conversion - no more format bitfields
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal.  For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal

The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs.  Functionally
no change in behavior should be present in this patch.  Thanks to twilson
and russell for all the time they spent reviewing these changes.

Review: https://reviewboard.asterisk.org/r/1083/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306010 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03 16:22:10 +00:00
jmls f3be709455 Added MixMonitorMute manager command
Added a new manager command to mute/unmute MixMonitor audio on a channel. 
Added a new feature to audiohooks so that you can mute either read / write
(or both) types of frames - this allows for MixMonitor to mute either side
of the conversation without affecting the conversation itself.

(closes issue #16740)
Reported by: jmls

Review: https://reviewboard.asterisk.org/r/487/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@258190 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-21 11:27:27 +00:00
dhubbard bcb7daaec7 Merged revisions 257686 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r257686 | dhubbard | 2010-04-16 16:15:43 -0500 (Fri, 16 Apr 2010) | 21 lines
  
  Make the mixmonitor thread process audio frames faster
  
  Mantis issue 17078 reports MixMonitor recordings have shorter durations than 
  the call duration.  This was because the mixmonitor thread was not processing 
  frames from the audiohook fast enough.  The mixmonitor thread would slowly fall 
  behind the most recent audio frame and when the channel hangs up, the mixmonitor 
  thread would exit without processing the same number of frames as the channel; 
  leaving the mixmonitor recording shorter than actual call duration.
  
  This revision fixes this issue by moving the ast_audiohook_trigger_wait() and 
  the subsequent audiohook.status check into the block where the 
  ast_audiohook_read_frame() function returns NULL.
  
  (closes issue #17078)
  Reported by: geoff2010
  Patches:
        dw-M17078.patch uploaded by dhubbard (license 733)
  Tested by: dhubbard, geoff2010
  
  Review: https://reviewboard.asterisk.org/r/611/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@257713 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-16 21:22:30 +00:00
mvanbaak 9fef52740e Make CLI command 'mixmonitor start|stop <channel> work again.
(closes issue #16534)
Reported by: jlaguilar
Fix as suggested by jlaguilar in the bugreport


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@237656 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-05 16:08:12 +00:00
dvossel abe842330c Merged revisions 230508 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r230508 | dvossel | 2009-11-19 15:22:46 -0600 (Thu, 19 Nov 2009) | 10 lines
  
  fixes MixMonitor thread not exiting when StopMixMonitor is used
  
  (closes issue #16152)
  Reported by: AlexMS
  Patches:
        stopmixmonitor_1.4.diff uploaded by dvossel (license 671)
  Tested by: dvossel, AlexMS
  
  Review: https://reviewboard.asterisk.org/r/424/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@230509 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-19 21:26:21 +00:00
dvossel ce45a171bb Merged revisions 213103 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r213103 | dvossel | 2009-08-19 16:18:37 -0500 (Wed, 19 Aug 2009) | 8 lines
  
  Fixes memory leak caused by incorrectly freeing mixmonitor
  
  (closes issue #15699)
  Reported by: edantie
  Patches:
        mixmonitor.patch uploaded by edantie (license 862)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@213113 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-19 21:21:00 +00:00
tilghman d1ec1aa57d AST-2009-005
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211539 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 19:20:57 +00:00
dvossel a3d46eec8c Merged revisions 201423 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r201423 | dvossel | 2009-06-17 14:28:12 -0500 (Wed, 17 Jun 2009) | 19 lines
  
  StopMixMonitor race condition (not giving up file immediately)
  
  StopMixMonitor only indicates to the MixMonitor thread to stop
  writing to the file.  It does not guarantee that the recording's
  file handle is available to the dialplan immediately after execution.
  This results in a race condition.  To resolve this, the filestream
  pointer is placed in a datastore on the channel. When StopMixMonitor
  is called, the datastore is retrieved from the channel and the
  filestream is closed immediately before returning to the dialplan.
  Documentation indicating the use of StopMixMonitor to free files
  has been updated as well.
  
  (closes issue #15259)
  Reported by: travisghansen
  Tested by: dvossel
  
  Review: https://reviewboard.asterisk.org/r/283/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201445 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-17 19:45:35 +00:00
kpfleming ea5a74f18b Merged revisions 200991 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r200991 | kpfleming | 2009-06-16 12:05:38 -0500 (Tue, 16 Jun 2009) | 11 lines
  
  Improve support for media paths that can generate multiple frames at once.
  
  There are various media paths in Asterisk (codec translators and UDPTL, primarily)
  that can generate more than one frame to be generated when the application calling
  them expects only a single frame. This patch addresses a number of those cases,
  at least the primary ones to solve the known problems. In addition it removes the
  broken TRACE_FRAMES support, fixes a number of bugs in various frame-related API
  functions, and cleans up various code paths affected by these changes.
  
  https://reviewboard.asterisk.org/r/175/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201056 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-16 18:54:30 +00:00
kpfleming a2c426f29f Last batch of 'static' qualifiers for module-level global variables.
Fix up modules in the 'apps' directory, and also correct the bad example of
enum definitions in include/asterisk/app.h, which many developers followed
(thanks for reading the documentation!). In addition, add some basic usage
examples of the 'pahole' and 'pglobal' tools to the coding guidelines.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200656 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-15 19:10:10 +00:00
lmadsen 0b7cb06db7 Update documentation in MixMonitor.
Updated the MixMonitor documentation for the 'b' option so that
it is more obvious that you must not optimize away the Local
channel when using this option.

(closes issue #14829)
Reported by: licedey
Tested by: mmichelson, licedey, lmadsen

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@197828 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-28 22:04:00 +00:00
kpfleming 230a66da7d Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

Review: https://reviewboard.asterisk.org/r/251/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196072 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-21 21:13:09 +00:00
kpfleming f58bc31e46 add 'const' qualifiers in various places where they should have been
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@193832 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-12 13:59:35 +00:00
russell 89175b7e04 Convert the ast_channel data structure over to the astobj2 framework.
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
2009-04-24 14:04:26 +00:00
mmichelson 2de0f99a40 Merged revisions 173592 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173592 | mmichelson | 2009-02-05 12:47:24 -0600 (Thu, 05 Feb 2009) | 3 lines

Add some missing cleanup to app_mixmonitor


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@173593 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-05 18:48:55 +00:00
mmichelson 62bc149702 Merged revisions 173559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173559 | mmichelson | 2009-02-05 11:34:33 -0600 (Thu, 05 Feb 2009) | 25 lines

Fix a problem where a channel pointer becomes invalid due to masquerading or hanging up.

app_mixmonitor runs its own thread to monitor the channel's activity and write the mixed
audio to a file. Since this thread runs independently of the channel, it is possible that
the mixmonitor thread's channel pointer will point to freed memory when the channel either
is masqueraded or hangs up (technically, both cases are hangups, but we need to handle the
cases slightly differently).

The solution for this is to employ a datastore, which has the nice benefit of allowing us 
to hook into channel masquerades and hangups and update our pointer as necessary. If this
looks familiar, this same technique is employed in app_chanspy. app_chanspy is a bit more
involved since it does a lot more operations on the channel that is being spied upon.

app_mixmonitor does have an extra touch that app_chanspy doesn't have, though. Since there
is a thread race between the channel's thread and the mixmonitor thread on a hangup, we em-
ploy a condition-and-boolean combination to ensure that the channel thread finishes with
our structure before the mixmonitor thread attempts to free it. No crashes!

(closes issue #14374)
Reported by: aragon
Patches:
	  14374.patch uploaded by putnopvut (license 60)
Tested by: aragon, putnopvut


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@173589 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-05 18:34:06 +00:00
eliel 6e243a5434 Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@161218 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-05 10:31:25 +00:00
eliel f109162c7d Add more [see also] references based on TFOT.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@154798 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-05 18:50:02 +00:00
russell b1f91b97d2 Merge changes from team/group/appdocsxml
This commit introduces the first phase of an effort to manage documentation of the
interfaces in Asterisk in an XML format.  Currently, a new format is available for
applications and dialplan functions.  A good number of conversions to the new format
are also included.

For more information, see the following message to asterisk-dev:

http://lists.digium.com/pipermail/asterisk-dev/2008-October/034968.html


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@153365 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-01 21:10:07 +00:00
tilghman 5db153f82f Default file modes should always be full read and write, to allow the system
administrator to make the decision of what permissions will actually be given,
through the use of the process umask.
(Closes issue# 13751)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@151371 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-21 15:20:50 +00:00
mvanbaak b6fa2c3b98 Merge the cli_cleanup branch.
This work is done by lmadsen, junky and mvanbaak
during AstriDevCon.

This is the second audit the CLI got, and
this time lmadsen made sure he had _ALL_ modules
loaded that have CLI commands in them.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@145121 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-28 23:32:14 +00:00
file cf9baf7ab7 Merged revisions 108083 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108083 | file | 2008-03-12 15:26:37 -0300 (Wed, 12 Mar 2008) | 4 lines

Add a trigger mode that triggers on both read and write. The actual function that returns the combined audio frame though will wait until both sides have fed in audio, or until one side stops (such as the case when you call Wait).
(closes issue #11945)
Reported by: xheliox

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@108084 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-12 18:29:33 +00:00
tilghman 35d428bcca Convert ast_verbose to ast_verb.
Reported by: snuffy
Patch by: snuffy
(Closes issue #11547)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92913 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-14 14:48:38 +00:00
tilghman 8a1ce32239 Conversions of free to ast_free, where applicable, and several other formatting fixes.
Reported by: eliel
Patch by: eliel,tilghman
(Closes issue #11209)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92594 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-12 20:05:13 +00:00
file c585cac92c Merged revisions 89587 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89587 | file | 2007-11-26 13:20:58 -0400 (Mon, 26 Nov 2007) | 6 lines

Close the audio file before sending it to the post processing application.
(closes issue #11357)
Reported by: reformed
Patches:
      mixmonitor.patch uploaded by reformed (license 330)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89589 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-26 17:23:28 +00:00
rizzo e8a5f98fe8 shuffle a little bit the content of header files to reduce dependencies.
In this commit:
- move the ast_register/unregister_app functions to module.h
  to avoid the need to include pbx.h for the simpler apps;
- move the ast_group structure to channel.h to remove the
  dependency of app.h on linkedlists.h

Note, this is a long process that I am doing in small steps.

The main difficulty is that now for each subsystem we
have a single header (e.g. channel.h) included by the subsystem
provider (usually one file, e.g. channel.c) and by its clients
(dozens of them, e.g. we have some 70+ apps and 30+ functions).

This requires the clients to include all the extra headers
required by the provider (eg. lock.h, linkedlists.h, definitions
of substructures...) even though many of the clients would be
just happy with opaque struct declarations and function prototypes.

The long term plan is to eventually rectify this structure
so that the compilation can become faster, and also APIs
are more stable.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89522 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-22 03:50:04 +00:00
rizzo 737b408d52 more removal of redundant headers
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89519 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-22 02:07:33 +00:00
rizzo 150b2c22ef remove another set of redundant #include "asterisk/options.h"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89512 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 23:24:55 +00:00
rizzo 89d8d78652 move asterisk/paths.h outside asterisk.h and into those files
who really need it.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 23:16:15 +00:00
rizzo 9cf442d7f7 include "logger.h" and errno.h from asterisk.h - usage shows that they
were included almost everywhere.
Remove some of the instances.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89424 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19 18:52:04 +00:00
rizzo 883346d64a Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 20:04:58 +00:00
mmichelson dda901eb6f Merged revisions 89241 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89241 | mmichelson | 2007-11-13 10:02:02 -0600 (Tue, 13 Nov 2007) | 5 lines

Reverting commit made in revision 89205 since it is unnecessary.

Thanks to Kevin for pointing this out


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89242 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 16:03:10 +00:00
mmichelson fdc273032a There is the potential to copy uninitialized memory into the mixmonitor->post_process
string. This fix prevents that.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89207 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 01:19:53 +00:00
mmichelson 5dfa041c88 Merged revisions 89205 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89205 | mmichelson | 2007-11-12 18:56:46 -0600 (Mon, 12 Nov 2007) | 5 lines

Some sanity checking for MixMonitor. If only 1 argument is given, then the args.options
and args.post_process strings are uninitialized and could contain garbage. This change
handles this situation properly by only using arguments that we have parsed.


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89206 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 00:57:34 +00:00
murf 91879350be Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89186 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12 18:44:36 +00:00
mmichelson 92ac6820ee "show application <foo>" changes for clarity.
(closes issue #11171, reported and patched by blitzrage)

Many thanks!



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89044 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 19:04:45 +00:00
murf 47c8ea00b8 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01 22:26:51 +00:00
file 7af6fda1e0 Add volume adjustment in.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87851 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-31 18:03:17 +00:00
file 27c7c3edf5 Restore operation of the option that only writes when the channel is bridged.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87850 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-31 17:56:21 +00:00
qwell 7756b987a0 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 20:05:18 +00:00
qwell d542122e6a Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86536 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-19 18:29:40 +00:00
russell 13b9c5237c Merge a ton of NEW_CLI conversions. Thanks to everyone that helped out! :)
(closes issue #10724)
Reported by: eliel
Patches: 
      chan_skinny.c.patch uploaded by eliel (license 64)
      chan_oss.c.patch uploaded by eliel (license 64)
      chan_mgcp.c.patch2 uploaded by eliel (license 64)
      pbx_config.c.patch uploaded by seanbright (license 71)
      iax2-provision.c.patch uploaded by eliel (license 64)
      chan_gtalk.c.patch uploaded by eliel (license 64)
      pbx_ael.c.patch uploaded by seanbright (license 71)
      file.c.patch uploaded by seanbright (license 71)
      image.c.patch uploaded by seanbright (license 71)
      cli.c.patch uploaded by moy (license 222)
      astobj2.c.patch uploaded by moy (license 222)
      asterisk.c.patch uploaded by moy (license 222)
      res_limit.c.patch uploaded by seanbright (license 71)
      res_convert.c.patch uploaded by seanbright (license 71)
      res_crypto.c.patch uploaded by seanbright (license 71)
      app_osplookup.c.patch uploaded by seanbright (license 71)
      app_rpt.c.patch uploaded by seanbright (license 71)
      app_mixmonitor.c.patch uploaded by seanbright (license 71)
      channel.c.patch uploaded by seanbright (license 71)
      translate.c.patch uploaded by seanbright (license 71)
      udptl.c.patch uploaded by seanbright (license 71)
      threadstorage.c.patch uploaded by seanbright (license 71)
      db.c.patch uploaded by seanbright (license 71)
      cdr.c.patch uploaded by moy (license 222)
      pbd_dundi.c.patch uploaded by moy (license 222)
      app_osplookup-rev83558.patch uploaded by moy (license 222)
      res_clioriginate.c.patch uploaded by moy (license 222)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85460 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-11 19:03:06 +00:00
file ce30d7306b Merge audiohooks branch into trunk. This is a new API for developers to listen and manipulate the audio going through a channel.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78649 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08 19:30:52 +00:00
tilghman 356721a45c Mostly cleanup of documentation to substitute the pipe with the comma, but a few other formatting cleanups, too.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77808 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-31 01:10:47 +00:00
murf 77f799ff1e After some study, thought, comparing, etc. I've backed out the previous universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75983 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19 23:24:27 +00:00
murf cdfb9990ad via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75400 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 19:40:29 +00:00
file d17ff1ea42 Applications no longer need to call ast_module_user_add and ast_module_user_remove. This is now taken care of in the pbx_exec function outside of the application.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75200 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-16 14:39:29 +00:00
file 9e24ed5ccf It is no longer required for each module that deals with a channel to call ast_module_user_hangup_all in it's unload function. The loader will automatically perform this action for it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75183 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-16 13:35:20 +00:00