]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
6 years agoUpdate for 13.27.0 13.27.0
Asterisk Development Team [Thu, 30 May 2019 17:21:00 +0000 (12:21 -0500)] 
Update for 13.27.0

6 years agoUpdate CHANGES and UPGRADE.txt for 13.27.0
Asterisk Development Team [Thu, 30 May 2019 17:05:58 +0000 (12:05 -0500)] 
Update CHANGES and UPGRADE.txt for 13.27.0

6 years agobuild: Fix file format in CHANGES-staging.
Ben Ford [Fri, 24 May 2019 14:01:14 +0000 (09:01 -0500)] 
build: Fix file format in CHANGES-staging.

One of the change files doesn't conform to the format that the release
scripts need in order to parse it.

Change-Id: Ie0b634cf27e4cbc671b9fe92993b6f2ecf60254c

6 years agochan_dahdi: add missing include.
Guido Falsi [Thu, 23 May 2019 14:44:07 +0000 (16:44 +0200)] 
chan_dahdi: add missing include.

After some definitions have been moved to asterisk/mwi.h the files
channels/chan_dahdi.h channels/sig_pri.c are missing this new
include.

ASTERISK-28427 #close

Change-Id: Ia8cc595eeda653324643f40dcd9799d4c3f0ac91

6 years agoUpdate for 13.27.0-rc1 13.27.0-rc1
Asterisk Development Team [Wed, 22 May 2019 18:35:50 +0000 (13:35 -0500)] 
Update for 13.27.0-rc1

6 years agoMerge "res_rtp_asterisk: Add ability to propose local address in ICE" into 13
George Joseph [Wed, 22 May 2019 17:46:41 +0000 (12:46 -0500)] 
Merge "res_rtp_asterisk:  Add ability to propose local address in ICE" into 13

6 years agopjproject-bundled: Add upstream timer fixes
Joshua Colp [Mon, 20 May 2019 17:45:57 +0000 (14:45 -0300)] 
pjproject-bundled:  Add upstream timer fixes

Fixed #2191:
  - Stricter double timer entry scheduling prevention.
  - Integrate group lock in SIP transport, e.g: for add/dec ref,
    for timer scheduling.

ASTERISK-28161
Reported-by: Ross Beer
Change-Id: I2e09aa66de0dda9414d8a8259a649c4d2d96a9f5

6 years agores_rtp_asterisk: Add ability to propose local address in ICE
George Joseph [Fri, 17 May 2019 23:44:37 +0000 (17:44 -0600)] 
res_rtp_asterisk:  Add ability to propose local address in ICE

You can now add the "include_local_address" flag to an entry in
rtp.conf "[ice_host_candidates]" to include both the advertized
address and the local address in ICE negotiation:

[ice_host_candidates]
192.168.1.1 = 1.2.3.4,include_local_address

This causes both 192.168.1.1 and 1.2.3.4 to be advertized.

Change-Id: Ide492cd45ce84546175ca7d557de80d9770513db

6 years agoMerge "Fixes for GCC 9" into 13
Friendly Automation [Wed, 15 May 2019 11:21:57 +0000 (06:21 -0500)] 
Merge "Fixes for GCC 9" into 13

6 years agoMerge "build: Pass --fno-partial-inlining to third-party when appropriate" into 13
Friendly Automation [Wed, 15 May 2019 10:47:36 +0000 (05:47 -0500)] 
Merge "build: Pass --fno-partial-inlining to third-party when appropriate" into 13

6 years agoMerge "pjsip_options.c: Allow immediate qualifies for new contacts." into 13
Joshua Colp [Mon, 13 May 2019 19:11:32 +0000 (14:11 -0500)] 
Merge "pjsip_options.c: Allow immediate qualifies for new contacts." into 13

6 years agoFixes for GCC 9
George Joseph [Fri, 10 May 2019 15:48:28 +0000 (09:48 -0600)] 
Fixes for GCC 9

Various fixes for issues caught by gcc 9.  Mostly snprintf
trying to copy to a buffer potentially too small.

ASTERISK-28412

Change-Id: I9e85a60f3c81d46df16cfdd1c329ce63432cf32e

6 years agoMerge "Revert "pjproject-bundled: Add upstream timer fixes"" into 13
Friendly Automation [Wed, 8 May 2019 17:22:12 +0000 (12:22 -0500)] 
Merge "Revert "pjproject-bundled:  Add upstream timer fixes"" into 13

6 years agoRevert "pjproject-bundled: Add upstream timer fixes"
George Joseph [Tue, 7 May 2019 19:24:15 +0000 (14:24 -0500)] 
Revert "pjproject-bundled:  Add upstream timer fixes"

This reverts commit cfeb8a59eb892e7f72b5ce0acfc0dbde1a51d3b8.

The fixes in question cause assert failures when pjproject
asserts are enabled.  Reverting in 13 until a solution is
found for all branches.

Change-Id: Iae5bd340e0543613185fecb63f9c86fa985fe664

6 years agopjsip_options.c: Allow immediate qualifies for new contacts.
Ben Ford [Tue, 7 May 2019 16:08:33 +0000 (11:08 -0500)] 
pjsip_options.c: Allow immediate qualifies for new contacts.

When multiple endpoints try to register close together using the same
AOR with qualify_frequency set, one contact would qualify immediately
while the other contacts would have to wait out the duration of the
timer before being able to qualify. Changing the conditional to check
the contact container count for a non-zero value allows all contacts to
qualify immediately.

Change-Id: I79478118ee7e0d6e76af7c354d66684220db9415

6 years agoMerge "pjproject-bundled: Add upstream timer fixes" into 13
Friendly Automation [Mon, 6 May 2019 10:43:28 +0000 (05:43 -0500)] 
Merge "pjproject-bundled:  Add upstream timer fixes" into 13

6 years agobuild: Pass --fno-partial-inlining to third-party when appropriate
George Joseph [Fri, 3 May 2019 18:31:06 +0000 (12:31 -0600)] 
build: Pass --fno-partial-inlining to third-party when appropriate

When the gcc version is >= 8.2.1, we were already setting the
--fno-partial-inlining flag for Asterisk source files to get around
a gcc bug but we weren't passing the flag down to the bundled
builds of pjproject and jansson.

ASTERISK-28392

Change-Id: I99ede9bc35408ecd096f7d5369e8192d3dc75704

6 years agopjproject-bundled: Add upstream timer fixes
George Joseph [Fri, 3 May 2019 13:27:43 +0000 (07:27 -0600)] 
pjproject-bundled:  Add upstream timer fixes

Fixed #2191:
  - Stricter double timer entry scheduling prevention.
  - Integrate group lock in SIP transport, e.g: for add/dec ref,
    for timer scheduling.

ASTERISK-28161
Reported-by: Ross Beer
Change-Id: I02a791fd1570a1e594a132b36c4ff72441108c17

6 years agores_pjsip: Check return from pjsip_parse_uri calls
George Joseph [Thu, 2 May 2019 18:29:49 +0000 (12:29 -0600)] 
res_pjsip:  Check return from pjsip_parse_uri calls

Updated ast_sip_create_rdata_with_contact and registrar_find_contact
to check the return from pjsip_parse_uri before attempting to
use the uri returned.

ASTERISK-28402
Reported-by: Ross Beer
Change-Id: I9810b3b163c45ed5a56ec743586e5ce107f13ba7

6 years agoMerge "mwi core: Move core MWI functionality into its own files" into 13
George Joseph [Tue, 30 Apr 2019 15:42:13 +0000 (10:42 -0500)] 
Merge "mwi core: Move core MWI functionality into its own files" into 13

6 years agoMerge "app_amd: Fix infinite loop on silent calls" into 13
Friendly Automation [Tue, 30 Apr 2019 15:03:43 +0000 (10:03 -0500)] 
Merge "app_amd: Fix infinite loop on silent calls" into 13

6 years agoMerge "stasis: Fix crash at shutdown." into 13
Friendly Automation [Tue, 30 Apr 2019 10:45:13 +0000 (05:45 -0500)] 
Merge "stasis: Fix crash at shutdown." into 13

6 years agoapp_amd: Fix infinite loop on silent calls
agupta [Tue, 4 Dec 2018 08:10:15 +0000 (13:40 +0530)] 
app_amd: Fix infinite loop on silent calls

The total time logic will now be executed on calls which
do not pass any media.

ASTERISK-28143

Change-Id: I24726bd29d7e467fc721ca265363417234b22855

6 years agoMerge "app_dial.c: RINGTIME, PROGRESSTIME and ms resolution dial timings" into 13
Friendly Automation [Thu, 25 Apr 2019 19:06:05 +0000 (14:06 -0500)] 
Merge "app_dial.c: RINGTIME, PROGRESSTIME and ms resolution dial timings" into 13

6 years agostasis: Fix crash at shutdown.
Ben Ford [Tue, 23 Apr 2019 14:47:45 +0000 (09:47 -0500)] 
stasis: Fix crash at shutdown.

When compiling in dev mode, stasis statistics are enabled and can cause
a crash at shutdown due to the following:
- Containers are freed
- Topics and subscriptions remain
- When those topics and subscriptions are deallocated, they go to do
  things with the container

This changes the containers to global ao2 objects, and whenever needed
in the code, a reference must be obtained and checked before any
operations can be done.

ASTERISK-28353 #close

Change-Id: Ie7d5e907fcfcb4d65bd36d5e4eb923126fde8d33

6 years agoapp_dial.c: RINGTIME, PROGRESSTIME and ms resolution dial timings
Antoni Goldstein [Fri, 29 Mar 2019 14:04:46 +0000 (14:04 +0000)] 
app_dial.c: RINGTIME, PROGRESSTIME and ms resolution dial timings

Added RINGTIME, RINGTIME_MS, PROGRESSTIME, PROGRESSTIME_MS variables filled
at the earliest received PROGRESS or RINGING.
Added millisecond versions of DIALEDTIME and ANSWEREDTIME.

Added millisecond versions of ast_channel_get_up_time and
ast_channel_get_duration in channel.c.

ASTERISK-28363

Change-Id: If95f1a7d8c4acbac740037de0c6e3109ff6620b1

6 years agomwi core: Move core MWI functionality into its own files
Kevin Harwell [Tue, 9 Apr 2019 19:09:44 +0000 (14:09 -0500)] 
mwi core: Move core MWI functionality into its own files

There is enough MWI functionality to warrant it having its own 'c' and header
files. This patch moves all current core MWI data structures, and functions
into the following files:

main/mwi.h
main/mwi.c

Note, code was simply moved, and not modified. However, this patch is also in
preparation for core MWI changes, and additions to come.

Change-Id: I9dde8bfae1e7ec254fa63166e090f77e4d3097e0

6 years agoMerge "ARI: Bump non-breaking version number to 1.10.2" into 13
Friendly Automation [Tue, 23 Apr 2019 21:42:00 +0000 (16:42 -0500)] 
Merge "ARI: Bump non-breaking version number to 1.10.2" into 13

6 years agoMerge "core/buildsystem: check the actual compiler being version" into 13
Friendly Automation [Tue, 23 Apr 2019 20:23:41 +0000 (15:23 -0500)] 
Merge "core/buildsystem: check the actual compiler being version" into 13

6 years agoARI: Bump non-breaking version number to 1.10.2
George Joseph [Mon, 22 Apr 2019 16:09:51 +0000 (10:09 -0600)] 
ARI: Bump non-breaking version number to 1.10.2

main/json.c: Added app_name, app_data to channel type
res/res_ari: Added ARI resource /ari/channels/{channelId}/rtp_statistics
res/res_ari: Added timestamp as a requirement for all ARI events

Change-Id: Ie0da5b0cf0623b0d0fddbb864f73cb676c2b55cd

6 years agoMerge "res_indications: Fix indications remove command autocomplete" into 13
Friendly Automation [Mon, 22 Apr 2019 13:48:50 +0000 (08:48 -0500)] 
Merge "res_indications: Fix indications remove command autocomplete" into 13

6 years agocore/buildsystem: check the actual compiler being version
Guido Falsi [Sun, 7 Apr 2019 16:36:55 +0000 (18:36 +0200)] 
core/buildsystem: check the actual compiler being version

Make compiler check use the output of the actual compiler being
used as reported by the CC variable, instead of unconditionally
running the "gcc" binary.  Also only run the check if the compiler
is gcc or a cross-compile gcc.

ASTERISK-28374

Change-Id: Icaacf6d93686ad21076878aa1504a23b4fc9d0f4

6 years agores_indications: Fix indications remove command autocomplete
Lucas Mendes [Fri, 19 Apr 2019 14:33:49 +0000 (16:33 +0200)] 
res_indications: Fix indications remove command autocomplete

We changed the validation of autocomplete parameter in the "indications
remove" command to avoid continue the execution of the command after
asking for autocomplete out of range parameters.

ASTERISK-28391
Reported by: lmendes86

Change-Id: I92b24131fd02f2e3c7fec966eea6f7a663310d40

6 years agores_pjsip: Added a norefersub configuration setting
Dan Cropp [Mon, 8 Apr 2019 22:04:48 +0000 (17:04 -0500)] 
res_pjsip:  Added a norefersub configuration setting

Added a new PJSIP global setting called norefersub.
Default is true to keep support working as before.

res_pjsip_refer:  Configures PJSIP norefersub capability accordingly.

Checks the PJSIP global setting value.
If it is true (default) it adds the norefersub capability to PJSIP.
If it is false (disabled) it does not add the norefersub capability
to PJSIP.

This is useful for Cisco switches that do not follow RFC4488.

ASTERISK-28375 #close
Reported-by: Dan Cropp
Change-Id: I0b1c28ebc905d881f4a16e752715487a688b30e9

6 years agoMerge "res_mwi_devstate: Specify AST_MODFLAG_LOAD_ORDER to enable load priority"...
Friendly Automation [Thu, 18 Apr 2019 10:40:54 +0000 (05:40 -0500)] 
Merge "res_mwi_devstate: Specify AST_MODFLAG_LOAD_ORDER to enable load priority" into 13

6 years agoMerge "pbx.c: Ignore dashes in extensions when using extenpatternmatchnew" into 13
Friendly Automation [Tue, 16 Apr 2019 17:09:24 +0000 (12:09 -0500)] 
Merge "pbx.c: Ignore dashes in extensions when using extenpatternmatchnew" into 13

6 years agoMerge "app_voicemail: Don't split mailbox options on comma" into 13
Friendly Automation [Tue, 16 Apr 2019 16:32:19 +0000 (11:32 -0500)] 
Merge "app_voicemail: Don't split mailbox options on comma" into 13

6 years agores_mwi_devstate: Specify AST_MODFLAG_LOAD_ORDER to enable load priority
Sean Bright [Tue, 16 Apr 2019 15:58:40 +0000 (11:58 -0400)] 
res_mwi_devstate: Specify AST_MODFLAG_LOAD_ORDER to enable load priority

Suggested by abelbeck on the issue tracker.

ASTERISK~28384
Reported by: abelbeck

Change-Id: Icee0fff2b58dbfaa80f2b68270fe69dfb0463fc0

6 years agoMerge "build: Revise CHANGES and UPGRADE.txt handling." into 13
Benjamin Keith Ford [Tue, 16 Apr 2019 15:52:21 +0000 (10:52 -0500)] 
Merge "build: Revise CHANGES and UPGRADE.txt handling." into 13

6 years agoMerge "res_ael: Use Gosub in for loop expressions" into 13
Joshua Colp [Tue, 16 Apr 2019 13:08:51 +0000 (08:08 -0500)] 
Merge "res_ael: Use Gosub in for loop expressions" into 13

6 years agoMerge "res_ael: Fix pattern matching against literal '+'" into 13
Joshua Colp [Tue, 16 Apr 2019 12:25:32 +0000 (07:25 -0500)] 
Merge "res_ael: Fix pattern matching against literal '+'" into 13

6 years agoMerge "CI: Move test group config files to Jenkins" into 13
George Joseph [Mon, 15 Apr 2019 13:06:21 +0000 (08:06 -0500)] 
Merge "CI: Move test group config files to Jenkins" into 13

6 years agoCI: Move test group config files to Jenkins
George Joseph [Fri, 12 Apr 2019 16:32:44 +0000 (10:32 -0600)] 
CI: Move test group config files to Jenkins

One of the downaides of having things like test configuration
in the git repo is that it can't be changed at runtime.  You have
to create a review for the changes and merge it mefore it will
take effect.

This review moves the data currently held in
tests/CI/periodic-dailyTestGroups.json and
tests/CI/gateTestGroups.json into a Jenkins Config File attached
to the job definitions.  This allows us to alter it from the
Jenkins UI at runtime.  The original files stay in the repo
as documentation.

Change-Id: I14b9702f6285ce1fb2420287ba0e7d3b59109763

6 years agoapp_voicemail: Don't split mailbox options on comma
Sean Bright [Sat, 13 Apr 2019 18:36:56 +0000 (14:36 -0400)] 
app_voicemail: Don't split mailbox options on comma

Because the per-mailbox options are the last thing on a line, don't look
for or stomp on any subsequent commas.

ASTERISK-27935 #close
Reported by: Sébastien Duthil

Change-Id: I07b2eb4a33c303d0c7114d5b906f8c067c60a153

6 years agoMerge "res_ael: Create consistent label names across reloads" into 13
George Joseph [Fri, 12 Apr 2019 19:16:19 +0000 (14:16 -0500)] 
Merge "res_ael: Create consistent label names across reloads" into 13

6 years agoMerge "pbx.c: Properly parse labels with leading digits" into 13
George Joseph [Fri, 12 Apr 2019 19:15:59 +0000 (14:15 -0500)] 
Merge "pbx.c: Properly parse labels with leading digits" into 13

6 years agopbx.c: Ignore dashes in extensions when using extenpatternmatchnew
Sean Bright [Fri, 12 Apr 2019 14:33:57 +0000 (10:33 -0400)] 
pbx.c: Ignore dashes in extensions when using extenpatternmatchnew

Because hyphens are not matched literally in Asterisk dialplan, we need
to ignore them in our candidate extensions as well.

ASTERISK-17695 #close
Reported by: test011

Change-Id: I227f02301577b1633e8a55b9fe9dc149935c03f0

6 years agoMerge "app_voicemail: Cleanup stale lock files on module load" into 13
Friendly Automation [Fri, 12 Apr 2019 14:59:42 +0000 (09:59 -0500)] 
Merge "app_voicemail: Cleanup stale lock files on module load" into 13

6 years agoMerge "chan_ooh323: fix h323 log file path" into 13
Friendly Automation [Fri, 12 Apr 2019 14:18:16 +0000 (09:18 -0500)] 
Merge "chan_ooh323: fix h323 log file path" into 13

6 years agoapp_voicemail: Cleanup stale lock files on module load
Sean Bright [Tue, 9 Apr 2019 15:10:12 +0000 (11:10 -0400)] 
app_voicemail: Cleanup stale lock files on module load

If Asterisk crashes while a VM directory is locked, lock files in the VM
spool directory will not get properly cleaned up. We now clear them on
module load.

ASTERISK-20207 #close
Reported by: Steven Wheeler

Change-Id: If40ccd508e2f6e5ade94dde2f0bcef99056d0aaf

6 years agores_ael: Create consistent label names across reloads
Sean Bright [Thu, 11 Apr 2019 20:48:49 +0000 (16:48 -0400)] 
res_ael: Create consistent label names across reloads

Reset the internal counter that the AEL2 compiler uses for unique label
names before compiling. This keeps dialplan labels consistent across
reloads assuming the AEL2 has not changed.

ASTERISK-17799 #close
Reported by: Kirill Katsnelson

Change-Id: I30b3cc887d1ee0644d3f341e2fef16f525d7fae5

6 years agores_ael: Use Gosub in for loop expressions
Sean Bright [Thu, 11 Apr 2019 20:29:20 +0000 (16:29 -0400)] 
res_ael: Use Gosub in for loop expressions

In AEL2, if a 'for' statement contains macro* calls, like:

    for (&iterator(${TRY},A); "${A}" != ""; &iterate(A)) {

The AEL2 parser will translate these into calls to the deprecated Macro
dialplan application and use the antiquated pipe delimiter.

Instead, convert these into calls to the Gosub dialplan application and
use commas as argument separators.

ASTERISK-18593 #close
Reported by: Luke-Jr

* 'macro' in this context means AEL2 macros, not the 'Macro' application

Change-Id: I3d73716033b8e3e42e0209d355bf5f10c97045fc

6 years agores_ael: Fix pattern matching against literal '+'
Sean Bright [Thu, 11 Apr 2019 16:03:07 +0000 (12:03 -0400)] 
res_ael: Fix pattern matching against literal '+'

When generating the regular expression that matches against existing
extensions, we need to escape literal characters that can also be
regular expression metacharacters. This was already being done for '*'
but we need to do the same for '+'.

In passing, remove some unreachable code - strcmp() is already run
immediately when entering extension_matches().

ASTERISK-14939 #close
Reported by: klaus3000

Change-Id: I8d2cccb3479168fba1b0a6704c52198b396468f1

6 years agoMerge "res_pjsip: Fix transport_states ref leak" into 13
George Joseph [Thu, 11 Apr 2019 20:00:29 +0000 (15:00 -0500)] 
Merge "res_pjsip: Fix transport_states ref leak" into 13

6 years agopbx.c: Properly parse labels with leading digits
Sean Bright [Thu, 11 Apr 2019 17:49:38 +0000 (13:49 -0400)] 
pbx.c: Properly parse labels with leading digits

If the target of a Goto is a label that starts with a number, we
erroneously treat the leading digits as a priority.

ASTERISK-20182 #close
Reported by: Janu

Change-Id: Ia78408c0805a729103917247ecfc802f6fafc94b

6 years agochan_ooh323: fix h323 log file path
Alexander Anikin [Wed, 10 Apr 2019 23:07:18 +0000 (02:07 +0300)] 
chan_ooh323: fix h323 log file path

Change h323 log path relative to AST_LOG_DIR instead of
/var/log/asterisk hardcoded
Add return back error message from OOH323EP initialize

ASTERISK-28348 #close

Reported by: Dmitry Shubin

Change-Id: Ib102dd36bbe6c2a7a4ce6870ae9110d9000d7e98

6 years agoMerge "chan_pjsip: DTMF Mode auto_info fallback lead to both inband and info" into 13
George Joseph [Wed, 10 Apr 2019 17:43:15 +0000 (12:43 -0500)] 
Merge "chan_pjsip: DTMF Mode auto_info fallback lead to both inband and info" into 13

6 years agores_pjsip: Fix transport_states ref leak
Alexei Gradinari [Tue, 9 Apr 2019 21:47:59 +0000 (17:47 -0400)] 
res_pjsip: Fix transport_states ref leak

Add missing ao2_ref(transport_state, -1) while iterate on a transport_states
container.

Change-Id: I40e35b5a339121300c80075c30db47201a6c374e

6 years agoMerge "config.c: Fix a crash in extconfig parsing" into 13
Joshua Colp [Wed, 10 Apr 2019 11:40:46 +0000 (06:40 -0500)] 
Merge "config.c: Fix a crash in extconfig parsing" into 13

6 years agobuild: Revise CHANGES and UPGRADE.txt handling.
Ben Ford [Mon, 1 Apr 2019 19:42:55 +0000 (14:42 -0500)] 
build: Revise CHANGES and UPGRADE.txt handling.

This changes the way that we handle adding changes to CHANGES and
UPGRADE.txt. The reason for this is because whenever someone needed to
make a change to one of these files and someone else had already done
so, you would run into merge conflicts. With this new setup, there will
never be merge conflicts since all changes will be documented in the
doc/<file>-staging directory. The release script is now responsible for
merging all of these changes into the appropriate files.

There is a special format that these files have to follow in order to be
parsed. The files do not need to have a meaningful name, but it is
strongly recommended. For example, if you made a change to pjsip, you
may have something like this "res_pjsip_relative_title", where
"relative_title" is something more descriptive than that. Inside each
file, you will need a subject line for your change, followed by a
description. There can be multiple subject lines. The file may look
something like this:

   Subject: res_pjsip
   Subject: Core

   A description that explains the changes made and why. The release
   script will handle the bulleting and section separators!

   You can still separate with new lines within your description.

The headers ("Subject" and "Master-Only") are case sensative, but the
value for "Master-Only" ("true" or "True") is not.

For more information, check out the wiki page:
https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt

ASTERISK-28111 #close

Change-Id: I19cf4b569321c88155a65e9b0b80f6d58075dd47

6 years agoMerge "CI: Add --no-dev-mode option to buildAsterisk.sh" into 13
Friendly Automation [Mon, 8 Apr 2019 15:53:20 +0000 (10:53 -0500)] 
Merge "CI:  Add --no-dev-mode option to buildAsterisk.sh" into 13

6 years agoMerge "main/json.c: Added app_name, app_data to channel type" into 13
Friendly Automation [Mon, 8 Apr 2019 15:34:56 +0000 (10:34 -0500)] 
Merge "main/json.c: Added app_name, app_data to channel type" into 13

6 years agoMerge "res/res_ari: Added ARI resource /ari/channels/{channelId}/rtp_statistics"...
Friendly Automation [Mon, 8 Apr 2019 15:27:07 +0000 (10:27 -0500)] 
Merge "res/res_ari: Added ARI resource /ari/channels/{channelId}/rtp_statistics" into 13

6 years agoconfig.c: Fix a crash in extconfig parsing
Chris-Savinovich [Thu, 4 Apr 2019 21:02:42 +0000 (16:02 -0500)] 
config.c: Fix a crash in extconfig parsing

When extconfig.conf file is parsed, the code previously searched for
character comma without verifying if error (null or blank).  This caused
a segmentation error.

Change-Id: Id76b452d8f330d11c2742c37232761ad71472a8b

6 years agochan_pjsip: DTMF Mode auto_info fallback lead to both inband and info
Salah Ahmed [Wed, 3 Apr 2019 15:55:07 +0000 (10:55 -0500)] 
chan_pjsip: DTMF Mode auto_info fallback lead to both inband and info

When the dtmf_mode on an endpoint is configured as "auto_info"
Asterisk will produce an inband DTMF tone alongside an INFO
message when sending DTMF.

ASTERISK-28371

Change-Id: I1380b82f006e110a1b83fbb50c9873edd13a5d9a

6 years agomain/json.c: Added app_name, app_data to channel type
sungtae kim [Thu, 21 Mar 2019 23:09:14 +0000 (00:09 +0100)] 
main/json.c: Added app_name, app_data to channel type

It was difficult to check the channel's current application and
parameters using ARI for current channels. Added app_name, app_data
items to show the current application information.

ASTERISK-28343

Change-Id: Ia48972b3850e5099deab0faeaaf51223a1f2f38c

6 years agoMerge "res/res_rtp_asterisk: Enable rxjitter calculation for video" into 13
Friendly Automation [Thu, 4 Apr 2019 13:29:18 +0000 (08:29 -0500)] 
Merge "res/res_rtp_asterisk: Enable rxjitter calculation for video" into 13

6 years agoCI: Add --no-dev-mode option to buildAsterisk.sh
George Joseph [Wed, 3 Apr 2019 22:55:00 +0000 (16:55 -0600)] 
CI:  Add --no-dev-mode option to buildAsterisk.sh

The new option disables dev mode, TEST_FRAMEWORK and
MALLOC_DEBUG making the build more production-like.

Change-Id: Ieb72497d4d91d5416684aaed702cc3f532099738

6 years agobuild: Fix compiler warnings/errors.
Ben Ford [Wed, 3 Apr 2019 15:24:06 +0000 (10:24 -0500)] 
build: Fix compiler warnings/errors.

The compiler complained about a couple of variables that weren't
initialized but were being used. Initializing them to NULL resolves the
warnings/errors.

ASTERISK-28362 #close

Change-Id: I6243afc5459b416edff6bbf571b0489f6b852e4b

6 years agores/res_rtp_asterisk: Enable rxjitter calculation for video
Matthew Fredrickson [Wed, 27 Mar 2019 19:30:45 +0000 (19:30 +0000)] 
res/res_rtp_asterisk: Enable rxjitter calculation for video

It looks like we're not properly calculating jitter values on received
video streams.  This patch enables the code that does jitter calculations
for those streams.

Change-Id: Iaac985808829c8f034db8c57318789c4c8c11392

6 years agoMerge "pjproject: Add timer patch from pjproject r5934" into 13
George Joseph [Tue, 2 Apr 2019 15:28:15 +0000 (10:28 -0500)] 
Merge "pjproject: Add timer patch from pjproject r5934" into 13

6 years agoMerge "alembic: Fix errors during upgrade head." into 13
Friendly Automation [Thu, 28 Mar 2019 19:46:35 +0000 (14:46 -0500)] 
Merge "alembic: Fix errors during upgrade head." into 13

6 years agoalembic: Fix errors during upgrade head.
Ben Ford [Tue, 26 Mar 2019 19:56:37 +0000 (14:56 -0500)] 
alembic: Fix errors during upgrade head.

When trying to upgrade using alembic, a couple different errors kept
popping up that prevented the upgrade. An additional parameter was
needed when changing the schema for mwi_subscribe_replaces_unsolicited
from an integer to an enum. When changing from a string to an enum, the
type needed to be cast for postgresql. The other issue was a parameter
being used during column creation that did not exist.

After fixing the upgrade process, it revealed errors with the downgrade
process. One was a variable not being defined in the downgrade function,
and the other was tables not existing when using MySQL. This was due to
a context check that should have encompassed MySQL, but in the end was
not doing so.

Change-Id: Ib4d70cf3ce5080023a50be496272a777b55d6c8e

6 years agoMerge "manager: Use separate lock for session event notification." into 13
George Joseph [Thu, 28 Mar 2019 13:03:51 +0000 (08:03 -0500)] 
Merge "manager: Use separate lock for session event notification." into 13

6 years agoMerge "pjsip: restrict function PJSIP_PARSE_URI to parse only SIP/SIPS URIs" into 13
Friendly Automation [Wed, 27 Mar 2019 23:05:59 +0000 (18:05 -0500)] 
Merge "pjsip: restrict function PJSIP_PARSE_URI to parse only SIP/SIPS URIs" into 13

6 years agores/res_ari: Added ARI resource /ari/channels/{channelId}/rtp_statistics
sungtae kim [Sat, 2 Mar 2019 11:37:21 +0000 (12:37 +0100)] 
res/res_ari: Added ARI resource /ari/channels/{channelId}/rtp_statistics

Added ARI resource for channel statistics.
GET /ari/channels/{channelId}/rtp_statistics : It returns given
channel's rtp statistics detail.

ASTERISK-28320

Change-Id: I4343eec070438cec13f2a4f22e7fd9e574381376

6 years agoMerge "app_queue: Fix documentation for QUEUE_MEMBER function." into 13
George Joseph [Wed, 27 Mar 2019 19:31:13 +0000 (14:31 -0500)] 
Merge "app_queue: Fix documentation for QUEUE_MEMBER function." into 13

6 years agobuild: Add staging directories for future changes.
Ben Ford [Wed, 27 Mar 2019 16:03:40 +0000 (11:03 -0500)] 
build: Add staging directories for future changes.

This is the first step in changing the release process so that changes
made to the CHANGES and UPGRADE.txt files do not result in merge
conflicts every time multiple people modify these files. The changes
made will go in these new directories: doc/CHANGES-staging and
doc/UPGRADE-staging. The README.md files explain how things will work,
but here's a little overview. When you make a change that would go in
either CHANGES or UPGRADE.txt, this should instead be documented in a
new file in the doc/CHANGES-staging or doc/UPGRADE-staging directory,
respectively. The format will look like this:

   Subject: res_pjsip

   A description that explains the changes made and why. The release
   script will handle the bulleting and section separators! The
   'Subject:' header is case-sensitive.

   You can still separate with new lines within your description.

   Subject: res_ari
   Master-Only: true

   You can have more than one subject, and they don't have to be the
   same! Also, the 'Master-Only' header should always be true and is
   also case-sensitive (but the value is not - you can have 'true' or
   'True'). This header will only ever be present in the master branch.

For more information, check out the wiki page:
https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt

This is an initial change for ASTERISK_28111. Functionally, this will
make no difference, but it will prep the directories for when the
changes from CHANGES and UPGRADE.txt are extracted.

Change-Id: I8d852f284f66ac456b26dcb899ee46babf7d15b6

6 years agopjsip: restrict function PJSIP_PARSE_URI to parse only SIP/SIPS URIs
Alexei Gradinari [Mon, 25 Mar 2019 23:05:28 +0000 (19:05 -0400)] 
pjsip: restrict function PJSIP_PARSE_URI to parse only SIP/SIPS URIs

The next usage of PJSIP_PARSE_URI will crash asterisk
${PJSIP_PARSE_URI(tel:+1234567890,host)}
or
${PJSIP_PARSE_URI(192.168.1.1:5060,host)}

The function pjsip_parse_uri successfully parses then, but returns
struct pjsip_other_uri *.

This patch restricts parsing only SIP/SIPS URIs.

Change-Id: I16f255c2b86a80a67e9f9604b94b129a381dd25e

6 years agoMerge "chan_sip: Ensure 'qualifygap' isn't negative" into 13
Joshua Colp [Wed, 27 Mar 2019 11:00:03 +0000 (06:00 -0500)] 
Merge "chan_sip: Ensure 'qualifygap' isn't negative" into 13

6 years agoapp_queue: Fix documentation for QUEUE_MEMBER function.
Sean Bright [Tue, 26 Mar 2019 21:55:55 +0000 (17:55 -0400)] 
app_queue: Fix documentation for QUEUE_MEMBER function.

It was a copy/paste of the QUEUE_MEMBER_COUNT function's synopsis.

ASTERISK-20986 #close
Reported by: Olivier Krief

Change-Id: If51ec481feb35824a4e78ab5600b197b819b10be

6 years agopjproject: Add timer patch from pjproject r5934
Sean Bright [Tue, 26 Mar 2019 18:07:25 +0000 (14:07 -0400)] 
pjproject: Add timer patch from pjproject r5934

ASTERISK-28161 #close
Reported by: Ross Beer

Change-Id: I65331d554695753005eaa66c1d5d4807fe9009c8

6 years agomanager: Use separate lock for session event notification.
Joshua Colp [Mon, 25 Mar 2019 11:34:09 +0000 (08:34 -0300)] 
manager: Use separate lock for session event notification.

When notifying a manager session that new events were available
the same lock was used that was also held when doing things within
the session (such as sending events out). If the manager session
blocked for a period of time this would cause a back up of messages
in Stasis and would also block any other sessions from receiving
events.

This change adds a separate lock to the manager session which is
strictly used for notifying it that new events are available.

ASTERISK-28350

Change-Id: Ifbcac007faca9ad0231640f5e82a6ca9228f261b

6 years agoMerge "res/res_ari: Added timestamp as a requirement for all ARI events" into 13
Friendly Automation [Tue, 26 Mar 2019 13:34:08 +0000 (08:34 -0500)] 
Merge "res/res_ari: Added timestamp as a requirement for all ARI events" into 13

6 years agoMerge "res_config_odbc: set empty extended field as a single whitespace" into 13
Friendly Automation [Tue, 26 Mar 2019 13:07:13 +0000 (08:07 -0500)] 
Merge "res_config_odbc: set empty extended field as a single whitespace" into 13

6 years agores/res_ari: Added timestamp as a requirement for all ARI events
sungtae kim [Wed, 6 Mar 2019 22:21:42 +0000 (23:21 +0100)] 
res/res_ari: Added timestamp as a requirement for all ARI events

Changed to requirement to having timestamp for all of ARI events.
The below ARI events were changed to having timestamp.
PlaybackStarted, PlaybackContinuing, PlaybackFinished,
RecordingStarted, RecordingFinished, RecordingFailed,
ApplicationReplaced, ApplicationMoveFailed

ASTERISK-28326

Change-Id: I382c2fef58f5fe107e1074869a6d05310accb41f

6 years agochan_sip: Ensure 'qualifygap' isn't negative
Sean Bright [Mon, 25 Mar 2019 19:31:23 +0000 (15:31 -0400)] 
chan_sip: Ensure 'qualifygap' isn't negative

Passing negative intervals to the scheduler rips a hole in the
space-time continuum.

ASTERISK-25792 #close
Reported by: Paul Sandys

Change-Id: Ie706f21cee05f76ffb6f7d89e9c867930ee7bcd7

6 years agores_config_odbc: set empty extended field as a single whitespace
Alexei Gradinari [Mon, 25 Mar 2019 16:42:27 +0000 (12:42 -0400)] 
res_config_odbc: set empty extended field as a single whitespace

If Realtime @ variable value is NULL or empty or contains only whitespaces
then when we try to retrieve it using PJSIP_ENDPOINT we get WARNING
pjsip_endpoint_function_read: Unknown property @my_var for PJSIP endpoint.
And the variable is missing in the result of CLI pjsip show endpoint.

This patch keeps empty sorcery extended field.

ASTERISK-28341 #close

Change-Id: I221fccc04cbfa2be17ce971f64ae0e74e465eea0

6 years agomain/taskprocessor: Increase max name length of taskprocessors
Matthew Fredrickson [Fri, 22 Mar 2019 19:46:34 +0000 (19:46 +0000)] 
main/taskprocessor: Increase max name length of taskprocessors

Since the new names went in, the maximum taskprocessor name is too
short.  This patch increases the name field to a length to better
handle the new names.

Change-Id: I32f32d6926f25c8ef5a91303fd2988d2c2858877

6 years agoMerge "sorcery.c: Sorcery enhancements for wizard management" into 13
George Joseph [Tue, 19 Mar 2019 15:23:20 +0000 (10:23 -0500)] 
Merge "sorcery.c: Sorcery enhancements for wizard management" into 13

6 years agoMerge "res/res_stasis: Fixed wrong StasisEnd timestamp" into 13
George Joseph [Tue, 19 Mar 2019 14:26:57 +0000 (09:26 -0500)] 
Merge "res/res_stasis: Fixed wrong StasisEnd timestamp" into 13

6 years agosorcery.c: Sorcery enhancements for wizard management
George Joseph [Thu, 14 Mar 2019 16:46:53 +0000 (10:46 -0600)] 
sorcery.c: Sorcery enhancements for wizard management

Added ability to specifiy a wizard is read-only when applying
it to a specific object type.  This allows you to specify
create, update and delete callbacks for the wizard but limit
which object types can use them.

Added the ability to allow an object type to have multiple
wizards of the same type.  This is indicated when a wizard
is added to a specific object type.

Added 3 new sorcery wizard functions:

* ast_sorcery_object_type_insert_wizard which does the same thing
  as the existing ast_sorcery_insert_wizard_mapping function but
  accepts the new read-only and allot-duplicates flags and also
  returns the ast_sorcery_wizard structure used and it's internal
  data structure. This allows immediate use of the wizard's
  callbacks without having to register a "wizard mapped" observer.

* ast_sorcery_object_type_apply_wizard which does the same
  thing as the existing ast_sorcery_apply_wizard_mapping function
  but has the added capabilities of
  ast_sorcery_object_type_insert_wizard.

* ast_sorcery_object_type_remove_wizard which removes a wizard
  matching both its name and its original argument string.

* The original logic in __ast_sorcery_insert_wizard_mapping was moved
  to __ast_sorcery_object_type_insert_wizard and enhanced for the
  new capabilities, then __ast_sorcery_insert_wizard_mapping was
  refactored to just call __ast_sorcery_insert_wizard_mapping.

* Added a unit test to test_sorcery.c to test the read-only
  capability.

Change-Id: I40f35840252e4313d99e11dbd80e270a3aa10605

6 years agoMerge "vector: Add AST_VECTOR_COMPACT() to reclaim wasted space" into 13
Friendly Automation [Mon, 18 Mar 2019 11:26:12 +0000 (06:26 -0500)] 
Merge "vector: Add AST_VECTOR_COMPACT() to reclaim wasted space" into 13

6 years agoMerge "Variable ALTCONF ignored when service is used in Debian" into 13
Friendly Automation [Mon, 18 Mar 2019 10:34:55 +0000 (05:34 -0500)] 
Merge "Variable ALTCONF ignored when service is used in Debian" into 13

6 years agoMerge "app.c: Remove deletion of pool topic on mwi state delete" into 13
George Joseph [Fri, 15 Mar 2019 23:30:29 +0000 (18:30 -0500)] 
Merge "app.c:  Remove deletion of pool topic on mwi state delete" into 13

6 years agores/res_stasis: Fixed wrong StasisEnd timestamp
sungtae kim [Sun, 10 Mar 2019 22:53:36 +0000 (23:53 +0100)] 
res/res_stasis: Fixed wrong StasisEnd timestamp

Because StasisEnd's timestamp created it's own timestamp, it makes
wrong timestamp, compare to other channel event(ChannelDestroyed).
Fixed to getting a timestamp from the Channel's timestamp.

ASTERISK-28333

Change-Id: I5eb8380fc472f1100535a6bc4983c64767026116

6 years agovector: Add AST_VECTOR_COMPACT() to reclaim wasted space
Sean Bright [Thu, 14 Mar 2019 14:55:30 +0000 (10:55 -0400)] 
vector: Add AST_VECTOR_COMPACT() to reclaim wasted space

This might be useful in situations where you are loading an undetermined number
of items into a vector and don't want to keep (potentially) 2x the necessary
memory around indefinitely.

Change-Id: I9711daa0fe01783fc6f04c5710eba84f2676d7b9

6 years agotaskprocessor.c: Fix printf type mismatch
Richard Mudgett [Thu, 14 Mar 2019 16:53:13 +0000 (11:53 -0500)] 
taskprocessor.c: Fix printf type mismatch

A size_t is not always an unsigned long.

* Use the %zu format specifier in the ast_cli() printf format string since
AST_VECTOR_SIZE() returns a size_t value.

Change-Id: Ib102dd36bbe6c2a7a4ce6870ae9110d978dd7e98

6 years agoMerge "AMI/ARI: Bump non-breaking version numbers" into 13
Friendly Automation [Thu, 14 Mar 2019 14:42:24 +0000 (09:42 -0500)] 
Merge "AMI/ARI: Bump non-breaking version numbers" into 13

6 years agoapp.c: Remove deletion of pool topic on mwi state delete
George Joseph [Fri, 8 Mar 2019 15:40:38 +0000 (08:40 -0700)] 
app.c:  Remove deletion of pool topic on mwi state delete

As part of an earlier voicemail refactor, ast_delete_mwi_state_full
was modified to remove the pool topic for a mailbox when the state
was deleted.  This was an attempt to prevent stale topics from
accumulating when app_voicemail was reloaded and a mailbox went
away.  Unfortunately because of the fact that when app_voicemail
reloads, ALL mailboxes are deleted then only current ones recreated,
topics were being removed from the pool that still had subscribers
on them, then recreated as new topics of the same name.  So now
modules like res_pjsip_mwi are listening on a topic that will
never receive any messages because app_voicemail is publishing on
a different topic that happens to have the same name.  The solutiuon
to this is not easy and given that accumulating topics for
deleted mailboxes is less evil that not sending NOTIFYs...

* Removed the call to stasis_topic_pool_delete_topic in
  ast_delete_mwi_state_full.

Also:

* Fixed a topic reference leak in res_pjsip_mwi
  mwi_stasis_subscription_alloc.

* Added some debugging to mwi_stasis_subscription_alloc,
  stasis_topic_create, and topic_dtor.

* Fixed a topic reference leak in an error path in
  internal_stasis_subscribe.

ASTERISK-28306
Reported-by: Jared Hull
Change-Id: Id7da0990b3ac4be4b58491536b35f41291247b27