summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-17app_queue: Add QueueUpdate application.Sebastian Gutierrez
Add an application that allows tracking outbound calls using app_queue. ASTERISK-19862 Change-Id: Ia0ab64aed934c25b2a25022adcc7c0624224346e
2017-01-09Merge "res_pjsip_endpoint_identifier_ip: Add support for SRV lookups."zuul
2017-01-09Merge "chan_sip: Remember SDP negotiation on SIP_CODEC_INBOUND."zuul
2017-01-09Merge "res_pjsip: Fix known compact header issues"Joshua Colp
2017-01-09Merge changes from topic 'ASTERISK-26672'Joshua Colp
* changes: res_rtp_asterisk.c: Fix uninitialized memory crash. chan_rtp.c: Fix uninitialized memory crash. res_rtp_asterisk.c: Initialize ourip passed to ast_find_ourip().
2017-01-08pjproject_bundled: Fix compilation with MALLOC_DEBUGGeorge Joseph
When MALLOC_DEBUG was specified, make was failing. Immediately remaking would work. The issues was in the ordering of the make dependencies. Change-Id: If6030b54fc693f3179f32bfd20c6b5d5f1b3f7cd
2017-01-06res_pjsip_endpoint_identifier_ip: Add support for SRV lookups.Joshua Colp
This change implements SRV support for the IP based endpoint identifier module. All possible addresses through SRV are looked up and added as matches. If no SRV records are available a fallback to normal host resolution is done. If an IP address is provided then no SRV lookup occurs. This is configured using the "srv_lookups" option on the identify section and defaults to "yes". ASTERISK-26693 Change-Id: I6b641e275bf96629320efa8b479737062aed82ac
2017-01-05Merge "core/pbx: dialplan show - display filename/line#"zuul
2017-01-05Merge "res_pjsip_session: Access SIPDOMAIN via Dialplan."Joshua Colp
2017-01-04Merge "acl.c: Improve ast_ouraddrfor() diagnostic messages."George Joseph
2017-01-04Merge "chan_pjsip: Use session for retrieving CHANNEL() information."George Joseph
2017-01-04core/pbx: dialplan show - display filename/line#Jonathan R. Rose
Adds the ability for extensions to be registered to include filename and line number so that dialplan show output can show the filename and line number of a config file responsible for generating a given extension. This only affects config modules that are written to use the new extension registering functions. In this patch, that only includes pbx_config, so extensions registered in extensions.conf and any included extension will be shown in this manner. Extensions registered in this manner will show the filename and line number *instead* of the registrar. ASTERISK-26658 #close Reported by: Jonathan R. Rose Change-Id: Ieccc6abccdff34ed5c7da3511fd24972b8f2dd30
2017-01-04res_pjsip_session: Access SIPDOMAIN via Dialplan.Alexander Traud
This feature was available in the SIP channel driver chan_sip. For example, Asterisk is the outbound proxy and has to handle all SIP-URIs, even domains not local to Asterisk. In that case, SIPDOMAIN is used in the Dialplan, to detect and dial remote SIP-URIs. This change here sets the SIP destination domain of an inbound call (SIPDOMAIN) in the SIP channel driver res_pjsip as well. ASTERISK-26670 #close Change-Id: I27c880dc404a3c1c6792e1ba3545475339577243
2017-01-04chan_sip: Remember SDP negotiation on SIP_CODEC_INBOUND.Alexander Traud
After a SIP_CODEC_INBOUND in the dialplan, do not continue with cached formats but remember the joint format. Cached formats contain default parameters, often create an empty fmtp line. However, a joint format might have passed format_get_joint(.) in a res_format_attr_* module (like Opus Codec) and contain the resulting format parameters from a SDP negotiation. ASTERISK-26691 #close Change-Id: I35712d98a793d4c3efdd156cec57deab9014b1dc
2017-01-03pjproject_bundled: Compile pjsua with max log level = 2George Joseph
A while back, we changed config_site.h to set PJ_LOG_MAX_LEVEL = 6. This allowed us to control the log level better from inside Asterisk. An unfortunate side effect of this was that the pjsua binary and python bindings were also compiled with log level set to 6 so whenever a testsuite test that uses pjsua runs, it spits out 6795 lines of debug in an instant even before the test starts. I believe this overruns the Jenkins capture buffer and prevents the test from properly terminating. In turn, this results in the testsuite just hanging until the job is killed. It's more frequent on the higher end agents because they can spit out the messages faster. Unfortunately, the messages are all spit out before we have control of the python pj.Lib instance where we can set logging levels so the only alternative was to actually compile pjsua and _pjsua.so with an overridden PJ_LOG_MAX_LEVEL. Although defining a lower max level was done in the Makefile, the define in config_site.h had to be wrapped with "#ifndef" so the change would take effect. Change-Id: I2af9e7d48dde1927279c586c9c725d868fe6f3ff
2017-01-03Merge "bridge_native_rtp.c: Minor code cleanups."Joshua Colp
2017-01-03Merge "bridge_native_rtp.c: Fix native rtp bridge data race."Joshua Colp
2017-01-03chan_pjsip: Use session for retrieving CHANNEL() information.Joshua Colp
The CHANNEL() dialplan function implementation for PJSIP allows querying of PJSIP specific information. This used the channel passed in to get the PJSIP session and associated information. It is possible for this channel to be masqueraded and end up as a different channel type by the time the information request is actually acted upon. This change retrieves the PJSIP session safely and accesses data from it (including channel). This provides a guarantee that the session and channel will not be altered when the request is being acted upon. ASTERISK-26673 Change-Id: I335e12b89e1820cafdd92b3e7526b8ba649eb7e6
2016-12-31res_pjsip: Fix known compact header issuesJoshua Elson
ASTERISK-26684 #close Change-Id: Ifd7e401c45015119dd5e8421dbfe3afa6381744a
2016-12-30res_pjsip_refer: Handle compact Refer-To header.George Joseph
refer_incoming_refer_request needed to look for the "r" header as well as the "Refer-To" header. ASTERISK-26655 #close patches: refer_compact_fix.diff submitted by JoshE (license 6075) Change-Id: I610410a99b02427ea5db887aeb454d5f12c2259f
2016-12-23bridge_native_rtp.c: Minor code cleanups.Richard Mudgett
In native_rtp_bridge_compatible_check() * Made one variable declaration per line. * Extracted if test assignment to make the test easier to see. * Made long if tests easier to see the combinatorial logic. * Added bridge id to a couple debug messages. Change-Id: I65bc5732aa7c9a2537f062f106fbea711cf2daad
2016-12-23bridge_native_rtp.c: Fix native rtp bridge data race.Richard Mudgett
native_rtp_bridge_compatible() didn't lock the bridge channels before checking the channels for native bridging ability. As a result, one of the channel's native format capabilities structure got replaced out from under the native bridge check. Use of a stale pointer to freed memory causes bad things to happen. MALLOC_DEBUG, DO_CRASH, and the tests/channels/pjsip/transfers/blind_transfer/caller_direct_media testsuite test caught this. * Add missing channel locking in native_rtp_bridge_compatible(). Change-Id: If25fdb3ac8e85563c4857fb8216b3d9dc3d0fa53
2016-12-22res_rtp_asterisk.c: Fix uninitialized memory crash.Richard Mudgett
ast_rtp_remote_address_set() could pass an uninitialized 'us' parameter to ast_ouraddrfor(). If ast_ouraddrfor() returns an error then the 'us' parameter may not get initialized. Thus when the code tries to save the 'us' parameter to the local address we could try to copy a ridiculous sized memory buffer and segfault. * Made pass an initialized 'us' parameter to ast_ouraddrfor(). * Optimized out the 'us' struct variable. ASTERISK-26672 #close Change-Id: I4acea5dcdf0813da2c7d3e11c2d6067d160d17dc
2016-12-22acl.c: Improve ast_ouraddrfor() diagnostic messages.Richard Mudgett
* Made not generate strings unless they will actually be used. ASTERISK-26672 Change-Id: I155fbe7fdff5ce47dfe5326f3baf5446849702c3
2016-12-22chan_rtp.c: Fix uninitialized memory crash.Richard Mudgett
unicast_rtp_request() could pass an uninitialized 'us' parameter to ast_ouraddrfor(). If ast_ouraddrfor() returns an error then the 'us' parameter may not get initialized. Thus when the code tries to save the 'us' parameter to the local address we could try to copy a ridiculous sized memory buffer and segfault. * Made pass an initialized 'us' parameter to ast_ouraddrfor() and abort the UnicastRTP channel request if it fails. ASTERISK-26672 Change-Id: I1ef7a7c09f4da4f15dcb6de660d2bcac5f2a95c0
2016-12-22res_rtp_asterisk.c: Initialize ourip passed to ast_find_ourip().Richard Mudgett
We access uninitialized memory when the 'ourip' parameter does not have an initial guess to our IP address. ASTERISK-26672 Change-Id: I35507ea1ad7455d2be188f6ccdd4add7bd150e15
2016-12-21Merge "Fixes to various issues reported by pyflakes"Joshua Colp
2016-12-21res_rtp_asterisk.c: Fix off nominal memory leak.Richard Mudgett
Change-Id: I95b1088d11244a2edae6607c12fbf33b38658a75
2016-12-21Fixes to various issues reported by pyflakesTzafrir Cohen
Pyflake is a python (2) source checker. This patch fixes various (mostly trivial) errors and warnings it reports. Change-Id: Ia35c5ac61751b927814cf693994c632c412386ea
2016-12-20Merge "pjproject_bundled: Make build single threaded"Joshua Colp
2016-12-20Merge "res_pjsip: Add/update ERROR msg if invalid URI."Joshua Colp
2016-12-20Merge "MESSAGE: Flush Message/ast_msg_queue channel alert pipe."Joshua Colp
2016-12-19Merge "chan_dahdi.c: Fix bounds check regression."Joshua Colp
2016-12-19Merge "chan_sip: Reorder unload_module to deal with stuck TCP threads."Joshua Colp
2016-12-19Merge "autosupport: Add 'pjproject show buildopts'"Joshua Colp
2016-12-19app_queue: Ensure member is removed from pending when hanging up.Martin Tomec
In some cases member is added to pending_members, and the channel is hung up before any extension state change. So the member would stay in pending_members forever. So when we call do_hang, we should also remove member from pending. ASTERISK-26621 #close Change-Id: Iae476b5c06481db18ebe0fa594b3e80fdc9a7d54
2016-12-18pjproject_bundled: Make build single threadedGeorge Joseph
There were just too many issues in various environments with multi threaded building of pjproject. It doesn't really speed things up anyway since asterisk is already being compiled in parallel. Change-Id: Ie5648fb91bb89b4224b6bf43a0daa1af793c4ce1
2016-12-17chan_sip: Reorder unload_module to deal with stuck TCP threads.Corey Farrell
In some situations TCP threads may become frozen. This creates the possibility that Asterisk could segfault if they become unfrozen after chan_sip has been dlclose'd. This reorders the unload_module process to allow abort if threads do not exit within 5 seconds. High level order as follows: 1) Unregister from the core to stop new requests. 2) Signal threads to stop 3) Clear config based tables (but do not free the table itself). 4) Verify that threads have shutdown, cancel unload if not. 5) Clean all remaining resources. ASTERISK-26586 Change-Id: Ie23692041d838fbd35ece61868f4c640960ff882
2016-12-16configure: fix with-pjproject-bundledDavid M. Lee
The AC_ARG_WITH macro's shell variable is withval; not enableval. Purely coincidentally, the option would work when --enable-dev-mode is given. Also fixed a portability problem with bootstrap.sh, since -printf is not a portable option for find. Change-Id: I0f0e5b1a934b5af5737713834361e9c95b96b376
2016-12-15autosupport: Add 'pjproject show buildopts'Richard Mudgett
Change-Id: I8aa55a7c3fb175235ddc7f85e9457d5102d06fa7
2016-12-14chan_dahdi.c: Fix bounds check regression.Richard Mudgett
Caused by ASTERISK-25494 Change-Id: I1fc408c1a083745ff59da5c4113041bbfce54bcb
2016-12-14res_pjsip: Add/update ERROR msg if invalid URI.Richard Mudgett
ASTERISK-24499 Change-Id: Ie305153e47e922233b2ff24715e0e326e5fa3a6c
2016-12-14MESSAGE: Flush Message/ast_msg_queue channel alert pipe.Richard Mudgett
ASTERISK-25083 Change-Id: Id54baa57a8dbca84e29f28bcd2ffc0a5ac12d8b2
2016-12-14res_sorcery_memory_cache: Change an error to a debug messageGeorge Joseph
When a sorcery user calls ast_sorcery_delete on an object that may have already expired from the cache, res_sorcery_memory_cache spits out an ERROR. Since this can happen frequently and validly when an inbound registration expires after the cache entry expired, the errors are unnecessary and misleading. Changed to a debug/1. Change-Id: Idf3a67038c16e3da814cf612ff4d6d18ad29ecd7
2016-12-09pjproject_bundled: Retry download if previously saved tarball is badGeorge Joseph
If a tarball is corrupted during download, the makefile will attempt to download it again. If the tarball somehow gets corrupted after it's downloaded however, the makefile was just failing. We now retry the download. ASTERISK-26653 #close Change-Id: I1b24d454852d80186f60c5a65dc4624ea8a1c359
2016-12-09Merge "Fix IO conversion bug"Joshua Colp
2016-12-09Merge "res_pjsip: Fix 'A = B != C' kind."Joshua Colp
2016-12-09Merge "Fix typo in chan_sip"Joshua Colp
2016-12-09Merge "chan_sip: Delete unneeded check"Joshua Colp
2016-12-09Merge "Small code cleanup in chan_sip"Joshua Colp