summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-01SDP: Add initial SDP state machine.Mark Michelson
This introduces and documents the various states in the state machine. This also introduces API functions that induce state changes, and places TODO comments telling what needs to be done in addition to what is already there. Those TODOs will be replaced with real code in upcoming changes. Change-Id: I871c0eb480b4c84d83e91ac5628e7a673e8b89ed
2017-03-01Merge "media_cache: Mark cache entry stale if cache file is removed"Joshua Colp
2017-02-28Merge "res_config_pgsql: Release table locks where appropriate"Joshua Colp
2017-02-28Merge "res_pjsip_outbound_registration: Subscribe to network change events"Joshua Colp
2017-02-28Merge "build: Warn if asterisk is installed in both 32 and 64 bit sys dirs"Joshua Colp
2017-02-28Merge "res_pjsip_pubsub: Remove unneeded endpoint unref"Joshua Colp
2017-02-28Merge "bridge_native_rtp: Handle case where channel joins already suspended."zuul
2017-02-28media_cache: Mark cache entry stale if cache file is removedSean Bright
In the event that a cache file is removed out from under us, we should treat the cache entry as stale and force a refresh. ASTERISK-26774 #close Reported by: Igor Gamayunov Change-Id: I3b1bd0c999d59d18664ef73a29823bc5b431dc52
2017-02-28Merge "config: Improve documentation and behavior of outbound_proxy option."Joshua Colp
2017-02-28Merge "res_pjsip: Fix crash when contact has no status"Joshua Colp
2017-02-28res_config_pgsql: Release table locks where appropriateSean Bright
The find_table() functions NULL or a locked table pointer. We are not consistently calling release_table() in failure paths. Change-Id: I6f665b455799c84b036e5b34904b82b05eab9544
2017-02-28pjsip.conf.sample: user_agent: not a specific versionTzafrir Cohen
Use the description of useragent from sip.conf here. ASTERISK-26825 #close Change-Id: I5b33a4aaa0ae1d793289d05e3bc09521affbf755
2017-02-27res_pjsip_pubsub: Remove unneeded endpoint unrefGeorge Joseph
When a subscription was being recreated and the endpoint wasn't found, we were trying to unref the endpoint. This was causing FRACKs. Removed the unref. ASTERISK-26823 #close Change-Id: If86d2aecff8fe853c7f38a1bfde721fcef3cd164
2017-02-27res_pjsip: Fix crash when contact has no statusJørgen H
This change fixes an assumption in res_pjsip that a contact will always have a status. There is a race condition where this is not true and would crash. The status will now be unknown when this situation occurs. ASTERISK-26623 #close Change-Id: Id52d3ca4d788562d236da49990a319118f8d22b5
2017-02-27res_pjsip_outbound_registration: Subscribe to network change eventsGeorge Joseph
Outbound registration now subscribes to network change events published by res_stun_monitor and refreshes all registrations when an event happens. The 'pjsip send (un)register' CLI commands were updated to accept '*all' as an argument to operate on all registrations. The 'PJSIP(Un)Register' AMI commands were also updated to accept '*all'. ASTERISK-26808 #close Change-Id: Iad58a9e0aa5d340477fca200bf293187a6ca5a25
2017-02-27build: Warn if asterisk is installed in both 32 and 64 bit sys dirsGeorge Joseph
... and clean them both up on uninstall. We've fixed the issue where 'make install' was installing to /usr/lib on 64-bit systems that use /usr/lib64. Now we need to clean up the remnants in /usr/lib. * 'make install' now prints a warning if DESTDIR/ASTLIBDIR contains 'lib64' and libasterisk* shared libraries or modules are also found in DESTDIR/ASTLIBDIR with 'lib64' transformed to 'lib'. * 'make uninstall' ALWAYS cleans up both DESTDIR/ASTLIBDIR and DESTDIR/ASTLIBDIR with 'lib64' transformed to 'lib'. ASTERISK-26705 Change-Id: I6edddeb3c07a51e7c7ba7cac3c05e4bf3ec3f01f
2017-02-27bridge_native_rtp: Handle case where channel joins already suspended.Joshua Colp
The bridge_native_rtp module did not properly handle the case where a smart bridge operation occurs while a channel is suspended. In this scenario the module would incorrectly set up local or remote RTP bridging despite the media having to flow through Asterisk. The remote endpoint would see two media streams and experience wonky audio. The module has been changed so that it ensures both channels are not suspended when performing the native RTP bridging and this requirement has been documented in the bridge technology. ASTERISK-26781 Change-Id: Id4022d73ace837d4a293106445e3ade10dbc7c7c
2017-02-27Merge "channel: Add ast_read_stream function for reading frames from all ↵George Joseph
streams."
2017-02-24Merge "Binaural synthesis (confbridge): DTMF conference management."zuul
2017-02-24Binaural synthesis (confbridge): DTMF conference management.frahaase
DTMF configuration options for the binaural softmix bridge: toggle binaural rendering (per channel). ASTERISK-26292 Change-Id: Ibfe708b9fe26097c1798fcbfcc4dc461267d8af8
2017-02-24config: Improve documentation and behavior of outbound_proxy option.Joshua Colp
This change updates the documentation for the outbound_proxy option to ensure it is consistently stated that a full SIP URI must be provided for the option. The res_pjsip_outbound_registration module has also been changed so that the provided outbound_proxy value is checked to ensure it is a URI and if not an error is output stating so. ASTERISK-26782 Change-Id: I6c239a32274846fd44e65b44ad9bf6373479b593
2017-02-24Merge "pjproject_bundled: Update for pjproject 2.6"Joshua Colp
2017-02-24Merge "Binaural synthesis (confbridge): Adds binaural synthesis to ↵Joshua Colp
bridge_softmix."
2017-02-24Merge "build: Execute ldconfig to build cache. (take two)"zuul
2017-02-24Merge "channel: Add support for writing to a specific stream."zuul
2017-02-24channel: Add ast_read_stream function for reading frames from all streams.Joshua Colp
This change introduces an ast_read_stream function and callback in the channel technology which allows reading frames from all streams and not just the default streams. The stream number has also been added to frames. This is to allow the case where frames are queued onto the channel instead of being read directly from the driver. This change does impose a restriction on reading though: a chain of frames can only contain frames from the same stream. ASTERISK-26816 Change-Id: I5d7dc35e86694df91fd025126f6cfe0453aa38ce
2017-02-23pjproject_bundled: Update for pjproject 2.6George Joseph
* Removed all 2.5.5 functional patches. * Updated usages of pj_release_pool to be "safe". * Updated configure options to disable webrtc. * Updated config_site.h to disable webrtc in pjmedia. * Added Richard Mudgett's recent resolver patches. Change-Id: Ib400cc4dfca68b3d07ce14d314e829bfddc252c7
2017-02-23build: Execute ldconfig to build cache. (take two)George Joseph
On some platforms a multiarch approach is used for libraries. The build system does not take this into account and still places libraries into the lib directory if no --libdir is specified to configure. On initial startup this results in libasteriskssl.so not being found, as it is not in the multiarch lib directory. To make matters worse, options were being passed to ldconfig on both Linux and FreeBSD that actually prevented the rebuild of the cache. * Fedora has a /usr/share/config.site that automatically tells autoconf to use /usr/lib64 but CentOS does not. This logic was copied to configure.ac and modified so systems like Ubuntu, which still use /usr/lib for 64-bit systems, aren't affected. Now that we have them in the correct directory... In order for the system loader to find libasteriskssl and libasteriskpj, one of 3 things has to happen... - The linker cache must be rebuilt including the directory where the libasterisk* libraries were installed. Only root can rebuild the cache. This was busted. - We have to link the asterisk binary with an rpath pointing to the directrory where the libasterisk* libraries were installed. This makes things very complicated and will happen over the collective dead bodies of everyone who's had to package a distribution with an rpath. - Finally, you can start asterisk with LD_LIBRARY_PATH set to the directrory where the libasterisk* libraries were installed. There are no other options. So... * The invokation of ldconfig has been moved from main/Makefile to ASTTOPDIR/Makefile, the options have been removed, and DESTDIR/ASTLIBDIR appended. If you aren't root, you will be warned after the "Asterisk Installation Compete" banner that you must re-run 'make install' as root, manually run 'ldconfig DESTDIR/ASTLIBDIR' as root, or run asterisk with LD_LIBRARY_PATH. ASTERISK-26705 Change-Id: I2a64b7c33a7d3e9bde20f47e3d3ab771977af982
2017-02-23res_config_pgsql: Fix thread safety problemsSean Bright
* A missing AST_LIST_UNLOCK() in find_table() * The ESCAPE_STRING() macro uses pgsqlConn under the hood and we were not consistently locking before calling it. * There were a handful of other places where pgsqlConn was accessed directly without appropriate locking. Change-Id: Iea63f0728f76985a01e95b9912c3c5c6065836ed
2017-02-23Merge "res_config_ldap: Various code improvements"Joshua Colp
2017-02-23channel: Add support for writing to a specific stream.Joshua Colp
This change adds an ast_write_stream function which allows writing a frame to a specific media stream. It also moves ast_write() to using this underneath by writing media frames provided to it to the default streams of the channel. Existing functionality (such as audiohooks, framehooks, etc) are limited to being applied to the default stream only. Unit tests have also been added which test the behavior of both non-multistream and multistream channels to confirm that the write() and write_stream() callbacks are invoked appropriately. ASTERISK-26793 Change-Id: I4df20d1b65bd4d787fce0b4b478e19d2dfea245c
2017-02-23Binaural synthesis (confbridge): Adds binaural synthesis to bridge_softmix.frahaase
Adds binaural synthesis to bridge_softmix (via convolution using libfftw3). Binaural synthesis is conducted at 48kHz. For a conference, only one spatial representation is rendered. The default rendering is applied for mono-capable channels. ASTERISK-26292 Change-Id: Iecdb381b6adc17c961049658678f6219adae1ddf
2017-02-22res_config_ldap: Various code improvementsSean Bright
The initial motivation for this patch was to properly handle memory allocation failures - we weren't checking the return values from the various LDAP library allocation functions. In the process, because update_ldap() and update2_ldap() were substantially the same code, they've been consolidated. Change-Id: Iebcfe404177cc6860ee5087976fe97812221b822
2017-02-22build_tools: Fix download_externals to allow the use of curl or wgetMichael L. Young
Not sure if this is really a bug versus an improvement. I can see it being viewed as a bug though by some. The current build_tools/download_externals file depends on wget in order to download external modules. The current build system is able to discover which tool to use for fetching remote files - either wget or curl. This patch takes advantage of this capability by modifying the two calls to the wget binary to instead use what was discovered by the build system. ASTERISK-26812 #close Change-Id: If9411a2554f009274d377445613ae91192d948a1
2017-02-22Merge "Revert "build: Execute ldconfig to build cache.""zuul
2017-02-22Merge "pbx_realtime: Prevent premature extension matching"zuul
2017-02-22Merge "core: Show streams in "core show channel"."zuul
2017-02-22Revert "build: Execute ldconfig to build cache."Joshua Colp
This reverts commit 28c8e4f58f0f38792c7c79a05bd07788ebf15332. Change-Id: Ie2e1aaf61fd49045994974a4581545ac8348fe4c
2017-02-22Merge "Add initial SDP state code."Joshua Colp
2017-02-22pbx_realtime: Prevent premature extension matchingSean Bright
The patterns provided by pbx_realtime were checked in the order in which they were returned from the realtime backend. If there was overlap between multiple patterns, the first one to correctly match was chosen even though it may not have been the best match. We now sort the patterns descending by their length and compare in that order. There may be cases where this still results in a sub-optimal match, but this patch should improve the overall behavior. ASTERISK-18271 #close Reported by: Charlie Smurthwaite Change-Id: I56d9ac15810eb1775966b669c3028e32cc7bd809
2017-02-22Merge "pbx_dundi: DUNDi weight parameter not processed correctly"zuul
2017-02-22Merge "realtime: Fix ast_load_realtime_multientry handling"zuul
2017-02-22core: Show streams in "core show channel".Joshua Colp
The "core show channel" CLI command will now output the streams present on the channel with their details. ASTERISK-26811 Change-Id: I9c95b57aa09415005f0677a1949a0feb07e4987a
2017-02-22Merge "realtime: Centralize some common realtime backend code"Joshua Colp
2017-02-21Merge "res_pjsip_authenticator_digest.c: Fix sorcery's immutable contract ↵zuul
violation."
2017-02-21Merge "res_pjsip: Update artificial auth whenever default_realm changes."zuul
2017-02-21Merge "res_pjsip: Update authentication realm documentation."zuul
2017-02-21Merge "pjproject: Fixes to resolve DNS SRV crashes."zuul
2017-02-21Merge "pjproject: Increase SENDER_WIDTH column size for 64-bit system logs."zuul
2017-02-21Merge "pjsip_distributor.c: Update some debug messages to get transaction name."zuul