Commit Graph

33935 Commits

Author SHA1 Message Date
Sean Bright
4881ec18d0 res_geolocation: Ensure required 'location_info' is present.
Fixes #189
2023-07-12 17:39:01 +00:00
Mike Bradeen
74f62dbfe9 Adds manager actions to allow move/remove/forward individual messages
in a particular mailbox folder. The forward command can be used
to copy a message within a mailbox or to another mailbox. Also adds
a VoicemailBoxSummarry, required to retrieve message ID's.

Resolves: #181

UserNote: The following manager actions have been added

VoicemailBoxSummary - Generate message list for a given mailbox

VoicemailRemove - Remove a message from a mailbox folder

VoicemailMove - Move a message from one folder to another within a mailbox

VoicemailForward - Copy a message from one folder in one mailbox
to another folder in another or the same mailbox.
2023-07-12 17:37:30 +00:00
Mike Bradeen
6aff1c1065 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>
2023-07-12 17:36:50 +00:00
zhengsh
fe478ddc14 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
2023-07-12 15:56:21 +00:00
George Joseph
f5cb01afaf .github: Minor tweak to Asterisk Releaser 2023-07-12 06:47:58 -06:00
George Joseph
53eb5ceae9 .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.
2023-07-11 06:47:19 -06:00
Naveen Albert
0d1ddb15db 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.
2023-07-10 14:16:23 +00:00
Sean Bright
ab0d6083fc 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.
2023-07-07 15:11:57 +00:00
George Joseph
7a725e3159 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
2023-07-06 14:04:02 +00:00
Stanislav Abramenkov
e341a41578 pjsip: Upgrade bundled version to pjproject 2.13.1 2023-07-05 15:41:15 +00:00
George Joseph
378166230a .github: Updates for AsteriskReleaser 2023-06-30 07:02:18 -06:00
Mike Bradeen
5f01983abd 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
2023-06-29 16:08:11 +00:00
Mike Bradeen
98d8e9b943 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
2023-06-29 15:15:06 +00:00
Mike Bradeen
a0ce65e999 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
2023-06-29 15:13:47 +00:00
George Joseph
398a77894c .github: Back out triggering PROpenedOrUpdated by label 2023-06-29 09:07:00 -06:00
George Joseph
58098d248b .github: Move publish docs to new file CreateDocs.yml 2023-06-27 12:18:46 -06:00
George Joseph
812156edfd 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.
2023-06-27 08:34:09 -06:00
George Joseph
248b0637ff .github: Remove result check from PROpenUpdateGateTests 2023-06-27 05:18:08 -06:00
George Joseph
3c0dd827d1 .github: Fix use of 'contains' 2023-06-26 08:45:36 -06:00
George Joseph
458312a24f .github: Add recheck label test to additional jobs 2023-06-26 07:46:17 -06:00
George Joseph
5866e09654 .github: Fix recheck label typos 2023-06-26 07:22:03 -06:00
George Joseph
58eeb907dd .github: Fix recheck label manipulation 2023-06-26 07:11:52 -06:00
George Joseph
f747de39f4 .github: Allow PR submit checks to be re-run by label 2023-06-26 07:08:01 -06:00
Olaf Titz
3b23ee4203 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
2023-06-26 13:03:20 +00:00
Sean Bright
897bb03de2 res_pjsip_rfc3326: Prefer Q.850 cause code over SIP.
Resolves: #116
2023-06-21 13:24:57 +00:00
Ben Ford
23c4d21d1b 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
2023-06-13 17:59:03 +00:00
Nathan Bruning
c88a8aa8b0 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
2023-06-12 18:20:30 +00:00
Sean Bright
c3abc4d536 pjsip_transport_events.c: Use %zu printf specifier for size_t.
Partially resolves #143.
2023-06-12 17:20:28 +00:00
Sean Bright
e06bb85ad3 res_crypto.c: Gracefully handle potential key filename truncation.
Partially resolves #143.
2023-06-12 17:20:28 +00:00
Sean Bright
a36af23f20 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
2023-06-12 17:19:55 +00:00
zhou_jiajian
e1f8dac6be res_fax_spandsp.c: Clean up a spaces/tabs issue 2023-06-12 17:19:25 +00:00
Sean Bright
03ba015f2e 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.
2023-06-12 14:40:12 +00:00
George Joseph
b096474f00 test_statis_endpoints: Fix channel_messages test again 2023-06-12 08:37:50 -06:00
Sean Bright
0642f4cb1d 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.
2023-06-12 14:22:49 +00:00
Jaco Kroon
4e657b6181 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>
2023-06-12 14:07:29 +00:00
Jiajian Zhou
84b48b6af1 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.
2023-06-12 13:56:32 +00:00
George Joseph
833543df0d 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
2023-06-09 23:28:03 +00:00
George Joseph
acb18c1fc4 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
2023-06-09 18:19:46 +00:00
George Joseph
b3ded75e17 .github: Rework for merge approval 2023-06-08 13:34:45 -06:00
Sean Bright
84d266d4f4 ast-db-manage: Fix alembic branching error caused by #122.
Fixes #147.
2023-06-06 10:14:06 +00:00
alex2grad
591351d4ad 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
2023-06-05 13:07:35 -06:00
Sean Bright
ade23d24a0 sounds: Update download URL to use HTTPS.
Related to #136
2023-06-05 18:44:55 +00:00
Miguel Angel Nubla
4c2f035a35 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
2023-06-05 18:38:13 +00:00
Naveen Albert
2b302e30e4 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.
2023-06-05 18:35:57 +00:00
Naveen Albert
3260434b96 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
2023-06-05 18:34:10 +00:00
Ben Ford
d6d77dc1fb 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.
2023-06-05 18:30:41 +00:00
Naveen Albert
f56477a604 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.
2023-06-05 18:28:59 +00:00
Joe Searle
d417ab86e1 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.
2023-06-05 18:27:17 +00:00
Niklas Larsson
12fb5d8589 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.
2023-06-05 18:20:21 +00:00
George Joseph
4128a922e0 .github: Fix issues with cherry-pick-reminder 2023-06-05 10:38:25 -06:00