summaryrefslogtreecommitdiff
path: root/apps/app_externalivr.c
AgeCommit message (Collapse)Author
2009-06-15Last batch of 'static' qualifiers for module-level global variables.Kevin P. Fleming
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: https://origsvn.digium.com/svn/asterisk/trunk@200656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-07Move application ExternalIVR static documentation to XML.Eliel C. Sardanons
Move application ExternalIVR static documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: app_externalivr.diff uploaded by eliel (license 64) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21Const-ify the world (or at least a good part of it)Kevin P. Fleming
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: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18Fix externalivr's setvariable command so that it properly sets multiple ↵Mark Michelson
variables. The command had a for loop that was guaranteed to only execute once since the continuation operation of the loop would set the input buffer NULL. I rewrote the loop so that its operation was more obvious, and it would set multiple variables correctly. I also reduced stack space required for the function, constified the input string, and modified the function so that it would not modify the input string while I was at it. (closes issue #15114) Reported by: chris-mac Patches: 15114.patch uploaded by mmichelson (license 60) Tested by: chris-mac git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12add 'const' qualifiers in various places where they should have beenKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-09Fixes issue with hangups not being sent and external process never terminating. David Vossel
The ignore_hangup, run_dead, and noanswer flags were never initilized to zero causing hangups to never be issued. If the external script expects to be notified of a hangup and never receives one, it runs indefinitely. (closes issue #14251) Reported by: chris-mac Tested by: dvossel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-13Merge ast_str_opaque branch (discontinue usage of ast_str internals)Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-19cleaup of the TCP/TLS socket API:Kevin P. Fleming
1) rename 'struct server_args' to 'struct ast_tcptls_session_args', to follow coding guidelines 2) make ast_make_file_from_fd() static and rename it to something that indicates what it really is for (again coding guidelines) 3) rename address variables inside 'struct ast_tcptls_session_args' to be more descriptive (dare i say it... coding guidelines) 4) change ast_tcptls_client_start() to use the new 'remote_address' field of the session args for the destination of the connection, and use the 'local_address' field to bind() the socket to the proper source address, if one is supplied 5) in chan_sip, ensure that we pass in the PP address we are bound to when creating outbound (client) connections, so that our connections will appear from the correct address git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@151101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-19Missing commaTilghman Lesher
(closes issue #12891) Reported by: chris-mac git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17Updates all usages of ast_tcptls_session_instance to be managed by reference ↵Brett Bryant
counts so that they only get destroyed when all threads are done using them, and memory does not get free'd causing strange issues with SIP. This code was originally written by russellb in the team/group/issue_11972/ branch. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16Changes response to the ExternalIVR() P command from pipe delimited to comma ↵Chris Tooley
delimited. closes issue #12804 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causeMichiel van Baak
- make data member of the ast_frame struct a named union instead of a void Recently the ast_queue_hangup function got a new parameter, the hangupcause Feedback came in that this is no good and that instead a new function should be created. This I did. The hangupcause was stored in the seqno member of the ast_frame struct. This is not very elegant, and since there's already a data member that one should be used. Problem is, this member was a void *. Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone wants to store another type in there in the future. This commit is so massive, because all ast_frame.data uses have to be altered to ast_frame.data.data Thanks russellb and kpfleming for the feedback. (closes issue #12674) Reported by: mvanbaak git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22Enhance ExternalIVR with new options and commands.Tilghman Lesher
(closes issue #12705) Reported by: ctooley Patches: new_externalivr_argument_format-v2.diff uploaded by ctooley (license 136) new_externalivr_documentation.diff uploaded by ctooley (license 136) and a few additional fixes by me git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21On socket-based connections, there is no error FD, so don't try waiting on one.Tilghman Lesher
(closes issue #12697) Reported by: ctooley Patches: fix_externalivr_waitfor_nandfds-v3.diff uploaded by ctooley (license 136) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14Merged revisions 116296 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r116296 | tilghman | 2008-05-14 11:46:48 -0500 (Wed, 14 May 2008) | 2 lines Detect another way for a connection to have gone away. (closes issue #12618) Reported by: ctooley Patches: 1.4-externalivr-test_fd.diff uploaded by ctooley (license 136) trunk-externalivr-test_fd.diff uploaded by ctooley (license 136) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-30Lock around variables retrieved, and copy the values, if they stay persistent,Tilghman Lesher
since another thread could remove them. (closes issue #12541) Reported by: snuffy Patches: bug_12156_apps.diff uploaded by snuffy (license 35) Several additional changes by me git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-25Whitespace changes onlyTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-24Pass the hangup cause all the way to the calling app/channel.Michiel van Baak
(closes issue #11328) Reported by: rain Patches: 20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14) brought up-to-date to trunk by me git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16Standardized routines for forking processes (keeps all the specialized code ↵Tilghman Lesher
in one place). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13documenting changes as a result of adding TCP functionality to ExternalIVRJeff Peeler
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13set variable to NULL to prevent uninitialized warningJeff Peeler
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13(closes issue #11827)Jeff Peeler
Reported by: ctooley Patches: eivr_tcp_generic.patch uploaded by jpeeler (license 325) This change adds the ability to communicate over a TCP socket instead of forking a child process. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-14a few syntax changes and safer codeJeff Peeler
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-14Formatting fixesOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-13(closes issue #11825)Jeff Peeler
Reported by: ctooley Patches: additional_eivr_commands.patch uploaded by ctooley (license 136) Tested by: ctooley git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-09whitespace fixes only.Michiel van Baak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-23Merged revisions 99975 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r99975 | mmichelson | 2008-01-23 14:25:00 -0600 (Wed, 23 Jan 2008) | 3 lines Fixing a typo. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21remove another set of redundant #include "asterisk/options.h"Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19more errno.h removalLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyLuigi Rizzo
were included almost everywhere. Remove some of the instances. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16Start untangling header inclusion in a way that does not affectLuigi Rizzo
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: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06(closes issue #10381)Joshua Colp
Reported by: yehavi Use the filename we parsed using the standard parsing when launching the application specified to ExternalIVR. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merge the dialplan_aesthetics branch. Most of this patch simply converts ↵Tilghman Lesher
applications using old methods of parsing arguments to using the standard macros. However, the big change is that the really old way of specifying application and arguments separated by a comma will no longer work (e.g. NoOp,foo|bar). Instead, the way that has been recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16Applications no longer need to call ast_module_user_add and ↵Joshua Colp
ast_module_user_remove. This is now taken care of in the pbx_exec function outside of the application. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16It is no longer required for each module that deals with a channel to call ↵Joshua Colp
ast_module_user_hangup_all in it's unload function. The loader will automatically perform this action for it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06Issue 9869 - replace malloc and memset with ast_calloc, and other coding ↵Tilghman Lesher
guidelines changes git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23Make 'H' command do as advertised and add 'E' and 'V' commands to ↵Joshua Colp
ExternalIVR. (issue #8165 reported by mnicholson) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-11Merged revisions 48396 via svnmerge from Matt O'Gorman
https://svn.digium.com/svn/asterisk/branches/1.4 ................ r48396 | mogorman | 2006-12-11 16:11:35 -0600 (Mon, 11 Dec 2006) | 12 lines Merged revisions 48394 via svnmerge from https://svn.digium.com/svn/asterisk/branches/1.2 ........ r48394 | mogorman | 2006-12-11 15:55:43 -0600 (Mon, 11 Dec 2006) | 4 lines app_externalivr needs a real silence file, and additional changes to add silence files into core instead of extra patch provided by bug 8177 with minor additions. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-11Merged revisions 48375 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r48375 | tilghman | 2006-12-10 18:47:21 -0600 (Sun, 10 Dec 2006) | 13 lines Merged revisions 48374 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r48374 | tilghman | 2006-12-10 18:33:59 -0600 (Sun, 10 Dec 2006) | 5 lines When doing a fork() and exec(), two problems existed (Issue 8086): 1) Ignored signals stayed ignored after the exec(). 2) Signals could possibly fire between the fork() and exec(), causing Asterisk signal handlers within the child to execute, which caused nasty race conditions. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-27Merged revisions 46363 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r46363 | russell | 2006-10-27 12:39:31 -0500 (Fri, 27 Oct 2006) | 5 lines We should always be using _exit() after a fork() or vfork() instead of exit(). This is because exit() does some extra cleanup which in some implementations of vfork(), for example, can actually modify the state of the parent process, causing very weird bugs or crashes. (issue #7971, Nick Gavrikov) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19Merged revisions 45692 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r45692 | file | 2006-10-19 13:19:47 -0400 (Thu, 19 Oct 2006) | 10 lines Merged revisions 45691 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r45691 | file | 2006-10-19 13:16:37 -0400 (Thu, 19 Oct 2006) | 2 lines Respect language selection when seeing if the file exists (issue #8178 reported by mnicholson) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-03bug #8076 check option_debug before printing to debug channel.Matt O'Gorman
patch provided in bugnote, with minor changes. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21merge new_loader_completion branch, including (at least):Kevin P. Fleming
- restructured build tree and makefiles to eliminate recursion problems - support for embedded modules - support for static builds - simpler cross-compilation support - simpler module/loader interface (no exported symbols) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07simplify autoconfig include mechanism (make tholo happy he can use lint ↵Kevin P. Fleming
again :-) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 - The recent change to linklists.h broke the build on linux for some reason.Russell Bryant
So, I have removed all of the uses of AST_LIST_HEAD_INIT and replaced them with the equivalent static initializations. - On passing, fix a memory leak in the unload_module() function of chan_agent. The agents list mutex was never destroyed, and the elements in the agents list were not freed. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10remove almost all of the checks of the result from ast_strdupa() or alloca().Russell Bryant
As it turns out, all of these checks were useless, because alloca will never return NULL. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01Merged revisions 24019 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r24019 | tilghman | 2006-05-01 15:44:24 -0500 (Mon, 01 May 2006) | 2 lines Bug 6864 - drop realtime priority on ALL external processes ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14This rather large commit changes the way modules are loaded. Luigi Rizzo
As partly documented in loader.c and include/asterisk/module.h, modules are now expected to return all of their methods and flags into a structure 'mod_data', and are normally loaded with RTLD_NOW | RTLD_LOCAL, so symbols are resolved immediately and conflicts should be less likely. Only in a small number of cases (res_*, typically) modules are loaded RTLD_GLOBAL, so they can export symbols. The core of the change is only the two files loader.c and include/asterisk/module.h, all the rest is simply adaptation of the existing modules to the new API, a rather mechanical (but believe me, time and finger-consuming!) process whose detail you can figure out by svn diff'ing any single module. Expect some minor compilation issue after this change, please report it on mantis http://bugs.digium.com/view.php?id=6968 so we collect all the feedback in one place. I am just sorry that this change missed SVN version number 20000! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08since the module API is changing, it's a good time to const-ify the ↵Kevin P. Fleming
description() and key() return values git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-12README files have changed names, better change references too :-)Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@12572 65c4cc65-6c06-0410-ace0-fbb531ad65f3