- May 07, 2015
-
-
Matt Jordan authored
-
Matt Jordan authored
-
Joshua Colp authored
-
- May 06, 2015
-
-
Kevin Harwell authored
Creating a snoop channel in ARI and spying only on a single direction (in or out) results in CPU utilization continually increasing until the CPU is fully consumed. This occurs because frames are being put in the opposing direction's slin factory queue, but not being removed. Fixed the problem by always reading and disposing of frames from the opposite queue of the direction selected. ASTERISK-24938 #closes Change-Id: I935bfd15f1db958f364d9d6b3b45582c0113dd60
-
Richard Mudgett authored
ASTERISK-25034 Reported by: Richard Mudgett Change-Id: I1ff8f02124d2f4abd632a050da52c64285bb7f30
-
Joshua Colp authored
-
Matt Jordan authored
-
Matt Jordan authored
-
Joshua Colp authored
Change-Id: I26d4d2cb9cee924632ff59ef0b30a7e6a1e2b00d
-
Matt Jordan authored
-
- May 05, 2015
-
-
Richard Mudgett authored
A crash happens with this sequence of steps: 1) Party A is connected to party B. 2) Party B starts a DTMF attended transfer. 3) Party A hangs up while party B is dialing party C. When party A hangs up the bridge that party A and party B are in is dissolved and party B is kicked out of the bridge. When party B finishes dialing party C he attempts to move to the new bridge with party C. Since party B is no longer in a bridge the attempted move dereferences a NULL bridge_channel pointer and crashes. * Made the hold(), unhold(), ringing(), and the bridge_move() functions tolerant of the channel not being in a bridge. The assertion that party B is always in a bridge is not true if the bridged peer of party B hangs up and dissolves the bridge. Being tolerant of not being in a bridge allows the peer hangup stimulus to be processed by the FSM. * Made the bridge_move() function return void since where the return value for a failed move was checked generated a FSM coding ERROR message for a normal off-nominal condition. * Eliminated most uses of RAII_VAR in bridge_basic.c. ASTERISK-25003 #close Reported by: Artem Volodin Change-Id: Ie2c1b14e5e647d4ea6de300bf56d69805d7bcada
-
Ivan Poddubny authored
This patch fixes EXITWITHTIMEOUT queue_log entry to always come with 3 parameters: position, original position and waiting time. ASTERISK-25038 #close Reported by: Etienne Lessard Change-Id: I0c62045922e26bee2125e93aee1dee17eee79618
-
Joshua Colp authored
Change-Id: I57081045c72b9fcf12d5c84493278f9272c31b32
-
Matt Jordan authored
-
Matt Jordan authored
-
Joshua Colp authored
-
Corey Farrell authored
Missed this module in the previous commit. res_ari_bridges uses symbols from res_stasis_playback and res_stasis_recording. ASTERISK-25027 #close Reported by: Corey Farrell Change-Id: I90bf756abd25adfc4920d2869ebe7feb636b8c5f
-
Corey Farrell authored
Switch manager actions in pbx_config to use the registration macro that passes the module pointer, allowing pbx_config reference to be bumped while the manager actions run. ASTERISK-25061 #close Reported by: Corey Farrell Change-Id: I422c50dd74814616ac10c5e9c6598a0b1bc2c44e
-
Joshua Colp authored
A recent change went into Asterisk which added reference counts to the channels stored in a dial masquerade datastore. Unfortunately this included a reference to the caller in a dialing operation. While all of the dialed targets have the datastore removed from them upon dialing completion this did not occur for the caller, causing it to have a reference to itself that could go never go away (as it depended on the destruction of the datastore which only happened when the channel was destroyed). This resulted in the caller channel remaining on the system despite it having hung up. This change does the following to fix this issue: 1. The dial masquerade datastore is now removed from the caller upon dialing completion, just like the dialed targets. 2. Upon destruction of the caller all the dialed targets are also removed from the dial masquerade datastore (just in case). 3. The reference to the caller has been removed as it should not be possible for the datastore to now be valid/useful after the lifetime of the caller has ended. ASTERISK-25025 #close Change-Id: I1ef4ca5ca04980028604cc2af5d2992ac3431b3f
-
George Joseph authored
Renamed AST_VECTOR_INSERT to AST_VECTOR_REPLACE because it really does replace not insert. The few users of AST_VECTOR_INSERT were refactored. Because these are macros, there should be no ABI compatibility issues. Added AST_VECTOR_INSERT_AT that actually inserts an element into the vector at a specific index pushing existing elements to the right. Added AST_VECTOR_GET_CMP that can retrieve from the vector based on a user-provided compare function. Added AST_VECTOR_CALLBACK function that will execute a function for each element in the vector. Similar to ao2_callback and ao2_callback_data functions although the vector callback can take a variable number of arguments. This should allow easy migration to a vector where a container might be too heavy. Added read/write locked vector and lock manipulation macros. Added unit tests. ASTERISK-25045 #close Change-Id: I2e07ecc709d2f5f91bcab8904e5e9340609b00e0
-
- May 04, 2015
-
-
Corey Farrell authored
This adds a test that will fail if any test failed to register. Also fail if any test registration produced a warning about missing a leading or trailing slash. ASTERISK-25053 #close Reported by: Corey Farrell Change-Id: I93e50b8fcbcfa7f1f5b41b2c44a51685c09529c3
-
Matt Jordan authored
-
Matt Jordan authored
-
Matt Jordan authored
-
Matt Jordan authored
-
Martin Tomec authored
Apply the negative connection cache setting to all connections, even those that are not pooled. This ensures that the connection will not be re-established before the negative connection cache time is met. ASTERISK-22708 #close Change-Id: I431cc2e8584ab0b6908b3523d0a0e18c9a527271
-
Matt Jordan authored
-
Matt Jordan authored
-
Corey Farrell authored
Format interfaces cannot be unregistered, so the modules that provide them need to be held open except by shutdown. ASTERISK-25054 #close Reported by: Corey Farrell Change-Id: Iadbd9675bf0d30b8fded5a739b163db3ea2db8f3
-
Matt Jordan authored
The upgrade script for auto DTMF mode (31cd4f4891ec) added in 88b0fa77 failed to add ENUM support for Postgres databases. This requires a specific import from the sqlalchemy.dialects.postgresql package. This patch corrects this error, which allows for Postgres update scripts to be generated. ASTERISK-24706 Change-Id: I4742ac8efa533cd6f18e0bdd907b339a9aedf015
-
- May 03, 2015
-
-
Corey Farrell authored
ASTERISK-25053 Reported by: Corey Farrell Change-Id: I8c0375dd0818747b2d2e1ceaea87bfbeb2daf8d4
-
Joshua Colp authored
-
Matt Jordan authored
-
Diederik de Groot authored
Created autoconf/ast_check_raii.m4: contains AST_CHECK_RAII which checks compiler requirements for RAII: gcc: -fnested-functions support clang: -fblocks (and if required -lBlocksRuntime) The original check was implemented in configure.ac and now has it's own file. This function also sets C_COMPILER_FAMILY to either gcc or clang for use by makefile Created autoconf/ast_check_strsep_array_bounds.m4 (contains AST_CHECK_STRSEP_ARRAY_BOUNDS): which checks if clang is able to handle the optimized strsep & strcmp functions (linux). If not, the standard libc implementation should be used instead. Clang + the optimized macro's work with: strsep(char *, char []), but not with strsepo(char *, char *). Instead of replacing all the occurences throughout the source code, not using the optimized macro version seemed easier See 'define __strcmp_gc(s1, s2, l2) in bits/string2.h': llvm-comment: Normally, this array-bounds warning are suppressed for macros, so that unused paths like the one that accesses __s1[3] are not warned about. But if you preprocess manually, and feed the result to another instance of clang, it will warn about all the possible forks of this particular if statement. Instead of switching of this optimization, another solution would be to run the preproces- sing step with -frewrite-includes, which should preserve enough information so that clang should still be able to suppress the diag- nostic at the compile step later on. See also "https://llvm.org/bugs/show_bug.cgi?id=20144" See also "https://llvm.org/bugs/show_bug.cgi?id=11536" Makefile.rules: If C_COMPILER_FAMILY=clang then add two warning suppressions: -Wno-unused-value -Wno-parentheses-equality In an earlier review (reviewboard: 4550 and 4554), they were deemed a nuisace and less than benefitial. configure.ac: Added AST_CHECK_RAII() see earlier Added AST_CHECK_STRSEP_ARRAY_BOUNDS() see earlier Removed moved content ASTERISK-24917 Change-Id: I12ea29d3bda2254ad3908e279b7effbbac6a97cb
-
Rodrigo Ramírez Norambuena authored
This patch adds a new option to cdr.conf, 'newcdrcolumns', that will handle CDR columns added in Asterisk 1.8. The columns are: * peeraccount * linkedid * sequence When enabled, the columns in the database entry will be populated with the data from the CDR. ASTERISK-24976 #close Change-Id: I51a57063f4ae5e194a9d933a8df45dc8a4534f0b
-
Matt Jordan authored
-
Corey Farrell authored
A few cases exist where headers of optional_api provders are included but not needed. This causes unneeded calls to ast_optional_api_use. * Don't include optional_api.h from sip_api.h. * Move 'struct ast_channel_monitor' to channel.h. * Don't include monitor.h from chan_sip.c, channel.c or features.c. The move of struct ast_channel_monitor is needed since channel.c depends on it. This has no effect on users of monitor.h since channel.h is included from monitor.h. ASTERISK-25051 #close Reported by: Corey Farrell Change-Id: I53ea65a9fc9693c89f8bcfd6120649bfcfbc3478
-
- May 02, 2015
-
-
Matt Jordan authored
-
Matt Jordan authored
-
Corey Farrell authored
Removed the extra space before "MODULEINFO" in res_pjsip_dlg_options. This extra space prevented any of the dependencies from being seen by menuselect, so building with default options would fail if PJSIP was not installed. This also makes the tool that extracts information for menuselect tolerant of multiple spaces in the future. ASTERISK-25033 #close Reported by: Peter Whisker Change-Id: Iccd54846f70c4a7a50cb5bf70b7bb5cb4bab3698
-