dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

960 Commits

Author SHA1 Message Date
russell f611912982 Use ast_free() instead of free().
(closes issue #11309)
Reported by: Laureano
Patches: 
      res_odbc.c.patch uploaded by Laureano (license 265)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91131 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-05 03:34:51 +00:00
tilghman fc56a37a49 Pass the Asterisk version to AGI scripts as part of the initial dump of info
Reported by: acunningham
Patch by: acunningham
(Closes issue #11398)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90851 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-04 15:01:57 +00:00
rizzo 8e49ea6b36 fix build on cygwin
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90834 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-04 11:50:05 +00:00
qwell a6114c7c84 Add manager events for when a monitor is started or stopped.
Closes issue #10191, patch by dgradecak.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90738 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-03 23:48:04 +00:00
tilghman 13d1f2b914 Merged revisions 90736 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90736 | tilghman | 2007-12-03 17:23:55 -0600 (Mon, 03 Dec 2007) | 5 lines

If both dbhost and dbsock were not set, a NULL deref could result
Reported by: xrg
Patch by: tilghman
(Closes issue #11387)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90737 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-03 23:29:57 +00:00
file 7c209702a8 Add AGI commands for speech recognition. These mirror the dialplan applications mostly but present the information in a nicer fashion. The SPEECH RECOGNIZE command for example will return the results instead of having to query the dialplan functions.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90656 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-03 21:03:05 +00:00
qwell 670646d325 Merged revisions 90607 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(Closes issue #11436)
........
r90607 | qwell | 2007-12-03 14:51:17 -0600 (Mon, 03 Dec 2007) | 4 lines

Fix crash in ParkAndAnnounce application.

Issue #11436, reported by lytledd, patch by eliel.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90631 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-03 20:58:26 +00:00
qwell 02481047df Only reload if the config file has changed.
Closes issue #11281, patch by eliel.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90410 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-01 01:37:50 +00:00
mmichelson a7c0447e63 Adding support for the "automixmonitor" dial and queue options.
This works in much the same way as the automonitor, except that instead of using the monitor
app, it uses the mixmonitor app. By providing an 'x' or 'X' as a dial or queue option, a DTMF
sequence may be entered (as defined in features.conf) to start the one-touch mixmonitor.

This patch also introduces some new API calls to the audiohooks code for searching for an audiohook
by type and for searching for a running audiohook by type.

Big thanks to joetester for writing the initial patch, testing it and patiently waiting for it to 
be committed.

(closes issue #10185, reported and patched by xmarksthespot)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90388 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-30 21:19:57 +00:00
tilghman 271af78f82 Merged revisions 90160 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90160 | tilghman | 2007-11-29 13:24:11 -0600 (Thu, 29 Nov 2007) | 2 lines

Properly escape input buffers (Fixes AST-2007-025)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90162 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-29 19:35:49 +00:00
file 9cebea59f4 Merged revisions 90101 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90101 | file | 2007-11-28 18:59:28 -0400 (Wed, 28 Nov 2007) | 6 lines

Fix a few memory leaks.
(closes issue #11405)
Reported by: eliel
Patches:
      load_realtime.patch uploaded by eliel (license 64)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90102 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28 23:03:09 +00:00
qwell 8cce4fbf02 Remove "old"-style CLI handler, since nothing uses it anymore.
Closes issue #11403, patch by eliel.  This also completes the janitor project.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90038 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28 20:27:40 +00:00
file 71d61e3829 Fix a few log messages.
(closes issue #11396)
Reported by: IgorG
Patches:
      spell.v1.diff uploaded by IgorG (license 20)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89981 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28 15:38:03 +00:00
mmichelson 8bca2b15a3 Adding support for realtime music on hold. The following are the main points:
1. When moh is started, we search first in memory to find the class. If we do not
   find it in memory, we search realtime instead.

2. When moh is restarted (as in, it had been started on this particular channel, stopped,
   and now we're starting it again), if using the "files" mode, then realtime will always
   be rechecked. If you are using other modes, however, we will simply reattach to the external
   running process which was playing moh earlier in the call. This is a necessary compromise so that
   we don't end up with too many background processes.

3. musiconhold.conf has a general section now. It has one option: cachertclasses. If set to yes,
   then moh classes found in realtime will be added to the in-memory list. This has the advantage
   of not requiring database lookups each time moh is started, but it has the disadvantage of not
   truly being realtime.

I have tested this for functionality, and it passes. I also tested this under valgrind and there
are no memory problems reported under typical use.

Special thanks to Sergee for implementing this feature and enduring my complaints on the bugtracker!

(closes issue #11196, reported and patched by sergee)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89946 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-28 00:47:22 +00:00
oej 45e9d7c883 A few more "moremanager" fixes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89772 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27 21:10:50 +00:00
murf 0c96bd8c5f made AEL 8-bit transparent; mainly the lexer was tossing chars with the hi-order bit set. Not nice. Also, allow @ in extension names, and a backslash, also.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89682 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27 18:50:44 +00:00
file 78ee740bbf Perform some module use counting audits. This is now done outside the scope of the application/dialplan function so they do not need to worry about it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89602 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-26 18:11:31 +00:00
file b2469bcae6 Merged revisions 89599 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89599 | file | 2007-11-26 14:02:56 -0400 (Mon, 26 Nov 2007) | 6 lines

Add module counting removal for error conditions.
(closes issue #11333)
Reported by: Laureano
Patches:
      res_features_v2.c.patch uploaded by Laureano (license 265)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89600 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-26 18:04:46 +00:00
tilghman 6ab028735f Merged revisions 89559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89559 | tilghman | 2007-11-25 11:17:10 -0600 (Sun, 25 Nov 2007) | 14 lines

We previously attempted to use the ESCAPE clause to set the escape delimiter to
a backslash.  Unfortunately, this does not universally work on all databases,
since on databases which natively use the backslash as a delimiter, the
backslash itself needs to be delimited, but on other databases that have no
delimiter, backslashing the backslash causes an error.

So the only solution that I can come up with is to create an option in res_odbc
that explicitly specifies whether or not backslash is a native delimiter.  If
it is, we use it natively; if not, we use the ESCAPE clause to make it one.

Reported by: elguero
Patch by: tilghman
(Closes issue #11364)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89561 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-25 17:50:07 +00:00
tilghman 2794d1de7a Merged revisions 89545 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89545 | tilghman | 2007-11-24 10:59:59 -0600 (Sat, 24 Nov 2007) | 5 lines

Free some frames that would otherwise leak on error.
Reported by: Laureano
Patch by: Laureano,tilghman
(Closes issue #11351)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89546 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-24 17:07:12 +00:00
tilghman fe6dbef2a3 Merged revisions 89534 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89534 | tilghman | 2007-11-23 11:05:10 -0600 (Fri, 23 Nov 2007) | 5 lines

Use ESCAPE clause for the first parameter, not just 2nd-Nth parameters.
Reported by: apsaras
Patch by: tilghman
(Closes issue #11353)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89535 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-23 17:09:06 +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 8cd33321ef remove a number of #include <fcntl.h> which are either
useless or done elsewhere



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89516 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-22 01:03:02 +00:00
murf b6e2980dd6 closes issue #11285, where an unload of a module that creates a dialplan context, causes a crash when you do a 'dialplan show' of that context. This is because the registrar string is defined in the module, and the stale pointer is traversed. The reporter offered a patch that would always strdup the registrar string, which is practical, but I preferred to destroy the created contexts in each module where one is created. That seemed more symmetric. There were only 6 place in asterisk where this is done: chan_sip, chan_iax2, chan_skinny, res_features, app_dial, and app_queue. The two apps destroyed the context, but left the contexts. All is fixed now and unloads should be dialplan friendly.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89513 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 23:54:12 +00:00
rizzo de2db05332 remove a bunch of useless #include "options.h"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89511 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 23:09:02 +00:00
twilson 6177217d80 Simplify comparison in parking fix
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89504 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 20:22:40 +00:00
twilson d100588e74 Merged revisions 89491 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89491 | twilson | 2007-11-21 12:59:27 -0600 (Wed, 21 Nov 2007) | 4 lines

If a channel gets masqueraded in the middle of a park, don't play the
announcement to the masqueraded channel, and dial back to the original
channel on timeout.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89492 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 19:20:33 +00:00
murf 3f8a1884ec OOOps! All the debug stuff I inserted was accidentally committed. I hereby revert it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89479 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 15:17:12 +00:00
murf 675fa772c0 closes issue #11265; Thanks to snuffy for his work on neatening up the code and removing duplicated code.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89478 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 15:11:43 +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 03ef197f9e Fix building of modules under cygwin.
After this commit we can actually load modules under windows,
and we can start debugging more interesting problems related
to the load order and functionality of modules.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89454 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 16:12:10 +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
file 57f96d1635 Merged revisions 89419 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89419 | file | 2007-11-19 11:53:32 -0400 (Mon, 19 Nov 2007) | 6 lines

Print out the correct filename (features.conf) in the log message when parkpos options are incorrect.
(closes issue #11295)
Reported by: Laureano
Patches:
      res_features.c.patch uploaded by Laureano (license 265)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89420 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19 15:55:08 +00:00
rizzo fb8143ad31 start using asterisk/network.h for network related headers.
Also remove some unnecessary includes.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89380 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 14:11:53 +00:00
rizzo 18911d90cb remove a bunch of duplicate includes
Reproduce with

grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr 



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89348 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 23:54:45 +00:00
twilson 27db72c0de Fix broken parking dial-back
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89347 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 23:44:14 +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
murf 2efc505dda This fixes a problem with pattern ranges; and corrects a situation in res_features, where an extension would be created with the name Zap/51, as an example. THe / is bad because it would tend to mean that the 51 is to be cid matched.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89329 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 18:59:02 +00:00
rizzo 6a4d64e3ef access channel locks through ast_channel_lock/unlock/trylock and not
through ast_mutex primitives.

To detect all occurrences, I have renamed the lock field in struct ast_channel
so it is clear that it shouldn't be used directly.

There are some uses in res/res_features.c (see details of the diff)
that are error prone as they try and lock two channels without
caring about the order (or without explaining why it is safe).



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89293 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-15 16:20:47 +00:00
tilghman 22206839a4 One more typo in config.c; and missed conversions due to the constifying of ast_variable_new parameters
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89270 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14 15:13:22 +00:00
rizzo ea0d4674a6 make the 'name' and 'value' fields in ast_variable const char *
This prevents modifying the strings in the stored variables, 
and catched a few instances where this was actually done.

Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are

chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049

I may have missed some instances for modules that do not build here.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14 13:18:40 +00:00
russell a0ad3a06ca - Use the ARRAY_LEN macro in a couple places
- return errors from load_module / unload_module


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89265 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14 02:57:13 +00:00
russell 1bb056d61d Fix a typo pointed out by outtolunc, thanks :)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89252 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 20:56:32 +00:00
russell bf19a71d3a Update the ParkedCall application to grab the first available parked call if no
parked extension is provided as an argument.

(closes issue #10803)
Reported by: outtolunc
Patches: 
      res_features-parkedcall-any.diff4 uploaded by outtolunc (license 237)
	  - modified by me to work a bit differently ...


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89250 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 20:30:13 +00:00
qwell 07aef1fe20 Merged revisions 89248 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #11237)
........
r89248 | qwell | 2007-11-13 13:47:45 -0600 (Tue, 13 Nov 2007) | 7 lines

Revert change from revision 67064.
It is documented behavior that if a parking extension already exists while using PARKINGEXTEN,
 dialplan execution will continue.  If blind transferring to a Park with PARKINGEXTEN, you
 must keep this in mind, and handle the failure yourself.

Issue 11237, reported by jon.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89249 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 19:48:41 +00:00
qwell daf95de377 Doxygen fixes.
Also fix a common typo I kept seeing (arguement) in various files.

Closes issue #11222, patch by snuffy (with arguement > argument by me).


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89202 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12 23:44:20 +00:00
murf aef44ae684 This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89129 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-09 16:00:22 +00:00
qwell dd3f5ed7cd Change a warning to a notice. Issue #11195, patch by eliel
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89117 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-08 18:49:08 +00:00
kpfleming a45a413db3 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-08 05:28:47 +00:00
murf 6d6b520aba Merged revisions 89088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89088 | murf | 2007-11-07 14:40:28 -0700 (Wed, 07 Nov 2007) | 1 line

In response to 10578, I just ran 1.4 thru valgrind; some of the config leakage I've already fixed, but it doesn't hurt to double check. I found and fixed leaks in res_jabber, cdr_tds, pbx_ael. Nothing major, tho.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89089 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-07 22:09:10 +00:00