Age | Commit message (Collapse) | Author |
|
Add an application that allows tracking outbound calls
using app_queue.
ASTERISK-19862
Change-Id: Ia0ab64aed934c25b2a25022adcc7c0624224346e
|
|
|
|
|
|
|
|
* 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().
|
|
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
|
|
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
|
|
|
|
|
|
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
|
|
|
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
|
|
ASTERISK-26684 #close
Change-Id: Ifd7e401c45015119dd5e8421dbfe3afa6381744a
|
|
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
|
|
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
|
|
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
|
|
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
|
|
* Made not generate strings unless they will actually be used.
ASTERISK-26672
Change-Id: I155fbe7fdff5ce47dfe5326f3baf5446849702c3
|
|
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
|
|
We access uninitialized memory when the 'ourip' parameter does not
have an initial guess to our IP address.
ASTERISK-26672
Change-Id: I35507ea1ad7455d2be188f6ccdd4add7bd150e15
|
|
|
|
Change-Id: I95b1088d11244a2edae6607c12fbf33b38658a75
|
|
Pyflake is a python (2) source checker. This patch fixes various
(mostly trivial) errors and warnings it reports.
Change-Id: Ia35c5ac61751b927814cf693994c632c412386ea
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I8aa55a7c3fb175235ddc7f85e9457d5102d06fa7
|
|
Caused by ASTERISK-25494
Change-Id: I1fc408c1a083745ff59da5c4113041bbfce54bcb
|
|
ASTERISK-24499
Change-Id: Ie305153e47e922233b2ff24715e0e326e5fa3a6c
|
|
ASTERISK-25083
Change-Id: Id54baa57a8dbca84e29f28bcd2ffc0a5ac12d8b2
|
|
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
|
|
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
|
|
|
|
|
|
|
|
|
|
|