summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2009-06-22Merged revisions 202496 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202496 | russell | 2009-06-22 15:08:53 -0500 (Mon, 22 Jun 2009) | 4 lines Report CallerID change during a masquerade. Reported by: markster ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@202497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22attempting to load running modulesDavid Vossel
Modules placed in the priority heap for loading were not properly removed from the linked list. This resulted in some modules attempting to load twice. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@202410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-20Remove unnecessary usleep() from a couple of module unload callbacks.Russell Bryant
In passing, also tweak cdr_unregister() to hold the list lock a bit less time. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@202109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19Add support for allowing an RTP engine to decide on whether it is possible ↵Joshua Colp
for specific formats to be transcoded for an RTP instance. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19Merged revisions 201828 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201828 | tilghman | 2009-06-18 19:40:41 -0500 (Thu, 18 Jun 2009) | 6 lines If the "h" extension fails, give it another chance in main/pbx.c. If the "h" extension fails, give it another chance in main/pbx.c, when it returns from the bridge code. Fixes an issue where the "h" extension may occasionally not fire, when a Dial is executed from a Macro. Debugged in #asterisk with user tompaw. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18fixes some memory leaks and redundant conditionsDavid Vossel
(closes issue #15269) Reported by: contactmayankjain Patches: patch.txt uploaded by contactmayankjain (license 740) memory_leak_stuff.trunk.diff uploaded by dvossel (license 671) Tested by: contactmayankjain, dvossel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18Trunk implementation of setting an alternate RTP source.Mark Michelson
This contains the interface by which we can let an rtp instance know that it might start receiving audio from a new source. This is similar in nature to revision 197588 of Asterisk 1.4. Review: https://reviewboard.asterisk.org/r/276 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17Merged revisions 201450 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201450 | mmichelson | 2009-06-17 14:59:31 -0500 (Wed, 17 Jun 2009) | 9 lines Change the datastore traversal in ast_do_masquerade to use a safe list traversal. It is possible for datastore fixup functions to remove the datastore from the list and free it. In particular, the queue_transfer_fixup in app_queue does this. While I don't yet know of this causing any crashes, it certainly could. Found while discussing a separate issue with Brian Degenhardt. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16Merged revisions 200991 via svnmerge from Kevin P. Fleming
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: https://origsvn.digium.com/svn/asterisk/trunk@201056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16Don't claim a char * is a mansession object.Russell Bryant
Since there was only 1 bucket, and no hash function was specified, the code actually worked perfectly fine. However, in theory, this was invalid use of the OBJ_POINTER flag, so remove it so the code provides a better usage example. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15More 'static' qualifiers on module global variables.Kevin P. Fleming
The 'pglobal' tool is quite handy indeed :-) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15Redesigned 'optional API' support.Kevin P. Fleming
This patch provides a new implementation of the optional API support defined in asterisk/optional_api.h; this new version provides solves compatibility issues with the use of linker version scripts for suppressing global symbols. In addition, there is now a functional (and tested!) implementation for Mac OS/X, so module writers no longer need to use special tests before calling optional API functions. All future implementations must provide these same semantics, so that module writers can rely on them. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-12Merged revisions 200360 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200360 | mmichelson | 2009-06-12 14:06:41 -0500 (Fri, 12 Jun 2009) | 10 lines Suppress a warning message and give a better return code when generating inband ringing after a call is answered. (closes issue #15158) Reported by: madkins Patches: 15158.patch uploaded by mmichelson (license 60) Tested by: madkins ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-11Release the allocated channel decreasing the reference counter.Eliel C. Sardanons
When allocating the channel use ao2_ref(-1) to release it, instead of calling ast_free(). Also avoid freeing structures inside that channel (on error) if they will be released by the channel destructor being called if the reference counter reachs 0. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10Fixes the argument order in definition of new_find_extension().David Brooks
In the definition of new_find_extension(), the arguments 'callerid' and 'label' were swapped. The prototype declaration and all calls to the function are ordered 'callerid' then 'label', but the function itself was ordered 'label' then 'callerid'. (closes issue #15303) Reported by: JimDickenson git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10Use ast_channel_unref to instead of ast_free on a newly created channel.Mark Michelson
Also I removed an unnecessary free of a cid_name. This will be freed properly in the channel destructor. Reported by mnicholson in #asterisk-dev. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-09module load priorityDavid Vossel
This patch adds the option to give a module a load priority. The value represents the order in which a module's load() function is initialized. The lower the value, the higher the priority. The value is only checked if the AST_MODFLAG_LOAD_ORDER flag is set. If the AST_MODFLAG_LOAD_ORDER flag is not set, the value will never be read and the module will be given the lowest possible priority on load. Since some modules are reliant on a timing interface, the timing modules have been given a high load priorty. (closes issue #15191) Reported by: alecdavis Tested by: dvossel Review: https://reviewboard.asterisk.org/r/262/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-05Merged revisions 199297 via svnmerge from David Vossel
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199297 | dvossel | 2009-06-05 16:19:56 -0500 (Fri, 05 Jun 2009) | 14 lines Fixes issue with hints giving unexpected results. Hints with two or more devices that include ONHOLD gave unexpected results. (closes issue #15057) Reported by: p_lindheimer Patches: onhold_trunk.diff uploaded by dvossel (license 671) pbx.c.1.4.patch uploaded by p (license 558) devicestate.c.trunk.patch uploaded by p (license 671) Tested by: p_lindheimer, dvossel Review: https://reviewboard.asterisk.org/r/254/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-04Merged revisions 199022 via svnmerge from Sean Bright
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199022 | seanbright | 2009-06-04 10:14:57 -0400 (Thu, 04 Jun 2009) | 40 lines Safely handle AMI connections/reload requests that occur during startup. During asterisk startup, a lock on the list of modules is obtained by the primary thread while each module is initialized. Issue 13778 pointed out a problem with this approach, however. Because the AMI is loaded before other modules, it is possible for a module reload to be issued by a connected client (via Action: Command), causing a deadlock. The resolution for 13778 was to move initialization of the manager to happen after the other modules had already been lodaded. While this fixed this particular issue, it caused a problem for users (like FreePBX) who call AMI scripts via an #exec in a configuration file (See issue 15189). The solution I have come up with is to defer any reload requests that come in until after the server is fully booted. When a call comes in to ast_module_reload (from wherever) before we are fully booted, the request is added to a queue of pending requests. Once we are done booting up, we then execute these deferred requests in turn. Note that I have tried to make this a bit more intelligent in that it will not queue up more than 1 request for the same module to be reloaded, and if a general reload request comes in ('module reload') the queue is flushed and we only issue a single deferred reload for the entire system. As for how this will impact existing installations - Before 13778, a reload issued before module initialization was completed would result in a deadlock. After 13778, you simply couldn't connect to the manager during startup (which causes problems with #exec-that-calls-AMI configuration files). I believe this is a good general purpose solution that won't negatively impact existing installations. (closes issue #15189) (closes issue #13778) Reported by: p_lindheimer Patches: 06032009_15189_deferred_reloads.diff uploaded by seanbright (license 71) Tested by: p_lindheimer, seanbright Review: https://reviewboard.asterisk.org/r/272/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-03ast_call_forward() todo notes and originate flag copy.David Vossel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-02Generic call forward api, ast_call_forward()David Vossel
The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string. After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one. I have included this api call in both channel.c's ast_request_and_dial() and feature.c's feature_request_and_dial(). App_dial and app_queue already contain call forward logic specific for their application and options. (closes issue #13630) Reported by: festr Review: https://reviewboard.asterisk.org/r/271/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-02Fix a bug where we were passing in address information that should remain ↵Joshua Colp
unmodified to a function that may modify it. (closes issue #15243) Reported by: pj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01Add the ability to execute connected line interception macros.Mark Michelson
When connected line updates are received or generated in the middle of an application call, it is now possible to execute a macro to manipulate the connected line data. This way, phone numbers may be manipulated to be more presentable to users, names may be changed for...whatever reason, or whatever else needs to be done may be. Review: https://reviewboard.asterisk.org/r/256 AST-165 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01Do not add say.o in a separate line.Eliel C. Sardanons
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01Fixed an issue in the threadstorage cli functions resulting from the ↵David Vossel
constification of struct ast_cli_args in r196072. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-31Filter the say.o object, it is being added later.Eliel C. Sardanons
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-31Constification and remove some unused code.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-31Constify the ast_frame arg to ast_queue_frame().Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29Simplify the Makefile and avoid needing to specify each object file.Eliel C. Sardanons
Instead of specifying every object file, use make's magic to generate it. This will generate less conflicts in team branches when a new file is added in trunk. (closes issue #15226) Reported by: eliel Patches: makefile uploaded by eliel (license 64) Review: http://reviewboard.asterisk.org/r/269/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29Merged revisions 198068 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198068 | mnicholson | 2009-05-29 13:53:01 -0500 (Fri, 29 May 2009) | 15 lines Use AST_CDR_NOANSWER instead of AST_CDR_NULL as the default CDR disposition. This change also involves the addition of an AST_CDR_FLAG_ORIGINATED flag that is used on originated channels to distinguish: them from dialed channels. (closes issue #12946) Reported by: meral Patches: null-cdr2.diff uploaded by mnicholson (license 96) Tested by: mnicholson, dbrooks (closes issue #15122) Reported by: sum Tested by: sum ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29Fix a memory leak of the write buffer when writing a file.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28Update references to bugs.digium.com and reviewboard.digium.com to the new URLs.Sean Bright
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28Ensure that accidental calls to ast_string_field_free_memory() on embedded ↵Kevin P. Fleming
stringfield pools are safe. It is possible for a stringfield manager structure (and pool) structure to be allocated as part of a larger structure allocation (using ast_calloc_with_strinfields()); when this is done, the stringfield pool cannot be separately freed, but users of the tructure may not be aware (and shouldn't have to be aware) of whether the pool was embedded. This patch modifies the behavior so that they can always call ast_string_field_free_memory() and the function will do the right thing for both embedded and non-embedded situations. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28Eliminate several needless checks and fix a few memory leaksTilghman Lesher
(closes issue #14833) Reported by: contactmayankjain Patches: all_changes.patch uploaded by contactmayankjain (license 740) slightly modified by me git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28Fix an incorrect call to ast_string_field_free_memory which caused a crash ↵Joshua Colp
in the logger. Since the message structure is allocated using ast_calloc_with_stringfields we do not need to free the memory used for the stringfields as it will get freed when the message structure is. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28Merged revisions 197537 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197537 | mmichelson | 2009-05-28 09:49:13 -0500 (Thu, 28 May 2009) | 21 lines Add flags to chanspy audiohook so that audio stays in sync. There are two flags being added to the chanspy audiohook here. One is the pre-existing AST_AUDIOHOOK_TRIGGER_SYNC flag. With this set, we ensure that the read and write slinfactories on the audiohook do not skew beyond a certain tolerance. In addition, there is a new audiohook flag added here, AST_AUDIOHOOK_SMALL_QUEUE. With this flag set, we do not allow for a slinfactory to build up a substantial amount of audio before flushing it. For this particular issue, this means that the person spying on the call will hear the conversations in real time with very little delay in the audio. (closes issue #13745) Reported by: geoffs Patches: 13745.patch uploaded by mmichelson (license 60) Tested by: snblitz ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28Fix a bug in stringfields where it did not actually free the pools of memory.Joshua Colp
(closes issue #15074) Reported by: pj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27Revert commit 192032. This define is needed on Mac OS X.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27Don't do a pointer comparison before setting the remote address.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26Reset the terminal to the correct fg/bg after XML documenation is rendered.Sean Bright
(closes issue #15200) Reported by: ajohnson Patches: 05262009_xmldoc.patch uploaded by seanbright (license 71) Tested by: ajohnson git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26Add ActionID to CoreShowChannel event.Sean Bright
There is inconsistency in how we handle manager responses that are lists of items and, unfortunately, third parties have come to rely on ActionID being on every event within those lists instead of just keeping track of the ActionID for the current response. This change makes CoreShowChannels include the ActionID with each CoreShowChannel event generated as a result of it being called. (closes issue #15001) Reported by: sum Patches: patchactionid2.patch uploaded by sum (license 766) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26Include startup and reload date in the CoreStatus manager message.Sean Bright
The CoreStartupTime and CoreReloadTime name/value pairs in the CoreStatus response message only included the time and not the date. This patch, inspired by the reporter's patch, adds 2 new fields - CoreStartupDate and CoreReloadDate - which contain the date portion of these values. (closes issue #15000) Reported by: sum git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26Add new ast_complete_applications function so that we can use it with theSean Bright
'channel originate ... application <app>' CLI command. (And yeah, I cleaned up some whitespace in res_clioriginate.c... big whoop, wanna fight about it!?) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22Call ast_stun_init() when we're initializing to get the 'stun debug set'Sean Bright
commands. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22Implement a new element in AstXML for AMI actions documentation.Eliel C. Sardanons
A new xml element was created to manage the AMI actions documentation, using AstXML. To register a manager action using XML documentation it is now possible using ast_manager_register_xml(). The CLI command 'manager show command' can be used to show the parsed documentation. Example manager xml documentation: <manager name="ami action name" language="en_US"> <synopsis> AMI action synopsis. </synopsis> <syntax> <xi:include xpointer="xpointer(...)" /> <-- for ActionID <parameter name="header1" required="true"> <para>Description</para> </parameter> ... </syntax> <description> <para>AMI action description</para> </description> <see-also> ... </see-also> </manager> git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22Two more minor fixes due to constificationTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22Fix build under dev mode and remove some casts that are no longer necessary asSean Bright
a result of the const-ify the world patch. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22Avoid using prototypes when not necessary (it is already defined in the headerEliel C. Sardanons
file). Make log_match_char_tree() static to main/pbx.c (only used there). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196114 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-21Pass connected line updates along during a bridge.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195992 65c4cc65-6c06-0410-ace0-fbb531ad65f3