]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
23 months agoapp_voicemail: add CLI commands for message manipulation
Mike Bradeen [Tue, 20 Jun 2023 16:32:14 +0000 (10:32 -0600)] 
app_voicemail: add CLI commands for message manipulation

Adds CLI commands to allow move/remove/forward individual messages
from a particular mailbox folder. The forward command can be used
to copy a message within a mailbox or to another mailbox. Also adds
a show mailbox, required to retrieve message ID's.

Resolves: #170

UserNote: The following CLI commands have been added to app_voicemail

voicemail show mailbox <mailbox> <context>
Show contents of mailbox <mailbox>@<context>

voicemail remove <mailbox> <context> <from_folder> <messageid>
Remove message <messageid> from <from_folder> in mailbox <mailbox>@<context>

voicemail move <mailbox> <context> <from_folder> <messageid> <to_folder>
Move message <messageid> in mailbox <mailbox>&<context> from <from_folder> to <to_folder>

voicemail forward <from_mailbox> <from_context> <from_folder> <messageid> <to_mailbox> <to_context> <to_folder>
Forward message <messageid> in mailbox <mailbox>@<context> <from_folder> to
mailbox <mailbox>@<context> <to_folder>

(cherry picked from commit 9b5c29d9435155e2c1a1a21158c3b38eb19ee52b)

23 months agores_rtp_asterisk: Move ast_rtp_rtcp_report_alloc using `rtp->themssrc_valid` into...
zhengsh [Fri, 30 Jun 2023 10:39:20 +0000 (18:39 +0800)] 
res_rtp_asterisk: Move ast_rtp_rtcp_report_alloc using `rtp->themssrc_valid` into the scope of the rtp_instance lock.

From the gdb information, it was found that when calling __ast_free, the size of the
allocated space pointed to by the pointer matches the size created when rtp->themssrc_valid
is equal to 0. However, in reality, when reading the value of rtp->themssrc_valid in gdb,
it is found to be 1.

Within ast_rtcp_write(), the call to ast_rtp_rtcp_report_alloc() uses rtp->themssrc_valid,
which is outside the protection of the rtp_instance lock. However,
ast_rtcp_generate_report(), which is called by ast_rtcp_generate_compound_prefix(), uses
rtp->themssrc_valid within the protection of the rtp_instance lock.

This can lead to the possibility that the value of rtp->themssrc_valid used in the call to
ast_rtp_rtcp_report_alloc() may be different from the value of rtp->themssrc_valid used
within ast_rtcp_generate_report().

Resolves: asterisk#63
(cherry picked from commit 25a766f49df0d8ca5bc7bdb4c8b09ddfc0d703db)

23 months ago.github: Minor tweak to Asterisk Releaser
George Joseph [Wed, 12 Jul 2023 12:34:57 +0000 (06:34 -0600)] 
.github: Minor tweak to Asterisk Releaser

(cherry picked from commit 0f9de8a3f01c865b66e02b4b17f062fc96297dbb)

23 months ago.github: Suppress cherry-pick reminder for some situations
George Joseph [Tue, 11 Jul 2023 12:31:04 +0000 (06:31 -0600)] 
.github: Suppress cherry-pick reminder for some situations

In PROpenedOrUpdated, the cherry-pick reminder will now be
suppressed if there are already valid 'cherry-pick-to' comments
in the PR or the PR contained a 'cherry-pick-to: none' comment.

(cherry picked from commit cd7e5130879b3918eb0b1561785046e701e181a8)

23 months agosig_analog: Allow immediate fake ring to be suppressed.
Naveen Albert [Thu, 8 Jun 2023 22:04:31 +0000 (22:04 +0000)] 
sig_analog: Allow immediate fake ring to be suppressed.

When immediate=yes on an FXS channel, sig_analog will
start fake audible ringback that continues until the
channel is answered. Even if it answers immediately,
the ringback is still audible for a brief moment.
This can be disruptive and unwanted behavior.

This adds an option to disable this behavior, though
the default behavior remains unchanged.

ASTERISK-30003 #close
Resolves: #118

UserNote: The immediatering option can now be set to no to suppress
the fake audible ringback provided when immediate=yes on FXS channels.

(cherry picked from commit d87abb2ec9a83db91a073721ed96fd5e87398a1d)

2 years agoUpdate for 20.4.0 20.4.0
Asterisk Development Team [Thu, 20 Jul 2023 13:04:41 +0000 (13:04 +0000)] 
Update for 20.4.0

2 years agoUpdate for 20.4.0-rc2 20.4.0-rc2
Asterisk Development Team [Thu, 13 Jul 2023 13:58:58 +0000 (13:58 +0000)] 
Update for 20.4.0-rc2

2 years agoapp.h: Move declaration of ast_getdata_result before its first use
George Joseph [Mon, 10 Jul 2023 13:52:32 +0000 (07:52 -0600)] 
app.h: Move declaration of ast_getdata_result before its first use

The ast_app_getdata() and ast_app_getdata_terminator() declarations
in app.h were changed recently to return enum ast_getdata_result
(which is how they were defined in app.c).  The existing
declaration of ast_getdata_result in app.h was about 1000 lines
after those functions however so under certain circumstances,
a "use before declaration" error was thrown by the compiler.
The declaration of the enum was therefore moved to before those
functions.

Resolves: #200

2 years agodoc: Remove obsolete CHANGES-staging and UPGRADE-staging
George Joseph [Mon, 10 Jul 2023 13:21:06 +0000 (07:21 -0600)] 
doc: Remove obsolete CHANGES-staging and UPGRADE-staging

2 years agoUpdate for 20.4.0-rc1 20.4.0-rc1
Asterisk Development Team [Mon, 10 Jul 2023 11:49:53 +0000 (11:49 +0000)] 
Update for 20.4.0-rc1

2 years ago.github: Updates for AsteriskReleaser
George Joseph [Fri, 30 Jun 2023 13:01:36 +0000 (07:01 -0600)] 
.github: Updates for AsteriskReleaser

(cherry picked from commit 31663fed53e3fe02dfc227ea64ed2febaf5caefe)

2 years agoapp_voicemail: fix imap compilation errors
Mike Bradeen [Mon, 26 Jun 2023 15:40:03 +0000 (09:40 -0600)] 
app_voicemail: fix imap compilation errors

Fixes two compilation errors in app_voicemail_imap, one due to an unsed
variable and one due to a new variable added in the incorrect location
in _163.

Resolves: #174
(cherry picked from commit 2711fba4b937b3dbfc20a9a567409c38da517075)

2 years agores_musiconhold: avoid moh state access on unlocked chan
Mike Bradeen [Wed, 31 May 2023 16:37:53 +0000 (10:37 -0600)] 
res_musiconhold: avoid moh state access on unlocked chan

Move channel unlock to after moh state access to avoid
potential unlocked access to state.

Resolves: #133
(cherry picked from commit 9c889911adfe733639391b4f769057669c263e71)

2 years agoutils: add lock timestamps for DEBUG_THREADS
Mike Bradeen [Tue, 23 May 2023 18:33:55 +0000 (12:33 -0600)] 
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 3acdffc17e05ab8fdb9ba440a614454aac393233)

2 years ago.github: Back out triggering PROpenedOrUpdated by label
George Joseph [Thu, 29 Jun 2023 15:06:41 +0000 (09:06 -0600)] 
.github: Back out triggering PROpenedOrUpdated by label

(cherry picked from commit 4ff17f44a4a4fdca3e5f5e2ab98d011df21b8bc4)

2 years ago.github: Move publish docs to new file CreateDocs.yml
George Joseph [Tue, 27 Jun 2023 14:07:53 +0000 (08:07 -0600)] 
.github: Move publish docs to new file CreateDocs.yml

(cherry picked from commit caf0fd357cf318bdf196b8d29947f45aae4e0a4e)

2 years agorest-api: Updates for new documentation site
George Joseph [Mon, 26 Jun 2023 12:55:49 +0000 (06:55 -0600)] 
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 80d042cb01e62f2dcd1d0039b8cdd17d9a61efac)

2 years ago.github: Remove result check from PROpenUpdateGateTests
George Joseph [Tue, 27 Jun 2023 11:17:45 +0000 (05:17 -0600)] 
.github: Remove result check from PROpenUpdateGateTests

(cherry picked from commit b008fd59192d49c9dbf029c136771192c93a516e)

2 years ago.github: Fix use of 'contains'
George Joseph [Mon, 26 Jun 2023 14:45:16 +0000 (08:45 -0600)] 
.github: Fix use of 'contains'

(cherry picked from commit 44c0e1b756b3a810495e0ed0b30ed2a40e188304)

2 years ago.github: Add recheck label test to additional jobs
George Joseph [Mon, 26 Jun 2023 13:46:03 +0000 (07:46 -0600)] 
.github: Add recheck label test to additional jobs

(cherry picked from commit 91503078ffaffa4105ec6ac7224144f83e4daf19)

2 years ago.github: Fix recheck label typos
George Joseph [Mon, 26 Jun 2023 13:21:53 +0000 (07:21 -0600)] 
.github: Fix recheck label typos

(cherry picked from commit de40ea0f79ea0696c1e22e0e358ac8a9de888348)

2 years ago.github: Fix recheck label manipulation
George Joseph [Mon, 26 Jun 2023 13:11:20 +0000 (07:11 -0600)] 
.github: Fix recheck label manipulation

(cherry picked from commit 07a378474590bdd1dfbfe0af91632f05bec03c37)

2 years ago.github: Allow PR submit checks to be re-run by label
George Joseph [Mon, 26 Jun 2023 13:06:37 +0000 (07:06 -0600)] 
.github: Allow PR submit checks to be re-run by label

(cherry picked from commit 426b9c568c6b0ab3824c1dc21cb976ebddc96518)

2 years agoapp_voicemail_imap: Fix message count when IMAP server is unavailable
Olaf Titz [Thu, 15 Jun 2023 15:36:26 +0000 (17:36 +0200)] 
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 af2ced484e06f2426c91044c8b90877608d77a85)

2 years agores_pjsip_rfc3326: Prefer Q.850 cause code over SIP.
Sean Bright [Mon, 12 Jun 2023 15:31:33 +0000 (11:31 -0400)] 
res_pjsip_rfc3326: Prefer Q.850 cause code over SIP.

Resolves: #116
(cherry picked from commit 4a1edb9a8c8cac2cd2f05def65a716c74c14bba8)

2 years agores_pjsip_session: Added new function calls to avoid ABI issues.
Ben Ford [Mon, 5 Jun 2023 19:13:16 +0000 (14:13 -0500)] 
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 ad120e5d0be6acfc2ce1827b9e5dd82a0d0e8dd3)

2 years agoapp_queue: Add force_longest_waiting_caller option.
Nathan Bruning [Tue, 24 Jan 2023 13:50:39 +0000 (14:50 +0100)] 
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 6084bbfe0e91718cf58accdb8978e56c2ec81600)

2 years agopjsip_transport_events.c: Use %zu printf specifier for size_t.
Sean Bright [Mon, 5 Jun 2023 14:50:13 +0000 (10:50 -0400)] 
pjsip_transport_events.c: Use %zu printf specifier for size_t.

Partially resolves #143.

(cherry picked from commit b7eae29fb93c53ee8cc6d00a046c835aa12137d1)

2 years agores_crypto.c: Gracefully handle potential key filename truncation.
Sean Bright [Mon, 5 Jun 2023 14:49:11 +0000 (10:49 -0400)] 
res_crypto.c: Gracefully handle potential key filename truncation.

Partially resolves #143.

(cherry picked from commit 97b901a29b634c8545b553d93f3392d3663632f1)

2 years agoconfigure: Remove obsolete and deprecated constructs.
Sean Bright [Thu, 1 Jun 2023 18:53:43 +0000 (18:53 +0000)] 
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 21d3c4ae58cdbd3cff12c6079bc6890ea3e9d89f)

2 years agores_fax_spandsp.c: Clean up a spaces/tabs issue
zhou_jiajian [Fri, 26 May 2023 01:53:19 +0000 (09:53 +0800)] 
res_fax_spandsp.c: Clean up a spaces/tabs issue

(cherry picked from commit f7e1f1fbbde437237fe21ec9ab45676e55fe89f7)

2 years agoast-db-manage: Synchronize revisions between comments and code.
Sean Bright [Tue, 6 Jun 2023 13:42:58 +0000 (09:42 -0400)] 
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 ea63148b236d3058bb02f78c04765fdf94c2b5eb)

2 years agotest_statis_endpoints: Fix channel_messages test again
George Joseph [Mon, 12 Jun 2023 14:34:16 +0000 (08:34 -0600)] 
test_statis_endpoints:  Fix channel_messages test again

(cherry picked from commit 25bc5544d8702d0c14f44bc4d341fd0806da5c1c)

2 years agores_crypto.c: Avoid using the non-portable ALLPERMS macro.
Sean Bright [Mon, 5 Jun 2023 22:17:47 +0000 (18:17 -0400)] 
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 ebc007322b19f76de99265014f4e397ec542b3f5)

2 years agotcptls: when disabling a server port, we should set the accept_fd to -1.
Jaco Kroon [Fri, 2 Jun 2023 07:11:22 +0000 (09:11 +0200)] 
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 4a637d6d11cb5d7cb98b2ee27a991e2d2eca79c2)

2 years agoAMI: Add parking position parameter to Park action
Jiajian Zhou [Fri, 19 May 2023 02:48:11 +0000 (10:48 +0800)] 
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 8e3f9dcc7b6ff4627037e5c30ec4d33c0b3f7fef)

2 years agotest_stasis_endpoints.c: Make channel_messages more stable
George Joseph [Fri, 9 Jun 2023 16:41:13 +0000 (10:41 -0600)] 
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 83781c23b9cdbba597c72662ab768ee96d063f23)

2 years agobuild: Fix a few gcc 13 issues
George Joseph [Fri, 9 Jun 2023 14:41:32 +0000 (08:41 -0600)] 
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 6c8b23a68870a107a0ebe667b3b6337d1f0f6efe)

2 years ago.github: Rework for merge approval
George Joseph [Tue, 6 Jun 2023 12:08:34 +0000 (06:08 -0600)] 
.github: Rework for merge approval

(cherry picked from commit b3c2a9cd44fdb2da66cbdfd23b5cd6a67cdaac88)

2 years agoast-db-manage: Fix alembic branching error caused by #122.
Sean Bright [Mon, 5 Jun 2023 20:13:55 +0000 (16:13 -0400)] 
ast-db-manage: Fix alembic branching error caused by #122.

Fixes #147.

(cherry picked from commit fe15631d38a978e8cee7217f8ef8ab146a049b84)

2 years agoapp_followme: fix issue with enable_callee_prompt=no (#88)
alex2grad [Mon, 5 Jun 2023 18:23:03 +0000 (14:23 -0400)] 
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 a8ea16cdf8de454dc244154501a570da788fc605)

2 years agosounds: Update download URL to use HTTPS.
Sean Bright [Thu, 1 Jun 2023 15:18:36 +0000 (11:18 -0400)] 
sounds: Update download URL to use HTTPS.

Related to #136

(cherry picked from commit ada3dc2adbe21e787ab1c6c95185844bae31af08)

2 years agoconfigure: Makefile downloader enable follow redirects.
Miguel Angel Nubla [Thu, 1 Jun 2023 00:09:39 +0000 (02:09 +0200)] 
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 95d339ac7a3b2fc045e3e1f3fa67164a23553a62)

2 years agores_musiconhold: Add option to loop last file.
Naveen Albert [Thu, 25 May 2023 23:58:41 +0000 (23:58 +0000)] 
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 edf488c76e720d546a8d0cdf7c2352452af2503f)

2 years agochan_dahdi: Fix Caller ID presentation for FXO ports.
Naveen Albert [Thu, 25 May 2023 23:49:35 +0000 (23:49 +0000)] 
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 86a11d5b19f8c52a8e57bc09792c0f8e664f555f)

2 years agoAMI: Add CoreShowChannelMap action.
Ben Ford [Thu, 18 May 2023 21:00:16 +0000 (16:00 -0500)] 
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 e72b277828e4c56565955dea5beed3bb0e2798fc)

2 years agosig_analog: Add fuller Caller ID support.
Naveen Albert [Thu, 18 May 2023 16:29:35 +0000 (16:29 +0000)] 
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 87f44dc0f967ca8d0141f0f3d4320ad3ee0aef72)

2 years agores_stasis.c: Add new type 'sdp_label' for bridge creation.
Joe Searle [Thu, 25 May 2023 09:58:45 +0000 (10:58 +0100)] 
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 ec64828c8fc1e91b45911621e36841c37473746a)

2 years agoapp_queue: Preserve reason for realtime queues
Niklas Larsson [Fri, 5 May 2023 13:30:13 +0000 (15:30 +0200)] 
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 df774619fb57750dd401d2fd893a3eb0396fad65)

2 years ago.github: Fix issues with cherry-pick-reminder
George Joseph [Mon, 5 Jun 2023 16:37:41 +0000 (10:37 -0600)] 
.github: Fix issues with cherry-pick-reminder

(cherry picked from commit a83f35c58e109aac24c3c96a2ca5efe2e95d0b18)

2 years agoindications: logging changes
Mike Bradeen [Tue, 16 May 2023 18:43:37 +0000 (12:43 -0600)] 
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 f19a6cf11e32557ef2e88e5467fe910dac3e74ed)

2 years ago.github Ignore error when adding reviewrs to PR
George Joseph [Mon, 5 Jun 2023 13:16:17 +0000 (07:16 -0600)] 
.github Ignore error when adding reviewrs to PR

(cherry picked from commit 7bbeda39080c4bb6343cf87a4eee2034bcf1841c)

2 years ago.github: Update field descriptions for AsteriskReleaser
George Joseph [Fri, 26 May 2023 14:51:41 +0000 (08:51 -0600)] 
.github: Update field descriptions for AsteriskReleaser

(cherry picked from commit 2a75114b6d9cfc2a194b9c5eec2936373bd7b39e)

2 years agocallerid: Allow specifying timezone for date/time.
Naveen Albert [Thu, 18 May 2023 17:31:14 +0000 (17:31 +0000)] 
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 d3227a614a352d350f90695b2286e8e761a32be2)

2 years agologrotate: Fix duplicate log entries.
Naveen Albert [Thu, 18 May 2023 16:55:45 +0000 (16:55 +0000)] 
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 22c9d52289d1f9a1d0ec4fc62ee56c803b30572c)

2 years agochan_pjsip: Allow topology/session refreshes in early media state
Maximilian Fridrich [Wed, 10 May 2023 14:38:04 +0000 (16:38 +0200)] 
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 1a7dada80412c94f414d01f68cb6d5c789248574)

2 years agochan_dahdi: Fix broken hidecallerid setting.
Naveen Albert [Thu, 18 May 2023 17:37:19 +0000 (17:37 +0000)] 
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 22b599d86fb4ce198bbaaddffca8ecf00384071b)

2 years ago.github: Change title of AsteriskReleaser job
George Joseph [Tue, 23 May 2023 14:04:42 +0000 (08:04 -0600)] 
.github: Change title of AsteriskReleaser job

(cherry picked from commit 15439d08bd98848eb90ada07cd6385b89c4be3f5)

2 years agoasterisk.c: Fix option warning for remote console.
Naveen Albert [Thu, 18 May 2023 18:57:34 +0000 (18:57 +0000)] 
asterisk.c: Fix option warning for remote console.

Commit 09e989f972e2583df4e9bf585c246c37322d8d2f
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 cfae64a70df23d8e66d0027519d695a8d93b2eda)

2 years ago.github: Don't add cherry-pick reminder if it's already present
George Joseph [Mon, 22 May 2023 18:54:42 +0000 (12:54 -0600)] 
.github: Don't add cherry-pick reminder if it's already present

(cherry picked from commit 7193e95676a9bf2d841b053752664216b776f61f)

2 years ago.github: Fix quoting in PROpenedOrUpdated
George Joseph [Tue, 16 May 2023 22:11:08 +0000 (16:11 -0600)] 
.github: Fix quoting in PROpenedOrUpdated

(cherry picked from commit af0535f3028692e30bfa46c438aa971a44b8f48f)

2 years ago.github: Add cherry-pick reminder to new PRs
George Joseph [Mon, 15 May 2023 15:32:15 +0000 (09:32 -0600)] 
.github: Add cherry-pick reminder to new PRs

(cherry picked from commit e72b35e7fbac340151ea3f1ac78bc4131a63b332)

2 years agoconfigure: fix test code to match gethostbyname_r prototype.
Jaco Kroon [Wed, 10 May 2023 21:13:17 +0000 (23:13 +0200)] 
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 f178bf78b79cd874f95fd163328cf02ae9815844)

2 years agores_pjsip_pubsub.c: Use pjsip version for pending NOTIFY check. (#77)
Sean Bright [Thu, 11 May 2023 20:25:08 +0000 (16:25 -0400)] 
res_pjsip_pubsub.c: Use pjsip version for pending NOTIFY check. (#77)

The functionality we are interested in is present only in pjsip 2.13
and newer.

Resolves: #45
(cherry picked from commit 2d18fb6e9d66e07189f91f238ce496da4c739bf8)

2 years agores_sorcery_memory_cache.c: Fix memory leak
zhengsh [Tue, 2 May 2023 19:12:38 +0000 (03:12 +0800)] 
res_sorcery_memory_cache.c: Fix memory leak

Replace the original call to ast_strdup with a call to ast_strdupa to fix the leak issue.

Resolves: #55
ASTERISK-30429

(cherry picked from commit 8abb29406309c084a904cfd07bd3faac25b1709e)

2 years agoxml.c: Process XML Inclusions recursively.
Sean Bright [Tue, 9 May 2023 13:27:33 +0000 (09:27 -0400)] 
xml.c: Process XML Inclusions recursively.

If processing an XInclude results in new <xi:include> elements, we
need to run XInclude processing again. This continues until no
replacement occurs or an error is encountered.

There is a separate issue with dynamic strings (ast_str) that will be
addressed separately.

Resolves: #65
(cherry picked from commit 19973b73fdeb52597024c312575af059e31ec445)

2 years ago.github: Tweak improvement issue type language.
Joshua C. Colp [Tue, 9 May 2023 13:47:05 +0000 (10:47 -0300)] 
.github: Tweak improvement issue type language.

(cherry picked from commit f0e2d45089d26cb6c0d9112e0e4081427e78faa4)

2 years ago.github: Tweak new feature language, and move feature requests elsewhere.
Gitea [Tue, 9 May 2023 13:42:45 +0000 (10:42 -0300)] 
.github: Tweak new feature language, and move feature requests elsewhere.

(cherry picked from commit c0e32d82453bd24ee921d3b17f348d7742df5082)

2 years ago.github: Fix staleness check to only run on certain labels.
Joshua C. Colp [Tue, 9 May 2023 09:17:17 +0000 (06:17 -0300)] 
.github: Fix staleness check to only run on certain labels.

(cherry picked from commit 851ec447147f60f4c2b50014a02a00f1343a771c)

2 years agoUpdate for 20.3.1 20.3.1
Asterisk Development Team [Fri, 7 Jul 2023 20:09:14 +0000 (20:09 +0000)] 
Update for 20.3.1

2 years agoapply_patches: Use globbing instead of file/sort.
Sean Bright [Thu, 6 Jul 2023 17:51:32 +0000 (13:51 -0400)] 
apply_patches: Use globbing instead of file/sort.

This accomplishes the same thing as a `find ... | sort` but with the
added benefit of clarity and avoiding a call to a subshell.

Additionally drop the -s option from call to patch as it is not POSIX.

2 years agoapply_patches: Sort patch list before applying
George Joseph [Thu, 6 Jul 2023 12:37:50 +0000 (06:37 -0600)] 
apply_patches: Sort patch list before applying

The apply_patches script wasn't sorting the list of patches in
the "patches" directory before applying them. This left the list
in an indeterminate order. In most cases, the list is actually
sorted but rarely, they can be out of order and cause dependent
patches to fail to apply.

We now sort the list but the "sort" program wasn't in the
configure scripts so we needed to add that and regenerate
the scripts as well.

Resolves: #193

2 years agopjsip: Upgrade bundled version to pjproject 2.13.1
Stanislav Abramenkov [Wed, 5 Jul 2023 08:08:35 +0000 (11:08 +0300)] 
pjsip: Upgrade bundled version to pjproject 2.13.1

2 years agoUpdate for 20.3.0 20.3.0
Asterisk Development Team [Tue, 23 May 2023 14:31:56 +0000 (14:31 +0000)] 
Update for 20.3.0

2 years agoSet up new ChangeLogs directory
George Joseph [Tue, 9 May 2023 14:34:50 +0000 (08:34 -0600)] 
Set up new ChangeLogs directory

2 years agoUpdate for 20.3.0-rc1 20.3.0-rc1
Asterisk Development Team [Mon, 8 May 2023 18:13:41 +0000 (18:13 +0000)] 
Update for 20.3.0-rc1

2 years ago.github: Add AsteriskReleaser
George Joseph [Fri, 5 May 2023 18:30:08 +0000 (12:30 -0600)] 
.github: Add AsteriskReleaser

(cherry picked from commit 9d99f6aaf171ce7b594364723a940eedc90a1398)

2 years agochan_pjsip: also return all codecs on empty re-INVITE for late offers
Henning Westerholt [Wed, 3 May 2023 09:19:35 +0000 (09:19 +0000)] 
chan_pjsip: also return all codecs on empty re-INVITE for late offers

We should also return all codecs on an re-INVITE without SDP for a
call that used late offer (e.g. no SDP in the initial INVITE, SDP
in the ACK). Bugfix for feature introduced in ASTERISK-30193
(https://issues.asterisk.org/jira/browse/ASTERISK-30193)

Migration from previous gerrit change that was not merged.

(cherry picked from commit 37a41a2a20688a0c0c84d0d3a888f0b598e12060)

2 years agocel: add local optimization begin event
Mike Bradeen [Tue, 2 May 2023 15:20:22 +0000 (09:20 -0600)] 
cel: add local optimization begin event

The current AST_CEL_LOCAL_OPTIMIZE event is and has been
triggered on a local optimization end to serve as a flag
indicating the event occurred.  This change adds a second
AST_CEL_LOCAL_OPTIMIZE_BEGIN event for further detail.

Resolves: #52

UpgradeNote: The existing AST_CEL_LOCAL_OPTIMIZE can continue
to be used as-is and the AST_CEL_LOCAL_OPTIMIZE_BEGIN event
can be ignored if desired.

UserNote: The new AST_CEL_LOCAL_OPTIMIZE_BEGIN can be used
by itself or in conert with the existing
AST_CEL_LOCAL_OPTIMIZE to book-end local channel optimizaion.

(cherry picked from commit 8d3d8fcdcd79401dc14c497c251e565fa4481e41)

2 years agocore: Cleanup gerrit and JIRA references. (#57)
Sean Bright [Wed, 3 May 2023 15:38:41 +0000 (11:38 -0400)] 
core: Cleanup gerrit and JIRA references. (#57)

* Remove .gitreview and switch to pulling the main asterisk branch
  version from configure.ac instead.

* Replace references to JIRA with GitHub.

* Other minor cleanup found along the way.

Resolves: #39
(cherry picked from commit 5c6d5ea38fd4c4966a91fa8fe4cff417407fff7c)

2 years ago.github: Fix CherryPickTest to only run when it should
George Joseph [Wed, 3 May 2023 15:27:57 +0000 (09:27 -0600)] 
.github: Fix CherryPickTest to only run when it should

Fixed CherryPickTest so it triggers only on the
"cherry-pick-test" label instead of all labels.

(cherry picked from commit 9097fc7515d1d281cf8f8b23c5dd76f60cafc232)

2 years ago.github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
George Joseph [Tue, 2 May 2023 20:09:47 +0000 (14:09 -0600)] 
.github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS

(cherry picked from commit fbde0a71f083684f555b559677a85a0e9cd06b59)

2 years ago.github: Remove separate set labels step from new PR
George Joseph [Tue, 2 May 2023 18:11:24 +0000 (12:11 -0600)] 
.github: Remove separate set labels step from new PR

(cherry picked from commit aced9046cada3f223e3cd85d89437b130320d7fc)

2 years ago.github: Refactor CP progress and add new PR test progress
George Joseph [Tue, 2 May 2023 18:04:22 +0000 (12:04 -0600)] 
.github: Refactor CP progress and add new PR test progress

(cherry picked from commit b7eeef63141e311fda7f04bc530216d87aa4efe7)

2 years agores_pjsip: mediasec: Add Security-Client headers after 401
Maximilian Fridrich [Tue, 2 May 2023 08:55:39 +0000 (10:55 +0200)] 
res_pjsip: mediasec: Add Security-Client headers after 401

When using mediasec, requests sent after a 401 must still contain the
Security-Client header according to
draft-dawes-sipcore-mediasec-parameter.

Resolves: #48
(cherry picked from commit f3cc1e7fbd08b1dc90bc7a1c13afae42a7210bf1)

2 years ago.github: Add cherry-pick test progress labels
George Joseph [Tue, 2 May 2023 14:56:37 +0000 (08:56 -0600)] 
.github: Add cherry-pick test progress labels

(cherry picked from commit 37071404720203bc68790f59c960bc1880340cdf)

2 years agoLICENSE: Update link to trademark policy.
Joshua C. Colp [Mon, 1 May 2023 15:37:45 +0000 (12:37 -0300)] 
LICENSE: Update link to trademark policy.

Resolves: #43
(cherry picked from commit a614604f32445509dff3769b8cfa4151645253c0)

2 years agochan_dahdi: Add dialmode option for FXS lines.
Naveen Albert [Fri, 28 Apr 2023 18:57:37 +0000 (18:57 +0000)] 
chan_dahdi: Add dialmode option for FXS lines.

Currently, both pulse and tone dialing are always enabled
on all FXS lines, with no way of disabling one or the other.

In some circumstances, it is desirable or necessary to
disable one of these, and this behavior can be problematic.

A new "dialmode" option is added which allows setting the
methods to support on a per channel basis for FXS (FXO
signalled lines). The four options are "both", "pulse",
"dtmf"/"tone", and "none".

Additionally, integration with the CHANNEL function is
added so that this setting can be updated for a channel
during a call.

Resolves: #35
ASTERISK-29992

UserNote: A "dialmode" option has been added which allows
specifying, on a per-channel basis, what methods of
subscriber dialing (pulse and/or tone) are permitted.

Additionally, this can be changed on a channel
at any point during a call using the CHANNEL
function.

(cherry picked from commit 82d7bb49ddc15cff5ea2e50f5ee6934102fe13d1)

2 years ago.github: Update issue templates
George Joseph [Mon, 1 May 2023 15:37:29 +0000 (09:37 -0600)] 
.github: Update issue templates

(cherry picked from commit ef644c3e937e132c7b91e75f6ca580b04991ab05)

2 years ago.github: Remove unnecessary parameter in CherryPickTest
George Joseph [Mon, 1 May 2023 12:48:32 +0000 (06:48 -0600)] 
.github: Remove unnecessary parameter in CherryPickTest

(cherry picked from commit 313cd9dd84521fa30803ae350b2fb6108739f6e6)

2 years agoInitial GitHub PRs
George Joseph [Fri, 28 Apr 2023 18:31:03 +0000 (12:31 -0600)] 
Initial GitHub PRs

(cherry picked from commit 987315a5faa95354ff2d2069898e08ed43ee1d0b)

2 years agoInitial GitHub Issue Templates
George Joseph [Fri, 28 Apr 2023 17:17:21 +0000 (11:17 -0600)] 
Initial GitHub Issue Templates

(cherry picked from commit f8dc0148197dd188c273d1c52c3a6e7f94dd77b3)

2 years agopbx_dundi: Fix PJSIP endpoint configuration check.
Joshua C. Colp [Thu, 13 Apr 2023 09:35:17 +0000 (06:35 -0300)] 
pbx_dundi: Fix PJSIP endpoint configuration check.

ASTERISK-28233

Change-Id: I0f11c096b307a6178e22ca49d9c756343f0e1fdc
(cherry picked from commit 6c53e5e870e393005fa454ec3e6fdce970a95b69)

2 years agoRevert "app_queue: periodic announcement configurable start time."
Joshua Colp [Tue, 11 Apr 2023 23:37:37 +0000 (18:37 -0500)] 
Revert "app_queue: periodic announcement configurable start time."

This reverts commit 3fd0b65bae4b1b14434737ffcf0da4aa9ff717f6.

Reason for revert: Causes segmentation fault.

Change-Id: Ic189c6f7872943a5500d3e71142f0c09d54fcc31
(cherry picked from commit de15852ef01e9512f822656d2c7b27cf4d2678f5)

2 years agores_pjsip_stir_shaken: Fix JSON field ordering and disallowed TN characters.
Naveen Albert [Fri, 17 Feb 2023 13:45:16 +0000 (13:45 +0000)] 
res_pjsip_stir_shaken: Fix JSON field ordering and disallowed TN characters.

The current STIR/SHAKEN signing process is inconsistent with the
RFCs in a couple ways that can cause interoperability issues.

RFC8225 specifies that the keys must be ordered lexicographically, but
currently the fields are simply ordered according to the order
in which they were added to the JSON object, which is not
compliant with the RFC and can cause issues with some carriers.

To fix this, we now leverage libjansson's ability to dump a JSON
object sorted by key value, yielding the correct field ordering.

Additionally, telephone numbers must have any leading + prefix removed
and must not contain characters outside of 0-9, *, and # in order
to comply with the RFCs. Numbers are now properly formatted as such.

ASTERISK-30407 #close

Change-Id: Iab76d39447c4b8cf133de85657dba02fda07f9a2
(cherry picked from commit 66a7cff57ecc4514c28071981037afa72ef0d4b9)

2 years agopbx_dundi: Add PJSIP support.
Naveen Albert [Fri, 9 Dec 2022 14:18:26 +0000 (14:18 +0000)] 
pbx_dundi: Add PJSIP support.

Adds PJSIP as a supported technology to DUNDi.

To facilitate this, we now allow an endpoint to be specified
for outgoing PJSIP calls. We also allow users to force a specific
channel technology for outgoing SIP-protocol calls.

ASTERISK-28109 #close
ASTERISK-28233 #close

Change-Id: I2e28e5a5d007bd49e3df113ad567b011103899bf
(cherry picked from commit b33f92cbb56fb848d2a0aaeb416b7cac4813f804)

2 years agoinstall_prereq: Add Linux Mint support.
The_Blode [Fri, 17 Mar 2023 15:51:57 +0000 (15:51 +0000)] 
install_prereq: Add Linux Mint support.

ASTERISK-30359 #close

Change-Id: I9c140c7f12ca7dafe65c317f2a26122cf2c72556
(cherry picked from commit de9aaf7e97c711887d4bf77618677e2c3850d972)

2 years agochan_pjsip: fix music on hold continues after INVITE with replaces
Henning Westerholt [Tue, 21 Mar 2023 07:48:38 +0000 (07:48 +0000)] 
chan_pjsip: fix music on hold continues after INVITE with replaces

In a three party scenario with INVITE with replaces, we need to
unhold the call, otherwise one party continues to get music on
hold, and the call is not properly bridged between them.

ASTERISK-30428

Change-Id: I5675df11e739be5226b328f8828d4b8d81fbefb4
(cherry picked from commit 1c5720b80226336f62359962850ffd0e5afd2ab7)

2 years agovoicemail.conf: Fix incorrect comment about #include.
Naveen Albert [Tue, 28 Mar 2023 13:37:55 +0000 (13:37 +0000)] 
voicemail.conf: Fix incorrect comment about #include.

A comment at the top of voicemail.conf says that #include
cannot be used in voicemail.conf because this breaks
the ability for app_voicemail to auto-update passwords.
This is factually incorrect, since Asterisk has no problem
updating files that are #include'd in the main configuration
file, and this does work in voicemail.conf as well.

ASTERISK-30479 #close

Change-Id: I3bf7d275849ab83f55f7fb6702a75a3077ee1df3
(cherry picked from commit d0f39250eeb7e62496477fd4cf57827eb9a99624)

2 years agoapp_queue: Fix minor xmldoc duplication and vagueness.
Naveen Albert [Mon, 3 Apr 2023 14:16:59 +0000 (14:16 +0000)] 
app_queue: Fix minor xmldoc duplication and vagueness.

The F option in the xmldocs for the Queue application
was erroneously duplicated, causing it to display
twice on the wiki. The two sections are now merged into one.

Additionally, the description for the d option was quite
vague. Some more details are added to provide context
as to what this actually does.

ASTERISK-30486 #close

Change-Id: I6706cea708b5cc781f59f8652c2cb377e55aed7e
(cherry picked from commit bad5bda08cf4595ee80aa3dca418ccff6356c98c)