]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
3 years agoapp_mp3: Throw warning on nonexistent stream
Naveen Albert [Mon, 3 Jan 2022 01:13:33 +0000 (01:13 +0000)] 
app_mp3: Throw warning on nonexistent stream

Currently, the MP3Player application doesn't
emit a warning if attempting to play a stream
which no longer exists. This can be a common
scenario as many mp3 streams are valid at some
point but can disappear at any time.

Now a warning is thrown if attempting to play
a nonexistent MP3 stream, instead of silently
exiting.

ASTERISK-29829 #close

Change-Id: I53a0bf1ed1740166655eb66fe7675f6f808bf535

3 years agodocumentation: Add missing AMI documentation
Naveen Albert [Mon, 13 Dec 2021 14:29:30 +0000 (14:29 +0000)] 
documentation: Add missing AMI documentation

Adds missing documentation for some channel,
bridge, and queue events.

ASTERISK-24427
ASTERISK-29515

Change-Id: I92b06b88c8cadc0155f95ebe3e870b3e795a8c64

3 years agotcptls.c: refactor client connection to be more robust
Kevin Harwell [Mon, 15 Nov 2021 22:13:19 +0000 (16:13 -0600)] 
tcptls.c: refactor client connection to be more robust

The current TCP client connect code, blocks and does not handle EINTR
error case.

This patch makes the client socket non-blocking while connecting,
ensures a connect does not immediately fail due to EINTR "errors",
and adds a connect timeout option.

The original client start call sets the new timeout option to
"infinite", thus making sure old, orginal behavior is retained.

ASTERISK-29746 #close

Change-Id: I907571843a83e43c0742b95a64785f4411f02671

3 years agoapp_sf: Add full tech-agnostic SF support
Naveen Albert [Mon, 13 Dec 2021 16:59:02 +0000 (16:59 +0000)] 
app_sf: Add full tech-agnostic SF support

Adds tech-agnostic support for SF signaling
by adding SF sender and receiver applications
as well as Dial integration.

ASTERISK-29802 #close

Change-Id: I7ec50752e9a661af639425e5d1e339f17411bcad

3 years agoapp_queue: Fix hint updates, allow dup. hints
Steve Davies [Wed, 15 Dec 2021 12:23:45 +0000 (12:23 +0000)] 
app_queue: Fix hint updates, allow dup. hints

A previous patch for ASTERISK_29578 caused a 'leak' of
extension state information across queues, causing the
state of the first member of unrelated queues to be
updated in addition to the correct member. Which queues
and members depended on the order of queues in the
iterator.

Additionally, it is possible to use the same 'hint:' on
multiple queue members, so the update cannot break out
of the update loop early when a match is found.

ASTERISK-29806 #close

Change-Id: If2c1d1cc2a752afd9286d79710fc818596e7a7ad

3 years agosay.c: Honor requests for DTMF interruption.
Sean Bright [Thu, 23 Dec 2021 21:57:59 +0000 (16:57 -0500)] 
say.c: Honor requests for DTMF interruption.

SayAlpha, SayAlphaCase, SayDigits, SayMoney, SayNumber, SayOrdinal,
and SayPhonetic all claim to allow DTMF interruption if the
SAY_DTMF_INTERRUPT channel variable is set to a truthy value, but we
are failing to break out of a given 'say' application if DTMF actually
occurs.

ASTERISK-29816 #close

Change-Id: I6a96e0130560831d2cb45164919862b9bcb6287e

3 years agobridge: Unlock channel during Local peer check.
Joshua C. Colp [Mon, 27 Dec 2021 13:28:00 +0000 (09:28 -0400)] 
bridge: Unlock channel during Local peer check.

It's not safe to keep the channel locked while locking
the peer Local channel, as it can result in a deadlock.

This change unlocks it during this time but keeps the
bridge locked to ensure nothing changes about the bridge.

ASTERISK-29821

Change-Id: Ib68eb7037e5a479bcc2aceee77337cdde1fbdde6

3 years agotest_time.c: Tolerate DST transitions
Josh Soref [Sun, 7 Nov 2021 15:32:17 +0000 (10:32 -0500)] 
test_time.c: Tolerate DST transitions

When test_timezone_watch runs very near a DST transition,
two time zones that would otherwise be expected to report the same
time can differ because of the DST transition.

Instead of having the test fail when this happens, report the
times, time zones, and dst flags.

ASTERISK-29722

Change-Id: Id59bdac8b277e14343ccdf0c99b89e92f79f316a

3 years agobundled_pjproject: Add more support for multipart bodies
George Joseph [Tue, 14 Dec 2021 17:39:16 +0000 (10:39 -0700)] 
bundled_pjproject:  Add more support for multipart bodies

Adding upstream patch for pull request...
https://github.com/pjsip/pjproject/pull/2920
---------------------------------------------------------------

sip_inv:  Additional multipart support (#2919)

sip_inv.c:inv_check_sdp_in_incoming_msg() deals with multipart
message bodies in rdata correctly. In the case where early media is
involved though, the existing sdp has to be retrieved from the last
tdata sent in this transaction. This, however, always assumes that
the sdp sent is in a non-multipart body. While there's a function
to retrieve the sdp from multipart and non-multpart rdata bodies,
no similar function for tdata exists.  So...

* The existing pjsip_rdata_get_sdp_info2 was refactored to
  find the sdp in any body, multipart or non-multipart, and
  from either an rdata or tdata.  The new function is
  pjsip_get_sdp_info.  This new function detects whether the
  pjsip_msg->body->data is the text representation of the sdp
  from an rdata or an existing pjmedia_sdp_session object
  from a tdata, or whether pjsip_msg->body is a multipart
  body containing either of the two sdp formats.

* The exsting pjsip_rdata_get_sdp_info and pjsip_rdata_get_sdp_info2
  functions are now wrappers that get the body and Content-Type
  header from the rdata and call pjsip_get_sdp_info.

* Two new wrappers named pjsip_tdata_get_sdp_info and
  pjsip_tdata_get_sdp_info2 have been created that get the body
  from the tdata and call pjsip_get_sdp_info.

* inv_offer_answer_test.c was updated to test multipart scenarios.

ASTERISK-29804

Change-Id: I483c7c3d413280c9e247a96ad581278347f9c71b

3 years agoast_coredumper: Fix deleting results when output dir is set
Frederic Van Espen [Thu, 9 Dec 2021 08:55:27 +0000 (09:55 +0100)] 
ast_coredumper: Fix deleting results when output dir is set

When OUTPUTDIR is set to another directory and the
--delete-results-after is set, the resulting txt files are
not deleted.

ASTERISK-29794 #close

Change-Id: I1c0071f6809a1e3f5cfc455d6eb08378bc0d7286

3 years agopbx_variables: initialize uninitialized variable
Naveen Albert [Mon, 13 Dec 2021 22:49:52 +0000 (22:49 +0000)] 
pbx_variables: initialize uninitialized variable

The variable cp4 in a variable substitution function
can potentially be used without being initialized
currently. This causes Asterisk to no longer compile.

This initializes cp4 to NULL to make the compiler
happy.

ASTERISK-29803 #close

Change-Id: I392579cbb76db2795d5820c9427cf55fbcee9e72

3 years agoapp_queue.c: added DIALEDPEERNUMBER on outgoing channel
Mark Petersen [Wed, 8 Dec 2021 11:24:04 +0000 (12:24 +0100)] 
app_queue.c: added DIALEDPEERNUMBER on outgoing channel

added that we set DIALEDPEERNUMBER on the outgoing channels
so it is avalible in b(content^extension^line)
this add the same behaviour as Dial

ASTERISK-29795

Change-Id: Icbc589ea2066f0c401a892bf478f6b2fd44e62f6

3 years agohttp.c: Add ability to create multiple HTTP servers
Kevin Harwell [Mon, 15 Nov 2021 21:35:05 +0000 (15:35 -0600)] 
http.c: Add ability to create multiple HTTP servers

Previously, it was only possible to have one HTTP server in Asterisk.
With this patch it is now possible to have multiple HTTP servers
listening on different addresses.

Note, this behavior has only been made available through an API call
from within the TEST_FRAMEWORK. Specifically, this feature has been
added in order to allow unit test to create/start and stop servers,
if one has not been enabled through configuration.

Change-Id: Ic5fb5f11e62c019a1c51310f4667b32a4dae52f5

3 years agoapp.c: Throw warnings for nonexistent options
Naveen Albert [Mon, 13 Dec 2021 00:08:26 +0000 (00:08 +0000)] 
app.c: Throw warnings for nonexistent options

Currently, Asterisk doesn't throw warnings if options
are passed into applications that don't accept them.
This can confuse users if they're unaware that they
are doing something wrong.

This adds an additional check to parse_options so that
a warning is thrown anytime an option is parsed that
doesn't exist in the parsing application, so that users
are notified of the invalid usage.

ASTERISK-29801 #close

Change-Id: Id029274a57135caca193c913307a63fd75e24679

3 years agoapp_voicemail.c: Support for Danish syntax in VM
Mark Petersen [Wed, 8 Dec 2021 18:07:59 +0000 (19:07 +0100)] 
app_voicemail.c: Support for Danish syntax in VM

added support for playing the correct plural sound file
dependen on where you have 1 or multipe messages
based on the existing SE/NO code

ASTERISK-29797

Change-Id: I88aa814d02f3772bb80b474204b1ffb26fe438c2

3 years agoconfigs: Updates to sample configs
Naveen Albert [Wed, 17 Nov 2021 21:16:56 +0000 (21:16 +0000)] 
configs: Updates to sample configs

Includes some minor updates to extensions.conf
and iax.conf. In particular, the demonstration
of macros in extensions.conf is removed, as
Macro is deprecated and will be removed soon.
These examples have been replaced with examples
demonstrating the usage of Gosub instead.

The older exten => ...,n syntax is also mostly
replaced with the same keyword to demonstrate the
newer, more concise way of defining extensions.

IAXTEL no longer exists, so this example is replaced
with something more generic.

Some documentation is also added to extensions.conf
and iax.conf to clarify some of the new expanded
encryption capabilities with IAX2.

ASTERISK-29758 #close

Change-Id: I04fba9671aa1ee9ba1bd5027061f80bbe38e7b46

3 years agostrings: Fix enum names in comment examples
Naveen Albert [Sun, 12 Dec 2021 02:11:21 +0000 (02:11 +0000)] 
strings: Fix enum names in comment examples

The enum values for ast_strsep_flags includes
AST_STRSEP_STRIP. However, some comments reference
AST_SEP_STRIP, which doesn't exist. This fixes
these comments to use the correct value.

ASTERISK-29800 #close

Change-Id: If7bbd0c0e6226a211d25ddf9d1629347e2674943

3 years agoapp_sendtext: Add ReceiveText application
Naveen Albert [Wed, 17 Nov 2021 21:39:34 +0000 (21:39 +0000)] 
app_sendtext: Add ReceiveText application

Adds a ReceiveText application that can be used in
conjunction with SendText. Currently, there is no
way in Asterisk to receive text in the dialplan
(or anywhere else, really). This allows for Asterisk
to be the recipient of text instead of just the sender.

ASTERISK-29759 #close

Change-Id: Ica2c354a42bff69f323a0493d3a7cd0fb129d52d

3 years agopbx_variables: Increase parsing capabilities of MSet
Naveen Albert [Sat, 20 Nov 2021 20:37:16 +0000 (20:37 +0000)] 
pbx_variables: Increase parsing capabilities of MSet

Currently MSet can only parse a maximum of 24 variables.
If more variables are provided to MSet, the 24th variable
will simply contain the remainder of the string and the
remaining variables thereafter will never get set.

This increases the number of variables that can be parsed
in one go from 24 to 99. Additionally, documentation is added
since this limitation is currently undocumented and is
confusing to users who encounter this limitation.

ASTERISK-29766 #close

Change-Id: I3fe35b462dedec0a452fd9ea7f92c920a3939f16

3 years agochan_sip: Fix crash when accessing RURI before initiating outgoing call
Naveen Albert [Wed, 24 Nov 2021 02:21:23 +0000 (02:21 +0000)] 
chan_sip: Fix crash when accessing RURI before initiating outgoing call

Attempting to access ${CHANNEL(ruri)} in a pre-dial handler before
initiating an outgoing call will cause Asterisk to crash. This is
because a null field is accessed, resulting in an offset from null and
subsequent memory access violation.

Since RURI is not guaranteed to exist, we now check if the base
pointer is non-null before calculating an offset.

ASTERISK-29772

Change-Id: Icd3b02f07256bbe6615854af5717074087b95a83

3 years agofunc_json: Adds JSON_DECODE function
Naveen Albert [Mon, 25 Oct 2021 21:19:49 +0000 (21:19 +0000)] 
func_json: Adds JSON_DECODE function

Adds the JSON_DECODE function for parsing JSON in the
dialplan. JSON parsing already exists in the Asterisk
core and is used for many different things. This
function exposes the basic parsing capability to
the user in the dialplan, for instance, in conjunction
with CURL for using API responses.

ASTERISK-29706 #close

Change-Id: Iea60c49a7358dfdc2db60803cdc9a742f808ba2c

3 years agoCHANGES: Correct reference to configuration file.
Sean Bright [Sun, 12 Dec 2021 00:45:30 +0000 (19:45 -0500)] 
CHANGES: Correct reference to configuration file.

Change-Id: I22a788ebf11168fff7fbf9ea956ebcd705ab63dd

3 years agopbx: Add variable substitution API for extensions
Naveen Albert [Mon, 15 Nov 2021 21:08:11 +0000 (21:08 +0000)] 
pbx: Add variable substitution API for extensions

Currently, variable substitution involving dialplan
extensions is quite clunky since it entails obtaining
the current dialplan location, backing it up, storing
the desired variables for substitution on the channel,
performing substitution, then restoring the original
location.

In addition to being clunky, things could also go wrong
if an async goto were to occur and change the dialplan
location during a substitution.

Fundamentally, there's no reason it needs to be done this
way, so new API is added to allow for directly passing in
the dialplan location for the purposes of variable
substitution so we don't need to mess with the channel
information anymore. Existing API is not changed.

ASTERISK-29745 #close

Change-Id: I23273bf27fa0efb64a606eebf9aa8e2f41a065e4

3 years agoapp_mf: Add full tech-agnostic MF support
Naveen Albert [Wed, 22 Sep 2021 00:18:08 +0000 (00:18 +0000)] 
app_mf: Add full tech-agnostic MF support

Adds tech-agnostic support for MF signaling by adding
MF sender and receiver applications as well as Dial
integration.

ASTERISK-29496-mf #do-not-close

Change-Id: I61962b359b8ec4cfd05df877ddf9f5b8f71927a4

3 years agoxmldoc: Avoid whitespace around value for parameter/required.
Alexander Traud [Mon, 6 Dec 2021 10:25:20 +0000 (11:25 +0100)] 
xmldoc: Avoid whitespace around value for parameter/required.

Otherwise, the value 'false' was not found in the enumerated set of
the XML DTD for the XML attribute 'required' in the XML element
'parameter'. Therefore, DTD validation of the runtime XML failed.

ASTERISK-29790

Change-Id: Id13f230ad65a70dd8c2e3ae9ac85d1e841aed03e

3 years agoprogdocs: Fix Doxygen left-overs.
Alexander Traud [Sat, 4 Dec 2021 09:05:33 +0000 (10:05 +0100)] 
progdocs: Fix Doxygen left-overs.

Change-Id: I5b5cf9c9cbbe00ba8b379a8d162ac67445d39016

3 years agoxmldoc: Correct definition for XML element 'matchInfo'.
Alexander Traud [Mon, 6 Dec 2021 11:17:05 +0000 (12:17 +0100)] 
xmldoc: Correct definition for XML element 'matchInfo'.

ASTERISK-29791

Change-Id: I7c656498427fcadd0a5d61a54ff67e6036609725

3 years agoprogdocs: Update Makefile.
Alexander Traud [Tue, 23 Nov 2021 14:05:55 +0000 (15:05 +0100)] 
progdocs: Update Makefile.

In developer mode, use internal documentation as well.
This should produce no warnings. Fix yours!

In noisy mode, output all possible warnings of Doxygen.
This creates zillion of warnings. Double-check your current module!

Any warnings are in the file './doxygen.log'. Beside that, this change
avoids deprecated parameters because the configuration file for Doxygen
contains only those parameters which differ from the default. This
avoids the need to update the file on each run. Furthermore, it adds
AST_VECTOR to be expanded. Finally, the default name for that file is
Doxyfile. Therefore, let us use that!

ASTERISK-26991
ASTERISK-20259

Change-Id: I4129092a199d5e24c319a09cd088614b121015af

3 years agores_pjsip_sdp_rtp: Do not warn on unknown sRTP crypto suites.
Alexander Traud [Fri, 3 Dec 2021 13:38:35 +0000 (14:38 +0100)] 
res_pjsip_sdp_rtp: Do not warn on unknown sRTP crypto suites.

res_sdp_crypto_parse_offer(.) emits many log messages already.

ASTERISK-29785

Change-Id: I1a191ebe4fec1102946d4e31887e5197ca02dfe8

3 years agochannel: Short-circuit ast_channel_get_by_name() on empty arg.
Sean Bright [Tue, 30 Nov 2021 20:16:45 +0000 (15:16 -0500)] 
channel: Short-circuit ast_channel_get_by_name() on empty arg.

We know that passing a NULL or empty argument to
ast_channel_get_by_name() will never result in a matching channel and
will always result in an error being emitted, so just short-circuit
out in that case.

ASTERISK-28219 #close

Change-Id: I88eadc748e9c6996fc17467b0a05881bbfd00bce

3 years agores_rtp_asterisk: Addressing possible rtp range issues
Mike Bradeen [Tue, 26 Oct 2021 21:12:18 +0000 (15:12 -0600)] 
res_rtp_asterisk: Addressing possible rtp range issues

res/res_rtp_asterisk.c: Adding 1 to rtpstart if it is deteremined
that rtpstart was configured to be an odd value. Also adding a loop
counter to prevent a possible infinite loop when looking for a free
port.

ASTERISK-27406

Change-Id: I90f07deef0716da4a30206e9f849458b2dbe346b

3 years agoapps/app_dial.c: HANGUPCAUSE reason code for CANCEL is set to AST_CAUSE_NORMAL_CLEARING
Mark Petersen [Tue, 24 Aug 2021 18:10:01 +0000 (20:10 +0200)] 
apps/app_dial.c: HANGUPCAUSE reason code for CANCEL is set to AST_CAUSE_NORMAL_CLEARING

changed that when we recive a CANCEL that we set HANGUPCAUSE to AST_CAUSE_NORMAL_CLEARING

ASTERISK-28053
Reported by: roadkill

Change-Id: Ib653aec2282f55b59d87484391cc07c8e6612b89

3 years agores: Fix for Doxygen.
Alexander Traud [Fri, 19 Nov 2021 09:11:08 +0000 (10:11 +0100)] 
res: Fix for Doxygen.

These are the remaining issues found in /res.

ASTERISK-29761

Change-Id: I572e6019c422780dde5ce8448b6c85c77af6046d

3 years agores_fax_spandsp: Add spandsp 3.0.0+ compatibility
Dustin Marquess [Tue, 9 Nov 2021 00:30:00 +0000 (18:30 -0600)] 
res_fax_spandsp: Add spandsp 3.0.0+ compatibility

Newer versions of spandsp did refactoring of code to add new features
like color FAXing. This refactoring broke backwards compatibility.
Add support for the new version while retaining support for 0.0.6.

ASTERISK-29729 #close

Change-Id: I3bd74550604ebcf0304528d647fa39abc62fbaa1

3 years agomain: Fix for Doxygen.
Alexander Traud [Fri, 19 Nov 2021 17:03:55 +0000 (18:03 +0100)] 
main: Fix for Doxygen.

ASTERISK-29763

Change-Id: Ib8359e3590a9109eb04a5376559d040e5e21867e

3 years agoUpdate CHANGES and UPGRADE.txt for 16.23.0
Asterisk Development Team [Thu, 2 Dec 2021 17:55:56 +0000 (12:55 -0500)] 
Update CHANGES and UPGRADE.txt for 16.23.0

3 years agoprogdocs: Fix for Doxygen, the hidden parts.
Alexander Traud [Sun, 28 Nov 2021 10:29:53 +0000 (11:29 +0100)] 
progdocs: Fix for Doxygen, the hidden parts.

ASTERISK-29779

Change-Id: If338163488498f65fa7248b60e80299c0a928e4b

3 years agoprogdocs: Fix grouping for latest Doxygen.
Alexander Traud [Fri, 12 Nov 2021 16:26:17 +0000 (17:26 +0100)] 
progdocs: Fix grouping for latest Doxygen.

Since Doxygen 1.8.16, a special comment block is required. Otherwise
(pure C comment), the group command is ignored. Additionally, several
unbalanced group commands were fixed.

ASTERISK-29732

Change-Id: I780ed8e0e8acdbdd8f8b75fb7baf5ef657af7a3f

3 years agodocumentation: Standardize examples
Naveen Albert [Thu, 25 Nov 2021 18:41:18 +0000 (18:41 +0000)] 
documentation: Standardize examples

Most examples in the XML documentation use the
example tag to demonstrate examples, which gets
parsed specially in the Wiki to make it easier
to follow for users.

This fixes a few modules to use the example
tag instead of vanilla para tags to bring them
in line with the standard syntax.

ASTERISK-29777 #close

Change-Id: I9acb6cc5faf1d220e73c6dd28592371d768d279b

3 years agoconfig.c: Prevent UB in ast_realtime_require_field.
Sean Bright [Sun, 28 Nov 2021 20:52:24 +0000 (15:52 -0500)] 
config.c: Prevent UB in ast_realtime_require_field.

A backend's implementation of the realtime 'require' function may call
va_arg() and then fail, leaving the va_list in an undefined
state. Pass a copy of the va_list instead.

ASTERISK-29771 #close

Change-Id: I555565a72af84e96d49f62fe8cb66ba5a78461f4

3 years agoapp_voicemail: Refactor email generation functions
Naveen Albert [Mon, 1 Nov 2021 15:40:42 +0000 (15:40 +0000)] 
app_voicemail: Refactor email generation functions

Refactors generic functions used for email generation
into utils.c so that they can be used by multiple
modules, including app_voicemail and app_minivm,
to avoid code duplication.

ASTERISK-29715 #close

Change-Id: I1de0ed3483623e9599711129edc817c45ad237ee

3 years agostir/shaken: Avoid a compiler extension of GCC.
Alexander Traud [Thu, 25 Nov 2021 16:34:13 +0000 (17:34 +0100)] 
stir/shaken: Avoid a compiler extension of GCC.

ASTERISK-29776

Change-Id: I86e5eca66fb775a5744af0c929fb269e70575a73

3 years agoprogdocs: Remove outdated references in doxyref.h.
Alexander Traud [Tue, 23 Nov 2021 13:45:58 +0000 (14:45 +0100)] 
progdocs: Remove outdated references in doxyref.h.

ASTERISK-29773

Change-Id: Ica93160d9158cc0e80c5fda829b80d1b49a6b9b9

3 years agoxmldoc: Fix for Doxygen.
Alexander Traud [Sat, 20 Nov 2021 12:05:04 +0000 (13:05 +0100)] 
xmldoc: Fix for Doxygen.

ASTERISK-29765

Change-Id: I654ba0debe8351038d4433716434a09370f04c9d

3 years agologger: use __FUNCTION__ instead of __PRETTY_FUNCTION__
Jaco Kroon [Thu, 28 Oct 2021 07:28:57 +0000 (09:28 +0200)] 
logger: use __FUNCTION__ instead of __PRETTY_FUNCTION__

This avoids a few long-name overflows, at the cost of less instructive
names in the case of C++ (specifically overloaded functions and class
methods).  This in turn is offset against the fact that we're logging
the filename and line numbers in any case.

Change-Id: I54101a0bb5f8cb9ef63ec12c5e0d4c8edafff9ed
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
3 years agochan_misdn: Fix for Doxygen.
Alexander Traud [Sat, 20 Nov 2021 10:00:43 +0000 (11:00 +0100)] 
chan_misdn: Fix for Doxygen.

ASTERISK-29764

Change-Id: I6e5466cce03e25695c5c7d8b68c305184dcf5375

3 years agochannels: Fix for Doxygen.
Alexander Traud [Fri, 19 Nov 2021 09:46:06 +0000 (10:46 +0100)] 
channels: Fix for Doxygen.

ASTERISK-29762

Change-Id: Ia8811ac12b93ff8c18164699c6fbc604cb0a23f7

3 years agoastobj2.c: Fix core when ref_log enabled
Mike Bradeen [Tue, 16 Nov 2021 22:34:28 +0000 (15:34 -0700)] 
astobj2.c: Fix core when ref_log enabled

In the AO2_ALLOC_OPT_LOCK_NOLOCK case the referenced obj
structure is freed, but is then referenced later if ref_log is
enabled. The change is to store the obj->priv_data.options value
locally and reference it instead of the value from the freed obj

ASTERISK-29730

Change-Id: I60cc5dc1f5a4330e7ad56976fc38a42de0ab6072

3 years agobridge: Deny full Local channel pair in bridge.
Joshua C. Colp [Tue, 16 Nov 2021 10:06:26 +0000 (06:06 -0400)] 
bridge: Deny full Local channel pair in bridge.

Local channels are made up of two pairs - the 1 and 2
sides. When a frame goes in one side, it comes out the
other. Back and forth. When both halves are in a
bridge this creates an infinite loop of frames.

This change makes it so that bridging no longer
allows both of these sides to exist in the same
bridge.

ASTERISK-29748

Change-Id: I29928b6de87cd9be996a77daccefd7c360fef651

3 years agores_tonedetect: Add call progress tone detection
Naveen Albert [Sat, 6 Nov 2021 23:35:16 +0000 (23:35 +0000)] 
res_tonedetect: Add call progress tone detection

Makes basic call progress tone detection available
in a tech-agnostic manner with the addition of the
ToneScan application. This can determine if the channel
has encountered a busy signal, SIT tones, dial tone,
modem, fax machine, etc. A few basic async progress
tone detect options are also added to the TONE_DETECT
function.

ASTERISK-29720 #close

Change-Id: Ia02437e0450473031e294798b8cb421fb8f24e90

3 years agortp_engine: Add type field for JSON RTCP Report stasis messages
Boris P. Korzun [Mon, 8 Nov 2021 19:59:02 +0000 (22:59 +0300)] 
rtp_engine: Add type field for JSON RTCP Report stasis messages

ASTERISK-29727 #close

Change-Id: I2eca8aeb591cb63ac2238d08eab662367453cb82

3 years agoparking: Fix for Doxygen.
Alexander Traud [Wed, 17 Nov 2021 08:54:12 +0000 (09:54 +0100)] 
parking: Fix for Doxygen.

ASTERISK-29753

Change-Id: I7a61974584f6169502e6860fc711919fe7bbfaa7

3 years agoodbc: Fix for Doxygen.
Alexander Traud [Wed, 17 Nov 2021 09:24:54 +0000 (10:24 +0100)] 
odbc: Fix for Doxygen.

ASTERISK-29754

Change-Id: Ia09eb68d283d201d9a6fbeccfc0efe83fe0502a5

3 years agores_ari: Fix for Doxygen.
Alexander Traud [Wed, 17 Nov 2021 12:18:32 +0000 (13:18 +0100)] 
res_ari: Fix for Doxygen.

ASTERISK-29756

Change-Id: I2f1c1eea1c902492b77b74de9950f20ebbb7e758

3 years agoframe: Fix for Doxygen.
Alexander Traud [Wed, 17 Nov 2021 10:26:38 +0000 (11:26 +0100)] 
frame: Fix for Doxygen.

ASTERISK-29755

Change-Id: I8240013ec3db0669c0acf67e26bf6c9cbb5b72af

3 years agoari-stubs: Avoid 'is' as comparism with an literal.
Alexander Traud [Wed, 17 Nov 2021 11:43:22 +0000 (12:43 +0100)] 
ari-stubs: Avoid 'is' as comparism with an literal.

Python 3.9.7 gave a syntax warning.

Change-Id: I3e3a982fe720726bc0015bcdb0e638a626ec89d4

3 years agoBuildSystem: Consistently allow 'ye' even for Jansson.
Alexander Traud [Mon, 8 Nov 2021 16:08:01 +0000 (17:08 +0100)] 
BuildSystem: Consistently allow 'ye' even for Jansson.

Furthermore, consistently use not 'No' but ':' for non-existent file
paths. Finally, use the same pattern for checking file paths:
  a)  = ":"
  b) != "x:"

Change-Id: I0c80c76d2cc98b0e5c859131290f4e3141a1a544

3 years agochannel: Fix for Doxygen.
Alexander Traud [Tue, 16 Nov 2021 18:22:44 +0000 (19:22 +0100)] 
channel: Fix for Doxygen.

ASTERISK-29751

Change-Id: Ie04da5029c57ebee44733bdf05013156abe80176

3 years agostasis: Fix for Doxygen.
Alexander Traud [Tue, 16 Nov 2021 17:00:15 +0000 (18:00 +0100)] 
stasis: Fix for Doxygen.

ASTERISK-29750

Change-Id: Iea50173e785b2e9d49bc24c0af7111cfd96d44a9

3 years agoapp: Fix for Doxygen.
Alexander Traud [Wed, 17 Nov 2021 08:30:18 +0000 (09:30 +0100)] 
app: Fix for Doxygen.

ASTERISK-29752

Change-Id: If40cbd01d47a6cfd620b18206dedb8460216c8af

3 years agores_xmpp: Fix for Doxygen.
Alexander Traud [Tue, 16 Nov 2021 12:51:05 +0000 (13:51 +0100)] 
res_xmpp: Fix for Doxygen.

ASTERISK-29749

Change-Id: I7885793b63bdeaa883e76edb899bbba9660eb1c5

3 years agochan_iax2: Fix for Doxygen.
Alexander Traud [Sat, 13 Nov 2021 12:04:20 +0000 (13:04 +0100)] 
chan_iax2: Fix for Doxygen.

ASTERISK-29737

Change-Id: I282003cc553989fd5c19ceeac9e478fa4ee06cec

3 years agores_pjsip: Fix for Doxygen.
Alexander Traud [Tue, 16 Nov 2021 10:59:25 +0000 (11:59 +0100)] 
res_pjsip: Fix for Doxygen.

ASTERISK-29747

Change-Id: Ic7a1e9453f805a6264fe86c96b7d18b87b376084

3 years agobridges: Fix for Doxygen.
Alexander Traud [Mon, 15 Nov 2021 14:12:37 +0000 (15:12 +0100)] 
bridges: Fix for Doxygen.

ASTERISK-29743

Change-Id: I6e1bbbaa5875e19994a328ab40a5d429c6010e8b

3 years agoaddons: Fix for Doxygen.
Alexander Traud [Mon, 15 Nov 2021 13:38:44 +0000 (14:38 +0100)] 
addons: Fix for Doxygen.

ASTERISK-29742

Change-Id: Ie752cb9638ced1ebe3a55d710c6c18ef6bd0aafc

3 years agotests: Fix for Doxygen.
Alexander Traud [Mon, 15 Nov 2021 13:29:02 +0000 (14:29 +0100)] 
tests: Fix for Doxygen.

ASTERISK-29741

Change-Id: I012d72b237bda2ef2d0f86307dfc6dc7add4b54b

3 years agoapps: Fix for Doxygen.
Alexander Traud [Mon, 15 Nov 2021 13:18:02 +0000 (14:18 +0100)] 
apps: Fix for Doxygen.

ASTERISK-29740

Change-Id: Icb6fbcfea0a5f1c82caa5001902b6a786adbf307

3 years agobridge_channel: Fix for Doxygen.
Alexander Traud [Sat, 13 Nov 2021 10:40:51 +0000 (11:40 +0100)] 
bridge_channel: Fix for Doxygen.

ASTERISK-29736

Change-Id: Ia5370289e6526001a6b52754b533bcea1a9d7e5c

3 years agoprogdocs: Avoid 'name' with Doxygen \file.
Alexander Traud [Fri, 12 Nov 2021 18:53:26 +0000 (19:53 +0100)] 
progdocs: Avoid 'name' with Doxygen \file.

Fixes one misuse of the parameter 'name'. Additionally, for
consistency and to avoid such an issue in future, those few other
places, which used '\file name', were changed just to '\file'. Then,
Doxygen uses the name of the current file.

ASTERISK-29733

Change-Id: I1a915713d39223b03532549e6c16a98cefb4fc23

3 years agoprogdocs: Use Doxygen \example correctly.
Alexander Traud [Fri, 12 Nov 2021 19:17:20 +0000 (20:17 +0100)] 
progdocs: Use Doxygen \example correctly.

ASTERISK-29734

Change-Id: I83b51e85cd71867645ab3a8a820f8fd1f065abd2

3 years agoprogdocs: Avoid multiple use of section labels.
Alexander Traud [Fri, 12 Nov 2021 19:52:27 +0000 (20:52 +0100)] 
progdocs: Avoid multiple use of section labels.

ASTERISK-29735

Change-Id: I56935e73f7bd1d4ae2721d11040f4835da64b810

3 years agobridges: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:37 +0000 (21:04 -0400)] 
bridges: Spelling fixes

Correct typos of the following word families:

multiplication
potentially
iteration
interaction
virtual
synthesis
convolve
initializes
overlap

ASTERISK-29714

Change-Id: Ia40f1aca8f2996ab407c6ed9d24cb10a67c6684b
(cherry picked from commit 2a8fb4695ef87c363fc49f142b696ceed85a7f98)

3 years agoapp_morsecode: Fix deadlock
Naveen Albert [Mon, 15 Nov 2021 19:02:40 +0000 (19:02 +0000)] 
app_morsecode: Fix deadlock

Fixes a deadlock in app_morsecode caused by locking
the channel twice when reading variables from the
channel. The duplicate lock is simply removed.

ASTERISK-29744 #close

Change-Id: I204000701f123361d7f85e0498fedc90243c75e4

3 years agoapp_read: Fix custom terminator functionality regression
Naveen Albert [Mon, 25 Oct 2021 17:51:50 +0000 (17:51 +0000)] 
app_read: Fix custom terminator functionality regression

Currently, when the t option is specified with no arguments,
the # character is still treated as a terminator, even though
no character should be treated as a terminator.

This is because a previous regression fix was modified to
remove the use of NULL as a default altogether. However,
NULL and an empty string actually refer to different
arrangements and should be treated differently. NULL is the
default terminator (#), while an empty string removes the
terminator altogether. This is the behavior being used by
the rest of the core.

Additionally, since S_OR catches empty strings as well as
NULL (not intended), this is changed to a ternary operator
instead, which fixes the behavior.

ASTERISK-29705 #close

Change-Id: I9b6b72196dd04f5b1e0ab5aa1b0adf627725e086

3 years agores_pjsip_callerid: Fix OLI parsing
Naveen Albert [Sun, 24 Oct 2021 18:38:13 +0000 (18:38 +0000)] 
res_pjsip_callerid: Fix OLI parsing

Fix parsing of ANI2/OLI information, since it was previously
parsing the user, when it should have been parsing other_param.

Also improves the parsing by using pjproject native functions
rather than trying to parse the parameters ourselves like
chan_sip did. A previous attempt at this caused a crash, but
this works correctly now.

ASTERISK-29703 #close

Change-Id: I8f3c79032d9ea1a21d16f8e11f22bd8d887738a1

3 years agorest-api-templates: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:38 +0000 (21:04 -0400)] 
rest-api-templates: Spelling fixes

Correct typos of the following word families:

overwritten
descendants

ASTERISK-29714

Change-Id: I2307e35887a3437e50317a4b86f0893f25f9fd3b

3 years agofuncs: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:34 +0000 (21:04 -0400)] 
funcs: Spelling fixes

Correct typos of the following word families:

effectively
emitted
expect
anthony

ASTERISK-29714

Change-Id: Ic16f9ec855bb6d14ec8e170b90af9a36b06d488a

3 years agoutils: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:32 +0000 (21:04 -0400)] 
utils: Spelling fixes

Correct typos of the following word families:

command-line
immediately
extensions
momentarily
mustn't
numbered
bytes
caching

ASTERISK-29714

Change-Id: I8b2b125c5d4d2f9e87a58515c97468ad47ca44f8

3 years agoCREDITS: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:33 +0000 (21:04 -0400)] 
CREDITS: Spelling fixes

Correct typos of the following word families:

contributors

ASTERISK-29714

Change-Id: I6f46dae8bf8125a21ce8ff318380b2b412d9d2f9

3 years agodoc: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:42 +0000 (21:04 -0400)] 
doc: Spelling fixes

Correct typos of the following word families:

transparent
roughly

ASTERISK-29714

Change-Id: I2b90c68dfde4aa3f0d58f64f8187465336acb1b3

3 years agobuild_tools: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:32 +0000 (21:04 -0400)] 
build_tools: Spelling fixes

Correct typos of the following word families:

binutils

ASTERISK-29714

Change-Id: I2f676ab48cd50edc400c43307cb53679e4c09b97

3 years agoapps: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:41 +0000 (21:04 -0400)] 
apps: Spelling fixes

Correct typos of the following word families:

simultaneously
administrator
directforward
attachfmt
dailplan
automatically
applicable
nouns
explicit
outside
sponsored
attachment
audio
spied
doesn't
counting
encoded
implements
recursively
emailaddress
arguments
queuerules
members
priority
output
advanced
silencethreshold
brazilian
debugging
argument
meadmin
formatting
integrated
sneakiness

ASTERISK-29714

Change-Id: Ie5ecaec91c00b26309da4e51cfc0991a5bb7d092

3 years agomenuselect: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:34 +0000 (21:04 -0400)] 
menuselect: Spelling fixes

Correct typos of the following word families:

dependency
unless
random
dependencies
delimited
randomly
modules

ASTERISK-29714

Change-Id: I3920603a8dc7c0a1852d2f885e06b1144692d40e

3 years agoCHANGES: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:36 +0000 (21:04 -0400)] 
CHANGES: Spelling fixes

Correct typos of the following word families:

issuing
execution
bridging
alert
respective
unlikely
confbridge
offered
negotiation
announced
engineer
systems
inherited
passthrough
functionality
supporting
conflicts
semantically
monitor
specify
specifiable

ASTERISK-29714

Change-Id: Ia6b1cf634f52c5f7b1b8769dc54dae78106ed98c

3 years agoinclude: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:30 +0000 (21:04 -0400)] 
include: Spelling fixes

Correct typos of the following word families:

activities
forward
occurs
unprepared
association
compress
extracted
doubly
callback
prometheus
underlying
keyframe
continue
convenience
calculates
ignorepattern
determine
subscribers
subsystem
synthetic
applies
example
manager
established
result
microseconds
occurrences
unsuccessful
accommodates
related
signifying
unsubscribe
greater
fastforward
itself
unregistering
using
translator
sorcery
implementation
serializers
asynchronous
unknowingly
initialization
determining
category
these
persistent
propagate
outputted
string
allocated
decremented
second
cacheability
destructor
impaired
decrypted
relies
signaling
based
suspended
retrieved
functions
search
auth
considered

ASTERISK-29714

Change-Id: I542ce887a16603f886a915920d5710d4a0a1358d

3 years agotests: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:37 +0000 (21:04 -0400)] 
tests: Spelling fixes

Correct typos of the following word families:

mounting
jitterbuffer
thrashing
original
manipulating
entries
actual
possibility
tasks
options
positives
taskprocessor
other
dynamic
declarative

ASTERISK-29714

Change-Id: I6b94659d045eec5d8d020fce2e9b6e2f593dfeb6

3 years agocontrib: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:41 +0000 (21:04 -0400)] 
contrib: Spelling fixes

Correct typos of the following word families:

standard
increase
comments
valgrind
promiscuous
editing
libtonezone
storage
aggressive
whitespace
russellbryant
consecutive
peternixon

ASTERISK-29714

Change-Id: I9cafbf41b579c9c0c84c81719d2c4f900beec245

3 years agoconfigs: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:38 +0000 (21:04 -0400)] 
configs: Spelling fixes

Correct typos of the following word families:

password
excludes
undesirable
checksums
through
screening
interpreting
database
causes
initiation
member
busydetect
defined
severely
throughput
recognized
counter
require
indefinitely
accounts

ASTERISK-29714

Change-Id: Ie8f2a7b274a162dd627ee6a2165f5e8a3876527e

3 years agoUPGRADE.txt: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:42 +0000 (21:04 -0400)] 
UPGRADE.txt: Spelling fixes

Correct typos of the following word families:

themselves
support
received

ASTERISK-29714

Change-Id: Ibd0a7996d5801c754d3d44fba31fe788a13dba95

3 years agopbx: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:39 +0000 (21:04 -0400)] 
pbx: Spelling fixes

Correct typos of the following word families:

process
populate
with
africa
accessing
contexts
exercise
university
organizations
withhold
maintaining
independent
rotation
ignore
eventname

ASTERISK-29714

Change-Id: I90eacc5bc3dcf75a9c898cfb85164f37dec08345

3 years agoformats: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:42 +0000 (21:04 -0400)] 
formats: Spelling fixes

Correct typos of the following word families:

truncate

ASTERISK-29714

Change-Id: I6507760c72b919873cff7cac22b3781036cd4955

3 years agomain: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:30 +0000 (21:04 -0400)] 
main: Spelling fixes

Correct typos of the following word families:

analysis
nuisance
converting
although
transaction
desctitle
acquire
update
evaluate
thousand
this
dissolved
management
integrity
reconstructed
decrement
further on
irrelevant
currently
constancy
anyway
unconstrained
featuregroups
right
larger
evaluated
encumbered
languages
digits
authoritative
framing
blindxfer
tolerate
traverser
exclamation
perform
permissions
rearrangement
performing
processing
declension
happily
duplicate
compound
hundred
returns
elicit
allocate
actually
paths
inheritance
atxferdropcall
earlier
synchronization
multiplier
acknowledge
across
against
thousands
joyous
manipulators
guaranteed
emulating
soundfile

ASTERISK-29714

Change-Id: I926ba4b11e9f6dd3fdd93170ab1f9b997910be70

3 years agoMakefile: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:37 +0000 (21:04 -0400)] 
Makefile: Spelling fixes

Correct typos of the following word families:

libraries
install
overwrite

ASTERISK-29714

Change-Id: I6488814f79186d6c23dfd7b7f9bba0a046126174

3 years agoagi: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:39 +0000 (21:04 -0400)] 
agi: Spelling fixes

Correct typos of the following word families:

pretend
speech

ASTERISK-29714

Change-Id: I7d0527c329cda07552247ea11b2d7db207a3d87d

3 years agoaddons: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:34 +0000 (21:04 -0400)] 
addons: Spelling fixes

Correct typos of the following word families:

definition
listener
fastcopy
logical
registration
classify
documentation
explicitly
dialed
endpoint
elements
arithmetic
might
prepend
byte
terminal
inquiry
skipping
aliases
calling
absent
authentication
transmit
their
ericsson
disconnecting
redir
items
client
adapter
transmitter
existing
satisfies
pointer
interval
supplied

ASTERISK-29714

Change-Id: I8548438246f7b718d88e0b9e0a1eb384bbec88e4

3 years agocodecs: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:43 +0000 (21:04 -0400)] 
codecs: Spelling fixes

Correct typos of the following word families:

voiced
denumerator
codeword
upsampling
constructed
residual
subroutine
conditional
quantizing
courtesy
number

ASTERISK-29714

Change-Id: I471fb8086a5277d8f05047fedee22cfa97a4252d

3 years agochannels: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:31 +0000 (21:04 -0400)] 
channels: Spelling fixes

Correct typos of the following word families:

appease
permanently
overriding
residue
silliness
extension
channels
globally
reference
japanese
group
coordinate
registry
information
inconvenience
attempts
cadence
payloads
presence
provisioning
mimics
behavior
width
natively
syslabel
not owning
unquelch
mostly
constants
interesting
active
unequipped
brodmann
commanding
backlogged
without
bitstream
firmware
maintain
exclusive
practically
structs
appearance
range
retransmission
indication
provisional
associating
always
whether
cyrillic
distinctive
components
reinitialized
initialized
capability
switches
occurring
happened
outbound

ASTERISK-29714

Change-Id: Ife52ee89cd2170b684fa651ca72b1cb911a57339

3 years agores: Spelling fixes
Josh Soref [Sun, 31 Oct 2021 01:04:36 +0000 (21:04 -0400)] 
res: Spelling fixes

Correct typos of the following word families:

identifying
structures
actcount
initializer
attributes
statement
enough
locking
declaration
userevent
provides
unregister
session
execute
searches
verification
suppressed
prepared
passwords
recipients
event
because
brief
unidentified
redundancy
character
the
module
reload
operation
backslashes
accurate
incorrect
collision
initializing
instance
interpreted
buddies
omitted
manually
requires
queries
generator
scheduler
configuration has
owner
resource
performed
masquerade
apparently
routable

ASTERISK-29714

Change-Id: I88485116d2c59b776aa2e1f8b4ce8239a21decda

3 years agoCI: Rename 'master' node to 'built-in'
George Joseph [Mon, 8 Nov 2021 13:00:55 +0000 (06:00 -0700)] 
CI: Rename 'master' node to 'built-in'

Jenkins renamed the 'master' node to 'built-in' in version
2.319 so we have to adjust as well.

Change-Id: Ice663c3a66d0eedf76e8e5fe530328455991ec25

3 years agosig_analog: Fix truncated buffer copy
Naveen Albert [Sun, 24 Oct 2021 11:55:50 +0000 (11:55 +0000)] 
sig_analog: Fix truncated buffer copy

Fixes compiler warning caused by a truncated copy of the ANI2 into a
buffer of size 10. This could prevent the null terminator from being
copied if the copy value exceeds the size of the buffer. This increases
the buffer size to 101 to ensure there is no way for truncation to occur.

ASTERISK-29702 #close

Change-Id: Ief9052212952840fa44de6463b8699fdb3e163d0