Commit Graph

33842 Commits

Author SHA1 Message Date
Mike Bradeen 714950bd7c utils: add lock timestamps for DEBUG_THREADS
Adds last locked and unlocked timestamps as well as a
counter for the number of times the lock has been
attempted (vs locked/unlocked) to debug output printed
using the DEBUG_THREADS option.

Resolves: #110
(cherry picked from commit 3acdffc17e)
2023-07-10 11:49:48 +00:00
George Joseph 244e0b69ea .github: Back out triggering PROpenedOrUpdated by label
(cherry picked from commit 4ff17f44a4)
2023-07-10 11:49:48 +00:00
George Joseph 37d2378073 .github: Move publish docs to new file CreateDocs.yml
(cherry picked from commit caf0fd357c)
2023-07-10 11:49:48 +00:00
George Joseph 46bb9e8fde rest-api: Updates for new documentation site
The new documentation site uses traditional markdown instead
of the Confluence flavored version.  This required changes in
the mustache templates and the python that generates the files.

(cherry picked from commit 80d042cb01)
2023-07-10 11:49:48 +00:00
George Joseph 64ecad8309 .github: Remove result check from PROpenUpdateGateTests
(cherry picked from commit b008fd5919)
2023-07-10 11:49:48 +00:00
George Joseph f6630916f4 .github: Fix use of 'contains'
(cherry picked from commit 44c0e1b756)
2023-07-10 11:49:48 +00:00
George Joseph 157d478b27 .github: Add recheck label test to additional jobs
(cherry picked from commit 91503078ff)
2023-07-10 11:49:48 +00:00
George Joseph 8a152fb4aa .github: Fix recheck label typos
(cherry picked from commit de40ea0f79)
2023-07-10 11:49:48 +00:00
George Joseph 37dce12781 .github: Fix recheck label manipulation
(cherry picked from commit 07a3784745)
2023-07-10 11:49:48 +00:00
George Joseph fdfe61bf4d .github: Allow PR submit checks to be re-run by label
(cherry picked from commit 426b9c568c)
2023-07-10 11:49:48 +00:00
Olaf Titz f7f2872b3f app_voicemail_imap: Fix message count when IMAP server is unavailable
Some callers of __messagecount did not correctly handle error return,
instead returning a -1 message count.
This caused a notification with "Messages-Waiting: yes" and
"Voice-Message: -1/0 (0/0)" if the IMAP server was unavailable.

Fixes: #64
(cherry picked from commit af2ced484e)
2023-07-10 11:49:48 +00:00
Sean Bright 81b490ab0a res_pjsip_rfc3326: Prefer Q.850 cause code over SIP.
Resolves: #116
(cherry picked from commit 4a1edb9a8c)
2023-07-10 11:49:48 +00:00
Ben Ford ff4f3c1187 res_pjsip_session: Added new function calls to avoid ABI issues.
Added two new functions (ast_sip_session_get_dialog and
ast_sip_session_get_pjsip_inv_state) that retrieve the dialog and the
pjsip_inv_state respectively from the pjsip_inv_session on the
ast_sip_session struct. This is due to pjproject adding a new field to
the pjsip_inv_session struct that caused crashes when trying to access
fields that were no longer where they were expected to be if a module
was compiled against a different version of pjproject.

Resolves: #145
(cherry picked from commit ad120e5d0b)
2023-07-10 11:49:48 +00:00
Nathan Bruning f0df2eba9d app_queue: Add force_longest_waiting_caller option.
This adds an option 'force_longest_waiting_caller' which changes the
global behavior of the queue engine to prevent queue callers from
'jumping ahead' when an agent is in multiple queues.

Resolves: #108

Also closes old asterisk issues:
- ASTERISK-17732
- ASTERISK-17570

Change-Id: I0f84e27903fefbe2018d0afa2d67b23aa0b321ce
(cherry picked from commit 6084bbfe0e)
2023-07-10 11:49:48 +00:00
Sean Bright ff60aae1c8 pjsip_transport_events.c: Use %zu printf specifier for size_t.
Partially resolves #143.

(cherry picked from commit b7eae29fb9)
2023-07-10 11:49:48 +00:00
Sean Bright 99622c35e0 res_crypto.c: Gracefully handle potential key filename truncation.
Partially resolves #143.

(cherry picked from commit 97b901a29b)
2023-07-10 11:49:48 +00:00
Sean Bright 5497b1abe3 configure: Remove obsolete and deprecated constructs.
These were uncovered when trying to run `bootstrap.sh` with Autoconf
2.71:

* AC_CONFIG_HEADER() is deprecated in favor of AC_CONFIG_HEADERS().
* AC_HEADER_TIME is obsolete.
* $as_echo is deprecated in favor of AS_ECHO() which requires an update
  to ax_pthread.m4.

Note that the generated artifacts in this commit are from Autoconf 2.69.

Resolves #139

(cherry picked from commit 21d3c4ae58)
2023-07-10 11:49:48 +00:00
zhou_jiajian 3ad8ab6d52 res_fax_spandsp.c: Clean up a spaces/tabs issue
(cherry picked from commit f7e1f1fbbd)
2023-07-10 11:49:48 +00:00
Sean Bright f971db6685 ast-db-manage: Synchronize revisions between comments and code.
In a handful of migrations, the comment header that indicates the
current and previous revisions has drifted from the identifiers
revision and down_revision variables. This updates the comment headers
to match the code.

(cherry picked from commit ea63148b23)
2023-07-10 11:49:48 +00:00
George Joseph 8e6f15d185 test_statis_endpoints: Fix channel_messages test again
(cherry picked from commit 25bc5544d8)
2023-07-10 11:49:48 +00:00
Sean Bright 0503e2b612 res_crypto.c: Avoid using the non-portable ALLPERMS macro.
ALLPERMS is not POSIX and it's trivial enough to not jump through
autoconf hoops to check for it.

Fixes #149.

(cherry picked from commit ebc007322b)
2023-07-10 11:49:48 +00:00
Jaco Kroon dafa9917ff tcptls: when disabling a server port, we should set the accept_fd to -1.
If we don't set this to -1 if the structure can be potentially re-used
later then it's possible that we'll issue a close() on an unrelated file
descriptor, breaking asterisk in other interesting ways.

I believe this to be an unlikely scenario, but it costs nothing to be
safe.

Signed-off-by: Jaco Kroon <jaco@uls.co.za>
(cherry picked from commit 4a637d6d11)
2023-07-10 11:49:48 +00:00
Jiajian Zhou a6a5498b0d AMI: Add parking position parameter to Park action
Add a parking space extension parameter (ParkingSpace) to the Park action.
Park action will attempt to park the call to that extension.
If the extension is already in use, then execution will continue at the next priority.

UserNote: New ParkingSpace parameter has been added to AMI action Park.
(cherry picked from commit 8e3f9dcc7b)
2023-07-10 11:49:48 +00:00
George Joseph b7775ae4e1 test_stasis_endpoints.c: Make channel_messages more stable
The channel_messages test was assuming that stasis would return
messages in a specific order.  This is an incorrect assumption as
message ordering was never guaranteed.  This was causing the test
to fail occasionally.  We now test all the messages for the
required message types instead of testing one by one.

Resolves: #158
(cherry picked from commit 83781c23b9)
2023-07-10 11:49:48 +00:00
George Joseph ee09bbbb5f build: Fix a few gcc 13 issues
* gcc 13 is now catching when a function is declared as returning
  an enum but defined as returning an int or vice versa.  Fixed
  a few in app.h, loader.c, stasis_message.c.

* gcc 13 is also now (incorrectly) complaining of dangling pointers
  when assigning a pointer to a local char array to a char *. Had
  to change that to an ast_alloca.

Resolves: #155
(cherry picked from commit 6c8b23a688)
2023-07-10 11:49:48 +00:00
George Joseph 40ff67d636 .github: Rework for merge approval
(cherry picked from commit b3c2a9cd44)
2023-07-10 11:49:48 +00:00
Sean Bright 79d271fa7f ast-db-manage: Fix alembic branching error caused by #122.
Fixes #147.

(cherry picked from commit fe15631d38)
2023-07-10 11:49:48 +00:00
alex2grad 319da11fae app_followme: fix issue with enable_callee_prompt=no (#88)
* app_followme: fix issue with enable_callee_prompt=no

If the FollowMe option 'enable_callee_prompt' is set to 'no' then Asterisk
incorrectly sets a winner channel to the channel from which any control frame was read.

This fix sets the winner channel only to the answered channel.

Resolves: #87

ASTERISK-30326

(cherry picked from commit a8ea16cdf8)
2023-07-10 11:49:48 +00:00
Sean Bright 228244a96e sounds: Update download URL to use HTTPS.
Related to #136

(cherry picked from commit ada3dc2adb)
2023-07-10 11:49:48 +00:00
Miguel Angel Nubla 25de041d5e configure: Makefile downloader enable follow redirects.
If curl is used for building, any download such as a sounds package
will fail to follow HTTP redirects and will download wrong data.

Resolves: #136
(cherry picked from commit 95d339ac7a)
2023-07-10 11:49:47 +00:00
Naveen Albert 8cdf711531 res_musiconhold: Add option to loop last file.
Adds the loop_last option to res_musiconhold,
which allows the last audio file in the directory
to be looped perpetually once reached, rather than
circling back to the beginning again.

Resolves: #122
ASTERISK-30462

UserNote: The loop_last option in musiconhold.conf now
allows the last file in the directory to be looped once reached.

(cherry picked from commit edf488c76e)
2023-07-10 11:49:47 +00:00
Naveen Albert 457a72304d chan_dahdi: Fix Caller ID presentation for FXO ports.
Currently, the presentation for incoming channels is
always available, because it is never actually set,
meaning the channel presentation can be nonsensical.
If the presentation from the incoming Caller ID spill
is private or unavailable, we now update the channel
presentation to reflect this.

Resolves: #120
ASTERISK-30333
ASTERISK-21741

(cherry picked from commit 86a11d5b19)
2023-07-10 11:49:47 +00:00
Ben Ford 8da7b4606b AMI: Add CoreShowChannelMap action.
Adds a new AMI action (CoreShowChannelMap) that takes in a channel name
and provides a list of all channels that are connected to that channel,
following local channel connections as well.

Resolves: #104

UserNote: New AMI action CoreShowChannelMap has been added.
(cherry picked from commit e72b277828)
2023-07-10 11:49:47 +00:00
Naveen Albert f40e50ce19 sig_analog: Add fuller Caller ID support.
A previous change, ASTERISK_29991, made it possible
to send additional Caller ID parameters that were
not previously supported.

This change adds support for analog DAHDI channels
to now be able to receive these parameters for
on-hook Caller ID, in order to enhance the usability
of CPE that support these parameters.

Resolves: #94
ASTERISK-30331

UserNote: Additional Caller ID properties are now supported on
incoming calls to FXS stations, namely the
redirecting reason and call qualifier.

(cherry picked from commit 87f44dc0f9)
2023-07-10 11:49:47 +00:00
Joe Searle 5018c09d99 res_stasis.c: Add new type 'sdp_label' for bridge creation.
Add new type 'sdp_label' when creating a bridge using the ARI. This will
add labels to the SDP for each stream, the label is set to the
corresponding channel id.

Resolves: #91

UserNote: When creating a bridge using the ARI the 'type' argument now
accepts a new value 'sdp_label' which will configure the bridge to add
labels for each stream in the SDP with the corresponding channel id.

(cherry picked from commit ec64828c8f)
2023-07-10 11:49:47 +00:00
Niklas Larsson 1589efa5dd app_queue: Preserve reason for realtime queues
When Asterisk is restarted it does not preserve paused reason for
members of realtime queues. This was fixed for non-realtime queues in
ASTERISK_25732

Resolves: #66

UpgradeNote: Add a new column to the queue_member table:
reason_paused VARCHAR(80) so the reason can be preserved.

UserNote: Make paused reason in realtime queues persist an
Asterisk restart. This was fixed for non-realtime
queues in ASTERISK_25732.

(cherry picked from commit df774619fb)
2023-07-10 11:49:47 +00:00
George Joseph b68bf5683f .github: Fix issues with cherry-pick-reminder
(cherry picked from commit a83f35c58e)
2023-07-10 11:49:47 +00:00
Mike Bradeen 26401ddcc0 indications: logging changes
Increase verbosity to indicate failure due to missing country
and to specify default on CLI dump

Resolves: #89
(cherry picked from commit f19a6cf11e)
2023-07-10 11:49:47 +00:00
George Joseph da66f402c9 .github Ignore error when adding reviewrs to PR
(cherry picked from commit 7bbeda3908)
2023-07-10 11:49:47 +00:00
George Joseph 75c13b2c95 .github: Update field descriptions for AsteriskReleaser
(cherry picked from commit 2a75114b6d)
2023-07-10 11:49:47 +00:00
Naveen Albert ba1c363d3e callerid: Allow specifying timezone for date/time.
The Caller ID generation routine currently is hardcoded
to always use the system time zone. This makes it possible
to optionally specify any TZ-format time zone.

Resolves: #98
ASTERISK-30330

(cherry picked from commit d3227a614a)
2023-07-10 11:49:47 +00:00
Naveen Albert c8b7570cad logrotate: Fix duplicate log entries.
The Asterisk logrotate script contains explicit
references to files with the .log extension,
which are also included when *log is expanded.
This causes issues with newer versions of logrotate.
This fixes this by ensuring that a log file cannot
be referenced multiple times after expansion occurs.

Resolves: #96
ASTERISK-30442
Reported by: EN Barnett
Tested by: EN Barnett

(cherry picked from commit 22c9d52289)
2023-07-10 11:49:47 +00:00
Maximilian Fridrich 173c433274 chan_pjsip: Allow topology/session refreshes in early media state
With this change, session modifications in the early media state are
possible if the SDP was sent reliably and confirmed by a PRACK. For
details, see RFC 6337, escpecially section 3.2.

Resolves: #73
(cherry picked from commit 1a7dada804)
2023-07-10 11:49:47 +00:00
Naveen Albert c5c89ed377 chan_dahdi: Fix broken hidecallerid setting.
The hidecallerid setting in chan_dahdi.conf currently
is broken for a couple reasons.

First, the actual code in sig_analog to "allow" or "block"
Caller ID depending on this setting improperly used
ast_set_callerid instead of updating the presentation.
This issue was mostly fixed in ASTERISK_29991, and that
fix is carried forward to this code as well.

Secondly, the hidecallerid setting is set on the DAHDI
pvt but not carried forward to the analog pvt properly.
This is because the chan_dahdi config loading code improperly
set permhidecallerid to permhidecallerid from the config file,
even though hidecallerid is what is actually set from the config
file. (This is done correctly for call waiting, a few lines above.)
This is fixed to read the proper value.

Thirdly, in sig_analog, hidecallerid is set to permhidecallerid
only on hangup. This can lead to potential security vulnerabilities
as an allowed Caller ID from an initial call can "leak" into subsequent
calls if no hangup occurs between them. This is fixed by setting
hidecallerid to permcallerid when calls begin, rather than when they end.
This also means we don't need to also set hidecallerid in chan_dahdi.c
when copying from the config, as we would have to otherwise.

Fourthly, sig_analog currently only allows dialing *67 or *82 if
that would actually toggle the presentation. A comment is added
clarifying that this behavior is okay.

Finally, a couple log messages are updated to be more accurate.

Resolves: #100
ASTERISK-30349 #close

(cherry picked from commit 22b599d86f)
2023-07-10 11:49:47 +00:00
George Joseph 0d214b6611 .github: Change title of AsteriskReleaser job
(cherry picked from commit 15439d08bd)
2023-07-10 11:49:47 +00:00
Naveen Albert ca51a25056 asterisk.c: Fix option warning for remote console.
Commit 09e989f972
categorized the T option as not being compatible
with remote consoles, but they do affect verbose
messages with remote console. This fixes this.

Resolves: #102
(cherry picked from commit cfae64a70d)
2023-07-10 11:49:47 +00:00
George Joseph cd2eafe588 .github: Don't add cherry-pick reminder if it's already present
(cherry picked from commit 7193e95676)
2023-07-10 11:49:47 +00:00
George Joseph 955c2e06ff .github: Fix quoting in PROpenedOrUpdated
(cherry picked from commit af0535f302)
2023-07-10 11:49:47 +00:00
George Joseph 5e37887d82 .github: Add cherry-pick reminder to new PRs
(cherry picked from commit e72b35e7fb)
2023-07-10 11:49:47 +00:00
Jaco Kroon dda4dd513f configure: fix test code to match gethostbyname_r prototype.
This enables the test to work with CC=clang.

Without this the test for 6 args would fail with:

utils.c:99:12: error: static declaration of 'gethostbyname_r' follows non-static declaration
static int gethostbyname_r (const char *name, struct hostent *ret, char *buf,
           ^
/usr/include/netdb.h:177:12: note: previous declaration is here
extern int gethostbyname_r (const char *__restrict __name,
           ^

Fixing the expected return type to int sorts this out.

Signed-off-by: Jaco Kroon <jaco@uls.co.za>
(cherry picked from commit f178bf78b7)
2023-07-10 11:49:47 +00:00