Commit Graph

33611 Commits

Author SHA1 Message Date
Naveen Albert
273ad73d99 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 12:27:52 -06:00
Joe Searle
8462154a03 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 12:26:11 -06:00
alex2grad
8a6379f36b 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 12:23:03 -06:00
Niklas Larsson
c1f21b6f66 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 12:19:07 -06:00
George Joseph
a5b9fa09ca .github: Fix issues with cherry-pick-reminder 2023-06-05 10:38:01 -06:00
Mike Bradeen
1f337f6034 indications: logging changes
Increase verbosity to indicate failure due to missing country
and to specify default on CLI dump

Resolves: #89
2023-06-05 07:30:51 -06:00
George Joseph
fe59e1f311 .github Ignore error when adding reviewrs to PR 2023-06-05 07:16:17 -06:00
George Joseph
e0ed0db41f .github: Update field descriptions for AsteriskReleaser 2023-05-26 08:51:41 -06:00
Naveen Albert
8b864b12cf 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
2023-05-25 10:46:40 -06:00
Naveen Albert
2159ec8532 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
2023-05-25 10:38:50 -06:00
Naveen Albert
5dac935f61 app_sla: Migrate SLA applications out of app_meetme.
This removes the dependency of the SLAStation and SLATrunk
applications on app_meetme, in anticipation of the imminent
removal of the deprecated app_meetme module.

The user interface for the SLA applications is exactly the
same, and in theory, users should not notice a difference.
However, the SLA applications now use ConfBridge under the
hood, rather than MeetMe, and they are now contained within
their own module.

Resolves: #50
ASTERISK-30309

UpgradeNote: The SLAStation and SLATrunk applications have been moved
from app_meetme to app_sla. If you are using these applications and have
autoload=no, you will need to explicitly load this module in modules.conf.
2023-05-25 10:34:35 -06:00
Maximilian Fridrich
18f0b6661a chan_pjsip: Allow topology/session refreshes in early media state (#74)
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
2023-05-25 09:14:47 -06:00
InterLinked1
200a3f1d68 chan_dahdi: Fix broken hidecallerid setting. (#101)
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
2023-05-25 08:48:54 -06:00
George Joseph
869cb0c260 .github: Change title of AsteriskReleaser job 2023-05-23 08:04:42 -06:00
InterLinked1
ad6ff4cbf2 asterisk.c: Fix option warning for remote console. (#103)
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
2023-05-22 12:59:56 -06:00
George Joseph
57eb7e2c7a .github: Don't add cherry-pick reminder if it's already present 2023-05-22 12:54:42 -06:00
InterLinked1
659f2aae3a res_pjsip_pubsub: Add new pubsub module capabilities. (#82)
The existing res_pjsip_pubsub APIs are somewhat limited in
what they can do. This adds a few API extensions that make
it possible for PJSIP pubsub modules to implement richer
features than is currently possible.

* Allow pubsub modules to get a handle to pjsip_rx_data on subscription
* Allow pubsub modules to run a callback when a subscription is renewed
* Allow pubsub modules to run a callback for outgoing NOTIFYs, with
  a handle to the tdata, so that modules can append their own headers
  to the NOTIFYs

This change does not add any features directly, but makes possible
several new features that will be added in future changes.

Resolves: #81
ASTERISK-30485 #close

Master-Only: True
2023-05-18 11:41:38 -06:00
George Joseph
cd2865175c .github: Fix quoting in PROpenedOrUpdated 2023-05-16 16:11:08 -06:00
George Joseph
7c917618f4 .github: Add cherry-pick reminder to new PRs 2023-05-15 09:37:38 -06:00
Jaco Kroon
0e6295128c configure: fix test code to match gethostbyname_r prototype. (#75)
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>
2023-05-15 06:50:36 -06:00
Sean Bright
ae6b56e357 res_pjsip_pubsub.c: Use pjsip version for pending NOTIFY check. (#47)
The functionality we are interested in is present only in pjsip 2.13
and newer.

Resolves: #45
2023-05-11 14:23:49 -06:00
zhengsh
c8ce2c705d res_sorcery_memory_cache.c: Fix memory leak (#56)
Replace the original call to ast_strdup with a call to ast_strdupa to fix the leak issue.

Resolves: #55
ASTERISK-30429
2023-05-11 14:21:57 -06:00
Sean Bright
f414815159 utils.h: Deprecate ast_gethostbyname(). (#79)
Deprecate `ast_gethostbyname()` in favor of `ast_sockaddr_resolve()` and
`ast_sockaddr_resolve_first_af()`. `ast_gethostbyname()` has not been
used by any in-tree code since 2021.

This function will be removed entirely in Asterisk 23.

Resolves: #78

UpgradeNote: ast_gethostbyname() has been deprecated and will be removed
in Asterisk 23. New code should use `ast_sockaddr_resolve()` and
`ast_sockaddr_resolve_first_af()`.
2023-05-11 13:05:49 -06:00
Sean Bright
d59a8ef59e xml.c: Process XML Inclusions recursively. (#69)
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
2023-05-11 13:03:33 -06:00
Joshua C. Colp
172a1a9d0c .github: Tweak improvement issue type language. 2023-05-09 10:47:05 -03:00
Gitea
60ca49d288 .github: Tweak new feature language, and move feature requests elsewhere. 2023-05-09 10:42:45 -03:00
Joshua C. Colp
eec85c672c .github: Fix staleness check to only run on certain labels. 2023-05-09 06:17:17 -03:00
George Joseph
857bc88d14 .github: Add AsteriskReleaser 2023-05-08 11:01:07 -06:00
Henning Westerholt
1a7866b172 chan_pjsip: also return all codecs on empty re-INVITE for late offers (#59)
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.
2023-05-04 08:55:37 -06:00
Mike Bradeen
cd48733353 cel: add local optimization begin event (#54)
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.
2023-05-04 08:51:55 -06:00
Sean Bright
0d6b271831 core: Cleanup gerrit and JIRA references. (#58)
* 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
2023-05-03 09:37:57 -06:00
George Joseph
f5168354cb .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.
2023-05-03 09:27:57 -06:00
George Joseph
676cfc3d5a .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS 2023-05-02 14:09:47 -06:00
George Joseph
79a383ebc6 .github: Remove separate set labels step from new PR 2023-05-02 12:11:24 -06:00
George Joseph
06c6a8b064 .github: Refactor CP progress and add new PR test progress 2023-05-02 12:04:26 -06:00
Maximilian Fridrich
cacd98bb29 res_pjsip: mediasec: Add Security-Client headers after 401 (#49)
When using mediasec, requests sent after a 401 must still contain the
Security-Client header according to
draft-dawes-sipcore-mediasec-parameter.

Resolves: #48
2023-05-02 09:18:42 -06:00
George Joseph
65fa8d6009 .github: Add cherry-pick test progress labels 2023-05-02 08:56:59 -06:00
Joshua C. Colp
7526d1d6c1 LICENSE: Update link to trademark policy. (#44)
Resolves: #43
2023-05-02 08:17:00 -06:00
InterLinked1
ffb90c4549 say.c: Fix French time playback. (#42)
ast_waitstream was not called after ast_streamfile,
resulting in "o'clock" being skipped in French.

Additionally, the minute announcements should be
feminine.

Reported-by: Danny Lloyd

Resolves: #41
ASTERISK-30488
2023-05-02 08:09:42 -06:00
Naveen Albert
9a999242b2 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.
2023-05-02 14:06:28 +00:00
George Joseph
1b95f6ee3f .github: Update issue templates 2023-05-01 09:37:29 -06:00
George Joseph
11ce72fc8a .github: Remove unnecessary parameter in CherryPickTest 2023-05-01 06:48:32 -06:00
George Joseph
f50cc8852d Initial GitHub PRs 2023-04-28 12:31:03 -06:00
George Joseph
eaec5a35dc Initial GitHub Issue Templates 2023-04-28 11:22:53 -06:00
Joshua C. Colp
21c07cf6e1 pbx_dundi: Fix PJSIP endpoint configuration check.
ASTERISK-28233

Change-Id: I0f11c096b307a6178e22ca49d9c756343f0e1fdc
2023-04-13 03:36:57 -06:00
Joshua Colp
4ec4543332 Revert "app_queue: periodic announcement configurable start time."
This reverts commit 71e317f68f.

Reason for revert: Causes segmentation fault.

Change-Id: I3beeda83249bffec2a8f246aa50a6b2f1b59ef59
2023-04-12 04:50:57 -05:00
Naveen Albert
0119f3ad48 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
2023-04-10 17:31:07 -05:00
Naveen Albert
ecf49ff746 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
2023-04-10 14:38:51 -05:00
Henning Westerholt
58e88dec90 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
2023-04-10 13:35:55 -05:00
The_Blode
0c50ab0d4f install_prereq: Add Linux Mint support.
ASTERISK-30359 #close

Change-Id: I9c140c7f12ca7dafe65c317f2a26122cf2c72556
2023-04-10 13:05:47 -05:00