Commit graph

28947 commits

Author SHA1 Message Date
Joshua Colp
97d58add32 Merge "res_rtp_asterisk: Swap byte-order when sending signed linear" 2017-02-01 15:36:23 -06:00
Sean Bright
7a16524a83 res_rtp_asterisk: Swap byte-order when sending signed linear
Before Asterisk 13, signed linear was converted into network byte order by a
smoother before being sent over the network. We restore this behavior by
forcing the creation of a smoother when slinear is in use and setting the
appropriate flags so that the byte order conversion is always done.

ASTERISK-24858 #close
Reported-by: Frankie Chin

Change-Id: I868449617d1a7819578f218c8c6b2111ad84f5a9
2017-02-01 10:42:42 -05:00
George Joseph
e252aff9ad debug_utilities: Install ast_logescalator to /var/lib/asterisk/scripts
Forgot to install it with the original patch

Change-Id: I8bdb540a6694971ae5fe21f48d532332c6482e4c
2017-01-31 12:48:14 -06:00
zuul
b814343538 Merge "make_build_h: handle backslashes in external strings" 2017-01-31 09:43:51 -06:00
zuul
ada0032305 Merge "app_queue: Fix queues randomly disappearing on reload" 2017-01-30 11:39:26 -06:00
zuul
6cbe894828 Merge "debug_utilities: Add ast_logescalator" 2017-01-29 11:22:05 -06:00
zuul
940c395110 Merge "libastssl/pj: libastssl/pj should have an so_version" 2017-01-27 19:18:14 -06:00
George Joseph
ef4deb8ecd debug_utilities: Add ast_logescalator
The escalator works by creating a set of startup commands in cli.conf
that set up logger channels and issue the debug commands for the
subsystems specified.  If asterisk is running when it is executed,
the same commands will be issued to the running instance.  The original
cli.conf is saved before any changes are made and can be restored by
executing '$prog --reset'.

The log output will be stored in...
$astlogdir/message.$uniqueid
$astlogdir/debug.$uniqueid
$astlogdir/dtmf.$uniqueid
$astlogdir/fax.$uniqueid
$astlogdir/security.$uniqueid
$astlogdir/pjsip_history.$uniqueid
$astlogdir/sip_history.$uniqueid

Some minor tweaks were made to chan_sip, and res_pjsip_history
so their history output could be send to a log channel as packets
are captured.

A minor tweak was also made to manager so events are output to verbose
when "manager set debug on" is issued.

Change-Id: I799f8e5013b86dc5282961b27383d134bf09e543
2017-01-27 15:10:02 -06:00
zuul
3eabae43c4 Merge "tests: use datadir for sound files" 2017-01-27 12:44:05 -06:00
Torrey Searle
178b90af02 libastssl/pj: libastssl/pj should have an so_version
Issue introduced in b59956a87.  In the non-darwin case libastssl/pj
should be versioned.  This causes the symbol file for this lib
to not be generated.

Change-Id: Ib07ae8c40252813c488e2c1ac6204fd42816dd4c
(cherry picked from commit 54b027916a)
2017-01-27 08:21:01 -06:00
George Joseph
6f645a6d4e Merge "media: Add experimental support for RTCP feedback." 2017-01-27 07:04:52 -06:00
zuul
08bc42201d Merge "res_pjsip_endpoint_identifier_ip: Fix memory leak of hosts when resolving." 2017-01-26 22:11:37 -06:00
kkm
138cd8d019 make_build_h: handle backslashes in external strings
LikewiseOpen creates user names with a backslash in them. A gentle
massage with sed(1) allows such strings to be inserted into build.h
properly quoted. I am also adding the same for host name and other
strings used in the script that are more or less user-controlled.

ASTERISK-26754

Change-Id: Iac5ef2b67a68ee58f35ddbf86bb818ba6eabecae
2017-01-26 21:17:20 -06:00
kkm
8270d2436d app_queue: Fix queues randomly disappearing on reload
With 500+ queues and a reload every minute, a random queue disappears
upon reload. The cause is mususe of the 'dead' flag. Namely, all queues
were marked dead up front, and then "resurrected" by dropping this flag
for those found in the configuration. But a queue marked dead can be
removed also when control leaves the app entry point on a PBX thread.

With this change, the queue is marked only not found, and at the end of
reload only the queues that are still not found are actually marked as
dead, so the dead flag is never reset, and set only on positively dead
queues.

ASTERISK-26755

Change-Id: I3a4537aec9eb8d8aeeaa0193407e3523feb004bf
2017-01-26 20:21:15 -06:00
zuul
10631bb209 Merge "PJPROJECT logging: Fix detection of max supported log level." 2017-01-26 18:46:22 -06:00
George Joseph
0ad6d2b3cf Merge "ari: Implement 'debug all' and request/response logging" 2017-01-26 17:06:40 -06:00
George Joseph
071aa069e6 Merge "res_musiconhold.c: Fix format ref leak when parsing MOH config class." 2017-01-26 16:05:07 -06:00
George Joseph
2484c3ee39 Merge "frame.c: Fix off-nominal format ref leaks." 2017-01-26 16:03:50 -06:00
George Joseph
ac5528a028 Merge "test_voicemail_api: order of params to VERIFY macros" 2017-01-26 16:02:50 -06:00
zuul
d7e0e4f43f Merge "Add notes about embedded ast_frame structs holding a format ref." 2017-01-26 13:18:35 -06:00
Joshua Colp
7fa3de7ae9 res_pjsip_endpoint_identifier_ip: Fix memory leak of hosts when resolving.
This change adds a missing unreference of the hostname when resolving and
also cleans up the iterator.

ASTERISK-26735

Change-Id: Ic012ebaf3d89e714eec340b7b0c5e63c66af857a
2017-01-26 10:59:10 -06:00
George Joseph
96dbf54e97 Merge "T.140: Fix format ref and memory leaks." 2017-01-26 10:23:14 -06:00
Joshua Colp
3abb17d172 Merge "main/app.c: Memory corruption from early format destruction." 2017-01-26 08:42:50 -06:00
zuul
1479e049cb Merge "app_queue: add RINGCANCELED log event on caller hang up" 2017-01-25 19:14:12 -06:00
George Joseph
9a0b73e339 Merge "astobj2.c: Add excessive ref count trap." 2017-01-25 16:00:49 -06:00
Richard Mudgett
20aed30d9a T.140: Fix format ref and memory leaks.
* channel.c:ast_sendtext(): Fix T.140 SendText memory leak.

* format_compatibility.c: T.140 RED and T.140 were swapped.

* res_rtp_asterisk.c:rtp_red_init(): Fix ast_format_t140_red ref leak.

* res_rtp_asterisk.c:rtp_red_init(): Fix data race after starting periodic
scheduled red_write().

* res_rtp_asterisk.c: Some other minor misc tweaks.

Change-Id: Ifa27a2e0f8a966b1cf628607c86fc4374b0b88cb
2017-01-25 13:46:41 -06:00
zuul
b21ab3f1cd Merge "stasis_bridge.c: Fix off-nominal stasis control ref leak." 2017-01-25 13:32:40 -06:00
George Joseph
bda60f09d3 Merge "res_pjsip_endpoint_identifier_ip: Ensure error defaults to 0." 2017-01-25 11:37:03 -06:00
George Joseph
dfcf70c91b Merge "chan_oss.c: Fix format ref leak in oss_read()." 2017-01-25 11:21:14 -06:00
George Joseph
e637912c25 Merge "pjproject_bundled: Fix setting max log level" 2017-01-24 22:29:54 -06:00
George Joseph
f114b7b8c9 Merge "res_pjsip_pubsub.c: Implement "pjsip show subscriptions" commands." 2017-01-24 15:47:34 -06:00
Joshua Colp
ee2b0f2eef res_pjsip_endpoint_identifier_ip: Ensure error defaults to 0.
When configuring a match using a netmask the error variable was
not defaulting to 0. For some people this would cause the code
to think an error occurred when adding the match when in reality
it added perfectly fine.

ASTERISK-26693

Change-Id: I850c250813742bddde65c84e739093c9e01dfe56
2017-01-24 15:41:34 -06:00
Richard Mudgett
930a24a730 astobj2.c: Add excessive ref count trap.
Change-Id: I32e6a589cf9009450e4ff7cb85c07c9d9ef7fe4a
2017-01-24 14:17:05 -06:00
Richard Mudgett
de28c1b9f1 main/app.c: Memory corruption from early format destruction.
* make_silence() created a malloced silence slin frame without adding a
slin format ref.  When the frame is destroyed it will unref the slin
format that never had a ref added.  Memory corruption is expected to
follow.

* Simplified and fixed counting the number of samples in a frame list for
make_silence().

* Eliminated an unnecessary RAII_VAR associated with the make_silence()
frame.

Change-Id: I47de3f9b92635b7f8b4d72309444d6c0aee6f747
2017-01-24 14:05:05 -06:00
Richard Mudgett
2039eb8edf frame.c: Fix off-nominal format ref leaks.
* ast_frisolate() could leak frame format refs on allocation
failures.

* Similified code in ast_frisolate() and code used by
ast_frisolate().

Change-Id: I79566d4d36b3d7801bf0c8294fcd3e9a86a2ed6d
2017-01-24 14:02:51 -06:00
Richard Mudgett
e922979d49 stasis_bridge.c: Fix off-nominal stasis control ref leak.
Change-Id: Ib17218343a6596832060180e19386da9df150ac8
2017-01-24 13:59:33 -06:00
Richard Mudgett
56854f22d2 res_musiconhold.c: Fix format ref leak when parsing MOH config class.
Change-Id: Ica8e8e2ce7604c2c61ec55bef07dc675361d2ea5
2017-01-24 13:56:12 -06:00
Richard Mudgett
d87f81ddb1 chan_oss.c: Fix format ref leak in oss_read().
Change-Id: I0a5d56c7dcf327d60f86a4c25a23571733709fd0
2017-01-24 13:39:27 -06:00
Richard Mudgett
36bdd7c1a0 Add notes about embedded ast_frame structs holding a format ref.
mod_format.h: Note ast_filestream.fr holds a format ref.

translate.h: Note ast_trans_pvt.f holds a format ref.

Change-Id: I86bda354d725207b41e08920355d7c31b2d7f749
2017-01-24 13:37:47 -06:00
Joshua Colp
f517c015e2 Merge "Free endpoint ACLs when destroying PJSIP endpoints." 2017-01-24 12:44:26 -06:00
Richard Mudgett
6f3e8c8e01 PJPROJECT logging: Fix detection of max supported log level.
The mechanism used for detecting the maximum log level compiled into the
linked pjproject did not work.  The API call simply stores the requested
level into an integer and does no range checking.  Asterisk was assuming
that there was range checking and limited the new value to the allowable
range.  To get the actual maximum log level compiled into the linked
pjproject we need to get and save off the initial set log level from
pjproject.  This is the maximum log level supported.

* Get and save off the initial log level setting before altering it to the
desired level on startup.  This has to be done by a macro rather than
calling a core function to avoid incorrectly linking pjproject.

* Split the initial log level warning messages to warn if the linked
pjproject cannot support the requested startup level and if it is too low
to get the pjproject buildopts for "pjproject show buildopts".

* Adjust the CLI "pjproject set log level" to check the saved max log
level and to generate normal output messages instead of a warning message.

ASTERISK-26743 #close

Change-Id: I40aa76653e2a1dece66c3f8734594b4f0471cfb4
2017-01-24 11:25:19 -06:00
George Joseph
a5d8761721 Merge "res_pjsip_endpoint_identifier_ip: Read settings before resolving." 2017-01-24 08:21:52 -06:00
Richard Mudgett
0ea3c371c5 res_pjsip_pubsub.c: Implement "pjsip show subscriptions" commands.
ASTERISK-23828 #close

Change-Id: Ifb8a3b61f447aedc58a8e6b36a810f7566018567
2017-01-23 18:07:04 -06:00
Mark Michelson
4bfeda6ee4 Free endpoint ACLs when destroying PJSIP endpoints.
If endpoint ACLs were specified, they were not being freed
when endpoints were destroyed. On systems with realtime endpoints, this
could add up quickly since each DB lookup would allocate the ACL without
freeing it.

ASTERISK-26731 #close
Reported by Ustinov Artem

Change-Id: Ie1f8bf5b7a0de628c975beba01e69c56893331ad
2017-01-23 16:22:34 -06:00
George Joseph
2481a55fba Merge "LISTFILTER: Remove outdated ERROR message." 2017-01-23 15:02:09 -06:00
zuul
697fde39ac Merge "res_pjsip_pubsub.c: Fix incorrect message string wrapping." 2017-01-23 14:07:49 -06:00
George Joseph
6691606723 ari: Implement 'debug all' and request/response logging
The 'ari set debug' command has been enhanced to accept 'all' as an
application name.  This allows dumping of all apps even if an app
hasn't registered yet.  To accomplish this, a new global_debug global
variable was added to res/stasis/app.c and new APIs were added to
set and query the value.

'ari set debug' now displays requests and responses as well as events.
This required refactoring the existing debug code.

* The implementation for 'ari set debug' was moved from stasis/cli.{c,h}
  to ari/cli.{c,h}, and stasis/cli.{c,h} were deleted.
* In order to print the body of incoming requests even if a request
  failed, the consumption of the body was moved from the ari stubs
  to ast_ari_callback in res_ari.c and the moustache templates were
  then regenerated.  The body is now passed to ast_ari_invoke and then
  on to the handlers.  This results in code savings since that template
  was inserted multiple times into all the stubs.

An additional change was made to the ao2_str_container implementation
to add partial key searching and a sort function.  The existing cli
code assumed it was already there when it wasn't so the tab completion
was never working.

Change-Id: Ief936f747ce47f1fb14035fbe61152cf766406bf
(cherry picked from commit 1d890874f3)
2017-01-23 10:25:58 -07:00
Tzafrir Cohen
f3f9175df0 test_voicemail_api: order of params to VERIFY macros
Fix order of parameters in calls to VM_API_INT_VERIFY and
VM_API_STRING_VERIFY

ASTERISK-26739 #close

Change-Id: I30dc6b36893aadad6012be3f16f93aa5720870d6
Note: status: builds. Not tested any further.
2017-01-23 11:14:58 -06:00
Joshua Colp
e2da0021b9 Merge "res_pjsip_pubsub.c: Fix AMI event list counts." 2017-01-23 11:10:25 -06:00
George Joseph
96e7291cbd pjproject_bundled: Fix setting max log level
An earlier attempt to prevent pjsua from spitting out an extra 6795
lines of debug output every time the testsuite called it was also
turning off the ability for asterisk to output debug info when it
needed to.  This patch reverts the earlier fix and instead adds
a pjproject patch that sets the startup log level to 1 for pjsua
pjsystest and the pjsua python binding.  This is an asterisk-only
patch that does not affect pjproject functionality and will not be
submitted upstream.

Change-Id: I347a8b58b2626f2906ccfc1d339e907627a0c9e8
2017-01-23 10:32:25 -06:00