Commit Graph

33902 Commits

Author SHA1 Message Date
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
Sean Bright
bbf47fefab 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 2d18fb6e9d)
2023-07-10 11:49:47 +00:00
zhengsh
2d1e5f81ee 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 8abb294063)
2023-07-10 11:49:47 +00:00
Sean Bright
0e4a9d7251 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 19973b73fd)
2023-07-10 11:49:47 +00:00
Joshua C. Colp
6812357bef .github: Tweak improvement issue type language.
(cherry picked from commit f0e2d45089)
2023-07-10 11:49:47 +00:00
Gitea
d35a0d3d4e .github: Tweak new feature language, and move feature requests elsewhere.
(cherry picked from commit c0e32d8245)
2023-07-10 11:49:47 +00:00
Joshua C. Colp
31c11bec74 .github: Fix staleness check to only run on certain labels.
(cherry picked from commit 851ec44714)
2023-07-10 11:49:47 +00:00
Asterisk Development Team
6dc1877b2d Update for 20.3.1 20.3.1 2023-07-07 20:09:14 +00:00
Sean Bright
9ca24c9c2b 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 10:02:18 -06:00
George Joseph
90069a94b0 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-07 10:02:02 -06:00
Stanislav Abramenkov
0fa022a39c pjsip: Upgrade bundled version to pjproject 2.13.1 2023-07-07 10:01:51 -06:00
Asterisk Development Team
282045db34 Update for 20.3.0 20.3.0 2023-05-23 14:31:56 +00:00
George Joseph
a004574465 Set up new ChangeLogs directory 2023-05-09 08:34:50 -06:00
Asterisk Development Team
2e1842229a Update for 20.3.0-rc1 20.3.0-rc1 2023-05-08 18:13:41 +00:00
George Joseph
3fe0d8088f .github: Add AsteriskReleaser
(cherry picked from commit 9d99f6aaf1)
2023-05-08 18:13:36 +00:00
Henning Westerholt
ac747ce562 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 37a41a2a20)
2023-05-08 18:13:36 +00:00
Mike Bradeen
21ee5f705a 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 8d3d8fcdcd)
2023-05-08 18:13:36 +00:00
Sean Bright
7677e78b4f 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 5c6d5ea38f)
2023-05-08 18:13:36 +00:00
George Joseph
9a1ac9142f .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 9097fc7515)
2023-05-08 18:13:36 +00:00
George Joseph
272fbca4d0 .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
(cherry picked from commit fbde0a71f0)
2023-05-08 18:13:36 +00:00
George Joseph
e3b9f66678 .github: Remove separate set labels step from new PR
(cherry picked from commit aced9046ca)
2023-05-08 18:13:36 +00:00
George Joseph
6aa490d373 .github: Refactor CP progress and add new PR test progress
(cherry picked from commit b7eeef6314)
2023-05-08 18:13:36 +00:00
Maximilian Fridrich
9cfda39d36 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 f3cc1e7fbd)
2023-05-08 18:13:36 +00:00
George Joseph
ea564b640d .github: Add cherry-pick test progress labels
(cherry picked from commit 3707140472)
2023-05-08 18:13:36 +00:00
Joshua C. Colp
42c243866e LICENSE: Update link to trademark policy.
Resolves: #43
(cherry picked from commit a614604f32)
2023-05-08 18:13:36 +00:00
Naveen Albert
e6b84eca75 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 82d7bb49dd)
2023-05-08 18:13:36 +00:00
George Joseph
81310a031c .github: Update issue templates
(cherry picked from commit ef644c3e93)
2023-05-08 18:13:35 +00:00
George Joseph
5cb6d8a453 .github: Remove unnecessary parameter in CherryPickTest
(cherry picked from commit 313cd9dd84)
2023-05-08 18:13:35 +00:00
George Joseph
cc36ae8de5 Initial GitHub PRs
(cherry picked from commit 987315a5fa)
2023-05-08 18:13:35 +00:00
George Joseph
f994463aee Initial GitHub Issue Templates
(cherry picked from commit f8dc014819)
2023-05-08 18:13:35 +00:00
Joshua C. Colp
6a347f413d pbx_dundi: Fix PJSIP endpoint configuration check.
ASTERISK-28233

Change-Id: I0f11c096b307a6178e22ca49d9c756343f0e1fdc
(cherry picked from commit 6c53e5e870)
2023-05-08 18:13:35 +00:00
Joshua Colp
9c5f5358d7 Revert "app_queue: periodic announcement configurable start time."
This reverts commit 3fd0b65bae.

Reason for revert: Causes segmentation fault.

Change-Id: Ic189c6f7872943a5500d3e71142f0c09d54fcc31
(cherry picked from commit de15852ef0)
2023-05-08 18:13:35 +00:00
Naveen Albert
59c9e4531e 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 66a7cff57e)
2023-05-08 18:13:35 +00:00
Naveen Albert
99d17db963 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 b33f92cbb5)
2023-05-08 18:13:35 +00:00
The_Blode
81a912f3ce install_prereq: Add Linux Mint support.
ASTERISK-30359 #close

Change-Id: I9c140c7f12ca7dafe65c317f2a26122cf2c72556
(cherry picked from commit de9aaf7e97)
2023-05-08 18:13:35 +00:00
Henning Westerholt
51509309ca 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 1c5720b802)
2023-05-08 18:13:35 +00:00
Naveen Albert
c9aa3b0169 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 d0f39250ee)
2023-05-08 18:13:35 +00:00
Naveen Albert
5e7d21e5a5 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 bad5bda08c)
2023-05-08 18:13:35 +00:00
George Joseph
d0ce6d4ee5 test.c: Fix counting of tests and add 2 new tests
The unit test XML output was counting all registered tests as "run"
even when only a subset were actually requested to be run and
the "failures" attribute was missing.

* The "tests" attribute of the "testsuite" element in the
  output XML now reflects only the tests actually requested
  to be executed instead of all the tests registered.

* The "failures" attribute was added to the "testsuite"
  element.

Also added 2 new unit tests that just pass and fail to be
used for CI testing.

Change-Id: Ia137814b5aeb0e1a44c75034bd3615c26021da69
(cherry picked from commit a0fd95ef52)
2023-05-08 18:13:35 +00:00
Jaco Kroon
3a158c07a1 res_calendar: output busy state as part of show calendar.
Change-Id: I894e4ecc3e93db4ff7783d46266ba3c5e6ccda10
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
(cherry picked from commit 019dc51139)
2023-05-08 18:13:35 +00:00
Sean Bright
255565e240 loader.c: Minor module key check simplification.
Change-Id: I65aefd4434a783096165c179b5f94f2e4810dffe
(cherry picked from commit 6dab013e49)
2023-05-08 18:13:35 +00:00