summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-29Merge "pjsip_transport_events.c: Fix crash using stale transport pointer."Jenkins2
2018-03-29Merge "test_data_buffer.c: Add unit tests for data buffer API."Jenkins2
2018-03-29Merge "Add data buffer API to store packets."Jenkins2
2018-03-29Merge "core: fix getopt(3) usage"Jenkins2
2018-03-28pjsip_transport_events.c: Fix crash using stale transport pointer.Ross Beer
Apparently it is possible for the transport to be destroyed without triggering the transport callback logic. As a result the transport gets destroyed and we have a stale pointer in the active_transports container. * Invoke the transport monitor callback checks when the transport is destroyed in addition to when it is disconnected and shutdown. ASTERISK-27688 Change-Id: Ia9b5469fea8f2b3f2d8476fae6b748a4d23e7261
2018-03-28test_data_buffer.c: Add unit tests for data buffer API.Ben Ford
Added unit tests for the data buffer API. These tests include creating a data buffer, putting payloads into the buffer, resizing the buffer, and the nominal case for data buffer usage, which consists of adding the max number of payloads to the buffer, checking to see if the correct payloads are present, then adding more payloads and checking again to see if the previous payloads were replaced or not. For more information, refer to the wiki page: https://wiki.asterisk.org/wiki/display/AST/WebRTC+User+Experience+Improvements Change-Id: Id5b599aa15a5e61d0ec080f97cd0c57bd07e6f8f
2018-03-28Add data buffer API to store packets.Ben Ford
Adds a data buffer with a configurable size that can store different kinds of packets (like RTP packets for retransmission). Given a number it will store a data packet at that position relative to the others. Given a number it will retrieve the given data packet if it is present. This is purposely a storage of arbitrary things so it can be used not just for RTP packets but also Asterisk frames in the future if needed. The API does not internally use a lock, so it will be up to the user of the API to properly protect the data buffer. For more information, refer to the wiki page: https://wiki.asterisk.org/wiki/display/AST/WebRTC+User+Experience+Improvements Change-Id: Iff13c5d4795d52356959fe2a57360cd57dfade07
2018-03-28pjproject_bundled: Add patch for pj_atomic crashesGeorge Joseph
There have been some crashes in the past where something attempts to use a pj_atomic after it's already been destroyed. This patch tries to prevent it by making sure that pj_atomic_destroy sets its mutex to NULL when it's done. The pj_mutex functions already check for a NULL mutex and just return PJ_EINVAL. Teluu also added some checks to the win32 implementation as well. Change-Id: Id25f70b79fdedf44ead6e6e1763a4417d3b3f825
2018-03-27res_rtp_asterisk: Add support for raising additional RTCP messages.Joshua Colp
This change extends the existing AST_FRAME_RTCP frame type to be able to contain additional RTCP message types, such as feedback messages. The payload type is contained in the subclass which allows knowing what is in the frame itself. The RTCP feedback message type is now handled and REMB[1] messages are raised with their containing information. This also fixes a bug where all feedback messages were triggering video updates instead of just FIR and FUR. Finally RTCP frames are now passed up through the Asterisk core to what is handling the channel, mapped appropriately in the case of bridging, and written to an outgoing stream. Since RTCP frames are on a per-stream basis this is only done on multistream capable channels. [1] https://tools.ietf.org/html/draft-alvestrand-rmcat-remb-03 ASTERISK-27758 ASTERISK-26366 Change-Id: I680da0ad8d5059d5e9655d896fb9d92e9da8491e
2018-03-27main: Update copyright notice with year 2018Florian Floimair
Change-Id: I2d80bc5edf940fab914cba3d8a0fa0b5eb2a3148
2018-03-26Merge "loader: Reserve space for additional pointers in ast_module_info."Jenkins2
2018-03-26core: fix getopt(3) usageGuido Falsi
Setting optind = 0 is forced to 1 in glibc implementation, but causes option parsing to be flawed in other implementations, for example on FreeBSD. ASTERISK-27773 #close Change-Id: Ia548e69f8302e9754dbbedb6bc451c0700c66f61
2018-03-23install_prereq: Add Slackware (somehow).Alexander Traud
ASTERISK-27770 Change-Id: Ib87e0483c785542238cfe34c1e884d5a31edfaab
2018-03-23install_prereq: Add Gentoo Linux.Alexander Traud
ASTERISK-27769 Change-Id: Ieb13293cd67481f3a33f58f6f7c8c3ee1e338e7a
2018-03-23main/indications: Use ast_cli_completion_add for all completions.Corey Farrell
Change-Id: I371be01f178fb542a9fbe8d97e7ae21aa4d82c36
2018-03-22Merge "bridge_softmix: Clear "talking" when a channel is put on hold"HEADmasterJenkins2
2018-03-22app_originate: Add async option.Russell Bryant
Add an option to make app_originate not wait for the created channel to answer. Change-Id: I7fc2facd77079abc6321f44e8bcd4e39298de2ae Requested-by: Frederic Steinfels <fst@highdefinition.ch> Signed-off-by: Russell Bryant <russell@russellbryant.net>
2018-03-22BuildSystem: pjsip_evsub_set_uas_timeout was not used (part 2).Alexander Traud
The previous change was not complete. ASTERISK-27435 Change-Id: I11082c14c0ef9c6af8c995084a6851337ea2a90f
2018-03-22Merge "Revert "BuildSystem: In NetBSD, the Python Programming Language is ↵Jenkins2
python-X.Y.""
2018-03-22BuildSystem: With external editline, do not require libs for internal editline.Alexander Traud
ASTERISK-27761 Change-Id: Ib17a7415297a210cfcdbf149e4df9b6edadbfab6
2018-03-22core: Create main/options.c.Corey Farrell
This creates a separate source to 'own' symbols related to options.h and paths.h. This significantly reduces the number of exports created by main/asterisk.o. This change is required to eventually be able to link unmodified Asterisk sources to utilities and/or stand-alone tests. ASTERISK~26245 Change-Id: I5cf184f4757f9363b80c9e678bdc35c477122380
2018-03-21Revert "BuildSystem: In NetBSD, the Python Programming Language is python-X.Y."George Joseph
Something is causing a python2/python3 mismatch on Fedora27. PYTHON='/usr/bin/python2' PYTHONDEV_CFLAGS='-I/usr/include/python3.6m ' PYTHONDEV_INCLUDE='-I/usr/include/python3.6m ' PYTHONDEV_LIB='-lpython3.6m ' PYTHONDEV_LIBS='-lpython3.6m ' This reverts commit be0e9920b64e3b07501b299d131309b58f9b0ddf. Change-Id: I86dd102eb3ead199fe89178cdbadb36b4e2cfd1b
2018-03-21Merge "core: Stop using AST_INLINE_API for allocator functions."Jenkins2
2018-03-21Merge "rtp: Add REMB RTP property and set it on PJSIP video RTP."Jenkins2
2018-03-21Merge "chan_sip: Peers with distinct source ports don't match, regardless of ↵Jenkins2
transport."
2018-03-21Merge "func_channel: Delete dead CHANNEL_TRACE code"Jenkins2
2018-03-20loader: Reserve space for additional pointers in ast_module_info.Corey Farrell
This creates 4 reserved pointers in case we need additional dependency management fields. Change-Id: If991ec99b779df1b2dfbd38ce1a0cd79f9e01821
2018-03-20bridge_softmix: Clear "talking" when a channel is put on holdKevin Harwell
This patch clears the talking flag from the channel (if already set), and notifies listeners when that channel is put on hold. Note however, if the endpoint continues to send audio frames and these are received by the bridge then that channel will be put back into a "talking" state even though they are on hold. ASTERISK-27755 #close Change-Id: I930e16c4662810f9f02043d69062f88173c5e2ef
2018-03-20BuildSystem: For consistency, avoid extra libs to be empty.Alexander Traud
AST_EXT_LIB_CHECK has several optional parameters. When an optional parameter is left empty, [] is used to indicate this. However, this is done in the script ./configure only then, when a further parameter is not empty. For example, when no extra libraries are needed to test the checked library, parameter 5 is not mentioned. Except parameter 6 and higher are used, then parameter 5 must be empty. However, this general rule was broken * four times for parameter 5 (extra libs) and * three times for parameter 4 (header) as found via the Regular Expression \[\]\). In case of parameter 5, all cases were changed, because that happened for no reason. In case of parameter 4, an [] improves readability actually. Therefore for parameter 4, the only case which did not do it was changed. All this aims to create more consistency: Only do something different if there is a reason to do so. Change-Id: I037ef170cf1ad94497151a9ea5071a31c656cafe
2018-03-20Merge "core: Remove additional symbols."Joshua Colp
2018-03-20Merge "core: Remove dead symbols from asterisk.exports.in."Jenkins2
2018-03-20Merge "channel.c: Allow generic plc then channel formats are equal"Jenkins2
2018-03-20Merge "BuildSystem: In NetBSD, the Python Programming Language is python-X.Y."George Joseph
2018-03-20Merge "BuildSystem: Instead of $PJPROJECT_LIBS with s, use $PJPROJECT_LIB ↵Jenkins2
everywhere."
2018-03-20Merge "main/sounds: Use ast_cli_completion_add."Jenkins2
2018-03-20func_channel: Delete dead CHANNEL_TRACE codeIvan Poddubny
The functions behind the flag and the flag itself were removed from Asterisk 12 as incompatible with the new architecture. Change-Id: I058493ef7a53ee290fd225bbcbb07bf46b623ccf
2018-03-20Merge "named_acl: Use ast_cli_completion_add."Joshua Colp
2018-03-20Merge "manager: Use ast_cli_completion_add for completion generators."Joshua Colp
2018-03-20Merge "main/test: Use ast_cli_completion_add."Joshua Colp
2018-03-20Merge "core: Minor cleanup of ast_el_read_char."Jenkins2
2018-03-20Merge "aco: Use ast_cli_completion_add for 'config show help'."Joshua Colp
2018-03-20Merge "main/config: Use ast_cli_completion_add for reload completion."Jenkins2
2018-03-20Merge "main/translate: Use ast_cli_completion_add."Jenkins2
2018-03-20Merge "main/taskprocessor: Use ast_cli_completion_add."Joshua Colp
2018-03-20Merge "main/bridge: Use ast_cli_completion_add."Jenkins2
2018-03-20Merge "stringfields: Remove MALLOC_DEBUG fields from struct ↵Jenkins2
ast_string_field_mgr."
2018-03-20Merge "BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD."Jenkins2
2018-03-20Merge "BuildSystem: Remove unused dependency on libltdl."Joshua Colp
2018-03-20Merge "BuildSystem: Check for header file of OGG."Joshua Colp
2018-03-19core: Remove additional symbols.Corey Farrell
Remove symbols that are depreacated and replaced: * ast_channel_datastore_alloc * ast_channel_datastore_free * ast_channel_cmpwhentohangup * ast_channel_setwhentohangup * config_text_file_save * devstate2str * ast_device_state_changed * ast_device_state_changed_literal * ast_verbose_get_by_module Remove unused symbols: * channelreloadreason2txt (last used in Asterisk 12). Remove unused ast_options flags: * AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN / ast_opt_end_cdr_before_h_exten * AST_OPT_FLAG_VERBOSE_MODULE / ast_opt_verb_module * AST_OPT_FLAG_INITIATED_SECONDS Change-Id: I841255995d195f8efc1ed47af9c7a2f131c08645