Commit Graph

29810 Commits

Author SHA1 Message Date
Sergej Kasumovic
4f4936fd72 res_stasis_device_state: Unsubscribe should remove old subscriptions
Case scenario with Applications ARI:

* Once you subscribe to deviceState with Applications REST API, it will be
added into subscription pool.

* When you unsubscribe it will remove from the device_state_subscription
hash table but not from the subscription pool.

* When you subscribe again, it will add it to pool again.

* Now you will have two subscriptions and you will receive same event
twice.

This fix should now remove deviceState subscription from pool and it
should fix unsubscribe on deviceState.

ASTERISK-27130 #close

Change-Id: I718b70d770a086e39b4ddba4f69a3c616d4476c4
2017-07-25 07:58:21 -05:00
George Joseph
63bcbb2a56 Merge "say.c: Fix file locations for second, seconds, minute, minutes files" 2017-07-25 07:45:00 -05:00
Joshua Colp
a6eb9ee7d2 core: Add VP9 passthrough support.
This change adds VP9 as a known codec and creates a cached
"vp9" media format for use.

Change-Id: I025a93ed05cf96153d66f36db1839109cc24c5cc
2017-07-24 18:30:59 +00:00
Jenkins2
8b8d5e4110 Merge "format.h: Fix a few minor errors in comments." 2017-07-24 10:54:30 -05:00
Joshua Colp
40e1b54bdb Merge "Update make_ari_stubs in master to make the version 16" 2017-07-24 07:41:43 -05:00
Jenkins2
c54e2efc0f Merge "Restore the incorrectly deleted spandspflow2pcap.log" 2017-07-24 07:05:59 -05:00
Richard Mudgett
922930753c app_voicemail.c: Allow mailbox entry on authentication retry prompt.
The following testsuite voicemail tests were failing to re-enter the
mailbox after the first login attempt.

tests/apps/voicemail/authenticate_invalid_mailbox
tests/apps/voicemail/authenticate_invalid_password

The tests were noting the start of the vm-incorrect-mailbox prompt and
immediately sending the mailbox for the next login attempt.  Since the
invalid message playback had to complete before the digits were
recognized, the test passed for the wrong reason and added approximately
20 seconds to the test times.

* Allow the vm-incorrect-mailbox prompt to get interrupted by the mailbox
digits like the initial vm-login prompt so the tests are able to enter the
intended mailbox.

Change-Id: I1dc53fe917bfe03a4587b2c4cd24c94696a69df8
2017-07-21 16:17:13 -05:00
Matthew Fredrickson
2697e45157 format.h: Fix a few minor errors in comments.
A few minor problems were found in comments in format.h.  This patch fixes them.

Change-Id: I07f0bdb47b93359b361c4c3d8ecc87cd3199dd94
2017-07-21 15:57:46 -05:00
Rusty Newton
19b080b547 say.c: Fix file locations for second, seconds, minute, minutes files
The seconds and minutes files have always existed in the base language
directory of the Core package. So say.c has always been calling the wrong
location (under digits/) for those two files and in the case of second and
minute they didn't exist in the Core packages at all.

The 1.6 sounds release moves the second and minute files into Core from
Extra for the languages that already had them. A future release will include
the second and minute files for languages that didn't already have them.

This patch just changes all the target locations for second, seconds,
minute, and minutes that were under the digits subdir to be under the root of
sounds instead. Which is where the sounds will be for some languages after 1.6
sounds and for all languages after a future release.

ASTERISK-25810 #close

Change-Id: I05d9d4bee6a7237030530a46e7eb3df15f13f702
Reported-by: Nicolas Riendeau
2017-07-21 14:51:54 -05:00
Rusty Newton
a2f6028a51 Sounds: Update Makefile for Extra sounds 1.5.1 release
Incrementing version for the Extra sounds release. 1.5.1 Extra sounds
removes two prompts that were moved into the Core packages in the 1.6 Core
sounds release.

ASTERISK-27142 #close

Change-Id: I82f017812b0ea9599e19dd4635afd55611f13ee7
2017-07-21 14:29:26 -05:00
George Joseph
063c9a935f Update make_ari_stubs in master to make the version 16
Ready for next major version

Change-Id: If9dc99b3b78768529e69a297d8f87e23582ca6d0
2017-07-21 10:41:20 -06:00
George Joseph
ba52a36ff2 Restore the incorrectly deleted spandspflow2pcap.log
Change-Id: Iafe78cf0fb1e7064223d4dea279eeb776c8fa8e5
2017-07-21 10:24:24 -06:00
George Joseph
25459ac083 Merge "corosync: Fix corosync library name in configure.ac" 2017-07-21 06:54:00 -05:00
Jenkins2
96b69f6a47 Merge "Update AMI and ARI versions for master/15 and update UPDATE.txt" 2017-07-20 12:17:48 -05:00
George Joseph
2720e2b2b2 Merge "pjsip: Increase maximum packet size." 2017-07-20 11:08:44 -05:00
George Joseph
3e8d628c0e Update AMI and ARI versions for master/15 and update UPDATE.txt
AMI goes from 3.2.0 to 4.0.0
ARI goes from 2.0.0 to 3.0.0

Copied UPGRADE.txt -> UPGRADE-15.txt
Created new UPGRADE.txt
Removed a log file that was accidentally checked in a while ago

Change-Id: I1c794f910038459b13e16f9c3a12c44e56f142f7
2017-07-20 10:05:48 -06:00
Sean Bright
25c9464325 corosync: Fix corosync library name in configure.ac
Also add new corosync packages to install_prereq.

Reported by Travis Ryan in #asterisk-dev

Change-Id: Ib861c95ba630fed62dc54e56784ad8446ed9d2db
2017-07-20 10:40:28 -05:00
Joshua Colp
f43fc91911 Merge "core: Add digit filtering to ast_waitfordigit_full" 2017-07-19 13:09:56 -05:00
George Joseph
66b8c454d1 Merge "app_playback.c: Use the timezonename parameter" 2017-07-19 12:11:09 -05:00
Jenkins2
9b07d3ba18 Merge "bridge_softmix: Use removed stream spots when renegotiating." 2017-07-19 10:42:51 -05:00
Jenkins2
62c381afdb Merge "core: Add PARSE_TIMELEN support to ast_parse_arg and ACO." 2017-07-19 09:25:59 -05:00
Joshua Colp
680c491a62 bridge_softmix / res_rtp_asterisk: Fix packet loss and renegotiation issues.
This change does a few things to improve packet loss and renegotiation:

1. On outgoing RTP streams we will now properly reflect out of order
packets and packet loss in the sequence number. This allows the
remote jitterbuffer to better reorder things.

2. Video updates can now be discarded for a period of time
after one has been sent to prevent flooding of clients.

3. For declined and removed streams we will now release any
media session resources associated with them. This was not
previously done and caused an issue where old state was being
used for a new stream.

4. RTP bundling was not actually removing bundled RTP instances
from the parent. This has been resolved by removing based on
the RTP instance itself and not the SSRC.

5. The code did not properly handle explicitly unbundling an
RTP instance from its parent. This now works as expected.

ASTERISK-27143

Change-Id: Ibd91362f0e4990b6129638e712bc8adf0899fd45
2017-07-19 13:23:26 +00:00
Benjamin Keith Ford
e7d9e42616 pjsip: Increase maximum packet size.
The maximum packet size for PJSIP has been increased to handle the
multiple streams being added for WebRTC.

Change-Id: I9ea1e8d02668c544acadcb1c6200e1cc1bd588b3
2017-07-18 15:39:24 -05:00
George Joseph
47084ad09e Merge "app_queue: Add change priority of call" 2017-07-18 09:37:36 -05:00
Jenkins2
fb3c7926b7 Merge "bridge_softmix: Don't reorder streams on participant leaving." 2017-07-18 08:13:15 -05:00
Jenkins2
594c7a50af Merge "bridge/core_unreal: Fix SFU bugs with forwarding frames." 2017-07-17 17:59:32 -05:00
Jenkins2
647f539e15 Merge "res_pjsip: Add "webrtc" configuration option" 2017-07-17 15:16:30 -05:00
Jenkins2
29af7d5558 Merge "res_rtp_asterisk: Use RTP component for ICE if RTCP-MUX is in use." 2017-07-17 14:54:22 -05:00
Joshua Colp
bcd3f65174 bridge_softmix: Don't reorder streams on participant leaving.
When a participant leaves a bridge while operating in SFU mode
their respective stream on every other participant needs to be
removed. Leaving the stream out of the new topology results in
every stream after it being moved and reordered. This causes
problems with clients. Instead simply mark the stream as removed
which leaves it in place in the SDP and doesn't reorder or touch
any other streams.

ASTERISK-27136

Change-Id: I4b3f840adcdf69b83842b0d8a737665ba0ef9cb1
2017-07-17 14:42:10 +00:00
Jenkins2
785beacda7 Merge "app_confbridge: Make sure name recordings are always removed from the filesystem" 2017-07-17 09:35:08 -05:00
George Joseph
9626377c1c Merge "chan_iax2: On reload make sure to check for existing MWI subscription" 2017-07-17 09:03:14 -05:00
Jenkins2
e34dfca8be Merge "res/res_stasis_snoop: generate silence when audiohook returns null" 2017-07-17 08:25:29 -05:00
Joshua Colp
f48695ce5b bridge_softmix: Use removed stream spots when renegotiating.
Streams are never truly removed in SDP, they still occupy
a location within the SDP. This location can be reused by
another stream if it so chooses.

This change takes advantage of this such that if a new stream
is needing to be added for a new participant any removed streams
are instead replaced first. This reduces the size of the SDP
and the number of streams.

ASTERISK-27134

Change-Id: I95cdcfd55cf47e02ea52abb5d94008db3fb68b1d
2017-07-16 17:31:35 +00:00
Joshua Colp
942ee54b53 res_rtp_asterisk: Use RTP component for ICE if RTCP-MUX is in use.
This change makes it so that if an RTCP packet is being sent
the RTP ICE component is used for sending if RTCP-MUX is in use.

ASTERISK-27133

Change-Id: I6200f611ede709602ee9b89501720c29545ed68b
2017-07-16 17:26:00 +00:00
Jenkins2
3fd1d520f7 Merge "Sounds: Update for core sounds 1.6 release" 2017-07-14 10:56:17 -05:00
Sergej Kasumovic
26f149ab0a app_confbridge: Make sure name recordings are always removed from the filesystem
This commit fixes two possible scenarios:

* When recording name and if during recording you hangup, file is never
removed. This is due to the fact file location is nulled.
* When recording name and if you hangup during thank-you prompt, file
is never removed.

ASTERISK-27123 #close

Change-Id: I39b7271408b4b54ce880c5111a886aa8f28c2625
2017-07-14 07:50:13 -05:00
George Joseph
a20703fd1b Merge "res/res_pjsip_t38 ensure t38 requests get rejected quickly" 2017-07-14 07:44:20 -05:00
Sergej Kasumovic
d3f5b265c7 chan_iax2: On reload make sure to check for existing MWI subscription
On every reload of chan_iax2 module, MWI subscription was added, which
results in additional taskprocessors being accumulated over time.

This commit fixes it by making sure we check for existing subscription
first.

This was verified with 'core show taskprocessors' CLI command.

ASTERISK-27122 #close

Change-Id: Ie2ef528fd5ca01b933eeb88188cc10967899cfb9
2017-07-14 01:22:31 -05:00
Kevin Harwell
7da6ddda30 res_pjsip: Add "webrtc" configuration option
This patch creates a new configuration option called "webrtc". When enabled it
defaults and enables the following options that are needed in order for webrtc
to work in Asterisk:

  rtcp-mux, use_avpf, ice_support, and use_received_transport=enabled
  media_encryption=dtls
  dtls_verify=fingerprint
  dtls_setup=actpass

When "webrtc" is enabled, this patch also parses the "msid" media level
attribute from an SDP. It will also appropriately add it onto the outgoing
session when applicable.

Lastly, when "webrtc" is enabled h264 RTCP FIR feedback frames are now sent.

ASTERISK-27119 #close

Change-Id: I5ec02e07c5d5b9ad86a34fdf31bf2f9da9aac6fd
2017-07-13 18:19:35 -05:00
Rusty Newton
3fbb4a0a08 Sounds: Update for core sounds 1.6 release
Added necessary lines to make the en_NZ language set selectable and to get
core sounds 1.6 pulled down.

ASTERISK-26807 #close
ASTERISK-25816 #close
ASTERISK-26274 #close

Change-Id: I84e4dd4696568cc1ba318d12ac4b075461d6eed4
2017-07-13 15:51:08 -05:00
Jenkins2
0f45c979a3 Merge "res_rtp_asterisk / res_pjsip: Add support for BUNDLE." 2017-07-13 14:40:11 -05:00
Corey Farrell
78a50b0343 core: Add PARSE_TIMELEN support to ast_parse_arg and ACO.
This adds support for parsing timelen values from config files.  This
includes support for all flags which apply to PARSE_INT32.  Support for
this parser is added to ACO via the OPT_TIMELEN_T option type.

Fixes an issue where extra characters provided to ast_app_parse_timelen
were ignored, they now cause an error.

Testing is included.

ASTERISK-27117 #close

Change-Id: I6b333feca7e3f83b4ef5bf2636fc0fd613742554
2017-07-13 11:44:14 -04:00
Joshua Colp
065c3005ad res_rtp_asterisk / res_pjsip: Add support for BUNDLE.
BUNDLE is a specification used in WebRTC to allow multiple
streams to use the same underlying transport. This reduces
the number of ICE and DTLS negotiations that has to occur
to 1 normally.

This change implements this by adding support for it to
the RTP SDP module in PJSIP. BUNDLE can be turned on using
the "bundle" option and on an offer we will offer to
bundle streams together. On an answer we will accept any
bundle groups provided. Once accepted each stream is bundled
to another RTP instance for transport.

For the res_rtp_asterisk changes the ability to bundle
an RTP instance to another based on the SSRC received
from the remote side has been added. For outgoing traffic
if an RTP instance is bundled to another we will use the
other RTP instance for any transport related things. For
incoming traffic received from the transport instance we
look up the correct instance based on the SSRC and use it
for any non-transport related data.

ASTERISK-27118

Change-Id: I96c0920b9f9aca7382256484765a239017973c11
2017-07-13 14:47:50 +00:00
Torrey Searle
8b535a406b res/res_stasis_snoop: generate silence when audiohook returns null
Currently when rtp is paused, no packets are written to the
recorded audio file, causing the silence to be skipped and recording
not properly time aligned.  The read handler as been adapted to
return a silence frame of the correct size.

ASTERISK-27128 #close

Change-Id: I2d7f60650457860b9c70907b14426756b058a844
2017-07-13 09:46:53 -05:00
Torrey Searle
d42a9cc9dc res/res_pjsip_t38 ensure t38 requests get rejected quickly
arm the t38 webhook always, so we can correctly reject a
T38 negotiation request when t38 is disabled on a channel

Change-Id: Ib1ffe35aee145d4e0fe61dd012580be11aae079d
2017-07-13 15:02:20 +02:00
Corey Farrell
6b138046e7 core: Add digit filtering to ast_waitfordigit_full
This adds a parameter to ast_waitfordigit_full which can be used to only
stop waiting when certain expected digits are received.  Any unexpected
DTMF digits are simply ignored.

This also creates a new dialplan application WaitDigit.

ASTERISK-27129 #close

Change-Id: Id233935ea3d13e71c75a0861834c5936c3700ef9
2017-07-12 19:08:23 -04:00
Holger Hans Peter Freyther
b54eb167b4 app_playback.c: Use the timezonename parameter
In say_date_generic the timezonename parameter is passed but never
used. Fix it by passing it to the ast_localtime function.

ASTERISK-27124

Change-Id: I63106b8db10426d417d7275f22554a616e92fae4
2017-07-12 23:22:56 +02:00
Sean Bright
e83b9d141a basic-pbx: Remove res_pjsip_multihomed from sample config
ASTERISK-27127 #close
Reported by: HZMI8gkCvPpom0tM

Change-Id: I2b0c54570d58156e37166ac536728af3b6c01789
2017-07-12 15:08:41 -05:00
Joshua Colp
27aeca3594 Merge "app_stream_echo: misc bug fixes" 2017-07-12 06:13:34 -05:00
Joshua Colp
8082f6cf7e Merge "res_rtp_asterisk: trigger source change control frame when dtls is established" 2017-07-12 06:13:25 -05:00