Need to remove all CDR's listed by a CDR object from the active_cdrs_all
container including the root/master record.
ASTERISK-27656
Change-Id: I48b4970663fea98baa262593d2204ef304aaf80e
* Changed to create ami_event string only when the given blob is not
json_null().
* Fixed bad expression.
ASTERISK-27621
Change-Id: Ice58c16361f9d9e8648261c9ed5d6c8245fb0d8f
ast_str_append_event_header() could potentially leak and corrupt memory if
the ast_str needed to expand to add the AMI event header.
* Fixed to return error if the ast_str_append() failed.
Change-Id: I92f36b855540743b208d76e274152ee2d758176d
* Made not allocate memory if the channel snapshot is an internal channel.
* Free memory earlier when no longer needed.
Change-Id: Ia06e0c065f1bd095781aa3f4a626d58fa4d28b38
The dsp_talking_threshold does not represent time in milliseconds. It
represents the average magnitude per sample in the audio packets. This is
what the DSP uses to determine if a packet is silence or talking/noise.
Change-Id: If6f939c100eb92a5ac6c21236559018eeaf58443
This addresses all performance issues with 'module load' completion. In
addition to using ast_cli_completion_add we stop using libedit's
filename_completion_function, instead using ast_file_read_dir. This
ensures all results are produced from a single call to opendir.
Change-Id: I8bf51ffaa7ef1606f3bd1b5bb13f1905d72c6134
The previous fix broke the case
HAVE_SYSINFO = no
HAVE_SYSCTL = yes
HAVE_SWAPCTL = no
which occurs on FreeBSD 11.1 for example.
ASTERISK-26563
Change-Id: If77c39bc75f0b83a6c8a24ecb2fa69be8846160a
Move initialization of units which do not require configuration to occur
before preload modules. This leaves only units which load config between
module preload and regular load stages.
Change-Id: I1d15384acad16a22c3498124421af474fa517478
This change causes the configure script to throw an error if neither
__sync nor __atomic builtin functions are available.
ASTERISK-27619
Change-Id: Ie01a281e0f5c41dfeeb5f250c1ccea8752f56ef9
The code which handled loading modules had too many situations which
would result in halting Asterisk startup. Treat most errors as declines
instead of failures. The exception is when the module load function
returns AST_MODULE_LOAD_FAILURE or an invalid code.
Clear the missingdeps vector when appropriate to ensure the next loop
starts clean.
ASTERISK-27620
Change-Id: I45547d9641fd45bd86d80250224417625631ad84
* Copy more than one character at a time when there is nothing to
substitute.
* Fix off by one error if a '}' or ']' is missing.
* Eliminated the requirement that the "used" parameter had to point to a
variable. The current callers were always declaring a variable to meet
the requirement and discarding the value put into that variable. Now it
can be NULL.
* In ast_str_substitute_variables_full() fixed using the bogus channel to
evaluate a function. We were not using the bogus channel we just created
to help evaluate a subexpression.
Change-Id: Ia83d99f4f16abe47f329eb39b6ff2013ae7c9854
Each time the dial plan is reloaded, a lot of logs like these are generated:
"Added extension 'XXXXX' priority 1 to YYYYYYYYYYY"
This patch changes the log level for those logs.
ASTERISK-27084
Change-Id: I5662902161c50890997ddc56835d4cafb456c529
* Add SRC_EMBEDDED variable to main/Makefile. Built-in module sources
must be listed in this variable to ensure they get the correct CFLAGS.
Change-Id: I920852bc17513a9c2627061a4ad40511e3a20499
Use a single loop in a loop to scan the resource list attempting to
dlopen each module. The inner loop is repeated until it doesn't do any
work, then it is run one more time to allow printing of error messages.
Change-Id: I60c15cd57ff9680b62e2a94c7519401fa4a38e45
Dependency loader is now in place so we no longer need a separate loader
phase for global symbols only. This simplifies the loader and allows us
to minimize calls to dlopen.
Change-Id: I33e3174d67f3b4552d3d536326dcaf0ebabb097d
* Add string vectors for requires, optional_apis and enhances.
* Add reffed_deps module vector for holding references to dependencies.
* Initialize string vectors after final dlopen of each module.
* Free string vectors and clear references from reffed_deps in
module_destroy.
* Create functions necessary to process module dependencies and enforce
load order.
Module dependencies result in automatic references being managed by the
module loader. This enforces unload order.
Change-Id: I9be08d1dd331aceadc1dcba00b804d71360b2fbb
* Remove comment about lazy load.
* Improve message about module already being loaded and running.
* Handle allocation error in add_to_load_order.
* Dead code elimination from modules_shutdown.
Change-Id: I22261599c46d0f416e568910ec9502f45143197f
Since v12 the number of taskprocessors in the system has increased a lot.
Small systems can easily have over a hundred and larger systems can have
thousands.
Most uses of the tps_singletons container deal with creating and
destroying the taskprocessors. However, the pjsip distributor looks up
taskprocessors/serializers by name frequently. It needs to find the
serializer for incoming SIP responses to distribute them to the
appropriate serializer.
Change-Id: Ice0603606614ba49f7c0c316c524735c064e7e43
ast_vector_string_split:
This function will add items to an ast_vector_string by splitting values
of a string buffer. Items are appended to the vector in the order they
are found.
ast_vector_const_string:
A vector of 'const char *'.
Change-Id: I1bf02a1efeb2baeea11c59c557d39dd1197494d7
ast_format_get_sample_rate(.) returns an unsigned type. The difference of a
substraction between two unsigned types does not get implicitly converted to a
signed type. Therefore, using abs(.) did not make sense.
ASTERISK-27549
Change-Id: Ib904d9ee0d46b6fdd1476fbc464fbbf813304017
pbx_extension_helper has a check for q->swo.exec == NULL but it doesn't
actually return so we would still run the function. Fix the return.
Move the 'int res' variable into the only scope which uses it.
Also fix a copy-paste error in ast_pbx_init which could result in a
crash on allocation failure (we exit with a normal error instead).
Change-Id: I0693af921fdc7f56b6a72a21fb816ed08b960a69