Commit Graph

30232 Commits

Author SHA1 Message Date
Corey Farrell
6c72c22d51 json: Add conditionals to avoid locking if Jansson is thread safe.
Jansson is thread safe for all read-only functions and reference
counting starting v2.11.  This allows simplification of our code and
removal of locking around reference counting and dumping.

Change-Id: Id985cb3ffa6681f9ac765642e20fcd187bd4aeee
2018-02-12 12:27:19 -06:00
Jenkins2
a62fcfa17b Merge "install_prereq: Update Debian/Ubuntu libraries." into 13 2018-02-12 09:53:49 -06:00
Jenkins2
f16a623ac0 Merge "cdr.c: Fix runtime leak of CDR records." into 13 2018-02-12 09:35:30 -06:00
Alexander Traud
0ab97e9774 pjproject_bundled: Disable G.729 from Belledonne Communications.
When <http://github.com/BelledonneCommunications/bcg729> is installed, PJProject
tries to link that. Support for this bcg729 was added with PJProject 2.7. The
issue happens, because Teluu enabled that new feature on default.

ASTERISK-27584
Reported by: Stuart Henderson

Change-Id: I88b6b18ad777bcfe2d8201187b4b90eec0a172a6
2018-02-12 06:21:37 -06:00
Alexander Traud
81bec7c359 codecs: Add support for WebRTC iLBC 2.0.
When the latest version of that library was installed, Asterisk did not build.

ASTERISK-27669
Reported by: Николай Михо

Change-Id: I27e09bb875fdd56423bd9fae1be85fddb428eb96
2018-02-12 05:39:49 -06:00
Alexander Traud
b1c6a644d3 backtrace: Avoid potential spurious output.
clang 4.0 found this via -Wlogical-not-parentheses.

ASTERISK-27642

Change-Id: I9ec3e144d425a976c02811bd23cd0c533d2eca4e
2018-02-10 07:56:28 -06:00
Alexander Traud
21bd7421ef install_prereq: Update Debian/Ubuntu libraries.
ASTERISK-27555

Change-Id: Idc36e91db30c0163c560d04c5a82bca5d6ce92a8
2018-02-10 06:55:53 -06:00
Richard Mudgett
dcfcf310a1 cdr.c: Fix runtime leak of CDR records.
Need to remove all CDR's listed by a CDR object from the active_cdrs_all
container including the root/master record.

ASTERISK-27656

Change-Id: I48b4970663fea98baa262593d2204ef304aaf80e
2018-02-09 14:25:25 -06:00
Oron Peled
0fc3e831a7 chan_console: don't read and write at the same time
It seems that the ALSA backend of PortAudio doesn't know how to both
read and write at the same time by adding a per-device mutex.

FIXME: currently only a draft version. Need to either auto-detect
we work with the ALSA backend or add an extra configuration option
to use this mutex.

ASTERISK-27426 #close

Change-Id: I635eacee45f5413faa18f5a3b606af03b926dacb
2018-02-08 06:55:30 -06:00
Jenkins2
42290f9a45 Merge "app_confbridge: ConfbridgeList event has standard channel shapshot headers." into 13 2018-02-07 06:06:53 -06:00
Jenkins2
0fcdece2a1 Merge "app_confbridge: Add the Muted header to ConfbridgeJoin AMI event." into 13 2018-02-07 05:49:41 -06:00
Jenkins2
5c98924d64 Merge "endpoint identifiers: Some code cleanup." into 13 2018-02-06 05:30:45 -06:00
Jenkins2
e3a2b699db Merge "res_pjsip/config_domain_aliases.c: Add check for missing domain." into 13 2018-02-05 16:01:28 -06:00
Richard Mudgett
da987df122 res_pjsip/config_domain_aliases.c: Add check for missing domain.
What is the point of defining an alias and not saying what is being
aliased?

Change-Id: I98a892016ed61dcf5efeb6619fd748925103f0be
2018-02-05 14:01:15 -06:00
Richard Mudgett
1ff580bb25 app_confbridge: ConfbridgeList event has standard channel shapshot headers.
* Made the AMI ConfbridgeList action's ConfbridgeList events output all
the standard channel snapshot headers instead of a few hand-coded channel
snapshot headers.  The benefit is that the CallerIDName gets disruptive
characters like CR, LF, Tab, and a few others escaped.  However, an empty
CallerIDName is now output as "<unknown>" instead of "<no name>".

ASTERISK-27651

Change-Id: Iaf7d54a9d40194c2db060bc9b4979fab6720d977
2018-02-05 13:38:34 -06:00
Richard Mudgett
0cf7a9e0ca app_confbridge: Add the Muted header to ConfbridgeJoin AMI event.
ASTERISK-27651

Change-Id: Idef2ca54d242d1b894efd3fc7b360bc6fd5bdc34
2018-02-05 13:38:34 -06:00
Jenkins2
88e323a2a0 Merge "res_sorcery_realtime.c: Fix ref leak if object failed to apply." into 13 2018-02-05 12:57:54 -06:00
Jenkins2
2bb68c707f Merge "manager.c: Fixed "(null):" header in AMI AsyncAGIEnd event" into 13 2018-02-05 12:17:55 -06:00
Jenkins2
d2df34f204 Merge "res_pjsip.c: Fix documentation typos." into 13 2018-02-03 10:28:22 -06:00
Jenkins2
65c8b7d6b4 Merge "manager_channels.c: Reordered ast_manager_build_channel_state_string_prefix()" into 13 2018-02-03 10:03:18 -06:00
Jenkins2
4bc5291878 Merge "res_pjsip_mwi.c: Fix null pointer crash" into 13 2018-02-03 09:42:36 -06:00
Jenkins2
34e3b51296 Merge "manager.c: Fix potential memory leak and corruption." into 13 2018-02-03 09:38:11 -06:00
Richard Mudgett
1adf90320d endpoint identifiers: Some code cleanup.
res_pjsip_endpoint_identifier_user.c:
* Fix copy/paste error in find_endpoint().  We were using a constant
"anonymous" string instead of the passed in endpoint_name when checking
the transport domain for an endpoint match.
* Eliminate RAII_VAR in find_endpoint().
* Remove always true check in find_transport_state_in_use().
* Remove useless CMD_STOP in find_transport_state_in_use().

res_pjsip_endpoint_identifier_anonymous.c:
* Eliminate RAII_VAR in anonymous_identify().
* Remove always true check in find_transport_state_in_use().
* Remove useless CMD_STOP in find_transport_state_in_use().

Change-Id: I86924c31db5bd225ca0c1219c761b668c6f91189
2018-02-02 17:57:06 -06:00
Richard Mudgett
93a1ffc834 res_pjsip.c: Fix documentation typos.
Change-Id: I82ae0b92bfa2ece84a5c684efd9eefdc83ebd068
2018-02-02 17:48:19 -06:00
Richard Mudgett
5d16cefd63 res_sorcery_realtime.c: Fix ref leak if object failed to apply.
Change-Id: I3c7106ff77009754725cee790eadf5da44154ab6
2018-02-02 17:45:04 -06:00
Jenkins2
8941934e0b Merge "appdocsxml.xslt: Add Language to channel snapshot transformation" into 13 2018-02-02 06:40:53 -06:00
Sungtae Kim
dd9690f68c manager.c: Fixed "(null):" header in AMI AsyncAGIEnd event
* Changed to create ami_event string only when the given blob is not
json_null().
* Fixed bad expression.

ASTERISK-27621

Change-Id: Ice58c16361f9d9e8648261c9ed5d6c8245fb0d8f
2018-02-02 06:25:06 -06:00
Jenkins2
6b172f6f2b Merge "bridge_softmix.c: Report not talking immediately when muted." into 13 2018-02-02 06:12:51 -06:00
Joshua Elson
8125b825d3 res_pjsip_mwi.c: Fix null pointer crash
ASTERISK-27652 #close

Change-Id: I78a0d38bfd8d0d82830f3d53da04872d6b67284d
2018-02-01 15:32:31 -06:00
Sean Bright
09edcd93aa appdocsxml.xslt: Add Language to channel snapshot transformation
Change-Id: I8f494b0c895a69b8bc94656d0c6ceebecb0394d8
2018-02-01 16:03:05 -05:00
Richard Mudgett
665444b772 manager.c: Fix potential memory leak and corruption.
ast_str_append_event_header() could potentially leak and corrupt memory if
the ast_str needed to expand to add the AMI event header.

* Fixed to return error if the ast_str_append() failed.

Change-Id: I92f36b855540743b208d76e274152ee2d758176d
2018-02-01 13:50:47 -06:00
Richard Mudgett
ef1aeb9437 manager_channels.c: Reordered ast_manager_build_channel_state_string_prefix()
* Made not allocate memory if the channel snapshot is an internal channel.

* Free memory earlier when no longer needed.

Change-Id: Ia06e0c065f1bd095781aa3f4a626d58fa4d28b38
2018-02-01 12:19:08 -06:00
Jenkins2
62d491527e Merge "app_confbridge: Update dsp_silence_threshold and dsp_talking_threshold docs." into 13 2018-02-01 11:38:26 -06:00
George Joseph
7debdd285c res_pjsip_pubsub: Prune subs with reliable transports at startup
In an earlier release, inbound registrations on a reliable transport
were pruned on Asterisk restart since the TCP connection would have
been torn down and become unusable when Asterisk stopped.  This same
process is now also applied to inbound subscriptions.

Also fixed issues in res_pjsip_registrar where it wasn't handling the
monitoring correctly when multiple registrations came in over the same
transport.

To accomplish this, the pjsip_transport_event feature needed to
be refactored to allow multiple monitors (multiple subcriptions or
registrations from the same endpoint) to exist on the same transport.
Since this changed the API, any external modules that may have used the
transport monitor feature (highly unlikey) will need to be changed.

ASTERISK-27612
Reported by: Ross Beer

Change-Id: Iee87cf4eb9b7b2b93d5739a72af52d6ca8fbbe36
2018-02-01 10:32:26 -07:00
Jenkins2
58ba7490a9 Merge "res_pjsip_registrar_expire: Mark module deprecated." into 13 2018-02-01 10:45:17 -06:00
Jenkins2
7cd9798a46 Merge "BuildSystem: Raise autoconf version requirement to 2.60a." into 13 2018-02-01 10:26:00 -06:00
Jenkins2
c9bff6be9b Merge "res_pjsip_session: Prevent crash during shutdown." into 13 2018-01-31 17:10:28 -06:00
Jenkins2
994e62668b Merge "app_voicemail: Avoid always true when using pointer address." into 13 2018-01-31 15:37:44 -06:00
Corey Farrell
698b28e9c7 res_pjsip_registrar_expire: Mark module deprecated.
The functionality of this module was already moved to
res_pjsip_registrar, mark it deprecated and add message to CHANGES.

Change-Id: I90c7d52c7e15e85fde3389d5eaccb05b97848813
2018-01-31 16:15:46 -05:00
Richard Mudgett
6520489952 bridge_softmix.c: Report not talking immediately when muted.
Currently in app_confbridge if someone mutes a channel while that channel
is talking, the talk detection code is suspended while the channel is
muted.  As far an an external observer is concerned, the muted channel's
talk status is still "talking" even though the channel is not contributing
audio to the conference bridge.  When the channel is later unmuted, it
takes the usual 'dsp_silence_threshold' option time to clear the talking
status even though the channel may have stopped talking while the channel
was muted.

* In bridge_softmix.c, clear the talking status and report talking stopped
if the channel was talking when the channel is muted.  When the channel is
unmuted and the channel is still talking then report the channel as
talking since it is contributing audio to the bridge again.

ASTERISK-27647

Change-Id: Ie4fdbc05a0bc7343c2972bab012e2567917b3d4e
2018-01-31 13:13:06 -06:00
Richard Mudgett
4a337b1a76 app_confbridge: Update dsp_silence_threshold and dsp_talking_threshold docs.
The dsp_talking_threshold does not represent time in milliseconds.  It
represents the average magnitude per sample in the audio packets.  This is
what the DSP uses to determine if a packet is silence or talking/noise.

Change-Id: If6f939c100eb92a5ac6c21236559018eeaf58443
2018-01-31 13:11:55 -06:00
Richard Mudgett
2c4dde0ed0 res_pjsip_registrar.c: Fix compiler error.
Need to include signal.h to define pthread_kill() and SIGURG.

Change-Id: I10ae3aa4bf8e7386ac29ade78c0f2caed8e674fa
2018-01-31 11:00:52 -06:00
Jenkins2
d82da7afff Merge "loader: Use ast_cli_completion_add for 'module load' completion." into 13 2018-01-31 07:30:09 -06:00
Jenkins2
ae236c5455 Merge "res_pjsip_registrar_expire: Refactor into res_pjsip_register" into 13 2018-01-31 07:05:11 -06:00
Jenkins2
cee39bf820 Merge "pbx_variables.c: Misc fixes in variable substitution." into 13 2018-01-31 06:58:49 -06:00
Jenkins2
0d105398f0 Merge "install_prereq: Update RHEL/CentOS/Fedora libraries." into 13 2018-01-31 06:33:45 -06:00
Corey Farrell
4c8c0e4c22 res_pjsip_session: Prevent crash during shutdown.
pjproject does not have a function to reverse pjsip_inv_usage_init.
This means we need to ignore any calls to the functions once shutdown is
final.

ASTERISK-27571 #close

Change-Id: Ia550fcba563e2328f03162d79fb185f16b7c9b9d
2018-01-31 00:07:44 -05:00
George Joseph
5b699c812e res_pjsip_registrar_expire: Refactor into res_pjsip_register
res_pjsip_registrar_expire remains as an empty module for now.

Change-Id: Ib93698938bae548d2199cb542f3692d1a171239f
2018-01-29 12:46:36 -07:00
Jenkins2
897f7fb30e Merge "Update sounds release to fix siren7 and siren14 files." into 13 2018-01-29 11:55:00 -06:00
Jenkins2
c956349667 Merge "core: Fix unused variable error in handle_show_sysinfo." into 13 2018-01-29 11:22:33 -06:00