Commit Graph

31985 Commits

Author SHA1 Message Date
Alexei Gradinari
190b3d7412 app_dial/queue/followme: 'I' options to block initial updates in both directions
The 'I' option currently blocks initial CONNECTEDLINE or REDIRECTING updates
from the called parties to the caller.

This patch also blocks updates in the other direction before call is
answered.

ASTERISK-27980

Change-Id: I6ce9e151a2220ce9e95aa66666933cfb9e2a4a01
2018-10-24 14:15:17 -05:00
Richard Mudgett
11427a9665 modules.conf.sample: Update preload usage documentation.
Change-Id: Id449d4435c38148b56ac4cfd61ae4d90ac66bb90
2018-10-24 12:50:08 -05:00
George Joseph
fec66b8f01 bridge_softmix: Add SDP "label" attribute to streams
Adding the "label" attribute used for participant info correlation
was previously done in app_confbridge but it wasn't working
correctly because it didn't have knowledge about which video
streams belonged to which channel.  Only bridge_softmix has that
data so now it's set when the bridge topology is changed.

ASTERISK-28107

Change-Id: Ieddeca5799d710cad083af3fcc3e677fa2a2a499
2018-10-24 07:38:13 -06:00
George Joseph
4eef448acc Merge "astobj2: Eliminate usage of legacy container allocation macros." into 16 2018-10-24 08:30:56 -05:00
George Joseph
891a270275 Merge "app_dial/app_queue: Update application option documentation" into 16 2018-10-24 07:47:29 -05:00
George Joseph
7e6a7dcdc0 Merge "lock: Replace __ast_mutex_logger with private log_mutex_error." into 16 2018-10-24 07:46:30 -05:00
Richard Mudgett
1413200c7c Merge "samples: PARKINGSLOT -> PARKING_SPACE in parking sample config" into 16 2018-10-22 10:20:52 -05:00
Corey Farrell
dee1165d31 astobj2: Eliminate usage of legacy container allocation macros.
These macros have been documented as legacy for a long time but are
still used in new code because they exist.  Remove all references to:
* ao2_container_alloc_options
* ao2_t_container_alloc_options
* ao2_t_container_alloc

These macro's are still available for use but only in modules.  Only
ao2_container_alloc remains due to it's use in over 100 places.

Change-Id: I1a26258b5bf3deb081aaeed11a0baa175c933c7a
2018-10-19 17:33:02 -04:00
Corey Farrell
90887af808 lock: Replace __ast_mutex_logger with private log_mutex_error.
__ast_mutex_logger used the variable `canlog` without accepting it as a
argument.  Replace with internal macro `log_mutex_error` which takes
canlog as the first arguement.  This will prevent confusion when working
with lock.c code, many of the function declare the canlog variable and
in some cases it previously appeared to be unused.

Change-Id: I83b372cb0654c5c18eadc512f65a57fa6c2e9853
2018-10-19 11:43:25 -05:00
Jenkins2
14d1e6ca2a Merge "Fix 'statement' typo throughout code." into 16 2018-10-19 09:05:56 -05:00
George Joseph
a3116842ff Merge "modules: Add missing run time module support levels." into 16 2018-10-19 08:39:32 -05:00
George Joseph
6989915ab6 Merge "taskprocessor: Warn on unused result from pushing task." into 16 2018-10-19 08:38:40 -05:00
Richard Mudgett
00284352b3 app_dial/app_queue: Update application option documentation
* Update the post-answer documentation and example.  The Dial example was
incorrect and misleading for the post-answer subroutine useage.

* Fix note and warning paragraphs in option descriptions.  They don't show
up in the wiki.

Change-Id: I81019a1fd75d5b9151f76b52c38e2a90da682d14
2018-10-18 17:22:14 -05:00
Sean Bright
495a1e7e5c samples: PARKINGSLOT -> PARKING_SPACE in parking sample config
PARKINGSLOT was deprecated in Asterisk 12 but the sample config was not
updated to reflect that.

Change-Id: I3e087c19d9ee587094fa5304102d8084a79c2b3c
2018-10-18 14:57:58 -05:00
Richard Mudgett
2384d6eb87 Fix 'statement' typo throughout code.
Most were in comments.  A couple were in warning messages.

Pointed out by Jonathan H on the Asterisk users mailing list.

Change-Id: I6286939dff5d0a27a2758140570106f1cb351855
2018-10-18 12:44:03 -05:00
Richard Mudgett
718ccd51a3 res_rtp_asterisk.c: Add conditional module dependency to res_pjproject
* The dependency ensures that res_pjproject cannot be manually unloaded
before res_rtp_asterisk.
* The dependency allows startup loading errors to report that
res_rtp_asterisk depends upon res_pjproject.

Change-Id: Icf5e7581f4ddd6189929f6174c74dd951f887377
2018-10-17 16:08:19 -05:00
Richard Mudgett
7687630074 modules: Add missing run time module support levels.
Change-Id: I29b9dbfa4bbfc49f21eba356858e38b1d3041824
2018-10-17 14:34:55 -05:00
George Joseph
7c7cdab2af Merge "bundled pjproject: Remove timer cleanup usage patch." into 16 2018-10-17 10:15:43 -05:00
Corey Farrell
abee4fd072 taskprocessor: Warn on unused result from pushing task.
Add attribute_warn_unused_result to ast_taskprocessor_push,
ast_taskprocessor_push_local and ast_threadpool_push.  This will help
ensure we perform the necessary cleanup upon failure.

Change-Id: I7e4079bd7b21cfe52fb431ea79e41314520c3f6d
2018-10-17 08:27:25 -05:00
George Joseph
ebd8e0720d Merge "refdebug: Create refstats.py script." into 16 2018-10-16 13:43:19 -05:00
Richard Mudgett
3fe9c41342 bundled pjproject: Remove timer cleanup usage patch.
This patch is not in the upstream pjproject and does unsafe things with
the timer->_timer_id and timer->_grp_lock values in pj_timer_entry_reset()
outside of the timer heap lock.  pj_timer_entry_reset() is also called for
timers that are not about to be rescheduled in a few places.

Change-Id: I4fe0b4bc648f7be5903cf4531b94fc87275713c1
2018-10-16 12:37:36 -05:00
George Joseph
8c2c6ba913 Merge "threadpool: Eliminate pointless AO2 usage." into 16 2018-10-16 10:15:36 -05:00
Corey Farrell
35f44be460 refdebug: Create refstats.py script.
This allows us to process AO2 statistics for total objects, memory
usage, memory overhead and lock usage.

* Install refstats.py and reflocks.py into the Asterisk scripts folder.
* Enable support for reflocks.py without DEBUG_THREADS.

Steal a bit from the ao2 magic to flag when an object lock is used.
Remove 'lockobj' from reflocks.py since we can now record 'used' or
'unused' for those objects.

Add comments to explain thread safety of the 'struct __priv_data'
bitfields.

Change-Id: I84e9d679cc86d772cc97c888d9d856a17e0d3a4a
2018-10-15 16:35:20 -04:00
Alexei Gradinari
0f53930c05 res_pjsip: set callerid_tag to empty string
This patch sets the callerid_tag to empty string by default.

If the callerid_tag is set to NULL then the tag does not
become part of a connected line update.
For example:
Alice's tag is "Alice".
Bob's tag is empty.
Charlie's tag is "Charlie".
Alice calls Bob and then does attended transfer to Charlie.
When Alice hangs up the CONNECTEDLINE(tag) is "Alice"
on the interception routine on the Charlie's channel, but should be empty.

Ths patch also fix memory leaks if there are more then one options
"callerid", "callerid_tag", "voicemail_extension" and "contact_user"
in the pjsip.conf endpoint definition.

Change-Id: I86ba455c4677ca8d516d9a04ce7fb4d24dd576e4
2018-10-15 14:18:09 -05:00
George Joseph
649ee402e5 Merge "main/astfd: Fix GCC8 format-truncation warning." into 16 2018-10-15 10:34:47 -05:00
George Joseph
a529aa9bfe Merge "res_statsd.c: Fix returned reload status." into 16 2018-10-15 10:31:35 -05:00
Corey Farrell
08e5bbfec0 threadpool: Eliminate pointless AO2 usage.
thread_worker_pair, set_size_data and task_pushed_data structures are
allocated with AO2 objects, passed to a taskprocessor, then released.
They never have multiple owners or use locking so AO2 only adds
overhead.

Change-Id: I2204d2615d9d952670fcb48e0a9c0dd1a6ba5036
2018-10-13 06:38:57 -04:00
Corey Farrell
a5023d4f75 main/astfd: Fix GCC8 format-truncation warning.
The field used to store call arguments was not large enough to hold the
arguments string that can be constructed for 'open'.  Expand it to
prevent this warning/error.

Change-Id: I514927f256481bc84df10a51b19d5b5fb1bc387e
2018-10-12 13:21:24 -04:00
Kevin Harwell
31fed39078 Merge "loader: Flag module as declined in all cases where it fails to load." into 16 2018-10-10 14:22:13 -05:00
Corey Farrell
5ea517f80e chan_sip: Tell module loader that chan_sip is extended support.
Change-Id: I33508c134b1be888b8884f5dcfee19087634e415
2018-10-10 07:38:08 -04:00
Richard Mudgett
c001974f4f res_statsd.c: Fix returned reload status.
The return status when there was no change in statsd.conf was incorrect.
This resulted in the wrong status message on the CLI when reloading the
module.

* Fixed cleanup on initial load if initializing statsd failed.

Change-Id: Id24fae75f1a7ff584a444a5680e867d989792481
2018-10-09 16:30:27 -05:00
George Joseph
b42c682213 Merge "core/frame: generate correct T.140 payload in ast_sendtext_data()" into 16 2018-10-05 14:33:19 -05:00
George Joseph
f636d6d187 Merge "func_periodic_hook.c: Cleanup module resources on failure." into 16 2018-10-05 14:32:08 -05:00
George Joseph
04fcfe856a Merge "codec_speex.c: Cleanup module loading to DECLINE and not FAILURE." into 16 2018-10-05 14:31:17 -05:00
George Joseph
0e38d72b35 Merge "res_smdi.c: Fix module ref counting and inverted test." into 16 2018-10-05 10:52:43 -05:00
George Joseph
7b0ecf7274 Merge "res_statsd.c: Made use defaults if the statsd.conf file does not exist." into 16 2018-10-05 10:10:53 -05:00
George Joseph
46d8d8959c Merge "res_smdi.c: Made use defaults if the smdi.conf file does not exist." into 16 2018-10-05 10:09:16 -05:00
neutrino88
e0496fe062 core/frame: generate correct T.140 payload in ast_sendtext_data()
ast_sendtext_data() would create an incorrect T.140 text frame which
length include the null terminator byte. It causes ultimately RTP
packets to be send with this trailing 0. The proposed fix just set the
correct length to the text frame

ASTERISK-28089
Reported by: Emmanuel BUU
Tested by: Emmanuel BUU

Change-Id: I7ab1b9ed1e21683b2b667ea0a59d9aba3c77dd96
2018-10-05 08:57:41 -05:00
Corey Farrell
c6ee3cf639 loader: Flag module as declined in all cases where it fails to load.
This has no effect on startup since AST_MODULE_LOAD_FAILURE aborts
startup, but it's possible for this code to be returned on manual load
of a module after startup.

It is an error for a module to not have a load callback but this is not
a fatal system error.  In this case flag the module as declined, return
AST_MODULE_LOAD_FAILURE only if a required module is broken.

Expand doxygen documentation for AST_MODULE_LOAD_*.

Change-Id: I3c030bb917f6e5a0dfd9d91491a4661b348cabf8
2018-10-04 18:45:26 -05:00
Richard Mudgett
77f151d927 func_periodic_hook.c: Cleanup module resources on failure.
* Make load_module() cleanup if it failed to setup the module.

* Make unload_module() always return 0.  It is silly to fail unloading if
the hook function we try to unregister was not even registered.

Change-Id: I280fc6e8ba2a7ee2588ca01d870eebaf74b4ffe6
2018-10-04 14:38:12 -05:00
Richard Mudgett
bc335ceda8 codec_speex.c: Cleanup module loading to DECLINE and not FAILURE.
If codec_speex fails to register a translator it would cause Asterisk to
exit instead of continue as a DECLINED module.

* Make unload_module() always return 0.  It is silly to fail unloading if
any translators we try to unregister were not even registered.

Change-Id: Ia262591f68333dad17673ba7104d11c88096f51a
2018-10-04 14:35:43 -05:00
George Joseph
6fd21a6af6 CI: Fix missing () in gates.jenkinsfile
Change-Id: I2f252e0f8c7f1a6328438fbd2be5d6574b7dfa5b
2018-10-04 13:04:04 -05:00
George Joseph
1598c7a306 CI: Add timestamps and timeouts to jenkinsfiles
Change-Id: Ide83574dc957bc1df28e30a69079140050dfc35f
2018-10-04 10:14:21 -05:00
Jenkins2
f9cc33c821 Merge "ast_coredumper: Remove .gdbinit file on exit" into 16 2018-10-04 10:00:21 -05:00
George Joseph
1debf9e484 Merge "jenkins: Fix cleanup command redirection." into 16 2018-10-04 09:42:17 -05:00
George Joseph
24f44474b6 Merge "CI: Use brace expansion instead of calling out to seq" into 16 2018-10-04 09:41:23 -05:00
George Joseph
48bac78f3e Merge "CI: Look up configured kernel.core_pattern sysctl" into 16 2018-10-04 08:54:46 -05:00
George Joseph
be88c768f4 Merge "astobj2: Comment on OBJ_NOLOCK in ao2_container_clone." into 16 2018-10-04 07:24:55 -05:00
George Joseph
99e05591fa Merge "http.c: Reload TLS even if http.conf hasn't changed" into 16 2018-10-04 07:24:34 -05:00
Sean Bright
b2f96fdcfe ast_coredumper: Remove .gdbinit file on exit
Change-Id: I1297de78628773ca368e687c6f148bf74857cae9
2018-10-03 17:03:05 -05:00