Commit Graph

32548 Commits

Author SHA1 Message Date
Sean Bright
dfad69ce7c translate.c: Fix silk 24kHz truncation in 'core show translation'
SILK @ 24kHz is not shown in the 'core show translation' output because of an
off-by-one-error. Discovered while looking into ASTERISK~19871.

ASTERISK-28706
Reported by: Sean Bright

Change-Id: Ie1a551a8a484e07b45c8699cc0c90f1061029510
2020-01-20 15:58:24 -06:00
Sean Bright
262221f4d9 func_odbc.conf.sample: Add example lookup
Change-Id: Ia05aab1f579597963d2ea23920d2210cfcb97c84
2020-01-20 15:26:41 -06:00
Joshua Colp
dbb3a19c35 Merge "queue_log: Add alembic script for generate db table for queue_log" 2020-01-20 11:32:51 -06:00
Joshua Colp
64debbd13f Merge "app_voicemail, say: Fix various leading whitespace problems" 2020-01-20 10:07:13 -06:00
Joshua Colp
058e9f735e Merge "app_voicemail: Prevent crash when saving message with realtime voicemail" 2020-01-20 09:31:42 -06:00
Joshua Colp
8208f5c73d Merge "pbx.c: Include filesystem cache in free memory calculation" 2020-01-20 07:10:07 -06:00
George Joseph
0380288f7c Merge "res_realtime: Fix 'realtime update2' argument handling" 2020-01-17 09:19:54 -06:00
Joshua Colp
2d17e25015 Merge "app_voicemail: Set globals to default values when voicemail.conf missing" 2020-01-17 08:37:34 -06:00
Sean Bright
f09cf4da44 app_voicemail: Remove MessageExists and MESSAGE_EXISTS()
* The MailboxExists dialplan application was deprecated on 2006-09-26
  in Asterisk 1.6.0 (commit ec83b11183)

* The MAILBOX_EXISTS dialplan function was deprecated on 2011-12-06 in
  Asterisk 11.0.0 (commit fd64bb66f9)

Change-Id: I71cfc9d7b9217a37b802f4cc6ef2d57900b7398f
2020-01-16 16:39:04 -05:00
Sean Bright
5cbf47714a app_voicemail, say: Fix various leading whitespace problems
In af90afd90c, Japanese language support
was added to app_voicemail and main/say.c, but the leading whitespace
is not consistent with Asterisk coding guidelines. This patch fixes
that.

Whitespace only, no functional change.

ASTERISK~23324
Reported by: Kevin McCoy

Change-Id: I72c725f5930084673749bd7c9cc426a987f08e87
2020-01-16 13:55:32 -06:00
Sean Bright
50d02d6194 pbx.c: Include filesystem cache in free memory calculation
ASTERISK-28695 #close
Reported by: Kevin Flyn

Change-Id: Ief098bb6eb77378daeace8f97ba30701c8de55b8
2020-01-16 12:38:09 -06:00
Sean Bright
f309b86e36 chan_sip.c: Stop handling continuation lines after reading headers
lws2sws() does not stop trying to handle header continuation lines
even after all headers have been found. This is problematic if the
first character of a SIP message body is a space or tab character, so
we update to recognize the end of the message header.

ASTERISK-28693 #close
Reported by: Frank Matano

Change-Id: Idec8fa58545cd3fd898cbe0075d76c223f8d33df
2020-01-16 09:17:32 -06:00
Sean Bright
ba8ccb9132 app_voicemail: Prevent crash when saving message with realtime voicemail
ast_store_realtime() is not NULL tolerant, so we need to initialize
the field values we pass to it to the empty string to avoid a crash.

ASTERISK-23739 #close
Reported by: Stas Kobzar

Change-Id: I756c5dd0299c77f4274368f7c99eb0464367466c
2020-01-15 15:52:25 -06:00
Friendly Automation
4255277ffd Merge "feat: AudioSocket channel, application, and ARI support." 2020-01-15 07:22:08 -06:00
Joshua Colp
d5fce4bc34 Merge "res_pjsip_notify: Only allow a single Event header to be added to a NOTIFY" 2020-01-15 06:44:41 -06:00
Friendly Automation
c665878e92 Merge "app_queue: Deprecate the QueueMemberPause.Reason field" 2020-01-15 06:42:24 -06:00
Sean Bright
9be89d9913 app_voicemail: Set globals to default values when voicemail.conf missing
If voicemail.conf exists but is empty, the config parsing process will
default a number of global variables to non-zero values. On the other
hand, if voicemail.conf is missing (arguably semantically equivalent
to an empty file), this process is skipped and the globals are
defaulted to 0.

Set the globals to the same values they would be set to if a
configuration were present. This allows voicemail configuration to be
done completely by Realtime without the need to create an empty
voicemail.conf file.

ASTERISK-27622 #close
Reported by: Jim Van Meggelen

Change-Id: Id907d280f310f12e542ca527e6a025432b9fb409
2020-01-14 16:31:49 -06:00
Friendly Automation
3098adc816 Merge "res_pjsip_endpoint_identifier_ip: Document support for hostnames" 2020-01-14 13:14:25 -06:00
Joshua Colp
be284af0d3 Merge "func_curl: Add 'followlocation' option to CURLOPT()" 2020-01-14 12:35:36 -06:00
Sean Bright
094e87b0dc res_realtime: Fix 'realtime update2' argument handling
The change in 9b99ef50b5 updated the
syntax of the 'realtime update2' CLI command but did not correctly
update the calls to ast_update2_realtime().

The issue this addresses was originally opened because we aren't
allowing a SQL NULL to be set as part of the update, but this is a
limitation of the Realtime API and is not a bug.

Additionally, this patch:

* Corrects the example in the command documentation to reflect
  'update2' instead of 'update.'

* Fixes the leading spacing of the command documentation.

* Checks that the required 'NULL' literal argument is present where we
  expect it to be.

ASTERISK-21794 #close
Reported by: Cédric Bassaget

Change-Id: Idda63a5dc50d5f9bcb34c27ea3238d90f733b2cd
2020-01-14 10:07:20 -06:00
Friendly Automation
3f663a543d Merge "netsock2: ast_addressfamily_to_sockaddrsize and ast_sockaddr_from_sockaddr." 2020-01-14 09:48:22 -06:00
Seán C McCord
163efbd724 feat: AudioSocket channel, application, and ARI support.
This commit adds support for
[AudioSocket](
https://wiki.asterisk.org/wiki/display/AST/AudioSocket),
a very simple bidirectional audio streaming protocol. There are both
channel and application interfaces.

A description of the protocol can be found on the above referenced
GitHub page.  A short talk about the reasons and implementation can be
found on [YouTube](https://www.youtube.com/watch?v=tjduXbZZEgI), from
CommCon 2019.

ARI support has also been added via the existing "externalMedia" ARI
functionality. The UUID is specified using the arbitrary "data" field.

ASTERISK-28484 #close

Change-Id: Ie866e6c4fa13178ec76f2a6971ad3590a3a588b5
2020-01-14 09:36:44 -06:00
Joshua Colp
f6f678fe7d Merge "app_record: Do not hang up if beep audio is missing" 2020-01-14 09:10:30 -06:00
Sean Bright
0c2bf1664c func_curl: Add 'followlocation' option to CURLOPT()
We allow for 'maxredirs' to be set, but this value is ignored when
followlocation is not enabled which, by default, it is not.

ASTERISK-17491 #close
Reported by: candrews

Change-Id: I96a4ab0142f2fb7d2e96ff976f6cf7b2982c761a
2020-01-13 08:26:56 -06:00
Sean Bright
9522390a69 app_queue: Deprecate the QueueMemberPause.Reason field
The QueueMemberPause AMI event includes two fields that return the
reason a member was paused.

* In release branches, deprecate Reason in favor of PausedReason.
* In master, remove the Reason field entirely.

ASTERISK-28349 #close
Reported by: Niksa Baldun

Change-Id: I01da58f2b0ab927baeee754870f62b51b7b3d296
2020-01-12 11:07:49 -06:00
Sean Bright
29d867ed67 res_pjsip_endpoint_identifier_ip: Document support for hostnames
ASTERISK-25429 #close
Reported by: Joshua C. Colp

Change-Id: I7cdfc6026821636acc2465094b7fcde8471a3824
2020-01-10 15:15:59 -06:00
Sean Bright
90af050fa4 res_pjsip_notify: Only allow a single Event header to be added to a NOTIFY
ASTERISK-27775 #close
Reported by: AvayaXAsterisk

Change-Id: Iad158e908e34675ad98f74d09c5e73024e50c257
2020-01-10 14:49:54 -06:00
Friendly Automation
51f811183a Merge "ARI: Ability to inhibit COLP frames when adding channels to a bridge" 2020-01-10 12:03:35 -06:00
Jaco Kroon
3bc8b36537 netsock2: ast_addressfamily_to_sockaddrsize and ast_sockaddr_from_sockaddr.
ast_addressfamily_to_sockaddrize will determine the size that's
required, and ast_sockaddr_from_sockaddr then wraps this new function
and ast_sockaddr_copy_sockaddr to copy arbitrary sockaddr's (without
knowing the address family) into the ast_sockaddr structure.

Change-Id: Iee604e96e9096c79b477d6e5ff310cf0b06dae86
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
2020-01-10 01:55:48 -06:00
Friendly Automation
34746220a0 Merge "res_pjsip_pubsub: Add ability to persist generator state information." 2020-01-09 16:23:40 -06:00
Joshua Colp
a55d403429 Merge "res_pjsip_endpoint_identifier_ip.c: Add port matching support" 2020-01-09 15:08:04 -06:00
Friendly Automation
9aaacdc7fc Merge "CI: Update buildAsterisk.sh to do a "make full"" 2020-01-09 14:28:27 -06:00
Corey Farrell
2f8b20b949 app_record: Do not hang up if beep audio is missing
Additionally alter the warning to mention that it was "beep" which could
not be streamed to give admins a better clue about what the warning
means.

ASTERISK-28682

Change-Id: If5aed21226a173117ed17589f44826dd1ba6576e
2020-01-09 05:33:06 -06:00
Kevin Harwell
00a7432156 app_agent_pool: Update XML docs for AgentLogin
This patch fixes some wrongly formatted documentation for the AgentLogin
application. A couple of "see also" links should contain only the function
name, and no parameters.

Change-Id: I3f788b47dce3292e311f8a9856938d59a0bd0661
2020-01-08 14:02:05 -06:00
George Joseph
d5f3ec92d0 CI: Update buildAsterisk.sh to do a "make full"
If you do a "make all" when building Asterisk the xml documentation
produced will be missing certain AMI events where their
documentation is located not at the top of the c source file but
embedded further down next to the event's manager_event()
registration call.  See main/manager_mwi.c for an example.

"make full" does produce the correct documentation so we're changing
it in the build script.  A separate commit/issue will address the
problem with "make all".

ASTERISK-28507
Reported by: David Lee

Change-Id: I4a22635d6eef99eacecc0efb69e28360eebdb86c
2020-01-08 12:17:57 -06:00
Joshua C. Colp
4e7adbd8f4 res_pjsip_pubsub: Add ability to persist generator state information.
Some body generators, such as dialog-info+xml, require storing state
information which is then conveyed in the NOTIFY request itself. Up
until now there was no way for such body generators to persist this
information.

Two new API calls have been added to allow body generators to set and
get persisted data. This data is persisted out alongside the normal
persistence information and allows the body generator to restore
state information or to simply use this for normal storage of state.
State is stored in the form of JSON and it is up to the body
generator to interpret this as needed.

The dialog-info+xml body generator has been updated to take advantage
of this to persist the version number.

ASTERISK-27759

Change-Id: I5fda56c624fd13c17b3c48e0319b77079e9e27de
2020-01-08 09:48:18 -06:00
Joshua Colp
e89c8bc0d2 Merge "sig_pri: Fix deadlock caused by sig_pri_queue_hangup" 2020-01-08 09:42:05 -06:00
Joshua Colp
bf0247ae7c Merge "stasis.c: Use correct topic name in stasis_topic_pool_delete_topic" 2020-01-08 09:41:18 -06:00
Sean Bright
312abaa1fe res_pjsip_endpoint_identifier_ip.c: Add port matching support
Adds source port matching support when IP matching is used:

  [example]
  type = identify
  match = 1.2.3.4:5060/32, 1.2.3.4:6000/32, asterisk.org:4444

If the IP matches but the source port does not, we reject and search for
alternatives. SRV lookups are still performed if enabled (srv_lookups = yes),
unless the configured FQDN includes a port number in which case just a host
lookup is performed.

ASTERISK-28639 #close
Reported by: Mitch Claborn

Change-Id: I256d5bd5d478b95f526e2f80ace31b690eebba92
2020-01-08 08:37:53 -06:00
George Joseph
a4fd89536d Merge "app_bridgeaddchan.c: Make BridgeAdd be more like Bridge" 2020-01-07 14:29:27 -06:00
George Joseph
6b7334a311 Merge "app_chanisavail.c: Simplify dialplan using ChanIsAvail." 2020-01-07 14:28:55 -06:00
George Joseph
d66b01d3bf Merge "res_pjsip_config_wizard: Fix change detection for wizard settings" 2020-01-07 13:05:52 -06:00
George Joseph
ab5b97c0d3 Merge "features.c: Make Bridge application tolerate unspecified channel." 2020-01-07 13:03:50 -06:00
Friendly Automation
5b815fe1ac Merge "app_dial.c: Simplify dialplan using Dial." 2020-01-07 11:48:57 -06:00
Friendly Automation
5050c45e06 Merge "app_page.c: Simplify dialplan using Page." 2020-01-07 11:40:57 -06:00
Joshua Colp
b2664fd3a4 Merge "app_softhangup.c: Reduce unnecessary warning to verbose message." 2020-01-07 11:14:48 -06:00
Friendly Automation
1aa294f6f5 Merge "app_chanspy.c: Reduce log message level from notice to verbose." 2020-01-07 10:41:38 -06:00
Friendly Automation
255a647c53 Merge "websocket: Consider pending SSL data when waiting for socket input" 2020-01-07 10:02:18 -06:00
George Joseph
cc2d1f2545 Merge "contrib/valgrind: Fix use of frame-level suppression" 2020-01-07 09:58:42 -06:00
George Joseph
ee7d72eb72 sig_pri: Fix deadlock caused by sig_pri_queue_hangup
The change to add setting hangupsource to sig_pri_queue_hangup()
made in https://gerrit.asterisk.org/c/asterisk/+/12857 casued
deadlocks when a hangup request was received from the core at the
same time a hanguprequest was received from the remote end via the
D channel.

Although the PRI's channel private structure was being unlocked
before setting the hangupsource, the PRI's own lock was still being
held during the process.  If channel actions were also coming from
the core, a deadlock on the PRI could result.  This deadlock could
then escalate to the entire DAHDI subsystem via DAHDI's global
interface list lock, especially if someone used the PRI CLI commands.

Fix:

* We now unlock the PRI as well as the PRI's channel private
  structure before setting the hangupsource, then relock both
  afterwards.

ASTERISK-28605
Reported by: Dirk Wendland

Change-Id: Id74aaa5d4e3746063dbe9deed188eb65193cb9c9
2020-01-07 07:20:24 -06:00