]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
6 years agoMerge "ARI: Run 'make ari-stubs'" into 16
Joshua Colp [Tue, 16 Apr 2019 12:29:41 +0000 (07:29 -0500)] 
Merge "ARI:  Run 'make ari-stubs'" into 16

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

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 agoMerge "res_ael: Create consistent label names across reloads" into 16
George Joseph [Fri, 12 Apr 2019 19:16:27 +0000 (14:16 -0500)] 
Merge "res_ael: Create consistent label names across reloads" into 16

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

6 years agoMerge "app_voicemail: Cleanup stale lock files on module load" into 16
George Joseph [Fri, 12 Apr 2019 16:10:03 +0000 (11:10 -0500)] 
Merge "app_voicemail: Cleanup stale lock files on module load" into 16

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

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 agoARI: Run 'make ari-stubs'
George Joseph [Fri, 12 Apr 2019 12:33:10 +0000 (06:33 -0600)] 
ARI:  Run 'make ari-stubs'

An earlier contributor apparently forgot to run 'make ari-stubs'
before committing after making ARI model changes.

Change-Id: I7813e5638e2821d11f4b968dc2aeab4f725190a6

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: 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 16
Friendly Automation [Thu, 11 Apr 2019 19:57:27 +0000 (14:57 -0500)] 
Merge "res_pjsip: Fix transport_states ref leak" into 16

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 16
George Joseph [Wed, 10 Apr 2019 17:43:04 +0000 (12:43 -0500)] 
Merge "chan_pjsip: DTMF Mode auto_info fallback lead to both inband and info" into 16

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 16
Joshua Colp [Wed, 10 Apr 2019 11:41:02 +0000 (06:41 -0500)] 
Merge "config.c: Fix a crash in extconfig parsing" into 16

6 years agoMerge "CI: Add --no-dev-mode option to buildAsterisk.sh" into 16
George Joseph [Mon, 8 Apr 2019 16:09:13 +0000 (11:09 -0500)] 
Merge "CI:  Add --no-dev-mode option to buildAsterisk.sh" into 16

6 years agoMerge "stasis.c: Added topic_all container" into 16
George Joseph [Mon, 8 Apr 2019 15:53:08 +0000 (10:53 -0500)] 
Merge "stasis.c: Added topic_all container" into 16

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

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

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 "bridge_softmix: use a float type to store the internal REMB bitrate" into 16
Joshua Colp [Thu, 4 Apr 2019 13:57:12 +0000 (08:57 -0500)] 
Merge "bridge_softmix: use a float type to store the internal REMB bitrate" into 16

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

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 agobridge_softmix: use a float type to store the internal REMB bitrate
Kevin Harwell [Wed, 27 Mar 2019 17:59:30 +0000 (12:59 -0500)] 
bridge_softmix: use a float type to store the internal REMB bitrate

REMB's exponent is 6-bits (0..63) and has a mantissa of 18-bits. We were using
an unsigned integer to represent the bitrate. However, that type is not large
enough to hold all potential bitrate values. If the bitrate is large enough
bits were being shifted off the "front" of the mantissa, which caused the
wrong value to be sent to the browser.

This patch makes it so it now uses a float type to hold the bitrate. Using a
float allows for all bitrate values to be correctly represented.

ASTERISK-28255

Change-Id: Ice00fdd16693b16b41230664be5d9f0e465b239e

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

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 agoapp_queue: Fix a few member pause bugs
Sean Bright [Fri, 29 Mar 2019 13:07:29 +0000 (09:07 -0400)] 
app_queue: Fix a few member pause bugs

* Always set member->lastpause when setting member->paused

* Fixed typo (using member->lastcall instead of member->lastpause) in
  'queue show' output.

* Use a constant 'now' in 'queue show' output for a better point-in-time
  view of time based stats.

ASTERISK-27541 #close
Reported by: César Benjamín García Martínez

Change-Id: Ib41ced90cfdb66f9bb1e7b263d0f6fc1ac6e18fa

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 "pjsip: restrict function PJSIP_PARSE_URI to parse only SIP/SIPS URIs" into 16
George Joseph [Thu, 28 Mar 2019 13:04:31 +0000 (08:04 -0500)] 
Merge "pjsip: restrict function PJSIP_PARSE_URI to parse only SIP/SIPS URIs" into 16

6 years agostasis.c: Added topic_all container
sungtae kim [Sat, 26 Jan 2019 21:51:48 +0000 (22:51 +0100)] 
stasis.c: Added topic_all container

Added topic_all container for centralizing the topic. This makes more
easier to managing the topics.

Added cli commands.
stasis show topics : It shows all registered topics.
stasis show topic <name> : It shows speicifed topic's detail info.

ASTERISK-28264

Change-Id: Ie86d125d2966f93de74ee00f47ae6fbc8c081c5f

6 years agoMerge "manager: Use separate lock for session event notification." into 16
Friendly Automation [Wed, 27 Mar 2019 22:42:56 +0000 (17:42 -0500)] 
Merge "manager: Use separate lock for session event notification." into 16

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 "build: Add staging directories for future changes." into 16
George Joseph [Wed, 27 Mar 2019 19:25:21 +0000 (14:25 -0500)] 
Merge "build: Add staging directories for future changes." into 16

6 years agoMerge "app_queue: Fix documentation for QUEUE_MEMBER function." into 16
Friendly Automation [Wed, 27 Mar 2019 18:32:59 +0000 (13:32 -0500)] 
Merge "app_queue: Fix documentation for QUEUE_MEMBER function." into 16

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 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 agoMerge "chan_sip: Ensure 'qualifygap' isn't negative" into 16
Friendly Automation [Wed, 27 Mar 2019 11:02:12 +0000 (06:02 -0500)] 
Merge "chan_sip: Ensure 'qualifygap' isn't negative" into 16

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 agoMerge "res/res_ari: Added timestamp as a requirement for all ARI events" into 16
Friendly Automation [Tue, 26 Mar 2019 13:52:45 +0000 (08:52 -0500)] 
Merge "res/res_ari: Added timestamp as a requirement for all ARI events" into 16

6 years agoMerge "res_config_odbc: set empty extended field as a single whitespace" into 16
George Joseph [Tue, 26 Mar 2019 13:48:12 +0000 (08:48 -0500)] 
Merge "res_config_odbc: set empty extended field as a single whitespace" into 16

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 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 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 16
Friendly Automation [Tue, 19 Mar 2019 14:51:29 +0000 (09:51 -0500)] 
Merge "sorcery.c: Sorcery enhancements for wizard management" into 16

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

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 16
Friendly Automation [Mon, 18 Mar 2019 11:29:10 +0000 (06:29 -0500)] 
Merge "vector: Add AST_VECTOR_COMPACT() to reclaim wasted space" into 16

6 years agoMerge "Variable ALTCONF ignored when service is used in Debian" into 16
Joshua Colp [Mon, 18 Mar 2019 10:33:17 +0000 (05:33 -0500)] 
Merge "Variable ALTCONF ignored when service is used in Debian" into 16

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

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 16
Joshua C. Colp [Thu, 14 Mar 2019 14:48:38 +0000 (09:48 -0500)] 
Merge "AMI/ARI: Bump non-breaking version numbers" into 16

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

6 years agoMerge "res_musiconhold: Remove redundant option parsing" into 16
Joshua C. Colp [Thu, 14 Mar 2019 14:20:19 +0000 (09:20 -0500)] 
Merge "res_musiconhold: Remove redundant option parsing" into 16

6 years agoMerge "stasis: Improve topic/subscription names and statistics." into 16
Joshua C. Colp [Thu, 14 Mar 2019 14:19:37 +0000 (09:19 -0500)] 
Merge "stasis: Improve topic/subscription names and statistics." into 16

6 years agoVariable ALTCONF ignored when service is used in Debian
cirillor [Sat, 9 Mar 2019 14:39:26 +0000 (11:39 -0300)] 
Variable ALTCONF ignored when service is used in Debian

When variable ALTCONF is defined, the command start prints the message
"Unable to open specified master config file '"/etc/asterisk/asteris..."
and use default configurations.

ASTERISK-28332

Change-Id: I7595e582a0ee2c1051ea35435e247e27906957ef

6 years agoMerge "stasis: Allow empty application arguments to move." into 16
Joshua C. Colp [Wed, 13 Mar 2019 16:32:09 +0000 (11:32 -0500)] 
Merge "stasis: Allow empty application arguments to move." into 16

6 years agoMerge "app_queue: fix ring_entry to access nativeformats with a channel lock" into 16
Kevin Harwell [Wed, 13 Mar 2019 16:17:40 +0000 (11:17 -0500)] 
Merge "app_queue: fix ring_entry to access nativeformats with a channel lock" into 16

6 years agoMerge "chan_dahdi: Add logical group at DAHDIChannel event and CHANNEL function"...
Kevin Harwell [Wed, 13 Mar 2019 15:55:11 +0000 (10:55 -0500)] 
Merge "chan_dahdi: Add logical group at DAHDIChannel event and CHANNEL function" into 16

6 years agostasis: Allow empty application arguments to move.
Joshua Colp [Wed, 13 Mar 2019 11:05:57 +0000 (08:05 -0300)] 
stasis: Allow empty application arguments to move.

Change-Id: I1e4d37415f3034abe36496dc30209c2303e6af5c

6 years agoMerge "partial-inlining: disable partial-inlining if gcc>=8.2.1" into 16
Joshua C. Colp [Wed, 13 Mar 2019 11:29:48 +0000 (06:29 -0500)] 
Merge "partial-inlining: disable partial-inlining if gcc>=8.2.1" into 16

6 years agoAMI/ARI: Bump non-breaking version numbers
Kevin Harwell [Tue, 12 Mar 2019 20:54:23 +0000 (15:54 -0500)] 
AMI/ARI: Bump non-breaking version numbers

Increasing the non-breaking AMI and ARI version numbers due to changes and
additions in those API's. Note, some changes may be forthcoming (will be added
between now and the next release of Asterisk), thus not listed here. As well
a few changes listed below may have been released in a previous release of
Asterisk, but the API version numbers were not increased at that time, so
including here.

AMI:

 * app_queue: set the wrapuptime from AddQueueMember application - e806990
 * res_pjsip: option for ContactStatus event updates - 7f22c9f

ARI:

 * bridging: Add creation timestamps - 0d70120
 * res_stasis: Add ability to switch applications - 50a4b61
 * ARI event type filtering - 1c5def4
 * Added ARI resource /ari/asterisk/ping - 19fc99a

ASTERISK-28314

Change-Id: Iebc813840f8230afa6b20579772e15549064b787

6 years agoMakefile.moddir_rules: Pass PJPROJECT_BUNDLED to download_externals
George Joseph [Tue, 12 Mar 2019 18:25:33 +0000 (12:25 -0600)] 
Makefile.moddir_rules: Pass PJPROJECT_BUNDLED to download_externals

The download_externals script wasn't getting the PJPROJECT_BUNDLED
environment variable passed down to it so it wasn't downloading
the appropriate variant of res_digium_phone.  This could cause
crashes in the DPMA.

Change-Id: I5daa9369c7af1fd556d892e89a85f279a2533425

6 years agopartial-inlining: disable partial-inlining if gcc>=8.2.1
Chris-Savinovich [Thu, 7 Mar 2019 19:48:04 +0000 (13:48 -0600)] 
partial-inlining: disable partial-inlining if gcc>=8.2.1

Apply flag -fno-partial-inlining on default optimization if and only if
gcc version >= 8.2.1 (this is the current ver on Fedora and Ubuntu).
This is done to avoid a bug that causes arithmetic calculations to fail
if the following conditions are met:
1. TEST_FRAMEWORK on
2. DONT_OPTIMIZE off
3. Fedora and Ubuntu
4. GCC 8.2.1
5. There must exist a certain combination of multithreading.
6. Optimization level -O2 and -O3
7. Flag -fpartial-inline activated (default when optimization level>=2)
The following link points to a similar gcc bug reported in 2015. This leads me
to believe the bug has regressed. Note I am not able to replicate this bug
in an environment other than Asterisk + Test Framework + Test_cel because the
multithreading combination that causes it seems to be unique. Therefore I
am temporarily abandoning any thoughts of reporting the new occurrence of this
bug to gcc.gnu.org.  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65307

Change-Id: Ibd1afe60e0a38b88e85fdcd9b051004601c2f102

6 years agoMerge "res/res_rtp_asterisk.c: Fixing possible divide by zero" into 16
Friendly Automation [Mon, 11 Mar 2019 15:06:56 +0000 (10:06 -0500)] 
Merge "res/res_rtp_asterisk.c: Fixing possible divide by zero" into 16

6 years agoMerge "jansson: json_pack with new format to verify required runtime version." into 16
George Joseph [Mon, 11 Mar 2019 14:49:30 +0000 (09:49 -0500)] 
Merge "jansson: json_pack with new format to verify required runtime version." into 16

6 years agostasis: Improve topic/subscription names and statistics.
Joshua Colp [Thu, 7 Mar 2019 12:28:31 +0000 (08:28 -0400)] 
stasis: Improve topic/subscription names and statistics.

Topic names now follow: <subsystem>:<functionality>[/<object>]

This ensures that they are all unique, and also provides better
insight in to what each topic is for.

Subscriber ids now also use the main topic name they are
subscribed to and an incrementing integer as their identifier to
make it easier to understand what the subscription is primarily
responsible for.

Both the CLI commands for listing topic and subscription statistics
now sort to make it a bit easier to see what is going on.

Subscriptions will now show all topics that they are receiving messages
from, not just the main topic they were subscribed to.

ASTERISK-28335

Change-Id: I484e971a38c3640f2bd156282e532eed84bf220d

6 years agoMerge "app_meetme: Don't mute joining admins if conference is muted" into 16
Friendly Automation [Mon, 11 Mar 2019 14:14:48 +0000 (09:14 -0500)] 
Merge "app_meetme: Don't mute joining admins if conference is muted" into 16

6 years agores/res_rtp_asterisk.c: Fixing possible divide by zero
sungtae kim [Sun, 3 Mar 2019 15:20:24 +0000 (16:20 +0100)] 
res/res_rtp_asterisk.c: Fixing possible divide by zero

Currently, when the Asterisk calculates rtp statistics, it uses
sample_count as a unsigned integer parameter. This would be fine
for most of cases, but in case of large enough number of sample_count,
this might be causing the divide by zero error.

ASTERISK-28321

Change-Id: If7e0629abaceddd2166eb012456c53033ea26249

6 years agochan_dahdi: Add logical group at DAHDIChannel event and CHANNEL function
cirillor [Tue, 5 Mar 2019 14:15:00 +0000 (11:15 -0300)] 
chan_dahdi: Add logical group at DAHDIChannel event and CHANNEL function

Add logical group at DAHDIChannel event
and create "dahdi_group" at CHANNEL function.

ASTERISK-28317

Change-Id: Ic1f834cd53982a9707a9748395ee746d6575086a

6 years agores_musiconhold: Remove redundant option parsing
Sean Bright [Fri, 8 Mar 2019 20:12:24 +0000 (15:12 -0500)] 
res_musiconhold: Remove redundant option parsing

Change-Id: I481fabd8eaf2e4e7ffb5c8285b294742826e7d12

6 years agochan_pjsip: add a flag to ignore 183 responses if no SDP present
Torrey Searle [Mon, 4 Mar 2019 07:50:18 +0000 (08:50 +0100)] 
chan_pjsip: add a flag to ignore 183 responses if no SDP present

chan_sip will always ignore 183 responses that do not contain SDP
however, chan_pjsip will currently always translate it into a
183 with SDP.  This new flag allows chan_pjsip to have the same
behavior as chan_sip.

ASTERISK-28322 #close

Change-Id: If81cfaa17c11b6ac703e3d71696f259d86c6be4a

6 years agojansson: json_pack with new format to verify required runtime version.
Corey Farrell [Thu, 7 Mar 2019 23:17:49 +0000 (18:17 -0500)] 
jansson: json_pack with new format to verify required runtime version.

Add a json_pack at startup that will fail if runtime links against a
library older than jansson-2.11.

Change-Id: I101aebafe0f9407650206f7c552dad3d69377b5a

6 years agoMerge "samples: Fix comment typo in pjsip.conf.sample" into 16
George Joseph [Fri, 8 Mar 2019 18:44:37 +0000 (12:44 -0600)] 
Merge "samples: Fix comment typo in pjsip.conf.sample" into 16

6 years agoMerge "Replace calls to strtok() with strtok_r()" into 16
Friendly Automation [Fri, 8 Mar 2019 18:33:23 +0000 (12:33 -0600)] 
Merge "Replace calls to strtok() with strtok_r()" into 16

6 years agoMerge "res_stasis: Add ability to switch applications." into 16
Friendly Automation [Fri, 8 Mar 2019 17:40:49 +0000 (11:40 -0600)] 
Merge "res_stasis: Add ability to switch applications." into 16

6 years agoMerge "bridging: Add creation timestamps" into 16
Friendly Automation [Fri, 8 Mar 2019 17:08:09 +0000 (11:08 -0600)] 
Merge "bridging: Add creation timestamps" into 16

6 years agoapp_meetme: Don't mute joining admins if conference is muted
Sean Bright [Thu, 7 Mar 2019 23:15:05 +0000 (18:15 -0500)] 
app_meetme: Don't mute joining admins if conference is muted

ASTERISK-28328 #close

Change-Id: I4f6069fb34923b7521520c2a205a1e56227e592b

6 years agoReplace calls to strtok() with strtok_r()
Sean Bright [Wed, 6 Mar 2019 21:04:57 +0000 (16:04 -0500)] 
Replace calls to strtok() with strtok_r()

strtok() uses a static buffer, making it not thread safe.

Change-Id: Icce265153e1e65adafa8849334438ab6d190e541

6 years agosamples: Fix comment typo in pjsip.conf.sample
Sean Bright [Thu, 7 Mar 2019 22:05:42 +0000 (17:05 -0500)] 
samples: Fix comment typo in pjsip.conf.sample

Change-Id: I84a45c3d9fd26ca61aca99927eec83b57f1de857

6 years agores_stasis: Add ability to switch applications.
Ben Ford [Thu, 7 Mar 2019 13:41:14 +0000 (07:41 -0600)] 
res_stasis: Add ability to switch applications.

Added the ability to move between Stasis applications within Stasis.
This can be done by calling 'move' in an application, providing (at
minimum) the channel's id and the application to switch to. If the
application is not registered or active, nothing will happen and the
channel will remain in the current application, and an event will be
triggered to let the application know that the move failed. The event
name is "ApplicationMoveFailed", and provides the "destination" that the
channel was attempting to move to, as well as the usual channel
information. Optionally, a list of arguments can be passed to the
function call for the receiving application. A full example of a 'move'
call would look like this:

client.channels.move(channelId, app, appArgs)

The control object used to control the channel in Stasis can now switch
which application it belongs to, rather than belonging to one Stasis
application for its lifetime. This allows us to use the same control
object instead of having to tear down the current one and create
another.

ASTERISK-28267 #close

Change-Id: I43d12b10045a98a8d42541889b85695be26f288a

6 years agoapp_queue: fix ring_entry to access nativeformats with a channel lock
Dömsödi Gergely [Wed, 6 Mar 2019 13:20:09 +0000 (14:20 +0100)] 
app_queue: fix ring_entry to access nativeformats with a channel lock

Fixes an intermittent segmentation fault which occured when accessing
nativeformats of a channel which entered into a queue.

ASTERISK-27964
Reported by: Francisco Seratti

Change-Id: Ic87fa7a363f3b487c24ce07032f4b2201c22db9e

6 years agoMerge "sip_to_pjsip: Make multiline comment parsing consistent with Asterisk" into 16
Joshua Colp [Tue, 5 Mar 2019 15:20:17 +0000 (09:20 -0600)] 
Merge "sip_to_pjsip: Make multiline comment parsing consistent with Asterisk" into 16

6 years agoMerge "app_queue: Handle empty 'interface' in queue member config" into 16
Joshua Colp [Tue, 5 Mar 2019 14:55:26 +0000 (08:55 -0600)] 
Merge "app_queue: Handle empty 'interface' in queue member config" into 16

6 years agoMerge "res_pjsip_registrar: blocked threads on reliable transport shutdown take 3...
Joshua Colp [Tue, 5 Mar 2019 13:15:40 +0000 (07:15 -0600)] 
Merge "res_pjsip_registrar: blocked threads on reliable transport shutdown take 3" into 16

6 years agoMerge "basic-pbx: Update configuration to work with current modules." into 16
Joshua Colp [Tue, 5 Mar 2019 13:05:06 +0000 (07:05 -0600)] 
Merge "basic-pbx: Update configuration to work with current modules." into 16

6 years agoapp_queue: Handle empty 'interface' in queue member config
Sean Bright [Mon, 4 Mar 2019 22:05:30 +0000 (17:05 -0500)] 
app_queue: Handle empty 'interface' in queue member config

While the 'interface' column is a NOT NULL, the empty string is still
allowed. res_config_odbc treats the empty string as a NULL and we crash
when trying to dereference.

Also cleaned up an adjacent error message for consistency.

ASTERISK-28168 #close

Change-Id: I55e012b540fbcda99bb40bede3099b7ae5db8202

6 years agosip_to_pjsip: Make multiline comment parsing consistent with Asterisk
Sean Bright [Mon, 4 Mar 2019 18:36:01 +0000 (13:36 -0500)] 
sip_to_pjsip: Make multiline comment parsing consistent with Asterisk

In Asterisk configuration, a multiline comment starts with ;-- as long as it is
not followed by another dash (i.e. ;--- is not a multiline comment).

ASTERISK-28323 #close

Change-Id: I32dc38e0fac01d3c0805d27d35d2365a7c37ca72

6 years agoMerge "res_pjsip_diversion: Use static pj_str_t for Diversion header names" into 16
Joshua Colp [Mon, 4 Mar 2019 12:15:47 +0000 (06:15 -0600)] 
Merge "res_pjsip_diversion: Use static pj_str_t for Diversion header names" into 16

6 years agobasic-pbx: Update configuration to work with current modules.
Joshua Colp [Thu, 28 Feb 2019 12:24:59 +0000 (12:24 +0000)] 
basic-pbx: Update configuration to work with current modules.

The res_pjsip_websocket module requires the res_http_websocket
module so ensure it is loaded. As well the res_pjsip_notify
module needs the pjsip_notify.conf configuration file so
ensure it is installed.

ASTERISK-28272

Change-Id: I261659b84e7a6ac4cb49990d9badb4b2ad01bacd

6 years agobridging: Add creation timestamps
sungtae kim [Fri, 8 Feb 2019 21:32:18 +0000 (22:32 +0100)] 
bridging: Add creation timestamps

This small feature will help to checking the bridge's status to
figure out which bridge is in old/zombie or not. Also added
detail items for the 'bridge show *' cli to provide more detail
info. And added creation item to the ARI as well.

ASTERISK-28279

Change-Id: I460238c488eca4d216b9176576211cb03286e040