Files
asterisk/ChangeLog
Asterisk Autobuilder f9f6dc4131 Importing files for 13.0.0-beta2 release.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/13.0.0-beta2@423615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-19 21:02:13 +00:00

17975 lines
922 KiB
Plaintext

2014-09-19 Asterisk Development Team <asteriskteam@digium.com>
* Asterisk 13.0.0-beta2 Released.
2014-09-19 19:51 +0000 [r423580] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_notify.c: res_pjsip_notify: Fix crash on
unload/load and don't say the module doesn't exist on reload.
When unloading the module did not unregister the CLI commands
causing a crash upon load when they were registered again. When
reloading the module the return value from the config options
framework was not checked to determine if an error occurred or
not. This caused a message to be output saying the module did not
exist when reloading if no changes were present. AST-1433 #close
AST-1434 #close ........ Merged revisions 423579 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-19 17:08 +0000 [r423561] Richard Mudgett <rmudgett@digium.com>
* channels/chan_pjsip.c, res/res_pjsip_sdp_rtp.c:
res_pjsip_sdp_rtp.c: Fix native formats containing formats that
were not negotiated. Outgoing PJSIP calls can result in
non-negotiated formats listed in the channel's native formats if
video formats are listed in the endpoint's configuration. The
resulting call could then use a non-negotiated format resulting
in one way audio. * Simplified the update of session->req_caps in
set_caps(). Why do something in five steps when only one is
needed? AFS-162 #close Review:
https://reviewboard.asterisk.org/r/4000/
2014-09-19 15:18 +0000 [r423524-423530] Jonathan Rose <jrose@digium.com>
* /, main/stasis_channels.c: Stasis_channels: Resolve unfinished
Dials when doing masquerades Masquerades into channels that are
in the dialing state don't end their dial and this goes against
the model for things like CDRs and generating Dial end manager
actions and such. ASTERISK-24237 #close Reported by: Richard
Mudgett Review: https://reviewboard.asterisk.org/r/3990/ ........
Merged revisions 423525 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_iax2.c: chan_iax2: Fix a crash when using chan_iax2
jitterbuffer settings Caused by format changes in Asterisk 13
ASTERISK-24265 #close Reported by: Dafi Ni Review:
https://reviewboard.asterisk.org/r/3999/
2014-09-19 12:45 +0000 [r423504] Kinsey Moore <kmoore@digium.com>
* /, main/framehook.c, res/res_pjsip_t38.c,
include/asterisk/framehook.h: PJSIP: Prevent T38 framehook being
put on wrong channel This change gives framehooks a
reverse-direction masquerade callback in addition to
chan_fixup_cb similar to the callback added to datastores to
handle the same situation. The new callback provides the same
parameters as the fixup callback, but is called on the new
channel's framehooks before moving framehooks from the old
channel to the new channel. This gives the framehooks an
oppurtunity to decide whether they should remain on the new
channel or be removed. This new callback is used to prevent the
PJSIP T.38 framehook from remaining on a masqueraded channel if
the new channel is not also a PJSIP channel. This was causing a
crash when a local channel was masqueraded into a PJSIP channel
and the framehook was executed on the local channel since the
channel's tech private data was not structured as expected.
Review: https://reviewboard.asterisk.org/r/4001/ ........ Merged
revisions 423503 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 19:30 +0000 [r423482] Sean Bright <sean@malleable.com>
* res/res_pjsip/config_auth.c, /: res_pjsip: Don't require a
password when doing userpass authentication. An empty password is
valid for username/password authentication so we should allow
password to be empty/not supplied. Review:
https://reviewboard.asterisk.org/r/3988 ........ Merged revisions
423481 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 19:22 +0000 [r423478] George Joseph <george.joseph@fairview5.com>
* main/utils.c, include/asterisk/strings.h, tests/test_strings.c,
/: utils: Create ast_strsep function that ignores separators
inside quotes This function acts like strsep with three
exceptions... * The separator is a single character instead of a
string. * Separators inside quotes are treated literally instead
of like separators. * You can elect to have leading and trailing
whitespace and quotes stripped from the result and have '\'
sequences unescaped. Like strsep, ast_strsep maintains no
internal state and you can call it recursively using different
separators on the same storage. Also like strsep, for consistent
results, consecutive separators are not collapsed so you may get
an empty string as a valid result. Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3989/ ........ Merged
revisions 423476 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 18:31 +0000 [r423462] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_pubsub.c: Add subscription state test events. These
are needed for a set of batched notification RLS tests that are
about to be committed to the testsuite. Review:
https://reviewboard.asterisk.org/r/3967
2014-09-18 17:11 +0000 [r423425] Jonathan Rose <jrose@digium.com>
* /, res/res_pjsip_endpoint_identifier_ip.c:
res_pjsip_endpoint_identifier_ip: Fix parsing of match value with
CIDR Also fixes comma separates match lists ASTERISK-24290 #close
Reported by: Ray Crumrine Review:
https://reviewboard.asterisk.org/r/3995/ ........ Merged
revisions 423417 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 17:09 +0000 [r423418-423423] Richard Mudgett <rmudgett@digium.com>
* bridges/bridge_softmix.c: bridge_softmix.c: Made use
ao2_replace() instead of the inline equivalent. * Clarified some
read/write format comments. * Fixed a doxygen tag typo.
* main/astobj2.c, contrib/scripts/refcounter.py, /:
astobj2.c/refcounter.py: Fix to deal with invalid object refs. *
Make astob2 REF_DEBUG output an invalid object line when an
invalid ao2 object ref/unref is attempted. This is similar to the
constructor/destructor lines. * Fixed refcounter.py to handle
skewed objects that have constructor/destructor states. * Made
refcounter.py highlight the invalid ao2 object refs by putting
them in their own section of the processed output file. * Made
refcounter.py highlight unreffing an object by more than one that
results in a negative ref count and the object being destroyed.
The abnormally destroyed object is reported in the invalid and
finalized object sections of the output. Review:
https://reviewboard.asterisk.org/r/3971/ ........ Merged
revisions 423349 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 423400 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423416 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 16:37 +0000 [r423348-423414] Mark Michelson <mmichelson@digium.com>
* include/asterisk/format_cap.h, main/channel.c, main/format_cap.c,
main/translate.c: Add API call to determine if format capability
structure is "empty". Empty here means that there are no formats
in the format_cap structure or the only format in it is the
"none" format. I've added calls to check the emptiness of a
format_cap in a few places in order to short-circuit operations
that would otherwise be pointless as well as to prevent some
assertions from being triggered in cases where channels with no
formats are used.
* /, res/res_fax_spandsp.c: res_fax_spandsp: Properly handle
cleanup before starting FAXes. If faxing fails at a very early
stage, then it is possible for us to pass a NULL t30 state
pointer to spandsp, which spandsp is none too pleased with. This
patch ensures that we pass the correct pointer to spandsp in the
situation where we have not yet set our local t30 state pointer.
ASTERISK-24301 #close Reported by Matt Jordan Patches:
ASTERISK-24301-fax.diff Uploaded by Mark Michelson (License
#5049) ........ Merged revisions 423360 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423365 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_mwi.c,
res/res_pjsip_dialog_info_body_generator.c,
res/res_pjsip_xpidf_body_generator.c,
res/res_pjsip_mwi_body_generator.c, res/res_pjsip_pubsub.c,
res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
res/res_pjsip_pidf_body_generator.c: res_pjsip_pubsub: Add some
type safety when generating NOTIFY bodies. res_pjsip_pubsub has
two separate checks that it makes when a SUBSCRIBE arrives. * It
checks that there is a subscription handler for the Event * It
checks that there are body generators for the types in the Accept
header The problem is, there's nothing that ensures that these
two things will actually mesh with each other. For instance,
Asterisk will accept a subscription to MWI that accepts pidf+xml
bodies. That doesn't make sense. With this commit, we add some
type information to the mix. Subscription handlers state they
generate data of type X, and body generators state that they
consume data of type X. This way, Asterisk doesn't end up in some
hilariously mismatched situation like the one in the previous
paragraph. ASTERISK-24136 #close Reported by Mark Michelson
Review: https://reviewboard.asterisk.org/r/3877 Review:
https://reviewboard.asterisk.org/r/3878 ........ Merged revisions
423344 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 15:13 +0000 [r423284] George Joseph <george.joseph@fairview5.com>
* res/res_pjsip_endpoint_identifier_ip.c,
res/res_pjsip/pjsip_configuration.c,
res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c, /,
res/res_pjsip/location.c: res_pjsip: ami: Fix error in AMI output
when an endpoint has no transport When no transport is associated
to an endpoint, the AMI output for PJSIPShowEndpoint indicates an
error instead of silently ignoring the missing transport. This
patch causes the error to appear only if a transport was
specified on the endpoint and the transport doesn't exist. It
also fixes an issue with counting the objects that were actually
found. ASTERISK-24161 #close ASTERISK-24331 #close Tested by:
George Joseph Review: https://reviewboard.asterisk.org/r/3998/
........ Merged revisions 423282 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-18 15:00 +0000 [r423281] David M. Lee <dlee@digium.com>
* Makefile, makeopts.in: Only install dahdi_span_config_hook if
DAHDI is enabled This patch changes the install to only install
the hook script if DAHDI is enabled. It also adds the script to
the uninstall task, and moves the DAHDI_UDEV_HOOK_DIR variable so
that it's not between the _MAKEOPTS variables and their comment.
This allows installs which specify a --prefix to work normally,
as long as they don't enable DAHDI. Review:
https://reviewboard.asterisk.org/r/3972/
2014-09-18 14:45 +0000 [r423279] George Joseph <george.joseph@fairview5.com>
* include/asterisk/config.h, main/config.c, main/manager.c, /:
config: bug: Fix SEGV in ast_category_insert when matching
category isn't found If you call ast_category_insert with a match
category that doesn't exist, the list traverse runs out of 'next'
categories and you get a SEGV. This patch adds check for the
end-of-list condition and changes the signature to return an int
for success/failure indication instead of a void. The only
consumer of this function is manager and it was also changed to
use the return value. Tested by: George Joseph Review:
https://reviewboard.asterisk.org/r/3993/ ........ Merged
revisions 423276 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 423277 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423278 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-17 18:05 +0000 [r423209-423255] Joshua Colp <jcolp@digium.com>
* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Ensure that the
thread terminating pj stuff is registered. ........ Merged
revisions 423253 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423254 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix 100% CPU usage
due to timer heap thread spinning. Side note: I need a vacation.
........ Merged revisions 423210 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423211 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix building when
pjproject is not used. ........ Merged revisions 423207 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423208 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-16 16:32 +0000 [r423192] Scott Griepentrog <sgriepentrog@digium.com>
* main/file.c, apps/app_voicemail.c, include/asterisk/file.h:
Voicemail: get correct duration when copying file to vm Changes
made during format improvements resulted in the recording to
voicemail option 'm' of the MixMonitor app writing a zero length
duration in the msgXXXX.txt file. This change introduces a new
function ast_ratestream(), which provides the sample rate of the
format associated with the stream, and updates the app_voicemail
function for ast_app_copy_recording_to_vm to calculate the right
duration. Review: https://reviewboard.asterisk.org/r/3996/
ASTERISK-24328 #close
2014-09-16 12:12 +0000 [r423152-423173] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_session.c, /: res_pjsip_session: Fix usage of wrong
memory pool when creating local SDP. ........ Merged revisions
423172 from http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, /:
res_rtp_asterisk: Fix a myriad of TURN client issues. 1. The
number of file descriptors an ioqueue instance can handle is
fixed, so we now spawn the required number to handle the load. 2.
Our transport identifiers were exceeding the range supported by
pjnath. 3. The TURN client did not set up client binding causing
needless bandwidth usage. 4. The code no longer updates address
information on each packet. 5. STUN traffic was getting looped
back to Asterisk instead of going through the TURN server. 6.
Synchronization now ensures things are completely setup or
destroyed. 7. Logging now reflects the target the TURN server is
sending to/receiving from on our behalf. ASTERISK-23577 #close
Reported by: Jay Jideliov ASTERISK-23634 #close Reported by:
Roman Skvirsky Review: https://reviewboard.asterisk.org/r/3982/
........ Merged revisions 423150 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423151 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-15 10:49 +0000 [r423069-423129] Walter Doekes <walter+asterisk@wjd.nu>
* /,
contrib/ast-db-manage/config/versions/5950038a6ead_fix_pjsip_verifiy_typo.py
(added): contrib: Fix verifyi typo in alembic DB script
ps_transport table. Reported by: Zogot (on IRC) Patches: tmp.diff
uploaded by Zogot, cleaned up by me. ........ Merged revisions
423128 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, configs/samples/sip.conf.sample: chan_sip: Clarify that
sipdebug=yes cannot be undone by the CLI. Document it in
sip.conf. ASTERISK-24249 #close Reported by: Avinash Mohod
Review: https://reviewboard.asterisk.org/r/3926/ ........ Merged
revisions 423066 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 423067 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 423068 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-12 16:09 +0000 [r422985] Jonathan Rose <jrose@digium.com>
* main/config.c, /: Realtime: Fix a bug that caused realtime
destroy command to crash Also has could affect with anything that
goes through ast_destroy_realtime. If a CLI user used the command
'realtime destroy <family>' with only a single column/value pair,
Asterisk would crash when trying to create a variable list from a
NULL value. ASTERISK-24231 #close Reported by: Niklas Larsson
Review: https://reviewboard.asterisk.org/r/3985/ ........ Merged
revisions 422984 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-11 22:16 +0000 [r422965] Mark Michelson <mmichelson@digium.com>
* /, main/app.c: Remove undocumented default behavior of
ast_play_and_record_full acceptdtmf. ast_play_and_record_full()
has a parameter called "acceptdtmf" that is a string of
acceptable DTMF digits that may be pressed by a caller to end and
accept the recording. ARI uses this function in order to perform
recording, and it provides options for what is passed as
acceptdtmf to ast_play_and_record_full(). By default, ARI passes
an empty string, with the intention that no DTMF can be used to
end the recording. The problem is that ast_play_and_record_full()
attempts to be "helpful" by setting "#" as the acceptdtmf if an
empty string or NULL pointer has been passed in. With ARI, this
results in unexpected behavior occurring if you have attempted to
intercept "#" yourself in order to perform some other
manipulation of the live recording. This change removes the
"helpful" behavior by no longer accepting "#" as a default
acceptdtmf if none is specified by the caller of
ast_play_and_record_full(). This makes the ARI scenario work as
expected. The other callers of ast_play_and_record_full() are
app_voicemail and app_minivm, and in both cases, they pass an
explicit "#" to ast_play_and_record_full() as acceptdtmf, so they
are unaffected by this change. ........ Merged revisions 422964
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-10 16:04 +0000 [r422905] George Joseph <george.joseph@fairview5.com>
* main/config.c, /: config: bug: fix truncation of included config
files on permissions error ast_config_text_file_save() currently
truncates include files as they are processed. If a subsequent
include file or the main config file has a permissions error that
prevents writing, earlier include files are left truncated
resulting in a frantic search for backups. This patch causes
ast_config_text_file_save to check for write access on all files
before it truncates any of them. Will be applied 1.8 > trunk.
Tested by: George Joseph Review:
https://reviewboard.asterisk.org/r/3986/ ........ Merged
revisions 422900 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422903 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422904 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-10 15:59 +0000 [r422901] Sean Bright <sean@malleable.com>
* res/res_pjsip/config_auth.c, /: pjsip/config_auth.c: Add missing
whitespace to log messages. The errors generated when validating
'auth' settings are missing a space which makes the messages a
little confusing. ........ Merged revisions 422899 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-09 20:01 +0000 [r422883] Rusty Newton <rnewton@digium.com>
* /, sounds/sounds.xml, sounds/Makefile: Sounds/BuildSystem:
Modifications to include new releases and Japanese language.
Modifying Makefile and sounds.xml to include new core 1.4.26 and
extra 1.4.15 sound prompt releases, plus the new Japanese core
sound prompts contributed by QLOOG. ASTERISK-23324 Reported by:
Kevin McCoy Tested by: Rusty Newton ........ Merged revisions
422789 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 422790 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422791 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-08 18:03 +0000 [r422851-422855] Mark Michelson <mmichelson@digium.com>
* configs/samples/pjsip.conf.sample: Add note about configuring
list_items on a single line.
* configs/samples/pjsip.conf.sample: Add sample configuration for
resource lists. On review /r/3977, it was recommended to note in
the sample configuration about the size limitation for resource
lists. However, since there was no section in the sample
configuration at all for resource list subscriptions, I decided
to make a separate commit where I have added the necessary sample
configuration as well as the size limitation warning.
* res/res_pjsip_pubsub.c: Pre-allocate transmission data buffer for
RLS NOTIFY requests. PJSIP, unless a constant is modified at
compilation time, limits SIP requests to 4000 bytes. Full-state
RLS notifications can easily exceed this limit with moderately
small lists. This changeset allows for Asterisk to work around
this size limit by performing its own allocation of the
transmission data buffer. This way, Asterisk can allocate a
buffer that exceeds the built-in maximum. We still impose our own
limit of 64000 bytes, mainly because making allocations larger
than that is a bit absurd. ASTERISK-24181 #close Reported by Mark
Michelson Review: https://reviewboard.asterisk.org/r/3977
2014-09-08 15:41 +0000 [r422836] Jonathan Rose <jrose@digium.com>
* res/res_pjsip_pubsub.c: res_pjsip_pubsub: Check supported headers
for eventlist when subscribing to resource list
https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan
According to the off-nominal plan, if evenlist support is not
specified in a SUBSCRIBE's supported header(s), that subscription
should be rejected with an error. ASTERISK-23871 Reported by:
Mark Michelson Review:
https://reviewboard.asterisk.org/r/3960/diff/#index_header
2014-09-06 22:49 +0000 [r422767-422770] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: main/cdr: Copy over location information during a
fork When a CDR is forked, a new CDR is created and appended to
the CDR chain for the Party A. The forked CDR starts life off as
a clone of the last non-finalized for the particular Party A. In
the past, merely copying over the snapshots for Party A/Party B
would be sufficient. However, as the CDRs now contain cached
information from Party A - specifically application/data,
context, and extension - we need to copy that over during a fork
as well. Huzzah for unit tests catching this when the
context/extension were derived from a cached value on the CDR
instead of on Party A. ........ Merged revisions 422769 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/rtp_engine.c, /: main/rtp_engine: Format NTP timestamps as
unsigned ints On some systems, a timeval's tv_sec/tv_usec will be
unsigned lont ints, as opposed to long ints. When the RTP engine
formats these as strings, it was previously formatting them as
signed integers, which can result in some odd negative timestamp
values (particularly on 32-bit systems). This patch formats the
values as unsigned long integers. ........ Merged revisions
422766 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-06 19:12 +0000 [r422747] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix retrieval of
"ice-pwd" attribute if in session and not media stream. ........
Merged revisions 422746 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-05 22:03 +0000 [r422716-422719] Matthew Jordan <mjordan@digium.com>
* /, apps/app_macro.c, include/asterisk/channel.h,
apps/app_stack.c, main/cdr.c: main/cdrs: Preserve
context/extension when executing a Macro or GoSub The
context/extension in a CDR is generally considered the
destination of a call. When looking at a 2-party call CDR, users
will typically be presented with the following: context exten
channel dest_channel app data default 1000 SIP/8675309 SIP/1000
Dial SIP/1000,,20 However, if the Dial actually takes place in a
Macro, the current behaviour in 12 will result in the following
CDR: context exten channel dest_channel app data macro-dial s
SIP/8675309 SIP/1000 Dial SIP/1000,,20 The same is true of a
GoSub: context exten channel dest_channel app data subs
dial_stuff SIP/8675309 SIP/1000 Dial SIP/1000,,20 This generally
makes the context/exten fields less than useful. It isn't hard to
preserve these values in the CDR state machine; however, we need
to have something that informs us when a channel is executing a
subroutine. Prior to this patch, there isn't anything that does
this. This patch solves this problem by adding a new channel
flag, AST_FLAG_SUBROUTINE_EXEC. This flag is set on a channel
when it executes a Macro or a GoSub. The CDR engine looks for
this value when updating a Party A snapshot; if the flag is
present, we don't override the context/exten on the main CDR
object. In a funny quirk, executing a hangup handler must *not*
abide by this logic, as the endbeforehexten logic assumes that
the user wants to see data that occurs in hangup logic, which
includes those subroutines. Since those execute outside of a
typical Dial operation (and will typically have their own
dedicated CDR anyway), this is unlikely to cause any heartburn.
Review: https://reviewboard.asterisk.org/r/3962/ ASTERISK-24254
#close Reported by: tm1000, Tony Lewis Tested by: Tony Lewis
........ Merged revisions 422718 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: main/cdr: Fix crash/memory consumption in CDRs in
multi-party bridge scenarios This patch fixes an issue where CDRs
would get stuck generating an infinite number of CDRs, eventually
crashing Asterisk (and consuming a lot of memory along the way).
When a channel enters into a multi-party bridge, the CDR engine
creates mappings of each participant to each other participant,
picking the 'A' party as it goes. So, if we have four channels in
a multi-party bridge (Alice, Bob, Charlie, Denise), we would have
something like: Alice => Bob Alice => Charlie Alice => Denise Bob
=> Charlie Bob => Denise Charlie => Denise This works fine when
participants enter the bridge a single time. When a participant
leaves a bridge, the CDRs for that channel are transitioned to a
finalized state. The bug occurs if Bob rejoins. When the CDR
engine creates mappings between the channels, it walks through
all the participants currently in the bridge, and realizes that
no one in the bridge can create a CDR with the channel (Bob). As
such it creates a new CDR for the candidate and appends it to
that candidate's chain. Unfortunately, on this particular code
path, it doesn't stop traversing the candidate's chain. Since we
just added ourselves to the chain, this causes the loop to keep
going, constantly adding new CDRs. This patch makes it so the
engine bails when it creates a CDR match in this case. Review:
https://reviewboard.asterisk.org/r/3964/ ASTERISK-24241 #close
Reported by: Deepak Singh Rawat Tested by: Deepak Singh Rawat
ASTERISK-24208 Reported by: Frankie Chin ........ Merged
revisions 422715 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-05 20:35 +0000 [r422700] Richard Mudgett <rmudgett@digium.com>
* funcs/func_channel.c: func_channel.c: Add missing locking to some
CHANNEL() requests. * The CHANNEL() audionativeformat,
videonativeformat, audioreadformat, and audiowriteformat now need
locking since the media format rework when accessing the
channel's format pointers. * Increased the buffer size for
CHANNEL() audionativeformat and videonativeformat output strings
since the allow=all can be a lengthy list. * Tweaked the
CHANNEL() XML documentation for secure_bridge_signaling,
secure_bridge_media, and state. * Ensured the output buffer is
initialized for secure_bridge_signaling and secure_bridge_media.
* Made use the locked_copy_string() macro instead of inlining it
for trace and checkhangup.
2014-09-05 20:11 +0000 [r422665-422684] Jonathan Rose <jrose@digium.com>
* include/asterisk/dial.h, main/dial.c: Dial API: Add a dial option
to indicate the dialed channel will replace dialer Adds an option
to the dial API that marks an outgoing dial as replacing the
dialing channel for the purpose of propagating accountcode. When
it is used, AST_CHANNEL_REQUESTOR_REPLACEMENT is used instead of
AST_CHANNEL_REQUESTOR_BRIDGE_PEER when setting accountcodes on
the involved channels with ast_channel_req_accountcodes. Review:
https://reviewboard.asterisk.org/r/3968/
* main/cli.c, /: Call IDs: Fix appearance of call ID in core show
channels when NULL NULL call IDs were meant to appear as '(none)'
but instead were showing the contents of an uninitialized
character buffer. ASTERISK-24223 Review:
https://reviewboard.asterisk.org/r/3979/ ........ Merged
revisions 422664 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-05 17:36 +0000 [r422661] Richard Mudgett <rmudgett@digium.com>
* main/devicestate.c, channels/chan_iax2.c: devicestate.c: Minor
tweaks * In ast_state_chan2dev() use ARRAY_LEN() instead of a
sentinel value in chan2dev[]. * Fix some comments in chan_iax2.c.
2014-09-05 13:28 +0000 [r422646] Kinsey Moore <kmoore@digium.com>
* menuselect/menuselect.c: Menuselect: Fix incorrect enabling on
failed deps This corrects a situation where menuselect can
incorrectly enable a module by default that has defaultenabled
set to "no" and has failed/non-selected dependencies. The bug is
due to an inverted test when checking for whether the given
module should be set to enabled by default on load. Review:
https://reviewboard.asterisk.org/r/3975/ Reported by: John
Bigelow
2014-09-04 21:23 +0000 [r422631] Jonathan Rose <jrose@digium.com>
* main/manager.c, /: Manager: Require read permission for SYSTEM in
order to send FullyBooted Review:
https://reviewboard.asterisk.org/r/3969/ ........ Merged
revisions 422584 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422625 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422626 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-03 14:05 +0000 [r422558] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_transport_websocket.c, /:
res_pjsip_transport_websocket: Fix crash when the Contact header
is not a URI. The code for changing the Contact header wrongly
assumed that the Contact would always contain a URI. This is
incorrect. ASTERISK-24271 Reported by: Dafi Ni ........ Merged
revisions 422557 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-02 20:29 +0000 [r422542] Mark Michelson <mmichelson@digium.com>
* channels/chan_pjsip.c, res/res_pjsip_diversion.c,
res/res_pjsip_session.c, include/asterisk/res_pjsip_session.h, /:
Resolve race condition where channels enter dialplan application
before media has been negotiated. Testsuite tests will
occasionally fail because on reception of a 200 OK SIP response,
an AST_CONTROL_ANSWER frame is queued prior to when media has
finished being negotiated. This is because session supplements
are called into before PJSIP's inv_session code has told us that
media has been updated. Sometimes the queued answer frame is
handled by the PBX thread before the ensuing media negotiations
occur, causing a test failure. As it turns out, there is another
place that session supplements could be called into, which is
after media has finished getting negotiated. What this commit
introduces is a means for session supplements to indicate when
they wish to be called into when handling an incoming SIP
response. By default, all session supplements will be run at the
same point that they were prior to this commit. However, session
supplements may indicate that they wish to be handled earlier
than normal on redirects, or they may indicate they wish to be
handled after media has been negotiated. In this changeset, two
session supplements have been updated to indicate a preference
for when they should be run: res_pjsip_diversion executes before
handling redirection in order to get information from the
Diversion header, and chan_pjsip now handles responses to INVITEs
after media negotiation to fix the race condition mentioned
previously. ASTERISK-24212 #close Reported by Matt Jordan Review:
https://reviewboard.asterisk.org/r/3930 ........ Merged revisions
422536 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-09-01 14:16 +0000 [r422504-422507] Matthew Jordan <mjordan@digium.com>
* main/cli.c, /: main/cli: Do not attempt to show CDR data for
internal channels Internal channels don't have CDRs. Querying the
CDR engine for their variables will make it cranky. ........
Merged revisions 422506 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/stasis/stasis_bridge.c, res/res_stasis.c, /: res_stasis:
Don't play MoH to channels by default when added to holding
bridges When ARI manipulates a bridge, it generally doesn't care
what the mixing technology is. Operations on a bridge initiated
through ARI should perform their action in generally the same
way, regardless of the bridge's mixing technology. While the
mixing technology may determine how media flows to channels, the
actual operations on a bridge themselves should be the same.
Currently, this isn't the case with holding bridges. When a
channel joins without a role, MoH is started on that channel
automatically. Subsequent bridge operations that would stop MoH
would fail (as there is no Announcer channel playing MoH to the
bridge). Starting MoH on the bridge will also create two MoH
streams: one from the MoH being played on the participant
channel, and one from the announcer channel. From the perspective
of ARI users, this is counter-intuitive - I would not expect MoH
to be started for me. The mixing technology determines how media
is shared between participants, not the application experience.
This patch does the following: * The Stasis bridge class now
inspects channels as they are going into a bridge. If the bridge
has a holding capability, and the channel has no roles, we give
it a participant role and mark the default behaviour to have no
entertainment. This allows addChannel operations to continue to
set a participant role with an entertainment option if it felt
like it (or could do it). * The music on hold channel is now
Stasis approved (tm) Review:
https://reviewboard.asterisk.org/r/3929/ ASTERISK-24264 #close
Reported by: Samuel Galarneau Tested by: Samuel Galarneau
........ Merged revisions 422503 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-30 17:32 +0000 [r422442-422445] George Joseph <george.joseph@fairview5.com>
* /, apps/app_confbridge.c: confbridge: Add Duration to
ConfbridgeList event The ConfbridgeList event doesn't include how
long the user has been a member of the conference. This patch
adds Duration (seconds) which is based on user->chan->answertime.
Tested by: George Joseph Review:
https://reviewboard.asterisk.org/r/3955/ ........ Merged
revisions 422444 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/manager.c, /: manager: Make WaitEvent action respect
eventfilters A WaitEvent issued via an http session isn't
respecting eventfilters defined for the user. I just added a
match_filter to the predicate that controls astman_append. Tested
by: George Joseph Review:
https://reviewboard.asterisk.org/r/3958/ ........ Merged
revisions 422439 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422440 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422441 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-29 19:40 +0000 [r422374-422379] Matthew Jordan <mjordan@digium.com>
* /, doc/smsq.8 (added): doc: Add a manpage for the smsq utility
This patch adds a manpage for the smsq utility. Note that this is
one of the patches the Debian distro applies for the Asterisk
project, as per ASTERISK-24191. Review:
https://reviewboard.asterisk.org/r/3895/ ASTERISK-24171 #close
Reported by: Jeremy Laine patches: smsq.8 uploaded by Jeremy
Laine (License 6561) ........ Merged revisions 422376 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422377 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422378 from
http://svn.asterisk.org/svn/asterisk/branches/12
* doc/aelparse.8 (added), /: doc: Add a manpage for the aelparse
utility This patch adds a manpage for the aelparse utility. Note
that this is one of the patches the Debian distro applies for the
Asterisk project, as per ASTERISK-24191. Review:
https://reviewboard.asterisk.org/r/3896/ ASTERISK-24171 #close
Reported by: Jeremy Laine patches: aelparse.8 uploaded by Jeremy
Laine (License 6561) ........ Merged revisions 422371 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422372 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422373 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-29 19:05 +0000 [r422359] Scott Griepentrog <sgriepentrog@digium.com>
* channels/chan_sip.c: The assertion that peer was not found on
final event message was being triggered on configuration reload.
This patch changes that case to just return instead. Review:
https://reviewboard.asterisk.org/r/3953/ Commited in trunk
revision 422358
2014-08-28 21:54 +0000 [r422296] Matthew Jordan <mjordan@digium.com>
* /, LICENSE: LICENSE: Clarify language in Asterisk's LICENSE to
allow for linking to UniMRCP The UniMRCP project distributes
Asterisk modules that integrate Asterisk with UniMRCP, and other
Asterisk users use the UniMRCP library as well. Unfortunately,
the UniMRCP license is Apache 2.0, which per the Free Software
Foundation, is not a compatible license with the GPLv2. "Please
note that this license is not compatible with GPL version 2,
because it has some requirements that are not in that GPL
version. These include certain patent termination and
indemnification provisions. The patent termination provision is a
good thing, which is why we recommend the Apache 2.0 license for
substantial programs over other lax permissive licenses." On the
other hand, UniMRCP is a great project and we'd like to let
people use it with Asterisk. This patch updates the LICENSE text
to allow users to link Asterisk with UniMRCP and distribute the
resulting binaries. ........ Merged revisions 422293 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422294 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422295 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-28 20:30 +0000 [r422276] Michael L. Young <elgueromexicano@gmail.com>
* /, channels/chan_iax2.c: chan_iax2: Fix Dynamic IAX2
Registrations After Temporary DNS Failure The reporter on the
issue found some issues when upgrading from version 10 to 11 on
55 hosts. Two situations that can occur with dynamic
registrations. 1. With dnsmgr disabled, if the host is not
resolvable we are not trying to resolve the host again when it is
time to attempt to register again. This results in never
registering to the host. 2. With dnsmgr enabled, when the host is
temporarily not resolvable the address is set to 0.0.0.0:0 and
then when the host is resolvable the port is not being restored
and stays set to 0. This patch resolves these two issues by: *
Storing the hostname so that it can be used for resolving with
DNS. * Resolve the hostname on the next scheduled attempt to
register. * Storing the port used to reach the host so that when
the hostname is resolvable again, we can set the port again if
the port is still unset after looking up the host. ASTERISK-23767
#close Reported by: David Herselman Tested by: David Herselman,
Michael L. Young Patches:
asterisk-23767-dns_reg_retry_and_set_port_11_v3.diff uploaded by
Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/3856/ ........ Merged
revisions 422274 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422275 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-28 17:25 +0000 [r422256] Richard Mudgett <rmudgett@digium.com>
* /, UPGRADE.txt: Added ConfBridge AMI event note to UPGRADE.txt.
........ Merged revisions 422255 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-28 15:49 +0000 [r422239] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_pubsub.c: Fix bug that did not allow for multiple
batched RLS notifications to be sent. A misunderstanding of how
the scheduler worked caused further batched notifications beyond
the first not to get scheduled. Now we reset our scheduler ID to
-1 after the batched notification is sent. This way, further
notifications can be scheduled when they arise.
2014-08-28 00:36 +0000 [r422200-422215] Richard Mudgett <rmudgett@digium.com>
* /, res/res_pjsip/pjsip_options.c: res/res_pjsip/pjsip_options.c:
Eliminate excessive RAII_VAR usage. * Fix off nominal ref leak in
find_or_create_contact_status(). * Add missing NULL check of
status in update_contact_status() and init_start_time(). ........
Merged revisions 422214 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/sched.c, include/asterisk/sched.h: sched: Fix typo and
whitespace change.
2014-08-27 17:29 +0000 [r422177] George Joseph <george.joseph@fairview5.com>
* /, apps/confbridge/confbridge_manager.c, apps/app_confbridge.c:
confbridge: Add 'Admin' param to join, leave, mute, unmute and
talking events Currently there's no way to tell if a user is an
admin or not when receiving the join, leave, mute, unmute and
talking events. This patch adds that capability. Tested by:
George Joseph Review: https://reviewboard.asterisk.org/r/3950/
........ Merged revisions 422176 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-27 15:31 +0000 [r422154] Kinsey Moore <kmoore@digium.com>
* tests/test_callerid.c (added), tests/test_utils.c,
main/callerid.c, main/utils.c, res/res_pjsip_caller_id.c,
include/asterisk/utils.h, /, channels/chan_sip.c: CallerID: Fix
parsing of malformed callerid This allows the callerid parsing
function to handle malformed input strings and strings containing
escaped and unescaped double quotes. This also adds a unittest to
cover many of the cases where the parsing algorithm previously
failed. Review: https://reviewboard.asterisk.org/r/3923/ Review:
https://reviewboard.asterisk.org/r/3933/ ........ Merged
revisions 422112 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 422113 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 422114 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-26 23:28 +0000 [r422091] George Joseph <george.joseph@fairview5.com>
* /, apps/app_confbridge.c: confbridge: Make kick, mute and unmute
handle channel targets consistently. Kick, mute and unmute were a
little inconsistent in their handling of channel targets. This
patch cleans that up by insuring they all handle the 'all' target
consistently and adds the 'participants' target which acts on
non-admins. Documentation for kick was also cleaned up as it
never supported partial channel names. Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3944/ ........ Merged
revisions 422090 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-26 22:13 +0000 [r422071] Mark Michelson <mmichelson@digium.com>
* /, main/sched.c: Fix race condition in the scheduler when
deleting a running entry. When scheduled tasks run, they are
removed from the heap (or hashtab). When a scheduled task is
deleted, if the task can't be found in the heap (or hashtab), an
assertion is triggered. If DO_CRASH is enabled, this assertion
causes a crash. The problem is, sometimes it just so happens that
someone attempts to delete a scheduled task at the time that it
is running, leading to a crash. This change corrects the issue by
tracking which task is currently running. If that task is
attempted to be deleted, then we mark the task, and then wait for
the task to complete. This way, we can be sure to coordinate task
deletion and memory freeing. ASTERISK-24212 Reported by Matt
Jordan Review: https://reviewboard.asterisk.org/r/3927 ........
Merged revisions 422070 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-25 16:44 +0000 [r421979-422037] Richard Mudgett <rmudgett@digium.com>
* res/res_musiconhold.c: res_musiconhold.c: Release any format refs
before memset(). * Clear the channel music_state pointer before
destroying the music_state object for safety.
* /, res/res_musiconhold.c: res_musiconhold: Fix MOH restarting
where it left off from the last hold. Restore code removed by
https://reviewboard.asterisk.org/r/3536/ that introduced a
regression that prevents MOH from restarting were it left off the
last time. ASTERISK-24019 #close Reported by: Jason Richards
Patches: jira_asterisk_24019_v1.8.patch (license #5621) patch
uploaded by rmudgett Review:
https://reviewboard.asterisk.org/r/3928/ ........ Merged
revisions 421976 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421977 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421978 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-24 19:36 +0000 [r421911-421956] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_transport_websocket.c:
res_pjsip_transport_websocket: Attach the Websocket module on
outgoing INVITEs. In order to alter the Contact header on
in-dialog requests and responses the Websocket module must be
attached on outgoing INVITEs. The Contact header is modified so
that the PJSIP transport layer can find and use the existing
Websocket connection based on the source IP address, port, and
transport. ASTERISK-24143 #close Reported by: Aleksei Kulakov
........ Merged revisions 421955 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_transport_websocket.c, /:
res_pjsip_transport_websocket: Fix a progressive memory growth.
The packet structure used to receive messages was using the
transport pool. This meant that for each parsing the pool would
grow accordingly. Since memory can not be reclaimed without
resetting it this would cause the memory pool to grow and grow.
This change uses a specific memory pool for the packet structure
and resets it to a fresh state after the message has been
received and handled. ........ Merged revisions 421939 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_transport_websocket.c:
res_pjsip_transport_websocket: Ensure secure Websocket clients
can be called. This change enforces the transport in the Contact
header for Websocket clients. Previously a client may provide a
transport of 'ws' when it is actually using a transport of 'wss'.
This would cause outgoing calls to fail as the existing
connection could not be found. ........ Merged revisions 421931
from http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: chan_sip: Use the server reflexive ICE
candidate RTCP port as provided. This code originally worked
around an issue within res_rtp_asterisk itself. The wrong socket
was being used for the STUN check for RTCP, causing the port to
be the same as RTP. This was subsequently fixed and the RTCP port
provided for the ICE candidate is correct and does not need to be
incremented. ASTERISK-23997 #close Reported by: Badalian
Vyacheslav Patches: plus1.diff submitted by Badalian Vyacheslav
(license 5249) ........ Merged revisions 421909 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421910 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-22 16:56 +0000 [r421882] Mark Michelson <mmichelson@digium.com>
* apps/app_mixmonitor.c: Fix a locking inversion in MixMonitor. We
need to unlock the audiohook before trying to lock the channel,
since the correct locking order is channel then audiohook.
2014-08-22 16:44 +0000 [r421880] Jonathan Rose <jrose@digium.com>
* res/res_stasis_answer.c, res/res_stasis.c, res/stasis/command.c,
res/res_stasis_playback.c, /, res/stasis/control.c,
res/stasis/stasis_bridge.c, res/stasis/command.h,
include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c:
ARI: Fix a crash caused by hanging during playback to a channel
in a bridge ASTERISK-24147 #close Reported by: Edvin Vidmar
Review: https://reviewboard.asterisk.org/r/3908/ ........ Merged
revisions 421879 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-22 14:08 +0000 [r421860] Matthew Jordan <mjordan@digium.com>
* main/message.c, /: main/message: Add a new-line to a DEBUG
message ........ Merged revisions 421859 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-21 22:07 +0000 [r421802] Richard Mudgett <rmudgett@digium.com>
* /, res/res_musiconhold.c: res_musiconhold.c: Remove obsolete
REF_DEBUG code. Remove unneeded code that writes to the wrong
file location in an obsolete format. ........ Merged revisions
421799 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 421800 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421801 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-21 21:42 +0000 [r421790-421797] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_session.c, /: Switch from hostname to an IP address
in the SDP origin line. Using the hostname in the SDP origin line
may not satisfy the requirement of RFC 4566 that we use a FQDN or
IP address. This change has us use the same information from the
SDP connection line if possible. If not possible, we'll use the
configured media address. And if that's not possible, we use the
result of a PJLIB call to get the IP address of ourself.
ASTERISK-23994 #close Reported by Private Name Review:
https://reviewboard.asterisk.org/r/3925 ........ Merged revisions
421796 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/control.c: Ensure after-bridge behavior is correct
when moving from Stasis to a non-Stasis bridge. Because of the
departable state of channels that enter Stasis bridges, Stasis
has to take responsibility for directing the channel to its
intended after-bridge destination if the channel moves from a
Stasis bridge to a non-Stasis bridge. This change ensures that
when such a move occurs, when the channel leaves the bridging
system, any after bridge gotos are honored. Review:
https://reviewboard.asterisk.org/r/3920 ........ Merged revisions
421792 from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_caller_id.c, /: Let's try checking the name and
number, instead of the name twice. ........ Merged revisions
421789 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-21 21:25 +0000 [r421788] Jonathan Rose <jrose@digium.com>
* /, res/res_musiconhold.c: res_musiconhold: Fix reference leaks
caused when reloading with REF_DEBUG set Due to a faulty function
for debugging reference decrementing, it was possible to reduce
the refcount on the wrong object if two moh classes of the same
name were in the moh class container. (closes issue
ASTERISK-22252) Reported by: Walter Doekes Patches:
18_moh_debug_ref_patch.diff Uploaded by Jonathan Rose (license
6182) ........ Merged revisions 398937 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421777 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421779 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-21 21:18 +0000 [r421783] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_caller_id.c: Improve consistency of party ID
privacy usage. Prior to this change, the Remote-Party-ID header
took the position of "If caller name and number are not
explicitly allowed, then they are private" and
P-Asserted-Identity took the position of "Caller name and number
are only private if marked explicitly so" Now both mechanisms of
conveying party identification use the former approach. ........
Merged revisions 421778 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-21 17:34 +0000 [r421675-421720] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_sip.c: chan_sip: Don't use port derived from
fromdomain if it isn't set If a user does not provide a port in
the fromdomain setting, chan_sip will set the fromdomainport to
STANDARD_SIP_PORT (5060). The fromdomainport value will then get
used unilaterally in certain places. This causes issues with TLS,
where the default port is expected to be 5061. This patch
modifies chan_sip such that fromdomainport is only used if it is
not the standard SIP port; otherwise, the port from the SIP pvt's
recorded self IP address is used. Review:
https://reviewboard.asterisk.org/r/3893/ ASTERISK-24178 #close
Reported by: Elazar Broad patches: fromdomainport_fix.diff
uploaded by Elazar Broad (License 5835) ........ Merged revisions
421717 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 421718 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421719 from
http://svn.asterisk.org/svn/asterisk/branches/12
* UPGRADE.txt, main/app.c, /: ARI: Fix implicit answer when
playback is initiated on unanswered channel When issuing a POST
/channels/{channel_id}/play on a channel that is not yet
answered, ARI is supposed to: * Queue up an AST_CONTROL_PROGRESS
on the channel * Start up the playback of the media Instead, we
sneak an answer on the channel right before starting playing
media. This is due to ARI's usage of control_streamfile. This
function implicitly answers the channel (and doesn't give ARI the
option to stop it). The answering of the channel here is probably
unnecessary: * app_voicemail, by far the biggest consumer of this
function, always answers the channels anyway * control stream
file (in res_agi) and ControlPlayback probably shouldn't be
implicitly answering the channel. Answering should not be tied
directly to playing back media. As it turns out, the answering of
the channel here is pretty old: 356042 twilson if
(ast_channel_state(chan) != AST_STATE_UP) { 3087 anthm res =
ast_answer(chan); 180259 tilghman } (As in, ancient?) Note that
others ran into this problem and commented about it on various
mailing lists. Review: https://reviewboard.asterisk.org/r/3907/
ASTERISK-24229 #close Reported by: Matt Jordan ........ Merged
revisions 421695 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/format_cache.c, res/stasis/messaging.h, main/dns.c: Clean
up files that do not end with newlines Trivial patch to add new
lines to several files missing them. This fixes warnings when
compiling with gcc 4.1.2 on CentOS 5. ASTERISK-24245 #close
Reported by: Shaun Ruffell patches:
0002-Trivial-addition-of-newlines-at-end-of-three-files.patch
uploaded by Shaun Ruffell (License 5417) ........ Merged
revisions 421677 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/uri.c, include/asterisk/uri.h: uri: Quiet warning about type
qualifiers ignored on function return type This patch fixes gcc
warnings that occur due to the type qualifier 'const' being
ignored on a return type of int. ASTERISK-24246 #close Reported
by: Shaun Ruffell patches:
0001-main-uri-Quiet-warning-about-ignored-attribute-on-re.patch
uploaded by Shaun Ruffell (License 5417)
2014-08-20 22:49 +0000 [r421616-421645] Richard Mudgett <rmudgett@digium.com>
* main/bridge.c, res/res_pjsip_sdp_rtp.c, main/file.c,
main/bridge_channel.c, channels/chan_pjsip.c, main/channel.c:
chan_pjsip: Update media translation paths when new SDP
negotiated. On a SIP reinvite that changes media strams, the
PJSIP channel driver was flooding the log with "Asked to transmit
frame type %s, while native formats is %s" warnings. * Fixes
PJSIP not setting up translation paths when the formats change on
a reinvite. AFS-63 was effectively reintroduced because of the
media formats work. res_pjsip_sdp_rtp.c:set_caps() * Improved the
unexpected frame format WARNING message to include more
information. * Added protective locking while altering formats on
a channel. Reworked set_format() to simplify and protect the
formats under manipulation. * Restored some code that got lost in
the media_formats work. (channel.c:set_format() and
res_pjsip_sdp_rtp.c:set_caps()) AFS-137 #close Reported by: Mark
Michelson Review: https://reviewboard.asterisk.org/r/3906/
* main/cli.c, /: cli.c: Fix tab completion of "module load" when
MALLOC_DEBUG is enabled. filename_completion_function() returns
memory that was not allocated by the MALLOC_DEBUG allocation
tracker so the memory must be freed by ast_std_free(). ........
Merged revisions 421600 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421602 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421608 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-20 20:40 +0000 [r421566-421585] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_pubsub.c: Set the role for inbound subscriptions
correctly. This was causing the AMI show_subscriptions test in
the testsuite to fail since all subscriptions were being seen as
subscribers instead of notifiers.
* /, channels/chan_pjsip.c: Move evaluation of set_var options in
pjsip to the end of channel initialization. This allows for
set_var to override certain defaults such as caller ID and codec
values. This also fixes a test suite regression. The "set_var"
test suite test attempted to use set_var to override caller ID,
but a recent change caused that to no longer work. ........
Merged revisions 421565 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-20 13:04 +0000 [r421538] Kinsey Moore <kmoore@digium.com>
* res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
res/stasis/app.c, main/bridge.c,
include/asterisk/stasis_bridges.h, tests/test_cel.c,
res/ari/ari_model_validators.c, main/stasis_bridges.c: Stasis:
Add information to blind transfer event When a blind transfer
occurs that is forced to create a local channel pair to satisfy
the transfer request, information about the local channel pair is
not published. This adds a field to describe that channel to the
blind transfer message struct so that this information is
conveyed properly to consumers of the blind transfer message.
This also fixes a bug in which Stasis() was unable to properly
identify the channel that was replacing an existing
Stasis-controlled channel due to a blind transfer. Reported by:
Matt Jordan Review: https://reviewboard.asterisk.org/r/3921/
........ Merged revisions 421537 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-19 20:28 +0000 [r421448-421488] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip.c: Alter documentation for callerid_privacy to
use correct values. ........ Merged revisions 421485 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_stasis.c: Fix compilation error on certain versions of
GCC. ........ Merged revisions 421447 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-19 19:42 +0000 [r421445] Kinsey Moore <kmoore@digium.com>
* main/manager.c, /: AMI Docs: Fix Status channel parameter
optionality ........ Merged revisions 421442 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421443 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421444 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-19 16:28 +0000 [r421423] Jonathan Rose <jrose@digium.com>
* res/res_stasis.c, /: ARI: Fix a bug where
/channels/{channelID}/continue doesn't execute PBX If
/channels/{channelID}/continue is called on a channel that was
originated without a PBX (such as the ARI command POST channel
with a stasis application argument), the channel will not start
dialplan execution. This patch will now run the PBX out of the
stasis execution if the channel doesn't currently have an active
PBX upon continuing. ASTERISK-24043 #close Reported by: Krandon
Bruse Review: https://reviewboard.asterisk.org/r/3917/ Patches:
stasis-continue.diff submitted by Krandon Bruse (license 6631)
........ Merged revisions 421416 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-19 16:11 +0000 [r421403] Richard Mudgett <rmudgett@digium.com>
* channels/chan_pjsip.c, res/res_pjsip_session.c, /,
res/res_pjsip_caller_id.c: chan_pjsip: Fix attended transfer
connected line name update. A calls B B answers B SIP attended
transfers to C C answers, B and C can see each other's connected
line information B completes the transfer A has number but no
name connected line information about C while C has the full
information about A I examined the incoming and outgoing party id
information handling of chan_pjsip and found several issues: *
Fixed ast_sip_session_create_outgoing() not setting up the
configured endpoint id as the new channel's caller id. This is
why party A got default connected line information. * Made
update_initial_connected_line() use the channel's CALLERID(id)
information. The core, app_dial, or predial routine may have
filled in or changed the endpoint caller id information. * Fixed
chan_pjsip_new() not setting the full party id information
available on the caller id and ANI party id. This includes the
configured callerid_tag string and other party id fields. * Fixed
accessing channel party id information without the channel lock
held. * Fixed using the effective connected line id without doing
a deep copy outside of holding the channel lock. Shallow copy
string pointers can become stale if the channel lock is not held.
* Made queue_connected_line_update() also update the channel's
CALLERID(id) information. Moving the channel to another bridge
would need the information there for the new bridge peer. * Fixed
off nominal memory leak in update_incoming_connected_line(). *
Added pjsip.conf callerid_tag string to party id information from
enabled trust_inbound endpoint in caller_id_incoming_request().
AFS-98 #close Reported by: Mark Michelson Review:
https://reviewboard.asterisk.org/r/3913/ ........ Merged
revisions 421400 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-18 21:10 +0000 [r421376] Damien Wedhorn <voip@facts.com.au>
* channels/chan_skinny.c: Skinny: Fixup compile warning for non
dev-mode.
2014-08-18 20:19 +0000 [r421337] George Joseph <george.joseph@fairview5.com>
* funcs/func_config.c, /: func_config: Change 'Not Found' message
from ERROR to DEBUG When you call the CONFIG dialplan function
with the name of a variable that doesn't exist in the target
context you get an ERROR. This does nothing but clutter up the
logs with messages that may be perfectly acceptable. Just because
a variable wasn't in the context doesn't mean it's an error.
Maybei t's optional or just needs to be defaulted or ignored.
This patch changes the log level from ERROR to DEBUG. If a
dialplan developer wants to debug their dialplan they still canby
setting the console debug level as needed. Tested by: George
Joseph Review: https://reviewboard.asterisk.org/r/3919/ ........
Merged revisions 421327 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421328 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421329 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-18 01:13 +0000 [r421230-421312] Matthew Jordan <mjordan@digium.com>
* res/ari/resource_channels.c: res/ari/resource_channels: Fix
compilation issue Forgot a parameter. Whoops.
* res/ari/resource_channels.c: res/ari/resource_channels: Don't
return allocation failure on failed function If a function fails
to execute, it is most likely due to one of two reasons: (1) The
function doesn't exist or can't be read from (2) The function is
dangerous and is restricted based on the user's permissions
Currently we return allocation failure, which is incorrect. This
updates the reason code to more accurately reflect why the
request failed. ASTERISK-24215
* /, apps/app_meetme.c: apps/app_meetme: Fix crash when publishing
MeetMe messages with no channel The same function,
meetme_stasis_generate_msg, handles creating and publishing
Stasis message both when there are channels in the MeetMe
conference and when there are no channels in the conference. When
the performance improvement was made to use cached snapshots,
this created a situation where Asterisk would crash: obtaining a
cached snapshot is not NULL tolerant. This patch restores the
previous implementation, which used a NULL safe set of routines
to produce a blob containing the channel snapshot (if available)
and information about the MeetMe conference. ASTERISK-24234
#close Reported by: Shaun Ruffell Tested by: Shaun Ruffell
........ Merged revisions 421270 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_dial.c, /: apps/app_dial: Fix Dial 'z' option The 'z'
option is supposed to disable the dial timeout in the case of a
call forward. Unfortunately, the wrong timeout timer was passed
to the do_forward function, resulting in the option not working.
ASTERISK-24225 #close Reported by: dimitripietro Tested by:
dimitripietro patches: jira_asterisk_24225_v1.8.patch uploaded by
rmudgett (License 5621) jira_asterisk_24225_v11.patch uploaded by
rmudgett (License 5621) ........ Merged revisions 421232 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421233 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421234 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, configure, configure.ac: configure: Undefine FORTIFY_SOURCE
prior to defining it for patched gcc Some distributions of Linux
patch gcc to define FORTIFY_SOURCE when gcc is executed with
optimization. This "help" unfortunately results in re-definition
warnings when FORTIFY_SOURCE is later defined in Asterisk's build
system. This patch undefines FORTIFY_SOURCE prior to defining it
to prevent this warning. Review:
https://reviewboard.asterisk.org/r/3912/ ASTERISK-24032 #close
Reported by: Kilburn Tested by: Kilburn, wdoekes patches:
1.8.diff uploaded by cloos (License 5956) 10.diff uploaded by
cloos (License 5956) 11.diff uploaded by cloos (License 5956)
12.diff uploaded by cloos (License 5956) 13.diff uploaded by
cloos (License 5956) ........ Merged revisions 421227 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421228 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421229 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-17 16:10 +0000 [r421210] Joshua Colp <jcolp@digium.com>
* res/res_http_websocket.c: res_http_websocket: Include query
parameters in client connection requests. Review:
https://reviewboard.asterisk.org/r/3914/
2014-08-15 17:08 +0000 [r421187] Jonathan Rose <jrose@digium.com>
* main/channel.c, /: Bridging: Fix a behavioral change when
checking if a channel is leaving a bridge r420934 introduced some
failures in the test suite. Upon investigating, it was discovered
that differences in the way we were evaluating whether a channel
was in the process of leaving a bridge were causing some
reinvites not to occur (mostly reinvites back to Asterisk when
ending a call). This patch fixes that behavioral change.
ASTERISK-24027 #close Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3910/ ........ Merged
revisions 421186 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-15 15:45 +0000 [r421042-421166] Matthew Jordan <mjordan@digium.com>
* apps/app_voicemail.c, /, main/app.c: app_voicemail/app: Remove
test events that were duplicated by r421059 Moving the test event
raised when a file is played back (which occurred in r421059)
broke the ever loving snot out of the voicemail tests. This
caused duplicate test events to get raised, as app_voicemail and
main/app were raising events prior to call ast_streamfile. The
voicemail tests did not enjoy getting multiple events. Since
raising the playback event in ast_streamfile is far more useful
to the vast majority of tests, this patch keeps the call there
and simply removes the extraneous calls that duplicated the
event. ........ Merged revisions 421125 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421164 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421165 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_hep_rtcp.c: res/res_hep_rtcp: Remove dependency on
PJSIP The res_hep_rtcp module was incorrectly including
<pjsip.h>. This didn't need to be included, as the module does
not using PJPROJECT any fashion. Unfortunately, because
res_hep_rtcp did not include pjsip in its MODULEINFO as a
dependency, this also meant that res_hep_rtcp will fail to
compile on a system without PJPROJECT. This patch removes the
include. Thanks to Damien Wedhorn for pointing this out in
#asterisk-dev. ASTERISK-24236 #close Reported by: Damien Wedhorn,
Matt Jordan Tested by: Damien Wedhorn ........ Merged revisions
421064 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/file.c, main/app.c: main/file: Move test event to emit
PLAYBACK event more consistently This is being done in advance of
the test for ASTERISK-23953 ........ Merged revisions 421059 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 421060 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 421061 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, tests/test_cel.c, main/cel.c: cel: Make sure channels in extra
fields include their unique IDs as well CEL typically tracks a
lot of information using the unique ID of the channel. This is
typically needed due to tying events together using the linked ID
of the various channels involved in a "call", which is derived
from the channel ID of the oldest channel involved in a bridge
(or in the case of a Dial, the parent channel). Previously, we
had updated the extra fields to include the involved channel
names, but forgot to put in the unique ID. This patch corrects
that error. ........ Merged revisions 421037 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-14 16:32 +0000 [r420957-421010] Richard Mudgett <rmudgett@digium.com>
* res/ari/resource_channels.c, /: ARI: Originate to app local
channel subscription code optimization. Reduce the scope of
local_peer and only get it if the ARI originate is subscribing to
the channels. Review: https://reviewboard.asterisk.org/r/3905/
........ Merged revisions 421009 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/channel.c, main/channel_internal_api.c:
channel_internal_api.c: Replace some code with ao2_replace(). Use
ao2_replace() instead of ao2_cleanup(); ao2_bump(). ao2_replace()
has the advantange of not altering the ref count if the replaced
pointer is the same. Review:
https://reviewboard.asterisk.org/r/3904/
* /, res/res_pjsip_send_to_voicemail.c:
res_pjsip_send_to_voicemail.c: Fix svn file properties. ........
Merged revisions 420956 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-13 16:53 +0000 [r420950] Kinsey Moore <kmoore@digium.com>
* /, res/res_pjsip.c: PJSIP: Prevent crash no-URI contacts This
prevents a crash from occurring when a contact with no URI is
used for the creation of an outbound out-of-dialog request with
no associated endpoint. ........ Merged revisions 420949 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-13 16:07 +0000 [r420940] Jonathan Rose <jrose@digium.com>
* /, main/framehook.c, main/bridge_after.c,
main/channel_internal_api.c, include/asterisk/channel.h,
apps/app_chanspy.c, apps/app_mixmonitor.c, apps/app_stack.c,
main/bridge_channel.c, main/channel.c, main/pbx.c: Bridges: Fix
feature interruption/unintended kick caused by external actions
If a manager or CLI user attached a mixmonitor to a call running
a dynamic bridge feature while in a bridge, the feature would be
interrupted and the channel would be forcibly kicked out of the
bridge (usually ending the call during a simple 1 to 1 call).
This would also occur during any similar action that could set
the unbridge soft hangup flag, so the fix for this was to remove
unbridge from the soft hangup flags and make it a separate thing
all together. ASTERISK-24027 #close Reported by: mjordan Review:
https://reviewboard.asterisk.org/r/3900/ ........ Merged
revisions 420934 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-13 14:24 +0000 [r420919] Kinsey Moore <kmoore@digium.com>
* main/manager.c: AMI: Improve documentation for Status action
2014-08-13 07:52 +0000 [r420899] Walter Doekes <walter+asterisk@wjd.nu>
* main/logger.c, /: logger: Don't store verbose-magic in the log
files. In r399267, the verbose2magic stuff was edited. This time
it results in magic characters in the log files for multiline
messages. In trunk (and 13) this was fixed by the "stripping" of
those characters from multiline messages (in r414798). This fix
is altered to actually strip the characters and not replace them
with blanks. Review: https://reviewboard.asterisk.org/r/3901/
Review: https://reviewboard.asterisk.org/r/3902/ ........ Merged
revisions 420897 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 420898 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-12 23:43 +0000 [r420879-420881] Richard Mudgett <rmudgett@digium.com>
* channels/chan_sip.c: chan_sip: Fix type mismatch when the format
is changed. Symptom is most likely an invalid ao2 object bad
magic number message or a less likely crash.
* res/res_stasis_snoop.c: res_stasis_snoop.c: Fix off nominial exit
path leaving Snoop channel locked and not hungup. * Made use
ast_copy_string() instead of strcpy() for snoop uniqueid for
safety. There is no guarantee that the max channel uniqueid
length will remain the same as the snoop uniqueid space.
2014-08-12 11:17 +0000 [r420856] Joshua Colp <jcolp@digium.com>
* apps/app_voicemail.c: app_voicemail: Fix the
"test_voicemail_vm_info" unit test.
2014-08-11 20:53 +0000 [r420837] Richard Mudgett <rmudgett@digium.com>
* res/stasis/command.c, /: res/stasis/command.c: Fix recent commit
using spaces instead of tabs. ........ Merged revisions 420836
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-11 Asterisk Development Team <asteriskteam@digium.com>
* Asterisk 13.0.0-beta1 Released.
2014-08-11 18:50 +0000 [r420808] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/bridges.json,
rest-api/api-docs/recordings.json,
rest-api/api-docs/deviceStates.json,
rest-api/api-docs/endpoints.json,
rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
/, rest-api/api-docs/asterisk.json,
rest-api/api-docs/applications.json,
rest-api/api-docs/playbacks.json,
rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
rest-api/resources.json, include/asterisk/manager.h: AMI/ARI:
Update version to 2.5.0/1.5.0 respectively This is to support the
backwards compatible changes made in the next version of
Asterisk. ........ Merged revisions 420805 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-11 18:46 +0000 [r420796-420803] Kinsey Moore <kmoore@digium.com>
* res/res_stasis.c, /: Stasis: Use the correct return value Return
the correct value instead of always returning 0 when setting
internal status on unreal channels. Reported by: Richard Mudgett
........ Merged revisions 420802 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/stasis_bridge.c, include/asterisk/stasis_app.h,
res/res_stasis.c, res/ari/resource_bridges.c: Stasis: Allow
internal channels directly into bridges The patch to catch
channels being shoehorned into Stasis() via external mechanisms
also happens to catch Announcer and Recorder channels because
they aren't known to be stasis-controlled channels in the usual
sense. This marks those channels as Stasis()-internal channels
and allows them directly into bridges. Review:
https://reviewboard.asterisk.org/r/3903/ ........ Merged
revisions 420795 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-11 18:32 +0000 [r420758-420794] Mark Michelson <mmichelson@digium.com>
* main/stasis_channels.c, res/ari/resource_channels.c, CHANGES,
res/res_pjsip_pubsub.c, main/manager_channels.c, apps/app_dial.c,
res/stasis/app.c, res/stasis/control.c,
include/asterisk/stasis_app.h: Improve call forwarding reporting,
especially with regards to ARI. This patch addresses a few
issues: 1) The order of Dial events have been changed when
performing a call forward. The order has now been altered to 1)
Dial begins dialing channel A. 2) When A forwards the call to B,
we issue the dial end event to channel A, indicating the dial is
being canceled due to a forward to B. 3) When the call to channel
B occurs, we then issue a new dial begin to channel B. 2) Call
forwards are now reported on the calling channel, not the peer
channel. 3) AMI DialEnd events have been altered to display the
extension the call is being forwarded to when relevant. 4) You
can now get the values of channel variables for channels that are
not currently in the Stasis application. This brings the
retrieval of channel variables more in line with the rest of
channel read operations since they may be performed on channels
not in Stasis. ASTERISK-24134 #close Reported by Matt Jordan
ASTERISK-24138 #close Reported by Matt Jordan Patches:
forward-shenanigans.diff uploaded by Matt Jordan (License #6283)
Review: https://reviewboard.asterisk.org/r/3899
* res/res_pjsip_pubsub.c: Fix crashing unit tests with regards to
RLS. The unit tests require a sorcery.conf file that has been set
up to store resource lists in memory rather than retrieving from
configuration. With a setup that is not conducive to running the
tests, a fault in sorcery currently causes Asterisk to crash when
attempting to run any of the tests. To get around the crash, this
adds a function that verifies the current environment and marks
the tests as "not run" if the setup is not correct.
* res/res_pjsip_pubsub.c: Fix crash encountered by the testsuite.
Running testsuite tests locally produced no errors, but when run
using the continuous integration framework, crashes occurred. The
crashes occurred due to a refcounting error that had been fixed
for a similar situation.
2014-08-11 13:57 +0000 [r420742] Matthew Jordan <mjordan@digium.com>
* res/res_hep_pjsip.c, res/res_hep_rtcp.c, res/res_hep.c: res_hep:
Remove disabling of modules These modules were originally
specified as being disabled, as they were introduced midstream in
Asterisk 12. That makes it nicer for folks who are upgrading to a
new release in the middle of Asterisk 12. That's not the case for
Asterisk 13: it's a brand new release. There's no reason to have
the modules disabled by default in that case.
2014-08-11 10:40 +0000 [r420657-420717] Walter Doekes <walter+asterisk@wjd.nu>
* /, main/utils.c: general: Fix memory Corruption in
__ast_string_field_ptr_build_va. If the space left in a
stringfield is between 0 and
(alignof(ast_string_field_allocation)-1) adding new data would
cause memory corruption, because we would assume enough space
(unsigned underrun). Thanks Arnd Schmitter for reporting and
finding out the cause! ASTERISK-23508 #close Reported by: Arnd
Schmitter Tested by: Arnd Schmitter, JoshE Review:
https://reviewboard.asterisk.org/r/3898/ ........ Merged
revisions 420680 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 420715 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 420716 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/tcptls.c, /: tcptls: Avoid compiler warning on non-dev-mode.
........ Merged revisions 420654 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 420655 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 420656 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-11 01:31 +0000 [r420607-420639] Matthew Jordan <mjordan@digium.com>
* funcs/func_jitterbuffer.c: funcs/func_jitterbuffer: Tweak
documentation This patch merely reformats and cleans up a bit of
the jitterbuffer documentation for the wiki.
* contrib/ast-db-manage/config/versions/d39508cb8d8_create_queue_rules.py
(added), configs/samples/queuerules.conf.sample, UPGRADE.txt,
configs/samples/extconfig.conf.sample, CHANGES, apps/app_queue.c:
app_queue: Add RealTime support for queue rules This patch gives
the optional ability to keep queue rules in RealTime. It is
important to note that with this patch: (a) Queue rules in
RealTime are only examined on module load/reload (b) Queue rules
are loaded both from the queuerules.conf file as well as the
RealTime backend To inform app_queue to examine RealTime for
queue rules, a new setting has been added to queuerules.conf's
general section "realtime_rules". RealTime queue rules will only
be used when this setting is set to "yes". The schema for the
database table supports a rule_name, time, min_penalty, and
max_penalty columns. min_penalty and max_penalty can be relative,
if a '-' or '+' literal is provided. Otherwise, the penalties are
treated as constants. For example: rule_name, time, min_penalty,
max_penalty 'default', '10', '20', '30' 'test2', '20', '30', '55'
'test2', '25', '-11', '+1111' 'test2', '400', '112', '333'
'test3', '0', '4564', '46546' 'test_rule', '40', '15', '50' which
would result in : Rule: default - After 10 seconds, adjust
QUEUE_MAX_PENALTY to 30 and adjust QUEUE_MIN_PENALTY to 20 Rule:
test2 - After 20 seconds, adjust QUEUE_MAX_PENALTY to 55 and
adjust QUEUE_MIN_PENALTY to 30 - After 25 seconds, adjust
QUEUE_MAX_PENALTY by 1111 and adjust QUEUE_MIN_PENALTY by -11 -
After 400 seconds, adjust QUEUE_MAX_PENALTY to 333 and adjust
QUEUE_MIN_PENALTY to 112 Rule: test3 - After 0 seconds, adjust
QUEUE_MAX_PENALTY to 46546 and adjust QUEUE_MIN_PENALTY to 4564
Rule: test_rule - After 40 seconds, adjust QUEUE_MAX_PENALTY to
50 and adjust QUEUE_MIN_PENALTY to 15 If you use RealTime, the
queue rules will be always reloaded on a module reload, even if
the underlying file did not change. With the option disabled, the
rules will only be reloaded if the file was modified. Review:
https://reviewboard.asterisk.org/r/3607/ ASTERISK-23823 #close
Reported by: Michael K patches: app_queue.c_realtime_trunk.patch
uploaded by Michael K (License 6621)
* CHANGES: Update CHANGES file
* UPGRADE.txt: Update UPGRADE.txt file
2014-08-08 20:08 +0000 [r420577-420592] Jason Parker <jparker@digium.com>
* apps/app_voicemail.c: Fix build in devmode.
* CHANGES, configs/samples/voicemail.conf.sample,
apps/app_voicemail.c: app_voicemail: Add the ability to specify
multiple email addresses. ASTERISK-24045 Reported by: Jacob
Barber Review: https://reviewboard.asterisk.org/r/3833/
2014-08-08 17:53 +0000 [r420534-420562] Matthew Jordan <mjordan@digium.com>
* channels/chan_sip.c, channels/sip/security_events.c,
channels/sip/dialplan_functions.c, channels/sip/reqresp_parser.c,
channels/sip/route.c, channels/sip/utils.c,
channels/sip/config_parser.c: chan_sip: Mark chan_sip and its
files as extended support
* rest-api-templates/make_ari_stubs.py: make_ari_stubs: Update wiki
prefix to '13'
* rest-api-templates/res_ari_resource.c.mustache:
res_ari_resource.c.mustache: Update template to emit module
support level
* /, main/message.c: main/message: remove debug message ........
Merged revisions 420533 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-08 03:03 +0000 [r420514] Kinsey Moore <kmoore@digium.com>
* tests/test_cel.c, /: CEL: Update unit tests for additional
information This updates the CEL unit tests for the new
information contained in the attended transfer CEL extra field.
........ Merged revisions 420513 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-08 01:31 +0000 [r420494-420496] Matthew Jordan <mjordan@digium.com>
* UPGRADE.txt: Update UPGRADE file for 13 branch
* /: Remove old properties
* / (added): ___ _ _ _ __ _____ / _ \ | | (_) | | / ||____ | / /_\
\___| |_ ___ _ __ _ ___| | __ `| | / / | _ / __| __/ _ | '__| /
__| |/ / | | \ \ | | | \__ | || __| | | \__ | < _| |.___/ / \_|
|_|___/\__\___|_| |_|___|_|\_\ \___\____/
2014-08-07 21:58 +0000 [r420437] Richard Mudgett <rmudgett@digium.com>
* /, channels/chan_sip.c: chan_sip: Replace sip_tls_read() and
resolve the large SDP poll issue. Replace sip_tls_read() and
sip_tcp_read() with a single function and resolve the poll/wait
issue with large SDP payloads. ASTERISK-18345 #close Reported by:
Stephane Chazelas Patches: tcptls_pollv4.diff (license #5835)
patch uploaded by Elazar Broad Review:
https://reviewboard.asterisk.org/r/3882/ ........ Merged
revisions 420434 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 420435 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 420436 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-07 21:17 +0000 [r420389-420415] Kinsey Moore <kmoore@digium.com>
* main/stasis_bridges.c, /: Stasis: Correct blind transfer message
generation This fixes the json object creation format string and
key name for the BridgeBlindTransfer Stasis event allowing it to
be published properly. ........ Merged revisions 420414 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/stasis_bridges.c: Stasis: Ensure transfer messages follow
validation rules This makes Stasis() event generation for
transfer messages follow validation rules. Currently,
ast_json_null() is being used in place of omitting a key entirely
which falls afoul of these validation rules.
https://reviewboard.asterisk.org/r/3892/ ........ Merged
revisions 420408 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_pubsub.c: Fix build in dev mode
2014-08-07 19:44 +0000 [r420384-420388] Mark Michelson <mmichelson@digium.com>
* /, main/bridge.c: Ensure bridges exist when trying to determine
bridged parties when publishing transfer information. ........
Merged revisions 420387 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/strings.c, include/asterisk/res_pjsip_presence_xml.h,
res/res_pjsip_mwi.c, res/res_pjsip_dialog_info_body_generator.c,
res/res_pjsip_xpidf_body_generator.c, include/asterisk/strings.h,
res/res_pjsip_pubsub.c, res/res_pjsip_exten_state.c,
include/asterisk/res_pjsip_pubsub.h,
res/res_pjsip_pidf_body_generator.c: Add support for RFC 4662
resource list subscriptions. This commit adds the ability for a
user to configure a resource list in pjsip.conf. Subscribing to
this list simultaneously subscribes the subscriber to all
resources listed. This has the potential to reduce the amount of
SIP traffic when loads of subscribers on a system attempt to
subscribe to each others' states.
2014-08-07 18:51 +0000 [r420364] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/format_compatibility.h,
channels/iax2/format_compatibility.c,
channels/iax2/include/codec_pref.h, main/format_compatibility.c,
channels/chan_iax2.c, channels/iax2/codec_pref.c,
channels/iax2/include/format_compatibility.h: chan_iax2: Several
media format fixes. * Fixed the iax.conf bandwidth option. This
is the root cause of ASTERISK-24150. * Added checks in
iax2_request() to ensure that there are actual formats requested
for the new channel to prevent any more fracks from issues like
ASTERISK-24150. This is a consequence of the iax.conf bandwidth
option not working. * Fixed struct iax2_codec_pref.order member
size mismatch issue when converting to and from the codec
preference order list passed over the wire. In addition the
values sent over the wire are now compatible with previous
Asterisk versions. * Fixed several issues dealing with the struct
iax2_codec_pref members. Off-by-one, array limit errors, and the
order/framing members always need to be updated together. * Made
iax2_request() setup the channel's native format preference order
according to the user's wishes. The new media format strategy
needs the order specified earler. * Fixed usage of
ast_format_compatibility_bitfield2format(). The function can
return NULL if the bitfield was not associated with a function. *
Deleted dead code iax2_codec_pref_getsize() and
iax2_codec_pref_setsize(). * Made iax2_parse_allow_disallow() and
iax2_codec_pref_string() call iax2_codec_pref_to_cap() instead of
inlining it. * Made IAX_CAPABILITY_MEDBANDWIDTH,
IAX_CAPABILITY_LOWBANDWIDTH, and IAX_CAPABILITY_LOWFREE constants
again as they were in Asterisk v1.8. * Renamed prefs to
prefs_global so it won't get confused with the local pref
versions. * Fixed too small buffer in
handle_cli_iax2_show_peer(). * Fixed ast_cli() calls in
handle_cli_iax2_show_peer() to output complete lines. * Changed
struct create_addr_info.prefs to be struct iax2_codec_pref as an
optimization so iax2_request() and iax2_call() do less work. *
Fixed a potential deadlock in ast_iax2_new() on an off-nominal
path when the pbx could not get started. * Made set_config()
setup a local prefs list along side the local capability format
bitfield. Once the config is loaded, then the local copies are
put into the global versions. * Fix unininialized codec_buf in
function_iaxpeer(). ASTERISK-24150 #close Reported by: Scott
Griepentrog Review: https://reviewboard.asterisk.org/r/3890/
2014-08-07 15:30 +0000 [r420338] Kinsey Moore <kmoore@digium.com>
* main/stasis_bridges.c, res/ari/ari_model_validators.h,
main/channel.c, include/asterisk/datastore.h, tests/test_cel.c,
include/asterisk/bridge_features.h, res/res_stasis.c,
res/stasis/command.c, rest-api/api-docs/events.json, /,
res/stasis/app.c, res/stasis/control.c, main/bridge.c,
main/bridge_basic.c, res/stasis/stasis_bridge.c,
include/asterisk/stasis_bridges.h, res/stasis/command.h,
include/asterisk/stasis_app.h, res/stasis/app.h,
res/stasis/control.h, apps/app_queue.c,
res/ari/ari_model_validators.c, main/cel.c: Stasis: Convey
transfer information to applications This fixes a class of issues
where Stasis applications were not made aware that their channels
were being manipulated or replaced by external entitiessuch as
transfers, AMI commands, or dialplan applications such as
Bridge(). Inconsistent information such as StasisEnd events with
unknown channels as a result of masquerades has also been
corrected. To accomplish these fixes, several new fields were
added to blind and attended transfer messages as well as
StasisStart and BridgeAttendedTransfer Stasis events.
ASTERISK-23941 #close Review:
https://reviewboard.asterisk.org/r/3865/ Review:
https://reviewboard.asterisk.org/r/3857/ Review:
https://reviewboard.asterisk.org/r/3852/ Review:
https://reviewboard.asterisk.org/r/3816/ Review:
https://reviewboard.asterisk.org/r/3731/ Review:
https://reviewboard.asterisk.org/r/3729/ Review:
https://reviewboard.asterisk.org/r/3728/ ........ Merged
revisions 420325 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-07 14:37 +0000 [r420314-420315] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_publish_asterisk.c (added), res/res_pjsip_pubsub.c,
include/asterisk/res_pjsip_pubsub.h,
res/res_pjsip_pubsub.exports.in: res_pjsip_publish_asterisk: Add
support for exchanging device and mailbox state using SIP. This
module uses the inbound and outbound PUBLISH support to exchange
device and mailbox state between Asterisk instances. Each
instance is configured to publish to the other and requires no
intermediary server. The functionality provided is similar to the
XMPP and Corosync support. Review:
https://reviewboard.asterisk.org/r/3780/
* res/res_pjsip_outbound_publish.exports.in (added),
res/res_pjsip_outbound_publish.c (added),
include/asterisk/res_pjsip_outbound_publish.h (added):
res_pjsip_outbound_publish: Add module which provides outbound
PUBLISH support. This module implements the core parts required
for doing outbound PUBLISH. It takes care of configuration,
lifetime management, and authentication. Additional modules
implement the specific events that are published. Review:
https://reviewboard.asterisk.org/r/3780/
2014-08-07 14:17 +0000 [r420289-420309] Matthew Jordan <mjordan@digium.com>
* main/pbx.c: pbx: Filter out pattern matching hints in responses
sent to ExtensionStateList Hints that are a pattern match are
technically stored in the hint container in the same fashion as
concrete implementations of hints. The pattern matching hints,
however, are not "real" in the sense that things can subscribe to
them: rather, they are stored in the hints container so that when
a subscription is made a "real" hint can be generated for the
subscription if one does not yet exist. The extension state core
takes care of this correctly by matching against non-pattern
matching extensions prior to pattern matching extensions. Because
of this, however, the ExtensionStateList AMI action was returning
pattern matching hints when executed. These hints are meaningless
from the perspective of AMI clients: their state will never
change, they cannot be subscribed to, and events would never
normally be generated from them. As such, we now filter these out
of the response.
* build_tools/post_process_documentation.py: build_tools: Skip
managerEvent combining for AMI action responses AMI action
responses can (and will) reference AMI events that they return.
These event references and definitions should not be combined
with AMI events raised elsewhere in the code, as they are
specifically tied to the AMI action that raised them.
ASTERISK-24156 #close Reported by: Rusty Newton
2014-08-06 18:12 +0000 [r420212-420237] Richard Mudgett <rmudgett@digium.com>
* contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
/: Fix alembic script to work properly in offline mode. When run
in offline mode, this would attempt to check the database for the
presence of a type it was going to try to create. I now check the
context to see if we're running in offline mode and change a
parameter accordingly. ........ Merged revisions 407567 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /,
contrib/ast-db-manage/config/versions/3855ee4e5f85_add_missing_pjsip_options.py
(added): Add alembic script that adds contact user_agent and
endpoint message_context. ........ Merged revisions 411514 from
http://svn.asterisk.org/svn/asterisk/branches/12
* contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
contrib/ast-db-manage/config.ini.sample,
contrib/ast-db-manage/config/versions/1758e8bbf6b_increase_useragent_column_size.py
(added),
contrib/ast-db-manage/config/versions/5139253c0423_make_q_member_uniqueid_autoinc.py
(added), contrib/ast-db-manage/cdr.ini.sample,
contrib/ast-db-manage/voicemail.ini.sample,
contrib/ast-db-manage/voicemail/versions/39428242f7f5_increase_recording_column_size.py
(added), /: alembic: Adjust sippeers, queue_members, and
voicemail_messages tables. * Increased the sippeers useragent max
string size to 255. * Changed the queue_members uniqueid to an
auto incremented integer instead of a string. * Increased the
voicemail_messages BLOB size to LONGBLOB on mysql. * Fixed the
add_tables_for_pjsip config change version downgrade actions to
drop a table it created. * Adjusted the sample alembic.ini files
cdr.ini.sample, config.ini.sample, and voicemail.ini.sample to
give a mysql and postgres sqlalchemy.url lines. ASTERISK-23847
#close Reported by: Stephen More ASTERISK-23825 #close Reported
by: Stephen More ASTERISK-23909 #close Reported by: Stephen More
Review: https://reviewboard.asterisk.org/r/3870/ ........ Merged
revisions 420211 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-06 16:12 +0000 [r420149] George Joseph <george.joseph@fairview5.com>
* main/pbx.c, /, pbx/pbx_lua.c: pbx_lua: fix regression with global
sym export and context clash by pbx_config. ASTERISK-23818 (lua
contexts being overwritten by contexts of the same name in
pbx_config) surfaced because pbx_lua, having the
AST_MODFLAG_GLOBAL_SYMBOLS set, was always force loaded before
pbx_config. Since I couldn't find any reason for pbx_lua to
export it's symbols to the rest of Asterisk, I simply changed the
flag to AST_MODFLAG_DEFAULT. Problem solved. What I didn't
realize was that the symbols need to be exported not because
Asterisk needs them but because any external Lua modules like
luasql.mysql need the base Lua language APIs exported
(ASTERISK-17279). Back to ASTERISK-23818... It looks like there's
an issue in pbx.c where context_merge was only merging includes,
switches and ignore patterns if the context was already existing
AND has extensions, or if the context was brand new. If pbx_lua
is loaded before pbx_config, the context will exist BUT pbx_lua,
being implemented as a switch, will never place extensions in it,
just the switch statement. The result is that when pbx_config
loads, it never merges the switch statement created by pbx_lua
into the final context. This patch sets pbx_lua's modflag back to
AST_MODFLAG_GLOBAL_SYMBOLS and adds an "else if" in context_merge
that catches the case where an existing context has includes,
switchs or ingore patterns but no actual extensions.
ASTERISK-23818 #close Reported by: Dennis Guse Reported by: Timo
Teräs Tested by: George Joseph Review:
https://reviewboard.asterisk.org/r/3891/ ........ Merged
revisions 420146 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 420147 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 420148 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-06 15:32 +0000 [r420144] Walter Doekes <walter+asterisk@wjd.nu>
* funcs/func_channel.c: Add documentation to the ability to
retrieve the source port of a SIP call. (belongs with r419970)
ASTERISK-24040 #close Patches: func_channel.c.diff uploaded by
dtryba Review: https://reviewboard.asterisk.org/r/3781/
2014-08-06 12:55 +0000 [r420124] Kinsey Moore <kmoore@digium.com>
* main/stasis_endpoints.c, main/rtp_engine.c,
main/security_events.c, main/ccss.c, main/bridge.c,
main/devicestate.c, res/res_stasis_snoop.c, main/endpoints.c,
main/stasis_bridges.c, main/presencestate.c, main/loader.c,
main/stasis.c, main/cdr.c, main/channel.c, main/stasis_message.c,
main/stasis_system.c, main/manager.c, main/app.c,
pbx/pbx_realtime.c, main/stasis_channels.c,
res/res_stasis_test.c, main/stasis_cache.c, main/pickup.c,
tests/test_stasis_channels.c, include/asterisk/stasis.h,
configs/samples/stasis.conf.sample (added), main/core_local.c,
main/named_acl.c, apps/app_queue.c, apps/app_forkcdr.c,
funcs/func_cdr.c, res/res_corosync.c, res/res_stun_monitor.c,
main/test.c, main/file.c, tests/test_stasis.c, res/res_stasis.c,
apps/app_chanspy.c, res/parking/parking_manager.c: Stasis: Allow
message types to be blocked This introduces stasis.conf and a
mechanism to prevent certain message types from being published.
Internally, this works by preventing the chosen message types
from being created which ensures that those message types can
never be published. This patch also adjusts message publishers
such that message payloads are not created if the related message
type is not available. ASTERISK-23943 #close Review:
https://reviewboard.asterisk.org/r/3823/
2014-08-05 21:48 +0000 [r420098-420100] Matthew Jordan <mjordan@digium.com>
* res/stasis/messaging.c, /: stasis: Fix compilation issue with ao2
tagged objects ........ Merged revisions 420099 from
http://svn.asterisk.org/svn/asterisk/branches/12
* tests/test_message.c (added), res/res_xmpp.c,
include/asterisk/json.h, CHANGES, include/asterisk/manager.h,
res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
main/json.c, res/res_ari_endpoints.c, include/asterisk/message.h,
res/ari/resource_channels.c, main/message.c, res/res_stasis.c,
res/stasis/messaging.c (added), rest-api/api-docs/endpoints.json,
res/ari/resource_endpoints.c, rest-api/api-docs/events.json, /,
channels/chan_sip.c, res/stasis/app.c, res/stasis/messaging.h
(added), res/ari/resource_endpoints.h, res/res_pjsip_messaging.c:
Multiple revisions 420089-420090,420097 ........ r420089 |
mjordan | 2014-08-05 15:10:52 -0500 (Tue, 05 Aug 2014) | 72 lines
ARI: Add channel technology agnostic out of call text messaging
This patch adds the ability to send and receive text messages
from various technology stacks in Asterisk through ARI. This
includes chan_sip (sip), res_pjsip_messaging (pjsip), and
res_xmpp (xmpp). Messages are sent using the endpoints resource,
and can be sent directly through that resource, or to a
particular endpoint. For example, the following would send the
message "Hello there" to PJSIP endpoint alice with a display URI
of sip:asterisk@mycooldomain.org:
ari/endpoints/sendMessage?to=pjsip:alice&from=sip:asterisk@mycooldomain.org&body=Hello+There
This is equivalent to the following as well:
ari/endpoints/PJSIP/alice/sendMessage?from=sip:asterisk@mycooldomain.org&body=Hello+There
Both forms are available for message technologies that allow for
arbitrary destinations, such as chan_sip. Inbound messages can
now be received over ARI as well. An ARI application that
subscribes to endpoints will receive messages from those
endpoints: { "type": "TextMessageReceived", "timestamp":
"2014-07-12T22:53:13.494-0500", "endpoint": { "technology":
"PJSIP", "resource": "alice", "state": "online", "channel_ids":
[] }, "message": { "from": "\"alice\" <sip:alice@127.0.0.1>",
"to": "pjsip:asterisk@127.0.0.1", "body": "Watson, come here.",
"variables": [] }, "application": "testsuite" } The above was
made possible due to some rather major changes in the message
core. This includes (but is not limited to): - Users of the
message API can now register message handlers. A handler has two
callbacks: one to determine if the handler has a destination for
the message, and another to handle it. - All dialplan
functionality of handling a message was moved into a message
handler provided by the message API. - Messages can now have the
technology/endpoint associated with them. Various other
properties are also now more easily accessible. - A number of ao2
containers that weren't really needed were replaced with vectors.
Iteration over ao2_containers is expensive and pointless when the
lifetime of things is well defined and the number of things is
very small. res_stasis now has a new file that makes up its
structure, messaging. The messaging functionality implements a
message handler, and passes received messages that match an
interested endpoint over to the app for processing. Note that
inadvertently while testing this, I reproduced ASTERISK-23969.
res_pjsip_messaging was incorrectly parsing out the 'to' field,
such that arbitrary SIP URIs mangled the endpoint lookup. This
patch includes the fix for that as well. Review:
https://reviewboard.asterisk.org/r/3726 ASTERISK-23692 #close
Reported by: Matt Jordan ASTERISK-23969 #close Reported by:
Andrew Nagy ........ r420090 | mjordan | 2014-08-05 15:16:37
-0500 (Tue, 05 Aug 2014) | 2 lines Remove automerge properties
:-( ........ r420097 | mjordan | 2014-08-05 16:36:25 -0500 (Tue,
05 Aug 2014) | 2 lines test_message: Fix strict-aliasing
compilation issue ........ Merged revisions 420089-420090,420097
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-05 13:59 +0000 [r420028] Jonathan Rose <jrose@digium.com>
* main/format.c: chan_iax2: Fix a crash that occurs when using
allow=all for an IAX2 peer Or any combination of codecs that
includes Opus. ASTERISK-24107 #close Review:
https://reviewboard.asterisk.org/r/3885/
2014-08-04 21:00 +0000 [r420007] Richard Mudgett <rmudgett@digium.com>
* main/format_cache.c, include/asterisk/format_cache.h: Remove
duplicate definitions of ast_format_vp8.
2014-08-04 20:25 +0000 [r419970] Mark Michelson <mmichelson@digium.com>
* channels/sip/dialplan_functions.c: Add the ability to retrieve
the source port of a SIP call. This adds the ability to call
CHANNEL(recvport) on chan_sip channels to see the port on which
an INVITE was received. ASTERISK-24040 #close Reported by dtryba
Patches: dialplan_functions.patch uploaded by dtryba (License
#6628) Review: https://reviewboard.asterisk.org/r/3781
2014-08-04 19:47 +0000 [r419945] Rusty Newton <rnewton@digium.com>
* /, main/manager.c: Manager - Improve documentation for manager
commands Getvar and Setvar. The documentation for these commands
did not make it clear that they could accept expressions and
functions. Modified to make this clear, but tried not to be
overly explicit. ASTERISK-21178 #close Reported by: Rusty Newton
Tested by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/3854 ........ Merged revisions
419942 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 419943 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 419944 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-08-02 03:37 +0000 [r419914] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip.c: Manager: Add PJSIPShowEndpoint[s] documentation
This adds a large swath of response documentation for
PJSIPShowEndpoint and PJSIPShowEndpoints AMI commands. It relies
heavily on the existing text in the configInfo documentation via
xi:include tags to avoid documentation duplication. Review:
https://reviewboard.asterisk.org/r/3888/
2014-08-01 14:48 +0000 [r419888] Mark Michelson <mmichelson@digium.com>
* CHANGES, res/res_pjsip/pjsip_options.c: Add ContactStatusDetail
to PJSIPShowEndpoint AMI output. Now when running
PJSIPShowEndpoint, you will receive a ContactStatusDetail for
each bound contact that Asterisk is qualifying. This information
includes the URI of the contact, current reachability, and
roundtrip time. AFS-91 #close Reported by Mark Michelson Review:
https://reviewboard.asterisk.org/r/3797
2014-07-31 16:19 +0000 [r419851] Jonathan Rose <jrose@digium.com>
* res/res_pjsip_notify.c, CHANGES: PJSIP: Send Notify AMI and CLI
commands can now send to URI instead of endpoint Review:
https://reviewboard.asterisk.org/r/3817/
2014-07-31 11:57 +0000 [r419822-419825] Matthew Jordan <mjordan@digium.com>
* res/res_hep_rtcp.c (added), CHANGES, channels/chan_pjsip.c,
res/res_rtp_asterisk.c, main/rtp_engine.c, /: res_hep_rtcp: Add
module that sends RTCP information to a Homer Server This patch
adds a new module to Asterisk, res_hep_rtcp. The module
subscribes to the RTCP topics in Stasis and receives RTCP
information back from the message bus. It encodes into HEPv3
packets and sends the information to the res_hep module for
transmission. Using this, someone with a Homer server can get
live call quality monitoring for all RTP-based channels in their
Asterisk 12+ systems. In addition, there were a few bugs in the
RTP engine, res_rtp_asterisk, and chan_pjsip that were uncovered
by the tests written for the Asterisk Test Suite. This patch
fixes the following: 1) chan_pjsip failed to set its channel
unique ids on its RTP instance on outbound calls. It now does
this in the appropriate location, in the serialized call
callback. 2) The rtp_engine was overflowing some values when
packed into JSON. Specifically, some longs and unsigned ints
can't be be packed into integer values, for obvious reasons.
Since libjansson only supports integers, floats, strings,
booleans, and objects, we print these values into strings. 3)
res_rtp_asterisk had a few problems: (a) it would emit a source
IP address of 0.0.0.0 if bound to that IP address. We now use
ast_find_ourip to get a better IP address, and properly marshal
the result into an ast_strdupa'd string. (b) Reports can be
generated with no report bodies. In particular, this occurs when
a sender is transmitting information to a receiver (who will send
no RTP back to the sender). As such, the sender has no report
body for what it received. We now properly handle this case, and
the sender will emit SR reports with no body. Likewise, if we
receive an RTCP packet with no report body, we will still
generate the appropriate events. ASTERISK-24119 #close ........
Merged revisions 419823 from
http://svn.asterisk.org/svn/asterisk/branches/12
* funcs/func_jitterbuffer.c, doc/appdocsxml.dtd, main/xmldoc.c:
xmldocs: Add support for an <example> tag in the Asterisk XML
Documentation This patch adds support for an <example /> tag in
the XML documentation schema. For CLI help, this doesn't change
the formatting too much: - Preceeding white space is removed -
Unlike with para elements, new lines are preserved However,
having an <example /> tag in the XML schema allows for the wiki
documentation generation script to surround the documentation
with {code} or {noformat} tags, generating much better content
for the wiki - and allowing us to put dialplan examples (and
other code snippets, if desired) into the documentation for an
application/function/AMI command/etc. Review:
https://reviewboard.asterisk.org/r/3807/
2014-07-30 18:32 +0000 [r419806] Kinsey Moore <kmoore@digium.com>
* res/res_manager_devicestate.c, main/pbx.c, main/manager.c,
res/res_manager_presencestate.c: manager: Add state list commands
This patch adds three new AMI commands: * ExtensionStateList
(pbx.c) - list all known extension state hints and their current
statuses. Events emitted by the list action are equivalent to the
ExtensionStatus events. * PresenceStateList
(res_manager_presencestate) - list all known presence state
values. Events emitted are generated by the stasis message type,
and hence are PresenceStateChange events. * DeviceStateList
(res_manager_devicestate) - list all known device state values.
Events emitted are generated by the stasis message type, and
hence are DeviceStateChange events. Patch-by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3799/
2014-07-29 19:41 +0000 [r419789] Mark Michelson <mmichelson@digium.com>
* main/manager.c: Do not omit the first header of a UserEvent AMI
action from the corresponding emitted UserEvent. ASTERISK-24124
#close Reported by Matt Jordan AFS-131 #close Reported by Matt
Jordan Patches: userevent.patch uploaded by Matt Jordan (License
#6283)
2014-07-29 10:56 +0000 [r419751-419766] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_session.c: res_pjsip_session: Fix race condition
where redirecting information may not be set. Since the PJSIP
INVITE session module is invoked before any session supplements
it was possible for it to handle a redirect before the
res_pjsip_diversion module interpreted and set redirecting
information on the channel. This would cause the redirecting
information to get lost. This patch ensures that session
supplements are *always* invoked before a redirect occurs by
explicitly calling them in the redirect handler. Review:
https://reviewboard.asterisk.org/r/3850/ ........ Merged
revisions 419764 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_pidf_body_generator.c, /,
res/res_pjsip_xpidf_body_generator.c:
res_pjsip_pidf_body_generator / res_pjsip_xpidf_body_generator:
Ensure local entity is unquoted. The local entity as provided by
PJSIP is quoted within '<' and '>'. As a result placing this
value into XML will result in malformed XML being produced. This
patch now unquotes the local entity so it can go safely into the
XML. Review: https://reviewboard.asterisk.org/r/3851/ ........
Merged revisions 419750 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-28 18:58 +0000 [r419688] Richard Mudgett <rmudgett@digium.com>
* main/channel.c, /, funcs/func_frame_trace.c, main/abstract_jb.c,
apps/app_speech_utils.c: datastores: Audit
ast_channel_datastore_remove usage. Audit of v1.8 usage of
ast_channel_datastore_remove() for datastore memory leaks. *
Fixed leaks in app_speech_utils and func_frame_trace. * Fixed
app_speech_utils not locking the channel when accessing the
channel datastore list. Review:
https://reviewboard.asterisk.org/r/3859/ Audit of v11 usage of
ast_channel_datastore_remove() for datastore memory leaks. *
Fixed leak in func_jitterbuffer. (Was not in v12) Review:
https://reviewboard.asterisk.org/r/3860/ Audit of v12 usage of
ast_channel_datastore_remove() for datastore memory leaks. *
Fixed leaks in abstract_jb. * Fixed leak in
ast_channel_unsuppress(). Used by ARI mute control and
res_mutestream. * Fixed ref leak in ast_channel_suppress(). Used
by ARI mute control and res_mutestream. Review:
https://reviewboard.asterisk.org/r/3861/ ........ Merged
revisions 419684 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 419685 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 419686 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-25 18:09 +0000 [r419612] Joshua Colp <jcolp@digium.com>
* main/loader.c: loader: Fix an infinite loop when printing modules
using "module show". When creating the alphabetical sorted list
each module is added to a list temporarily. On the second
iteration each module already has a pointer to another module,
causing stuff to go into a loop. ASTERISK-24123 #close Reported
by: Malcolm Davenport
2014-07-25 16:47 +0000 [r419592] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_exten_state.c, apps/app_speech_utils.c,
res/res_manager_devicestate.c, res/res_config_curl.c,
channels/chan_misdn.c, funcs/func_curl.c,
res/res_timing_pthread.c, res/res_stun_monitor.c,
res/res_stasis_recording.c, cel/cel_sqlite3_custom.c,
res/snmp/agent.c, apps/app_sms.c, apps/app_zapateller.c,
res/res_fax_spandsp.c,
res/res_pjsip_pidf_eyebeam_body_supplement.c,
channels/chan_multicast_rtp.c, addons/format_mp3.c,
apps/app_meetme.c, res/res_ari_asterisk.c, res/res_phoneprov.c,
apps/app_alarmreceiver.c, res/res_pjsip_t38.c, cdr/cdr_pgsql.c,
res/res_musiconhold.c, channels/chan_iax2.c,
res/res_pjsip_endpoint_identifier_user.c, main/cli.c,
res/res_format_attr_celt.c, cdr/cdr_csv.c, formats/format_ilbc.c,
channels/chan_phone.c, res/res_smdi.c, formats/format_pcm.c,
res/res_agi.c, channels/chan_motif.c, res/res_pjsip_path.c,
pbx/pbx_realtime.c, apps/app_amd.c, apps/app_url.c,
apps/app_confbridge.c, apps/app_externalivr.c, res/res_curl.c,
apps/app_adsiprog.c, res/res_clialiases.c,
res/res_config_sqlite3.c, funcs/func_dialplan.c,
apps/app_nbscat.c, res/res_pjsip_multihomed.c,
channels/chan_sip.c, formats/format_wav.c, res/res_fax.c,
codecs/codec_alaw.c, apps/app_fax.c, apps/app_waitforsilence.c,
apps/app_morsecode.c, res/res_stasis_mailbox.c, pbx/pbx_lua.c,
res/res_pjsip_messaging.c, res/res_pjsip_caller_id.c,
res/res_ari_channels.c, cdr/cdr_tds.c, res/res_ari_recordings.c,
res/res_parking.c, apps/app_waitforring.c,
res/res_manager_presencestate.c, res/res_ari_events.c,
pbx/pbx_dundi.c, addons/cdr_mysql.c, codecs/codec_dahdi.c,
pbx/pbx_config.c, res/res_ari_sounds.c, res/res_stasis.c,
channels/chan_pjsip.c, apps/app_voicemail.c,
formats/format_g729.c, res/res_ari.c, cel/cel_radius.c,
addons/app_mysql.c, formats/format_sln.c,
res/res_pjsip_pidf_digium_body_supplement.c,
res/res_pjsip_endpoint_identifier_ip.c, apps/app_test.c,
cdr/cdr_adaptive_odbc.c, res/res_calendar_caldav.c,
res/res_http_post.c, res/res_http_websocket.c, res/res_pjsip.c,
res/res_format_attr_opus.c, channels/chan_dahdi.c,
res/res_ari_model.c, apps/app_osplookup.c, cel/cel_custom.c,
apps/app_skel.c, res/res_timing_timerfd.c,
res/res_pjsip_one_touch_record_info.c, pbx/pbx_ael.c,
formats/format_h263.c, res/res_ari_playbacks.c,
formats/format_siren14.c, apps/app_ivrdemo.c,
channels/chan_mgcp.c, cdr/cdr_manager.c, codecs/codec_lpc10.c,
res/res_rtp_asterisk.c, res/res_ari_device_states.c,
cdr/cdr_syslog.c, res/res_pjsip_authenticator_digest.c,
cel/cel_tds.c, res/res_crypto.c, apps/app_dahdiras.c,
res/res_ael_share.c, apps/app_talkdetect.c, apps/app_playback.c,
apps/app_agent_pool.c, res/res_srtp.c,
res/res_pjsip_header_funcs.c, funcs/func_presencestate.c,
formats/format_vox.c, res/res_corosync.c,
apps/app_celgenuserevent.c, res/res_pjsip_xpidf_body_generator.c,
res/res_sorcery_astdb.c, apps/app_stack.c, formats/format_g726.c,
res/res_timing_kqueue.c, res/res_pjsip_transport_websocket.c,
res/res_ari_bridges.c, channels/chan_unistim.c,
res/res_sorcery_config.c, addons/chan_ooh323.c,
cdr/cdr_sqlite3_custom.c, res/res_stasis_playback.c,
codecs/codec_adpcm.c, res/res_timing_dahdi.c,
apps/app_chanisavail.c, apps/app_image.c,
res/res_format_attr_h263.c, res/res_pjsip_mwi_body_generator.c,
res/res_xmpp.c, formats/format_wav_gsm.c, apps/app_followme.c,
res/res_pktccops.c, res/res_config_sqlite.c,
formats/format_siren7.c, cel/cel_odbc.c, res/res_config_odbc.c,
funcs/func_audiohookinherit.c, channels/chan_skinny.c,
res/res_pjsip_outbound_registration.c, cel/cel_manager.c,
funcs/func_odbc.c, res/res_mwi_external.c,
res/res_pjsip_endpoint_identifier_anonymous.c, apps/app_minivm.c,
res/res_pjsip_log_forwarder.c, channels/chan_alsa.c,
formats/format_h264.c, res/res_config_ldap.c,
res/res_pjsip_pubsub.c, cdr/cdr_odbc.c,
funcs/func_periodic_hook.c, apps/app_stasis.c,
res/res_pjsip_diversion.c, formats/format_gsm.c,
res/res_speech.c, apps/app_jack.c, res/res_pjsip_dtmf_info.c,
res/res_pjsip_pidf_body_generator.c, res/res_hep.c,
res/res_sorcery_memory.c, apps/app_festival.c,
codecs/codec_speex.c, res/res_hep_pjsip.c,
res/res_mwi_external_ami.c, res/res_pjsip_logger.c,
channels/chan_console.c, apps/app_getcpeid.c,
res/res_stasis_answer.c, channels/chan_oss.c,
res/res_calendar_ews.c, res/res_pjsip_nat.c,
res/res_pjsip_session.c, res/res_pjsip_rfc3326.c,
res/res_ari_endpoints.c, res/res_pjsip_mwi.c,
res/res_pjsip_dialog_info_body_generator.c, res/res_statsd.c,
formats/format_g723.c, codecs/codec_ulaw.c, channels/chan_nbs.c,
funcs/func_devstate.c, res/res_pjsip_registrar.c, res/res_odbc.c,
addons/res_config_mysql.c, res/res_calendar.c, cel/cel_pgsql.c,
res/res_pjsip_notify.c, res/res_snmp.c, apps/app_dictate.c,
codecs/codec_gsm.c, res/res_pjsip_registrar_expire.c,
res/res_stasis_snoop.c, apps/app_ices.c,
res/res_format_attr_h264.c, cdr/cdr_radius.c,
res/res_chan_stats.c, res/res_pjsip_send_to_voicemail.c,
main/loader.c, res/res_rtp_multicast.c, apps/app_setcallerid.c,
funcs/func_pitchshift.c,
res/res_pjsip_outbound_authenticator_digest.c,
funcs/func_frame_trace.c, funcs/func_aes.c, cdr/cdr_sqlite.c,
apps/app_mp3.c, include/asterisk/module.h,
res/res_format_attr_silk.c, res/res_pjsip_acl.c,
res/res_stasis_test.c, formats/format_jpeg.c,
addons/chan_mobile.c, res/res_sorcery_realtime.c,
res/res_pjsip_refer.c, formats/format_g719.c, cdr/cdr_custom.c,
res/res_config_pgsql.c, res/res_calendar_exchange.c,
res/res_calendar_icalendar.c, codecs/codec_g722.c,
channels/chan_bridge_media.c, res/res_ari_mailboxes.c,
apps/app_saycounted.c, res/res_adsi.c, res/res_pjsip_sdp_rtp.c,
codecs/codec_g726.c, res/res_ari_applications.c,
formats/format_ogg_vorbis.c, res/res_stasis_device_state.c,
apps/app_queue.c, res/res_monitor.c: Add module support level to
ast_module_info structure. Print it in CLI "module show" .
ASTERISK-23919 #close Reported by Malcolm Davenport Review:
https://reviewboard.asterisk.org/r/3802
2014-07-25 14:47 +0000 [r419563-419567] Matthew Jordan <mjordan@digium.com>
* res/res_stasis_recording.c, CHANGES,
res/ari/ari_model_validators.c,
rest-api/api-docs/recordings.json,
res/ari/ari_model_validators.h, /: Multiple revisions
419565-419566 ........ r419565 | mjordan | 2014-07-25 09:41:23
-0500 (Fri, 25 Jul 2014) | 21 lines ARI: report duration values
in LiveRecording objects This patch adds three new fields to the
LiveRecording model: - total_duration: the total length of the
live recording - talking_duration: optional. The duration of
talking energy that was detected while the recording was made. -
silence_duration: optional. The duration of silence that was
detected while the recording was made. These values are reported
in the RecordingFinished ARI event. When a DSP is enabled on the
channel during the recording - which occurs when the recording is
created with max_silence_seconds (indicating that the user
actually cares about how much silence is in the file), we will
report the talking_duration and silence_duration in addition to
the total_duration. Review:
https://reviewboard.asterisk.org/r/3770/ ASTERISK-24037 #close
Reported by: Samuel Galarneau ........ r419566 | mjordan |
2014-07-25 09:46:15 -0500 (Fri, 25 Jul 2014) | 1 line Update
CHANGES for r419565 ........ Merged revisions 419565-419566 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/loader.c, res/res_calendar.c: module loader: Unload modules
in reverse order of their start order When Asterisk starts a
module (calling its load_module function), it re-orders the
module list, sorting it alphabetically. Ostensibly, this was done
so that the output of 'module show' listed modules in alphabetic
order. This had the unfortunate side effect of making modules
with complex usage patterns unloadable. A module that has a large
number of modules that depend on it is typically abandoned during
the unloading process. This results in its memory not being
reclaimed during exit. Generally, this isn't harmful - when the
process is destroyed, the operating system will reclaim all
memory allocated by the process. Prior to Asterisk 12, we also
didn't have many modules with complex dependencies. However, with
the advent of ARI and PJSIP, this can make make unloading those
modules successfully nearly impossible, and thus tracking memory
leaks or ref debug leaks a real pain. While this patch is not a
complete overhaul of the module loader - such an effort would be
beyond the scope of what could be done for Asterisk 13 - this
does make some marginal improvements to the loader such that
modules like res_pjsip or res_stasis *may* be made properly
un-loadable in the future. 1. The linked list of modules has been
replaced with a doubly linked list. This allows traversal of the
module list to occur backwards. The module shutdown routine now
walks the global list backwards when it attempts to unload
modules. 2. The alphabetic reorganization of the module list on
startup has been removed. Instead, a started module is placed at
the end of the module list. 3. The ast_update_module_list
function - which is used by the CLI to display the modules - now
does the sorting alphabetically itself. It creates its own linked
list and inserts the modules into it in alphabetic order. This
allows for the intent of the previous code to be maintained. This
patch also contains a fix for res_calendar. Without
calendar.conf, the calendar modules were improperly bumping the
use count of res_calendar, then failing to load themselves. This
patch makes it so that we detect whether or not calendaring is
enabled before altering the use count. Review:
https://reviewboard.asterisk.org/r/3777/
2014-07-25 10:54 +0000 [r419537-419539] Joshua Colp <jcolp@digium.com>
* /, apps/app_bridgewait.c: app_bridgewait: Remove possibility of
race condition between channels leaving/joining. Bridges created
by app_bridgewait previously had the "dissolve when empty" flag
set. This caused the bridge core to destroy them when the last
channel had left. This introduced a race condition where we may
have a reference to the bridge but it is not actually joinable
when we try to join it. This flag has now been removed and the
bridge is guaranteed to be joinable at all times. ASTERISK-23987
#close Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3836/ ........ Merged
revisions 419538 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/bridge.c: bridge: Make "bridge destroy" only available in
developer mode and add "all" to "bridge kick". The "bridge
destroy" CLI command is invasive to bridges and can leave them in
an unexpected state for the users of them. Since this command may
be useful for developers it is now only available when developer
mode is available. To take its place "all" has been added as a
valid option to the "bridge kick" CLI command. It will kick all
of the channels in the bridge out. ASTERISK-23987 Reported by:
Matt Jordan Review: https://reviewboard.asterisk.org/r/3840/
........ Merged revisions 419536 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-24 22:48 +0000 [r419520] Richard Mudgett <rmudgett@digium.com>
* apps/app_dial.c, main/channel.c, main/dial.c, main/pbx.c,
main/bridge.c, main/bridge_basic.c, main/core_unreal.c,
UPGRADE.txt, include/asterisk/channel.h, CHANGES,
apps/app_followme.c, apps/app_queue.c, main/cel.c,
res/parking/parking_bridge_features.c: accountcode: Slightly
change accountcode propagation. The previous behavior was to
simply set the accountcode of an outgoing channel to the
accountcode of the channel initiating the call. It was done this
way a long time ago to allow the accountcode set on the SIP/100
channel to be propagated to a local channel so the dialplan
execution on the Local;2 channel would have the SIP/100
accountcode available. SIP/100 -> Local;1/Local;2 -> SIP/200
Propagating the SIP/100 accountcode to the local channels is very
useful. Without any dialplan manipulation, all channels in this
call would have the same accountcode. Using dialplan, you can set
a different accountcode on the SIP/200 channel either by setting
the accountcode on the Local;2 channel or by the Dial
application's b(pre-dial), M(macro) or U(gosub) options, or by
the FollowMe application's b(pre-dial) option, or by the Queue
application's macro or gosub options. Before Asterisk v12, the
altered accountcode on SIP/200 will remain until the local
channels optimize out and the accountcode would change to the
SIP/100 accountcode. Asterisk v1.8 attempted to add peeraccount
support but ultimately had to punt on the support. The
peeraccount support was rendered useless because of how the CDR
code needed to unconditionally force the caller's accountcode
onto the peer channel's accountcode. The CEL events were thus
intentionally made to always use the channel's accountcode as the
peeraccount value. With the arrival of Asterisk v12, the
situation has improved somewhat so peeraccount support can be
made to work. Using the indicated example, the the accountcode
values become as follows when the peeraccount is set on SIP/100
before calling SIP/200: SIP/100 ---> Local;1 ---- Local;2 --->
SIP/200 acct: 100 \/ acct: 200 \/ acct: 100 \/ acct: 200 peer:
200 /\ peer: 100 /\ peer: 200 /\ peer: 100 If a channel already
has an accountcode it can only change by the following explicit
user actions: 1) A channel originate method that can specify an
accountcode to use. 2) The calling channel propagating its
non-empty peeraccount or its non-empty accountcode if the
peeraccount was empty to the outgoing channel's accountcode
before initiating the dial. e.g., Dial and FollowMe. The
exception to this propagation method is Queue. Queue will only
propagate peeraccounts this way only if the outgoing channel does
not have an accountcode. 3) Dialplan using CHANNEL(accountcode).
4) Dialplan using CHANNEL(peeraccount) on the other end of a
local channel pair. If a channel does not have an accountcode it
can get one from the following places: 1) The channel driver's
configuration at channel creation. 2) Explicit user action as
already indicated. 3) Entering a basic or stasis-mixing bridge
from a peer channel's peeraccount value. You can specify the
accountcode for an outgoing channel by setting the
CHANNEL(peeraccount) before using the Dial, FollowMe, and Queue
applications. Queue adds the wrinkle that it will not overwrite
an existing accountcode on the outgoing channel with the calling
channels values. Accountcode and peeraccount values propagate to
an outgoing channel before dialing. Accountcodes also propagate
when channels enter or leave a basic or stasis-mixing bridge. The
peeraccount value only makes sense for mixing bridges with two
channels; it is meaningless otherwise. * Made peeraccount
functional by changing accountcode propagation as described
above. * Fixed CEL extracting the wrong ie value for the
peeraccount. This was done intentionally in Asterisk v1.8 when
that version had to punt on peeraccount. * Fixed a few places
dealing with accountcodes that were reading from channels without
the lock held. AFS-65 #close Review:
https://reviewboard.asterisk.org/r/3601/
2014-07-24 21:01 +0000 [r419504] Michael L. Young <elgueromexicano@gmail.com>
* main/db.c, include/asterisk/astdb.h: core/db: Revert Patch Added
In Attempt To Improve I/O Performance Reverting the patch since
it was causing a regression and after fixing the regression,
there were no performance gains. At least based on my method for
measurement. ASTERISK-24050 Review:
https://reviewboard.asterisk.org/r/3841/
2014-07-24 17:50 +0000 [r419438-419439] Corey Farrell <git@cfware.com>
* include/asterisk/astobj.h: Deprecate astobj.h This flags astobj.h
as deprecated, warns people to use astobj2.h instead. Only
netsock.c (also deprecated) still uses astobj.h. ASTERISK-24069
#close Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3818/
* channels/sip/include/sip.h, channels/chan_sip.c: chan_sip:
complete upgrade to ao2 This change upgrades sip_registry and
sip_subscription_mwi to astobj2. ASTERISK-24067 #close Reported
by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3759/
2014-07-24 16:52 +0000 [r419377] Jason Parker <jparker@digium.com>
* addons/chan_ooh323.c, /: Don't cause Asterisk to exit if
ooh323.conf not found. (closes issue ASTERISK-23814) ........
Merged revisions 419374 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 419375 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 419376 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-24 15:20 +0000 [r419358] Matthew Jordan <mjordan@digium.com>
* channels/chan_pjsip.c, main/devicestate.c: device state: Update
the core to report ONHOLD if a channel is on hold In Asterisk, it
is possible for a device to have a status of ONHOLD. This is not
typically an easy thing to determine, as a channel being on hold
is not a direct channel state. Typically, this has to be
calculated outside of the core independently in channel drivers,
notably, chan_sip and chan_pjsip. Both of these channel drivers
already have to calculate device state in a fashion more complex
than the core can handle, as they aggregate all state of all
channels associated with a peer/endpoint; they also independently
track whether or not one of those channels is currently on hold
and mark the device state appropriately. In 12+, we now have the
ability to report an AST_DEVICE_ONHOLD state for all channels
that defer their device state to the core. This is due to channel
hold state actually now being tracked on the channel itself. If a
channel driver defers its device state to the core (which many,
such as DAHDI, IAX2, and others do in most situations), the
device state core already goes out to get a channel associated
with the device. As such, it can now also factor the channel hold
state in its calculation. This patch adds this logic to the
device state core. It also uses an existing mapping between
device state and channel state to handle more channel states.
chan_pjsip has been updated slightly as well to make use of this
(as it was, for some reason, reporting a channel state of BUSY as
a device state of INUSE, which feels slightly wrong). Review:
https://reviewboard.asterisk.org/r/3771/ ASTERISK-24038 #close
2014-07-24 13:00 +0000 [r419342] Kinsey Moore <kmoore@digium.com>
* include/asterisk/manager.h, doc/appdocsxml.dtd, main/xmldoc.c,
main/manager_bridges.c, main/manager.c,
include/asterisk/xmldoc.h, main/config_options.c: AMI: Allow for
command response documentation Allow for responses to AMI
actions/commands to be documented properly in XML and displayed
via the CLI. Response events are documented exactly as standard
AMI events are documented. Review:
https://reviewboard.asterisk.org/r/3812/
2014-07-23 16:46 +0000 [r419319] Matthew Jordan <mjordan@digium.com>
* /, main/endpoints.c, tests/test_stasis_endpoints.c: endpoints:
Fix failing unit tests from r419196 This patch does two things:
(1) It updates the unit tests to expect additional stasis
messages. More messages are now sent to the endpoint topic, due
to forwarding all channel messages and the forwarding
relationship set up between endpoints themselves. (2) Remove the
technology forwarding subscription during ast_endpoint_shutdown.
This prevents an improper double shutdown of an endpoint from
occurring. ........ Merged revisions 419318 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-23 14:00 +0000 [r419286] Scott Griepentrog <sgriepentrog@digium.com>
* /, apps/app_voicemail.c: app_voicemail: use a consistent
generator string When updating voicemail.conf when a user changes
their pin, change the generator string to be the same as the
module name when reading so that the same config_hook will be
called. Review: https://reviewboard.asterisk.org/r/3837/ ........
Merged revisions 419284 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 419285 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-23 01:28 +0000 [r419268] Corey Farrell <git@cfware.com>
* main/manager.c, res/res_fax.c: res_fax: unregister manager
actions on unload * Unregister manager actions FAXSessions,
FAXSession and FAXStats at unload. * Update ast_manager_register2
use ao2_t_alloc tagged with the action name. ASTERISK-24058
#close Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3831/
2014-07-22 20:22 +0000 [r419222-419252] Michael L. Young <elgueromexicano@gmail.com>
* CHANGES, main/bridge_channel.c: core/bridge_channel: Substitute
Variables In Features Application Map Say you wanted to include
variables in an application map and have those variables
substituted and passed along to the application being executed;
currently this does not happen. This patch adds this ability to
pass channel variable values to an application before being
executed. ASTERISK-22608 #close Reported by: Michael L. Young
patches: features_substitute_arguments_v2.diff uploaded by
Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/3819/
* CHANGES, apps/app_mixmonitor.c: apps/app_mixmonitor: Add Options
To Play Beep At Start Or Stop We have a new periodic beep feature
but sometimes a user needs some sort of feedback, without the
need to have a periodic beep during the recording, to let them
know that MixMonitor started recording or ended the recording.
The use case where this patch is being used is when using Dynamic
Features to start and end MixMonitor. This patch adds an option
to play a beep when MixMonitor starts and an option to play a
beep when MixMonitor ends. ASTERISK-24051 #close Reported by:
Michael L. Young patches: mixmonitor-play-beep-start-stop.diff
uploaded by Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/3820/
* main/db.c, include/asterisk/astdb.h: core/db: Improve I/O When
Updating Rows When updating a row, we are currently doing an
INSERT OR REPLACE INTO. The downside to this is that the row is
deleted if it exists and then a new row is inserted. So, we are
hitting the disk twice. One for the deletion and one for the
insertion. This patch changes this statement to an INSERT INTO
and if the insert fails because a row with that key exists, we
will IGNORE the failure. Then we will attempt to perform an
UPDATE on the existing row if that row wasn't just INSERTed.
ASTERISK-24050 #close Reported by: Michael L. Young patches:
astdb-insert-update-io-help_trunk_v2.diff uploaded by Michael L.
Young (license 5026) Review:
https://reviewboard.asterisk.org/r/3815/
2014-07-22 17:10 +0000 [r419206] Richard Mudgett <rmudgett@digium.com>
* codecs/codec_speex.c: codec_speex: Fix trashing normal static
frame for AST_FRAME_CNG. Made use a local static frame to
generate the AST_FRAME_CNG frame when silence starts. I don't
think the handling of the AST_FRAME_CNG has ever really worked
because there doesn't seem to be any consumers of it. Review:
https://reviewboard.asterisk.org/r/3813/
2014-07-22 16:20 +0000 [r419203] Matthew Jordan <mjordan@digium.com>
* include/asterisk/xmpp.h, main/channel_internal_api.c,
channels/chan_motif.c, include/asterisk/channel.h,
res/ari/resource_applications.h, res/res_xmpp.c,
channels/chan_iax2.c, main/endpoints.c, channels/chan_pjsip.c,
main/channel.c, res/ari/resource_endpoints.c, /,
channels/chan_sip.c, include/asterisk/endpoints.h,
rest-api/api-docs/applications.json: ARI: Fix endpoint/channel
subscription issues; allow for subscriptions to tech This patch
serves two purposes: (1) It fixes some bugs with endpoint
subscriptions not reporting all of the channel events (2) It
serves as the preliminary work needed for ASTERISK-23692, which
allows for sending/receiving arbitrary out of call text messages
through ARI in a technology agnostic fashion. The messaging
functionality described on ASTERISK-23692 requires two things:
(1) The ability to send/receive messages associated with an
endpoint. This is relatively straight forwards with the endpoint
core in Asterisk now. (2) The ability to send/receive messages
associated with a technology and an arbitrary technology defined
URI. This is less straight forward, as endpoints are formed from
a tech + resource pair. We don't have a mechanism to note that a
technology that *may* have endpoints exists. This patch provides
such a mechanism, and fixes a few bugs along the way. The first
major bug this patch fixes is the forwarding of channel messages
to their respective endpoints. Prior to this patch, there were
two problems: (1) Channel caching messages weren't forwarded.
Thus, the endpoints missed most of the interesting bits (such as
channel creation, destruction, state changes, etc.) (2) Channels
weren't associated with their endpoint until after creation. This
resulted in endpoints missing the channel creation message, which
limited the usefulness of the subscription in the first place (a
major use case being 'tell me when this endpoint has a channel').
Unfortunately, this meant another parameter to ast_channel_alloc.
Since not all channel technologies support an ast_endpoint, this
patch makes such a call optional and opts for a new function,
ast_channel_alloc_with_endpoint. When endpoints are created, they
will implicitly create a technology endpoint for their technology
(if one does not already exist). A technology endpoint is special
in that it has no state, cannot have channels created for it,
cannot be created explicitly, and cannot be destroyed except on
shutdown. It does, however, have all messages from other
endpoints in its technology forwarded to it. Combined with the
bug fixes, we now have Stasis messages being properly forwarded.
Consider the following scenario: two PJSIP endpoints (foo and
bar), where bar has a single channel associated with it and foo
has two channels associated with it. The messages would be
forwarded as follows: channel PJSIP/foo-1 -- \ --> endpoint
PJSIP/foo -- / \ channel PJSIP/foo-2 -- \ ---- > endpoint PJSIP /
channel PJSIP/bar-1 -----> endpoint PJSIP/bar -- ARI, through the
applications resource, can: - subscribe to endpoint:PJSIP/foo and
get notifications for channels PJSIP/foo-1,PJSIP/foo-2 and
endpoint PJSIP/foo - subscribe to endpoint:PJSIP/bar and get
notifications for channels PJSIP/bar-1 and endpoint PJSIP/bar -
subscribe to endpoint:PJSIP and get notifications for channels
PJSIP/foo-1,PJSIP/foo-2,PJSIP/bar-1 and endpoints
PJSIP/foo,PJSIP/bar Note that since endpoint PJSIP never changes,
it never has events itself. It merely provides an aggregation
point for all other endpoints in its technology (which in turn
aggregate all channel messages associated with that endpoint).
This patch also adds endpoints to res_xmpp and chan_motif,
because the actual messaging work will need it (messaging without
XMPP is just sad). Review:
https://reviewboard.asterisk.org/r/3760/ ASTERISK-23692 ........
Merged revisions 419196 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-22 14:36 +0000 [r419180] Joshua Colp <jcolp@digium.com>
* channels/chan_iax2.c: chan_iax2: Restore previous behavior of
iax2_best_codec. The iax2_best_codec function was changed to
convert the formats into a format compatibilities structure and
grab the first format from it. The resulting order differs from
the previous order of iax2_best_codec which causes unexpected
formats to get chosen (such as g723). This commit brings back the
old behavior of iax2_best_codec by having a specified preference
list. Review: https://reviewboard.asterisk.org/r/3835/
2014-07-22 14:22 +0000 [r419110-419175] Kinsey Moore <kmoore@digium.com>
* tests/test_aoc.c, tests/test_astobj2.c, tests/test_config.c,
addons/ooh323c/src/printHandler.c, tests/test_sorcery_realtime.c,
tests/test_json.c, addons/ooh323c/src/ooq931.c,
tests/test_astobj2_thrash.c, addons/chan_ooh323.c, /,
tests/test_optional_api.c, tests/test_abstract_jb.c,
apps/app_meetme.c, tests/test_logger.c, tests/test_event.c,
tests/test_hashtab_thrash.c, res/res_mwi_external_ami.c,
tests/test_sorcery.c, res/res_corosync.c,
tests/test_voicemail_api.c: Fix more dev-mode build issues
........ Merged revisions 419129 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 419162 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 419163 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/dial.c: Dial API: Prevent crash on NULL cap This prevents a
crash in the Dial API triggered by use of the Page() application
where a format capability struct was used before checking whether
it was NULL. ASTERISK-24074 #close
* tests/test_core_format.c, channels/chan_skinny.c: Fix build in
dev-mode
2014-07-21 16:26 +0000 [r419109] Jonathan Rose <jrose@digium.com>
* channels/chan_iax2.c: chan_iax2: Restore codec choice behavior
from media formats branch After merging the media formats branch,
chan_iax2 was discarding codec preferences for the purpose of
choosing which codec a channel would use once a call started.
This patch restores the Asterisk 1.8-12 codec choice behaviors.
ASTERISK-23958 #close Review:
https://reviewboard.asterisk.org/r/3800/
2014-07-21 16:09 +0000 [r419093] Joshua Colp <jcolp@digium.com>
* channels/chan_iax2.c: chan_iax2: Only send mini frames if the
underlying format has not changed, not if it has. ASTERISK-24072
#close Reported by: Matt Jordan
2014-07-21 14:49 +0000 [r419077] Sean Bright <sean@malleable.com>
* configure, configure.ac: Fix build when pjproject is installed in
a non-standard location. When configuring Asterisk to build
against a version of pjproject installed in a non-standard
location, the checks for "PJSIP Transaction Group Lock Support"
and "PJSIP Media Stream Replacement Support" fail. This is
because these secondary checks are not taking the CFLAGS and LIBS
returned by the pkg-config check into account. Review:
https://reviewboard.asterisk.org/r/3830
2014-07-21 08:41 +0000 [r419060] Corey Farrell <git@cfware.com>
* channels/chan_dahdi.c, channels/sig_analog.c, res/res_smdi.c,
channels/chan_motif.c, include/asterisk/smdi.h,
apps/app_voicemail.c: res_smdi: convert to astobj2 Remove
functions: ast_smdi_interface_unref ast_smdi_md_message_putback
ast_smdi_mwi_message_putback ast_smdi_md_message destructor
ast_smdi_mwi_message destructor Includes for astobj.h are removed
everywhere it's possible. ASTERISK-24066 #close Review:
https://reviewboard.asterisk.org/r/3758/
2014-07-20 22:06 +0000 [r419044] Matthew Jordan <mjordan@digium.com>
* codecs/codec_resample.c, formats/format_h263.c,
main/format_compatibility.c (added), apps/app_chanspy.c,
include/asterisk/res_pjsip_session.h, main/frame.c,
codecs/codec_a_mu.c, channels/iax2/include/codec_pref.h (added),
apps/app_festival.c, main/channel_internal_api.c,
tests/test_format_api.c (removed), codecs/ex_speex.h,
codecs/ex_alaw.h, formats/format_wav_gsm.c,
res/res_stasis_snoop.c, include/asterisk/_private.h,
channels/chan_iax2.c, apps/app_talkdetect.c,
include/asterisk/format_cap.h, channels/chan_oss.c,
apps/app_agent_pool.c, res/res_format_attr_opus.c,
include/asterisk/abstract_jb.h, main/channel.c,
include/asterisk/audiohook.h, apps/app_mp3.c,
formats/format_pcm.c, tests/test_voicemail_api.c,
main/callerid.c, main/app.c, codecs/codec_ulaw.c,
channels/chan_nbs.c, bridges/bridge_native_rtp.c,
formats/format_g726.c, apps/app_mixmonitor.c, res/res_speech.c,
tests/test_format_cap.c (added), tests/test_format_cache.c
(added), apps/app_meetme.c, formats/format_wav.c,
include/asterisk/format_pref.h (removed), main/bridge_basic.c,
main/slinfactory.c, apps/app_test.c, res/res_adsi.c,
main/core_unreal.c, include/asterisk/data.h,
tests/test_core_codec.c (added), codecs/ex_gsm.h,
include/asterisk/codec.h (added), res/ari/resource_bridges.c,
include/asterisk/image.h, main/format_cap.c,
funcs/func_channel.c, apps/app_dumpchan.c, apps/app_sms.c,
include/asterisk/format.h, formats/format_h264.c,
res/ari/resource_channels.c, codecs/codec_dahdi.c,
apps/app_voicemail.c, funcs/func_speex.c, apps/app_nbscat.c,
codecs/codec_g722.c, channels/chan_vpb.cc, formats/format_sln.c,
tests/test_abstract_jb.c, apps/app_echo.c,
apps/app_waitforsilence.c, include/asterisk/slin.h,
codecs/codec_g726.c, formats/format_ogg_vorbis.c,
res/res_format_attr_h263.c, main/core_local.c, main/data.c,
tests/test_core_format.c (added), funcs/func_frame_trace.c,
addons/ooh323cDriver.c, apps/app_amd.c, formats/format_g723.c,
include/asterisk/frame.h, addons/ooh323cDriver.h,
channels/sip/include/sip.h, channels/chan_mgcp.c,
codecs/ex_ilbc.h, main/format.c, codecs/codec_lpc10.c,
channels/chan_unistim.c, include/asterisk/smoother.h (added),
addons/format_mp3.c, main/bridge.c, apps/app_fax.c,
apps/app_record.c, main/translate.c, apps/app_originate.c,
include/asterisk/channel.h, formats/format_siren7.c,
include/asterisk/file.h, formats/format_vox.c,
include/asterisk/mod_format.h, tests/test_cel.c,
formats/format_jpeg.c, formats/format_g719.c,
include/asterisk/slinfactory.h, res/res_calendar.c,
apps/app_jack.c, funcs/func_talkdetect.c, addons/chan_ooh323.c,
channels/chan_sip.c, bridges/bridge_holding.c,
apps/app_dictate.c, codecs/codec_adpcm.c, codecs/codec_alaw.c,
addons/chan_ooh323.h, codecs/codec_gsm.c, UPGRADE.txt,
apps/app_alarmreceiver.c, bridges/bridge_softmix.c,
main/smoother.c (added), res/ari/resource_sounds.c,
channels/chan_console.c, main/codec_builtin.c (added),
res/res_format_attr_h264.c, res/res_pjsip_session.c,
channels/chan_misdn.c, main/manager.c,
res/res_pjsip/pjsip_configuration.c, main/file.c,
channels/chan_alsa.c, res/res_format_attr_silk.c,
res/res_fax_spandsp.c, formats/format_gsm.c,
apps/app_milliwatt.c, codecs/ex_ulaw.h,
include/asterisk/res_pjsip.h, res/res_clioriginate.c,
res/res_rtp_asterisk.c, channels/chan_multicast_rtp.c,
include/asterisk/vector.h, codecs/codec_speex.c,
apps/confbridge/conf_chan_record.c, apps/app_ices.c,
res/res_musiconhold.c, channels/iax2/codec_pref.c (added),
res/res_rtp_multicast.c, formats/format_ilbc.c,
include/asterisk/config_options.h, channels/chan_phone.c,
pbx/pbx_spool.c, funcs/func_pitchshift.c,
channels/dahdi/bridge_native_dahdi.c,
include/asterisk/bridge_channel.h, main/abstract_jb.c,
channels/chan_motif.c, res/res_agi.c, apps/app_confbridge.c,
main/audiohook.c, include/asterisk/rtp_engine.h,
res/res_stasis.c, main/dsp.c, include/asterisk/translate.h,
channels/iax2/format_compatibility.c (added), codecs/ex_lpc10.h,
res/res_fax.c, res/res_pjsip_sdp_rtp.c, codecs/ex_g722.h,
bridges/bridge_simple.c, main/utils.c, channels/iax2/provision.c,
codecs/ex_g726.h, main/sounds_index.c, main/format_pref.c
(removed), main/indications.c, include/asterisk/format_cache.h
(added), main/media_index.c, apps/app_speech_utils.c, main/cli.c,
res/res_format_attr_celt.c,
include/asterisk/format_compatibility.h (added),
channels/chan_skinny.c, main/codec.c (added),
main/config_options.c, codecs/codec_ilbc.c, tests/test_config.c,
main/image.c, channels/iax2/include/format_compatibility.h
(added), formats/format_siren14.c, addons/chan_mobile.c,
main/bridge_channel.c, main/asterisk.c, channels/chan_pjsip.c,
main/sorcery.c, formats/format_g729.c, main/rtp_engine.c,
main/ccss.c, channels/chan_bridge_media.c,
include/asterisk/speech.h, res/parking/parking_applications.c,
codecs/ex_adpcm.h, channels/iax2/parser.c,
include/asterisk/callerid.h, channels/pjsip/dialplan_functions.c,
channels/chan_dahdi.c, main/dial.c, main/format_cache.c (added):
media formats: re-architect handling of media for performance
improvements In the old times media formats were represented
using a bit field. This was fast but had a few limitations. 1.
Asterisk was limited in how many formats it could handle. 2.
Formats, being a bit field, could not include any attribute
information. A format was strictly its type, e.g., "this is
ulaw". This was changed in Asterisk 10 (see
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal
for notes on that work) which led to the creation of the
ast_format structure. This structure allowed Asterisk to handle
attributes and bundle information with a format. Additionally,
ast_format_cap was created to act as a container for multiple
formats that, together, formed the capability of some entity.
Another mechanism was added to allow logic to be registered which
performed format attribute negotiation. Everywhere throughout the
codebase Asterisk was changed to use this strategy.
Unfortunately, in software, there is no free lunch. These new
capabilities came at a cost. Performance analysis and profiling
showed that we spend an inordinate amount of time comparing,
copying, and generally manipulating formats and their related
structures. Basic prototyping has shown that a reasonably large
performance improvement could be made in this area. This patch is
the result of that project, which overhauled the media format
architecture and its usage in Asterisk to improve performance.
Generally, the new philosophy for handling formats is as follows:
* The ast_format structure is reference counted. This removed a
large amount of the memory allocations and copying that was done
in prior versions. * In order to prevent race conditions while
keeping things performant, the ast_format structure is immutable
by convention and lock-free. Violate this tenet at your peril! *
Because formats are reference counted, codecs are also reference
counted. The Asterisk core generally provides built-in codecs and
caches the ast_format structures created to represent them.
Generally, to prevent inordinate amounts of module reference
bumping, codecs and formats can be added at run-time but cannot
be removed. * All compatibility with the bit field representation
of codecs/formats has been moved to a compatibility API. The
primary user of this representation is chan_iax2, which must
continue to maintain its bit-field usage of formats for
interoperability concerns. * When a format is negotiated with
attributes, or when a format cannot be represented by one of the
cached formats, a new format object is created or cloned from an
existing format. That format may have the same codec underlying
it, but is a different format than a version of the format with
different attributes or without attributes. * While formats are
reference counted objects, the reference count maintained on the
format should be manipulated with care. Formats are generally
cached and will persist for the lifetime of Asterisk and do not
explicitly need to have their lifetime modified. An exception to
this is when the user of a format does not know where the format
came from *and* the user may outlive the provider of the format.
This occurs, for example, when a format is read from a channel:
the channel may have a format with attributes (hence, non-cached)
and the user of the format may last longer than the channel (if
the reference to the channel is released prior to the format's
reference). For more information on this work, see the API design
notes:
https://wiki.asterisk.org/wiki/display/AST/Media+Format+Rewrite
Finally, this work was the culmination of a large number of
developer's efforts. Extra thanks goes to Corey Farrell, who took
on a large amount of the work in the Asterisk core, chan_sip, and
was an invaluable resource in peer reviews throughout this
project. There were a substantial number of patches contributed
during this work; the following issues/patch names simply reflect
some of the work (and will cause the release scripts to give
attribution to the individuals who work on them). Reviews:
https://reviewboard.asterisk.org/r/3814
https://reviewboard.asterisk.org/r/3808
https://reviewboard.asterisk.org/r/3805
https://reviewboard.asterisk.org/r/3803
https://reviewboard.asterisk.org/r/3801
https://reviewboard.asterisk.org/r/3798
https://reviewboard.asterisk.org/r/3800
https://reviewboard.asterisk.org/r/3794
https://reviewboard.asterisk.org/r/3793
https://reviewboard.asterisk.org/r/3792
https://reviewboard.asterisk.org/r/3791
https://reviewboard.asterisk.org/r/3790
https://reviewboard.asterisk.org/r/3789
https://reviewboard.asterisk.org/r/3788
https://reviewboard.asterisk.org/r/3787
https://reviewboard.asterisk.org/r/3786
https://reviewboard.asterisk.org/r/3784
https://reviewboard.asterisk.org/r/3783
https://reviewboard.asterisk.org/r/3778
https://reviewboard.asterisk.org/r/3774
https://reviewboard.asterisk.org/r/3775
https://reviewboard.asterisk.org/r/3772
https://reviewboard.asterisk.org/r/3761
https://reviewboard.asterisk.org/r/3754
https://reviewboard.asterisk.org/r/3753
https://reviewboard.asterisk.org/r/3751
https://reviewboard.asterisk.org/r/3750
https://reviewboard.asterisk.org/r/3748
https://reviewboard.asterisk.org/r/3747
https://reviewboard.asterisk.org/r/3746
https://reviewboard.asterisk.org/r/3742
https://reviewboard.asterisk.org/r/3740
https://reviewboard.asterisk.org/r/3739
https://reviewboard.asterisk.org/r/3738
https://reviewboard.asterisk.org/r/3737
https://reviewboard.asterisk.org/r/3736
https://reviewboard.asterisk.org/r/3734
https://reviewboard.asterisk.org/r/3722
https://reviewboard.asterisk.org/r/3713
https://reviewboard.asterisk.org/r/3703
https://reviewboard.asterisk.org/r/3689
https://reviewboard.asterisk.org/r/3687
https://reviewboard.asterisk.org/r/3674
https://reviewboard.asterisk.org/r/3671
https://reviewboard.asterisk.org/r/3667
https://reviewboard.asterisk.org/r/3665
https://reviewboard.asterisk.org/r/3625
https://reviewboard.asterisk.org/r/3602
https://reviewboard.asterisk.org/r/3519
https://reviewboard.asterisk.org/r/3518
https://reviewboard.asterisk.org/r/3516
https://reviewboard.asterisk.org/r/3515
https://reviewboard.asterisk.org/r/3512
https://reviewboard.asterisk.org/r/3506
https://reviewboard.asterisk.org/r/3413
https://reviewboard.asterisk.org/r/3410
https://reviewboard.asterisk.org/r/3387
https://reviewboard.asterisk.org/r/3388
https://reviewboard.asterisk.org/r/3389
https://reviewboard.asterisk.org/r/3390
https://reviewboard.asterisk.org/r/3321
https://reviewboard.asterisk.org/r/3320
https://reviewboard.asterisk.org/r/3319
https://reviewboard.asterisk.org/r/3318
https://reviewboard.asterisk.org/r/3266
https://reviewboard.asterisk.org/r/3265
https://reviewboard.asterisk.org/r/3234
https://reviewboard.asterisk.org/r/3178 ASTERISK-23114 #close
Reported by: mjordan media_formats_translation_core.diff uploaded
by kharwell (License 6464) rb3506.diff uploaded by mjordan
(License 6283) media_format_app_file.diff uploaded by kharwell
(License 6464) misc-2.diff uploaded by file (License 5000)
chan_mild-3.diff uploaded by file (License 5000)
chan_obscure.diff uploaded by file (License 5000) jingle.diff
uploaded by file (License 5000) funcs.diff uploaded by file
(License 5000) formats.diff uploaded by file (License 5000)
core.diff uploaded by file (License 5000) bridges.diff uploaded
by file (License 5000) mf-codecs-2.diff uploaded by file (License
5000) mf-app_fax.diff uploaded by file (License 5000)
mf-apps-3.diff uploaded by file (License 5000)
media-formats-3.diff uploaded by file (License 5000)
ASTERISK-23715 rb3713.patch uploaded by coreyfarrell (License
5909) rb3689.patch uploaded by mjordan (License 6283)
ASTERISK-23957 rb3722.patch uploaded by mjordan (License 6283)
mf-attributes-3.diff uploaded by file (License 5000)
ASTERISK-23958 Tested by: jrose rb3822.patch uploaded by
coreyfarrell (License 5909) rb3800.patch uploaded by jrose
(License 6182) chan_sip.diff uploaded by mjordan (License 6283)
rb3747.patch uploaded by jrose (License 6182) ASTERISK-23959
#close Tested by: sgriepentrog, mjordan, coreyfarrell
sip_cleanup.diff uploaded by opticron (License 6273)
chan_sip_caps.diff uploaded by mjordan (License 6283)
rb3751.patch uploaded by coreyfarrell (License 5909)
chan_sip-3.diff uploaded by file (License 5000) ASTERISK-23960
#close Tested by: opticron direct_media.diff uploaded by opticron
(License 6273) pjsip-direct-media.diff uploaded by file (License
5000) format_cap_remove.diff uploaded by opticron (License 6273)
media_format_fixes.diff uploaded by opticron (License 6273)
chan_pjsip-2.diff uploaded by file (License 5000) ASTERISK-23966
#close Tested by: rmudgett rb3803.patch uploaded by rmudgetti
(License 5621) chan_dahdi.diff uploaded by file (License 5000)
ASTERISK-24064 #close Tested by: coreyfarrell, mjordan, opticron,
file, rmudgett, sgriepentrog, jrose rb3814.patch uploaded by
rmudgett (License 5621) moh_cleanup.diff uploaded by opticron
(License 6273) bridge_leak.diff uploaded by opticron (License
6273) translate.diff uploaded by file (License 5000) rb3795.patch
uploaded by rmudgett (License 5621) tls_fix.diff uploaded by
mjordan (License 6283) fax-mf-fix-2.diff uploaded by file
(License 5000) rtp_transfer_stuff uploaded by mjordan (License
6283) rb3787.patch uploaded by rmudgett (License 5621)
media-formats-explicit-translate-format-3.diff uploaded by file
(License 5000) format_cache_case_fix.diff uploaded by opticron
(License 6273) rb3774.patch uploaded by rmudgett (License 5621)
rb3775.patch uploaded by rmudgett (License 5621)
rtp_engine_fix.diff uploaded by opticron (License 6273)
rtp_crash_fix.diff uploaded by opticron (License 6273)
rb3753.patch uploaded by mjordan (License 6283) rb3750.patch
uploaded by mjordan (License 6283) rb3748.patch uploaded by
rmudgett (License 5621) media_format_fixes.diff uploaded by
opticron (License 6273) rb3740.patch uploaded by mjordan (License
6283) rb3739.patch uploaded by mjordan (License 6283)
rb3734.patch uploaded by mjordan (License 6283) rb3689.patch
uploaded by mjordan (License 6283) rb3674.patch uploaded by
coreyfarrell (License 5909) rb3671.patch uploaded by coreyfarrell
(License 5909) rb3667.patch uploaded by coreyfarrell (License
5909) rb3665.patch uploaded by mjordan (License 6283)
rb3625.patch uploaded by coreyfarrell (License 5909) rb3602.patch
uploaded by coreyfarrell (License 5909)
format_compatibility-2.diff uploaded by file (License 5000)
core.diff uploaded by file (License 5000)
2014-07-18 21:48 +0000 [r419022] Matthew Jordan <mjordan@digium.com>
* /, include/asterisk/stasis_app_recording.h,
res/ari/resource_recordings.h, CHANGES,
rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
res/stasis_recording/stored.c, res/res_ari_recordings.c: ari: Add
a copy operation for stored recordings This patch adds a new
operation for stored recordings, copy. It takes an existing
stored recording and makes a copy of it in the same directory or
a relative directory under the stored recording directory.
/ari/recordings/stored/{recordingName}/copy?destinationRecordingName={copy_name}
This is particularly useful for voicemail-esque applications,
which may need to copy or move recordings around a directory
structure. Review: https://reviewboard.asterisk.org/r/3768/
ASTERISK-24036 #close Reported by: Sam Galarneau Tested by: Sam
Galarneau ........ Merged revisions 419021 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-18 21:25 +0000 [r418997-419020] Corey Farrell <git@cfware.com>
* main/stasis_message_router.c, /: stasis: fix call to ao2_t_alloc
for stasis_message_router_create This fixes a build failure
introduced by r3821. struct stasis_topic is opaque, so
topic->name is unavailable. Switch to using stasis_topic_name().
........ Merged revisions 419019 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/stasis.c, main/stasis_cache_pattern.c,
main/stasis_message.c, main/stasis_message_router.c, /: stasis:
use ao2_t_alloc for certain object allocators Add tags to stasis
objects using the name. This makes it easier to track the source
of certain stasis ref leaks. Review:
https://reviewboard.asterisk.org/r/3821/ ........ Merged
revisions 418996 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-18 19:07 +0000 [r418980] Kinsey Moore <kmoore@digium.com>
* res/res_fax_spandsp.c: Fix build in dev-mode
2014-07-18 17:55 +0000 [r418961-418963] Scott Griepentrog <sgriepentrog@digium.com>
* main/logger.c, main/utils.c, res/res_pjsip_pubsub.c,
main/astobj2.c, include/asterisk/astobj2.h: astobj2: assert on
invalid ref and backtrace cleanup If a reference count goes
negative, instead of just logging that fact, be more helpful with
a backtrace and an assert that will DO_CRASH. This patch also
removes the duplicate ao2_bt() function and cleans up extraneous
usage of the ast_log_backtrace() call. Review:
https://reviewboard.asterisk.org/r/3765/
* /, channels/chan_sip.c: media formats: fix ref leak of peer for
mwi subscription Holding a reference to the peer during mwi
subscriptions resulted in a circular reference because the final
event message would not be sent until destruction of the peer.
Instead, pass the name of the peer to the event callback so that
it can fail gracefully after the peer has gone. ASTERISK-23959
Review: https://reviewboard.asterisk.org/r/3754/ ........ Merged
revisions 418636 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/features_config.c, /: feature_config: insure featuregroups
and applicationmaps are initialized If the features.conf is
missing, the cfg->featurgroups and cfg->applicationmaps is not
initialized, resulting in assert on ao2_find of a null container.
This patch changes the initialization call and adds asserts for a
safeguard. Review: https://reviewboard.asterisk.org/r/3809/
........ Merged revisions 418886 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-18 16:47 +0000 [r418938] Richard Mudgett <rmudgett@digium.com>
* funcs/func_audiohookinherit.c, /: func_audiohookinherit.c: Fixup
some XML documentation wording. ........ Merged revisions 418937
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-18 16:28 +0000 [r418911-418936] Jonathan Rose <jrose@digium.com>
* include/asterisk/framehook.h, res/res_pjsip_refer.c,
main/channel.c, funcs/func_audiohookinherit.c, /,
include/asterisk/audiohook.h, main/framehook.c, res/res_fax.c,
main/bridge_basic.c, include/asterisk/res_fax.h,
bridges/bridge_native_rtp.c, main/audiohook.c, CHANGES: Channels:
Masquerades to automatically move frame/audio hooks Whenever
possible, audiohooks and framehooks will now be copied over to
the channel that the masquerading channel gets cloned into. This
should occur for all audiohooks and most framehooks. As a result,
in Asterisk 12.5 and up, the AUDIOHOOK_INHERIT function is now
deprecated and its behavior is essentially the new default for
all audiohooks, plus some additional audiohooks/framehooks.
Review: https://reviewboard.asterisk.org/r/3721/ ........ Merged
revisions 418914 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_fax.c, include/asterisk/res_fax.h, CHANGES,
res/res_fax.exports.in, res/res_fax_spandsp.c: res_fax: Provide
AMI equivalents for fax CLI commands Specifically the following
equivalents were created: fax show session -> FAXSession fax show
sessions -> FAXSessions fax show stats -> FAXStats Review:
https://reviewboard.asterisk.org/r/3666/
2014-07-18 00:11 +0000 [r418893-418895] Sean Bright <sean@malleable.com>
* config.guess, config.sub, menuselect/config.guess,
menuselect/config.sub: Update config.guess and config.sub
* autoconf/ast_ext_tool_check.m4: Add missing file from previous
commit.
* menuselect/aclocal.m4, menuselect/configure,
menuselect/acinclude.m4 (removed), menuselect/bootstrap.sh,
menuselect/autoconfig.h.in: Import Asterisk's autoconf magic
instead of using our own.
2014-07-17 21:17 +0000 [r418832-418870] Matthew Jordan <mjordan@digium.com>
* configs/udptl.conf.sample (removed),
configs/samples/followme.conf.sample (added),
configs/samples/asterisk.conf.sample (added),
configs/sip.conf.sample (removed), configs/dbsep.conf.sample
(removed), configs/cel_custom.conf.sample (removed),
configs/samples/cel_odbc.conf.sample (added),
configs/app_skel.conf.sample (removed),
configs/samples/ccss.conf.sample (added),
configs/samples/cdr_mysql.conf.sample (added),
configs/statsd.conf.sample (removed),
configs/samples/dundi.conf.sample (added),
configs/samples/oss.conf.sample (added),
configs/res_corosync.conf.sample (removed),
configs/samples/app_mysql.conf.sample (added),
configs/samples/cdr.conf.sample (added),
configs/ooh323.conf.sample (removed),
configs/samples/cel_pgsql.conf.sample (added),
configs/samples/calendar.conf.sample (added),
configs/samples/res_stun_monitor.conf.sample (added),
configs/phoneprov.conf.sample (removed),
configs/alarmreceiver.conf.sample (removed),
configs/samples/pjsip_notify.conf.sample (added),
configs/cdr_tds.conf.sample (removed),
configs/func_odbc.conf.sample (removed),
configs/res_fax.conf.sample (removed),
configs/iaxprov.conf.sample (removed),
configs/res_ldap.conf.sample (removed),
configs/dnsmgr.conf.sample (removed),
configs/samples/res_snmp.conf.sample (added),
configs/res_pgsql.conf.sample (removed),
configs/chan_mobile.conf.sample (removed), configs/asterisk.adsi
(removed), configs/samples/smdi.conf.sample (added),
configs/users.conf.sample (removed),
configs/samples/amd.conf.sample (added), configs/rtp.conf.sample
(removed), configs/samples/res_parking.conf.sample (added),
configs/samples/cdr_sqlite3_custom.conf.sample (added),
configs/hep.conf.sample (removed),
configs/samples/modules.conf.sample (added),
configs/cel_tds.conf.sample (removed), configs/telcordia-1.adsi
(removed), configs/samples/meetme.conf.sample (added),
configs/adsi.conf.sample (removed), configs/alsa.conf.sample
(removed), configs/samples/cdr_pgsql.conf.sample (added),
configs/followme.conf.sample (removed),
configs/asterisk.conf.sample (removed),
configs/samples/res_config_sqlite3.conf.sample (added),
configs/samples/dsp.conf.sample (added),
configs/samples/mgcp.conf.sample (added),
configs/cel_odbc.conf.sample (removed), configs/ss7.timers.sample
(removed), configs/ccss.conf.sample (removed),
configs/samples/udptl.conf.sample (added),
configs/samples/sip.conf.sample (added),
configs/res_config_sqlite.conf.sample (removed),
configs/osp.conf.sample (removed),
configs/samples/dbsep.conf.sample (added),
configs/console.conf.sample (removed),
configs/cdr_manager.conf.sample (removed),
configs/samples/queuerules.conf.sample (added),
configs/samples/confbridge.conf.sample (added),
configs/cli.conf.sample (removed),
configs/samples/enum.conf.sample (added), UPGRADE.txt,
configs/res_stun_monitor.conf.sample (removed),
configs/calendar.conf.sample (removed),
configs/manager.conf.sample (removed),
configs/pjsip_notify.conf.sample (removed),
configs/sla.conf.sample (removed),
configs/samples/festival.conf.sample (added),
configs/samples/http.conf.sample (added),
configs/samples/phoneprov.conf.sample (added),
configs/samples/alarmreceiver.conf.sample (added),
configs/samples/cdr_tds.conf.sample (added),
configs/res_snmp.conf.sample (removed),
configs/extconfig.conf.sample (removed),
configs/samples/func_odbc.conf.sample (added),
configs/samples/res_fax.conf.sample (added),
configs/samples/iaxprov.conf.sample (added),
configs/smdi.conf.sample (removed), configs/cel.conf.sample
(removed), configs/samples/res_pgsql.conf.sample (added),
configs/samples/extensions.conf.sample (added),
configs/samples/chan_mobile.conf.sample (added),
configs/samples/asterisk.adsi (added),
configs/samples/users.conf.sample (added),
configs/samples/cel_sqlite3_custom.conf.sample (added),
configs/cdr_sqlite3_custom.conf.sample (removed),
configs/samples/rtp.conf.sample (added),
configs/phone.conf.sample (removed), configs/meetme.conf.sample
(removed), configs/muted.conf.sample (removed),
configs/samples/hep.conf.sample (added), configs/iax.conf.sample
(removed), configs/samples/cel_tds.conf.sample (added),
configs/samples/res_curl.conf.sample (added),
configs/res_config_sqlite3.conf.sample (removed),
configs/mgcp.conf.sample (removed), configs/extensions.lua.sample
(removed), configs/say.conf.sample (removed),
configs/samples/ss7.timers.sample (added),
configs/queuerules.conf.sample (removed),
configs/cli_permissions.conf.sample (removed),
configs/confbridge.conf.sample (removed),
configs/samples/cdr_odbc.conf.sample (added),
configs/samples/res_config_sqlite.conf.sample (added),
configs/samples/minivm.conf.sample (added),
configs/enum.conf.sample (removed),
configs/config_test.conf.sample (removed),
configs/indications.conf.sample (removed),
configs/samples/codecs.conf.sample (added),
configs/samples/osp.conf.sample (added),
configs/samples/cdr_manager.conf.sample (added),
configs/samples/console.conf.sample (added),
configs/samples/chan_dahdi.conf.sample (added),
configs/samples/cdr_custom.conf.sample (added),
configs/samples/res_config_mysql.conf.sample (added),
configs/voicemail.conf.sample (removed),
configs/misdn.conf.sample (removed),
configs/samples/cli.conf.sample (added), configs/ari.conf.sample
(removed), configs/samples/queues.conf.sample (added),
configs/samples/cdr_syslog.conf.sample (added),
configs/festival.conf.sample (removed),
configs/samples/manager.conf.sample (added),
configs/http.conf.sample (removed),
configs/samples/features.conf.sample (added),
configs/samples/sla.conf.sample (added),
configs/samples/logger.conf.sample (added),
configs/samples/res_odbc.conf.sample (added),
configs/musiconhold.conf.sample (removed),
configs/pjsip.conf.sample (removed),
configs/samples/agents.conf.sample (added),
configs/sorcery.conf.sample (removed), configs/vpb.conf.sample
(removed), configs/samples/xmpp.conf.sample (added),
configs/unistim.conf.sample (removed),
configs/samples/extconfig.conf.sample (added),
configs/acl.conf.sample (removed), configs/extensions.conf.sample
(removed), configs/cel_sqlite3_custom.conf.sample (removed),
configs/samples/res_pktccops.conf.sample (added),
configs/samples/cel.conf.sample (added),
configs/cli_aliases.conf.sample (removed),
configs/extensions.ael.sample (removed),
configs/cdr_adaptive_odbc.conf.sample (removed),
configs/samples/phone.conf.sample (added),
configs/res_curl.conf.sample (removed),
configs/extensions_minivm.conf.sample (removed),
configs/motif.conf.sample (removed),
configs/samples/skinny.conf.sample (added),
configs/samples/muted.conf.sample (added),
configs/samples/iax.conf.sample (added),
configs/samples/sip_notify.conf.sample (added),
configs/samples/test_sorcery.conf.sample (added),
configs/cdr_mysql.conf.sample (removed),
configs/cdr_odbc.conf.sample (removed),
configs/samples/extensions.lua.sample (added),
configs/minivm.conf.sample (removed), configs/codecs.conf.sample
(removed), configs/samples/say.conf.sample (added),
configs/samples/cel_custom.conf.sample (added),
configs/samples/app_skel.conf.sample (added),
configs/cdr_custom.conf.sample (removed),
configs/chan_dahdi.conf.sample (removed),
configs/dundi.conf.sample (removed),
configs/res_config_mysql.conf.sample (removed),
configs/oss.conf.sample (removed), configs/app_mysql.conf.sample
(removed), configs/samples/statsd.conf.sample (added),
configs/samples/cli_permissions.conf.sample (added),
configs/queues.conf.sample (removed),
configs/cdr_syslog.conf.sample (removed),
configs/samples/config_test.conf.sample (added),
configs/cdr.conf.sample (removed),
configs/samples/indications.conf.sample (added),
configs/cel_pgsql.conf.sample (removed),
configs/samples/voicemail.conf.sample (added),
configs/samples/res_corosync.conf.sample (added),
configs/samples/misdn.conf.sample (added),
configs/features.conf.sample (removed),
configs/logger.conf.sample (removed),
configs/samples/ari.conf.sample (added),
configs/res_odbc.conf.sample (removed),
configs/agents.conf.sample (removed),
configs/samples/ooh323.conf.sample (added), Makefile,
configs/xmpp.conf.sample (removed),
configs/samples/musiconhold.conf.sample (added),
configs/samples/pjsip.conf.sample (added),
configs/samples/sorcery.conf.sample (added),
configs/samples/vpb.conf.sample (added),
configs/samples/unistim.conf.sample (added),
configs/samples/res_ldap.conf.sample (added),
configs/samples/dnsmgr.conf.sample (added),
configs/res_pktccops.conf.sample (removed), configs/samples
(added), configs/amd.conf.sample (removed),
configs/samples/acl.conf.sample (added),
configs/res_parking.conf.sample (removed),
configs/modules.conf.sample (removed), configs/skinny.conf.sample
(removed), configs/samples/cli_aliases.conf.sample (added),
configs/cdr_pgsql.conf.sample (removed),
configs/samples/extensions.ael.sample (added),
configs/samples/cdr_adaptive_odbc.conf.sample (added),
configs/samples/motif.conf.sample (added),
configs/samples/extensions_minivm.conf.sample (added),
configs/sip_notify.conf.sample (removed),
configs/samples/telcordia-1.adsi (added),
configs/samples/alsa.conf.sample (added),
configs/samples/adsi.conf.sample (added),
configs/test_sorcery.conf.sample (removed),
configs/dsp.conf.sample (removed): configs: Move sample config
files into a subdirectory of configs This moves all samples
configs from configs/ to configs/samples. This allows for
additional sets of sample configuration files to be added in the
future. Review: https://reviewboard.asterisk.org/r/3804/
* UPGRADE.txt, channels/chan_sip.c: chan_sip: Make
progressinband=never really mean 'never' progressinband=never in
sip.conf is easily defeated if an onward trunk sends a progress
indication of its own. This is almost certain to happen if the
onward trunk is ISDN or IAX as these technologies send a progress
indication even if early media is not required. This progress
message is passed to the caller, and causes the "never" option to
be rather badly named. This patch changes the behaviour of this
setting in the following ways: 1) In sip_write(), do not pass the
media unless we have either progressed beyond INV_EARLY_MEDIA, or
we are in INV_EARLY_MEDIA state, and early media is both set-up
and wanted. This helps resolve double-ringing on some buggy
handsets. 2) In sip_indicate(), if we see AST_CONTROL_PROGRESS,
but SIP_PROG_INBAND_NEVER is set, send a 180 Ringing instead to
avoid implicitly enabling early media. Avoid sending double ring
indications. NOTE: the meaning of the SIP_PROGRESS_SENT flag
changes slightly in this patch to also encapsulate the fact that
a channel has *sent or received* a 183 Progress indication. This
makes the updated code in sip_write() much more simple. Review:
https://reviewboard.asterisk.org/r/3700 ASTERISK-23972 #close
Reported by: Steve Davies patches:
inband_never_present_early_media2 uploaded by Steve Davies
(License 5012)
* menuselect: Add svn:ignore property
* configure, configure.ac, UPGRADE.txt, menuselect/configure,
menuselect/configure.ac: configure: Fix libxml2 development
library dependency checking The commit that added libxml2 support
didn't fully check for the libxml2 development script in the
Asterisk configure file. As a result, Asterisk could be
configured, then fail on menuselect. This patch fixes it so that
Asterisk should detect the libxml2 dependency failure first.
* UPGRADE.txt, menuselect/configure, menuselect/configure.ac,
menuselect/menuselect.c, menuselect/acinclude.m4,
menuselect/makeopts.in, menuselect/autoconfig.h.in,
menuselect/menuselect.h, menuselect/example_menuselect-tree,
configure, include/asterisk/autoconfig.h.in, menuselect/Makefile,
menuselect/README, menuselect/aclocal.m4, configure.ac:
menuselect: Add libxml2 support (Patch 3) This is the final patch
in adding menuselect to Asterisk. - The first patch (r418832)
added menuselect along with mxml - The second patch (r418833)
removed mxml from menuselect This patch adds support for libxml2
to menuselect, and makes libxml2 a required library for Asterisk.
Note that the libxml2 portion of this patch was written by Sean
Bright, and was made available on a team branch:
http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/
Review: https://reviewboard.asterisk.org/r/3773/ ASTERISK-20703
#close patches: some_mysterious_team_branch uploaded by
seanbright (License 5060)
* menuselect/mxml (removed): menuselect: Remove mxml from
menuselect (Patch 2) This is the second patch that adds
menuselect to Asterisk trunk. The previous commit (r418832) added
menuselect along with mxml; this patch removes mxml completely
from Menuselect. A subsequent patch will switch menuselect over
to using libxml2, and make libxml2 a required dependency for
Asterisk. ASTERISK-20703
* menuselect/menuselect.c (added), menuselect/mxml/CHANGES (added),
menuselect/mxml/COPYING (added), menuselect/mxml/mxml-file.c
(added), menuselect/makeopts.in (added),
menuselect/autoconfig.h.in (added), menuselect/menuselect.h
(added), menuselect/menuselect_gtk.c (added),
menuselect/mxml/install-sh (added), menuselect/README (added),
menuselect/mxml/mxml-node.c (added), menuselect/test/build_tools
(added), menuselect (added), menuselect/contrib (added),
menuselect/mxml/mxml.pc.in (added), menuselect/mxml/mxml-set.c
(added), menuselect/acinclude.m4 (added),
menuselect/mxml/ANNOUNCEMENT (added), menuselect/missing (added),
menuselect/menuselect_curses.c (added),
menuselect/example_menuselect-tree (added), menuselect/mxml
(added), menuselect/mxml/config.h.in (added),
menuselect/aclocal.m4 (added), menuselect/install-sh (added),
menuselect/mxml/mxml-string.c (added), menuselect/mxml/mxml.h
(added), menuselect/mxml/mxml-index.c (added),
menuselect/configure (added), menuselect/make_version (added),
menuselect/menuselect_newt.c (added),
menuselect/mxml/mxml-private.c (added),
menuselect/mxml/mxml-entity.c (added), menuselect/bootstrap.sh
(added), menuselect/config.guess (added),
menuselect/test/build_tools/menuselect-deps (added), /,
menuselect/strcompat.c (added),
menuselect/contrib/menuselect-dummy (added),
menuselect/config.sub (added), menuselect/mxml/configure (added),
menuselect/mxml/Makefile.in (added), menuselect/configure.ac
(added), menuselect/mxml/configure.in (added),
menuselect/contrib/Makefile-dummy (added),
menuselect/mxml/mxml.list.in (added), menuselect/mxml/README
(added), menuselect/linkedlists.h (added), menuselect/Makefile
(added), menuselect/mxml/mxml-search.c (added), menuselect/test
(added), menuselect/test/menuselect-tree (added),
menuselect/menuselect_stub.c (added), menuselect/mxml/mxml-attr.c
(added): menuselect: Add menuselect to Asterisk trunk (Patch 1)
This is the first patch that adds menuselect to Asterisk trunk,
and removes the svn:externals property. This is being done for
two reasons: (1) The removal of external repositories eases a
future migration to git (2) Asterisk is now the only thing that
uses menuselect; as a result, there's little need to keep it in
an external repository Subsequent patches will remove the mxml
dependency from menuselect and tidy up the build system.
ASTERISK-20703
2014-07-17 14:28 +0000 [r418811] Kinsey Moore <kmoore@digium.com>
* main/bridge_channel.c, /: TEST_FRAMEWORK: Fix threewaytransfer
reporting Ensure that three-way transfers can be reported even if
featuremap is non-NULL. ........ Merged revisions 418810 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-16 23:08 +0000 [r418788] Corey Farrell <git@cfware.com>
* /, channels/dahdi/bridge_native_dahdi.c: Remove include of
astobj.h from channels/dahdi/bridge_native_dahdi.c. The include
was unneeded, this is split off from r3758 as it applies to 12.
........ Merged revisions 418787 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-16 14:03 +0000 [r418717-418757] Matthew Jordan <mjordan@digium.com>
* CHANGES, res/res_pjsip.c, channels/chan_pjsip.c,
include/asterisk/res_pjsip.h,
contrib/ast-db-manage/config/versions/1d50859ed02e_create_accountcode.py
(added), /, configs/pjsip.conf.sample,
res/res_pjsip/pjsip_configuration.c: res_pjsip: Support setting a
default accountcode on endpoints Most channel drivers let you
specify a default accountcode to be set on channels associated
with a particular peer/endpoint/object. Prior to this patch,
chan_pjsip/res_pjsip did not support such a setting. This patch
adds a new setting to the res_pjsip endpoint object,
'accountcode'. When a channel is created that is associated with
an endpoint with this value set, the channel will automatically
have its accountcode property set to the value configured for the
endpoint. Review: https://reviewboard.asterisk.org/r/3724/
ASTERISK-24000 #close Reported by: Matt Jordan ........ Merged
revisions 418756 from
http://svn.asterisk.org/svn/asterisk/branches/12
* configs/cdr_pgsql.conf.sample, configs/res_pgsql.conf.sample,
cel/cel_pgsql.c, res/res_config_pgsql.c,
configs/cel_pgsql.conf.sample, cdr/cdr_pgsql.c, CHANGES:
cel_pgsql, cdr_pgsql, res_config_pgsql: Add PostgreSQL
application_name support This patch adds support for the
PostgreSQL application_name connection setting. When the
appropriate PostgreSQL module's configuration is set with an
application name, the name will be passed to PostgreSQL on
connection and displayed in the database's pg_stat_activity view,
as well as in CSV logs. This aids in managing which
applications/servers are connected to a PostgreSQL database, as
well as tracing the activity of those connections. Review:
https://reviewboard.asterisk.org/r/3591 ASTERISK-23737 #close
Reported by: Gergely Domodi patches: pgsql_application_name.patch
uploaded by Gergely Domodi (License 6610)
* codecs/codec_adpcm.c, main/format.c: codec_adpcm: Change
description of codec "ADPCM" to "Dialogic ADPCM" Technically,
ADPCM is a method that can be applied to several codecs.
Asterisk's ADPCM codec is the Dialogic ADPCM or VOX codec. See
http://en.wikipedia.org/wiki/Dialogic_ADPCM for more information
about said codec. Review: https://reviewboard.asterisk.org/r/3744
patches: rb3744.patch uploaded by dennis.guse (License 6513)
* main/manager.c, /, UPGRADE.txt: manager: Return ActionID on
nominal responses to PresenceState action When the PresenceState
action is executed, the nominal path fails to include the
ActionID in the successful response. This patch adds a call to
astman_start_ack, which guarantees that an ActionID (if provided)
will be sent back to the AMI client. Unlike the Asterisk 11 and
12 patches, this patch also deprecates the duplicate Message key
in the response to the action, replacing it with the key
'PresenceMessage'. Review:
https://reviewboard.asterisk.org/r/3776/ ASTERISK-23985 #close
........ Merged revisions 418713 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418714 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-15 23:03 +0000 [r418716] Kinsey Moore <kmoore@digium.com>
* /, main/bridge_channel.c: TEST_FRAMEWORK: Fix ref leak in feature
activation This fixes two reference leaks that would occur when
TEST_FRAMEWORK was enabled and features were successfully
executed. ........ Merged revisions 418715 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-15 17:57 +0000 [r418654] Jonathan Rose <jrose@digium.com>
* funcs/func_uri.c, /: func_uri: URIENCODE/URIDECODE - allow empty
strings as argument Previously these two dialplan functions would
issue warnings and return failure when an empty string is used as
the argument. Now they will not issue a warning and will
successfully return an empty string. ASTERISK-23911 #close
Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3745/ ........ Merged
revisions 418641 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 418649 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418650 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-15 12:11 +0000 [r418616] Sean Bright <sean@malleable.com>
* main/asterisk.c: Update Asterisk copyright year in
main/asterisk.c It's been 2014 for like... 6 months.
2014-07-14 14:55 +0000 [r418566-418587] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/logger.h, /: logger.h: Extract DEBUG_ATLEAST()
to complement VERBOSITY_ATLEAST(). ........ Merged revisions
418586 from http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/jabber.h (removed), include/asterisk/jingle.h
(removed), include/asterisk/frame_defs.h (removed),
configs/h323.conf.sample (removed): Actually delete the removed
files.
2014-07-13 21:57 +0000 [r418507] Corey Farrell <git@cfware.com>
* /, main/astobj2.c, contrib/scripts/refcounter.py: astobj2: work
around REF_DEBUG race which causes out of order log entries *
Update refcounter.py to use delta's to track the current
reference count. * Use result from internal_ao2_ref to write
old_refcount to refs_log. Review:
https://reviewboard.asterisk.org/r/3756/ ........ Merged
revisions 418504 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 418505 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418506 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-13 20:08 +0000 [r418488] Scott Griepentrog <sgriepentrog@digium.com>
* include/asterisk/astobj2.h: astobj2: correct define for
ao2_t_cleanup This change maps the ao2_t_cleanup() function to
the correct debug function so that it can be used. Review:
https://reviewboard.asterisk.org/r/3764/
2014-07-13 16:48 +0000 [r418448-418467] Corey Farrell <git@cfware.com>
* main/manager.c, /, apps/app_skel.c: Fix minor reference leaks in
app_skel and TEST_FRAMEWORK * Cleanup games object in app_skel. *
Cleanup stasis subscription to TEST_FRAMEWORK in manager.c (12+).
Review: https://reviewboard.asterisk.org/r/3757/ ........ Merged
revisions 418465 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418466 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/jabber.h, include/asterisk/jingle.h,
configs/h323.conf.sample: Remove files left behind on removal of
h323, jingle and jabber. This change removes h323.conf.sample,
jingle.h, jabber.h left behind by r3698. Review:
https://reviewboard.asterisk.org/r/3755/
2014-07-11 23:00 +0000 [r418419] Matthew Jordan <mjordan@digium.com>
* main/astobj2.c, include/asterisk/astobj2.h: astobj2: Add tag
variants for ao2_bump, ao2_cleanup, and ao2_replace Tags are
useful in hunting down ref imbalances; this patch adds tag
variants for these commonly used macros/functions. Review:
https://reviewboard.asterisk.org/r/3750/
2014-07-11 21:10 +0000 [r418397] Corey Farrell <git@cfware.com>
* /, include/asterisk/astobj2.h: astobj2: tweak ao2_replace to do
nothing when it would be a NoOp This change causes ao2_replace to
do nothing when src == dst. This avoids REF_DEBUG logging when
we're not actually doing anything. Review:
https://reviewboard.asterisk.org/r/3743/ ........ Merged
revisions 418396 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-11 16:42 +0000 [r418370] Scott Griepentrog <sgriepentrog@digium.com>
* main/config.c, /: config: inform config hook of change when
writing file When updated configuration is written back to the
conf file - for example when a user changes their voicemail pin,
make sure that any config hook that wants to know of changes is
informed. Review: https://reviewboard.asterisk.org/r/3708/
........ Merged revisions 418366 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418369 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-10 15:36 +0000 [r418325] Matthew Jordan <mjordan@digium.com>
* /, include/asterisk/xmpp.h: include/asterisk/xmpp.h: Convert
indentation to tabs This is a whitespace only change. ........
Merged revisions 418323 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418324 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-10 01:59 +0000 [r418226-418264] Richard Mudgett <rmudgett@digium.com>
* channels/sig_pri.c, /: chan_dahdi/sig_pri: Fix type mismatch in
the idledial feature's channel creation. Square pegs in round
holes don't work very well. ........ Merged revisions 418261 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 418262 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 418263 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/stasis/stasis_bridge.h (added), main/bridge_channel.c,
res/res_stasis.c, /, res/stasis/stasis_bridge.c (added),
include/asterisk/bridge_channel.h, main/bridge_basic.c: ARI: Make
mixing bridges propagate linkedids and accountcodes. * Create a
Stasis bridge sub-class to propagate linkedids and accountcodes.
* Fixed the basic bridge sub-class to update peeraccount codes
when the number of channels in the bridge drops back down to two
parties. * Refactored ast_bridge_channel_update_accountcodes() to
handle channels joining/leaving the bridge. * Fixed the basic
bridge sub-class to not call the base bridge class pull method
twice. AFS-105 #close ASTERISK-23852 #close Reported by: Richard
Mudgett Review: https://reviewboard.asterisk.org/r/3720/ ........
Merged revisions 418225 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-08 14:48 +0000 [r418174-418183] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/deviceStates.json,
rest-api/api-docs/endpoints.json,
rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
/, rest-api/api-docs/asterisk.json,
rest-api/api-docs/applications.json,
rest-api/api-docs/playbacks.json,
rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
rest-api/resources.json, include/asterisk/manager.h,
rest-api/api-docs/bridges.json,
rest-api/api-docs/recordings.json: manager/ARI: Update version to
2.4.0/1.4.0; Update UPGRADE.txt ........ Merged revisions 418182
from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix undefined
function when PJPROJECT is not installed The
dtls_perform_handshake function was mistakenly placed under the
guards for USE_PJPROJECT. If PJPROJECT was not installed, the
function would not be defined, while other functions would
attempt to still use it. This prevented res_rtp_asterisk from
being loaded. ASTERISK-24001 #close Reported by: Don Fanning
........ Merged revisions 418172 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-07 16:08 +0000 [r418117] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c, /,
include/asterisk/res_pjsip_presence_xml.h,
include/asterisk/res_pjsip_body_generator_types.h,
res/res_pjsip_dialog_info_body_generator.c (added):
res_pjsip_dialog_info_body_generator: Add dialog-info+xml support
for presence. This module implements dialog-info+xml for the
purposes of presence. This means that phones such as Grandstreams
can now subscribe to receive presence information for an
extension. ASTERISK-21443 #close Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3705/ ........ Merged
revisions 418116 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-07 02:15 +0000 [r418090] Matthew Jordan <mjordan@digium.com>
* /, res/stasis/app.c, include/asterisk/stasis_app.h,
res/ari/resource_channels.c, res/res_stasis.c: ARI/res_stasis:
Subscribe to both Local channel halves when originating to app
This patch fixes two bugs: 1. When originating a channel into a
Stasis application, we already create a subscription for the
channel that is going into our Stasis app. Unfortunately, when
you create a Local channel and pass it off to a Stasis app, you
really aren't creating just one channel: you're creating two.
This patch snags the second half of the Local channel pair
(assuming it is a Local channel pair, but luckily core_local is
kind about such assumptions) and subscribes to it as well. 2.
Subscriptions are a bit sticky right now. If a subscription is
made, the 'interest' count gets bumped on the Stasis subscription
- but unless something explicitly unsubscribes the channel, said
subscription sticks around. This is not much of a problem is a
user is creating the subscription - if they made it, they must
want it. However, when we are creating implicit subscriptions, we
need to make sure something clears them out. This patch takes a
pessimistic approach: it watches the cache updates coming from
Stasis and, if we notice that the cache just cleared out an
object, we delete our subscription object. This keeps our ao2
container of Stasis forwards in an application from growing out
of hand; it also is a bit more forgiving for end users who may
not realize they were supposed to unsubscribe from that channel
that just hung up. Review:
https://reviewboard.asterisk.org/r/3710/ #ASTERISK-23939 #close
........ Merged revisions 418089 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-07 01:22 +0000 [r418067-418084] Kinsey Moore <kmoore@digium.com>
* /, tests/test_cel.c, main/cel.c, channels/chan_pjsip.c,
res/res_pjsip_session.c: CEL: Fix incorrect/missing extra field
information This corrects two issues with the extra field
information in Asterisk 12+ in channel event logs. It is possible
to inject custom values into the dialstatus provided by
ast_channel_dial_type() Stasis messages that fall outside the
enumeration allowed for the DIALSTATUS channel variable. CEL now
filters for the allowed values and ignores other values. The
"hangupsource" extra field key is always blank if the far end
channel is a chan_pjsip channel. This is because the hangupsource
is never set for the pjsip channel driver. This change sets the
hangupsource whenever a hangup is queued for chan_pjsip channels.
This corrects an issue with the pjsip channel driver where the
hangupcause information was not being set properly. Review:
https://reviewboard.asterisk.org/r/3690/ ........ Merged
revisions 418071 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/http.c, /: HTTP: Fix build for gcc 4.10 ........ Merged
revisions 418066 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-04 15:26 +0000 [r418019-418050] Matthew Jordan <mjordan@digium.com>
* main/Makefile: main/Makefile: fix compilation error of buildinfo
occurring on 'make install' Egads. Another bad deletion of too
much when attempting to remove h323 stuff.
* build_tools/menuselect-deps.in, configure, main/Makefile,
configure.ac: configure: Remove last vestiges of h323; DO create
menuselect-deps The previous patch (r418034) fixed the 'glitch'
that the channels/h323 Makefile no longer existed. Unfortunately,
removing the entire line was a bit of a blunder, as it meant that
build_tools/menuselect-deps was never generated. Hilarity ensued
when actually trying to compile. But hey! At least configure
worked. This patch fixes *that* glitch, and removes some more of
the vestiges of h323. (It had tendrils in the main Makefile?
Crazy.)
* configure, configure.ac: configure: Update script to pass if
channels/h323/Makefile.in does not exist This simply removes that
check from the configure script, as r418019 removed chan_h323.
* apps/app_dahdibarge.c (removed), configs/gtalk.conf.sample
(removed), main/pbx.c, apps/app_readfile.c (removed),
channels/chan_sip.c, configs/jingle.conf.sample (removed),
UPGRADE.txt, res/res_musiconhold.c, channels/chan_gtalk.c
(removed), channels/Makefile, CHANGES, res/res_jabber.c
(removed), channels/h323 (removed), utils/conf2ael.c,
channels/chan_jingle.c (removed), res/ael/pval.c,
configs/jabber.conf.sample (removed),
configs/asterisk.conf.sample, res/res_agi.c, channels/chan_h323.c
(removed), addons/Makefile, pbx/pbx_realtime.c, utils/ael_main.c,
include/asterisk/options.h, main/asterisk.c,
addons/app_saycountpl.c (removed): Remove many deprecated modules
Billing records are fair, To get paid is quite bright, You should
really use ODBC; Good-bye cdr_sqlite. Microsoft did once push
H.323, Hell, we all remember NetMeeting. But try to compile
chan_h323 now And you will take quite a beating. The XMPP and SIP
war was fierce, And in the distant fray Was birthed
res_jabber/chan_jingle; But neither to stay. For everyone did
care and chase what Google professed. "Free Internet Calling" was
what devotees cried, But Google did change the specs so often
That the developers were happy the day chan_gtalk died. And then
there was that odd application Dedicated to the Polish tongue.
app_saycountpl was subsumed by Say; One could say its bell was
rung. To read and parse a file from the dialplan You could (I
guess) use an application. app_readfile did fill that purpose,
but I think A function is perhaps better in its creation. Barging
is rude, I'm not sure why we do it. Inwardly, the caller will
probably sigh. But if you really must do it, Don't use
app_dahdibarge, use ChanSpy. We all despise the sound of tinny
robots It makes our queues so cold. To control such an
abomination It's better to not use Wait/SetMusicOnHold. It's
often nice to know properties of a channel It makes our calls
right We have a nice function called CHANNEL And so SIPCHANINFO
is sent off into the night. And now things get odd; Apparently
one could delimit with a colon Properties from the SIPPEER
function! Commas are in; all others are done. Finally, a word on
pipes and commas. We're sorry. We can't say it enough. But those
compatibility options in asterisk.conf; To maintain them forever
was just too tough. This patch removes: * cdr_sqlite * chan_gtalk
* chan_jingle * chan_h323 * res_jabber * app_saycountpl *
app_readfile * app_dahdibarge It removes the following
applications/functions: * WaitMusicOnHold * SetMusicOnHold *
SIPCHANINFO It removes the colon delimiter from the SIPPEER
function. Finally, it also removes all compatibility options that
were configurable from asterisk.conf, as these all applied to
compatibility with Asterisk 1.4 systems. Review:
https://reviewboard.asterisk.org/r/3698/
2014-07-03 22:22 +0000 [r417933-417976] Richard Mudgett <rmudgett@digium.com>
* UPGRADE.txt, channels/sig_pri.c, channels/sig_pri.h,
channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /:
chan_dahdi: Add inband_on_setup_ack compatibility option. The new
inband_on_setup_ack option causes Asterisk to assume inband audio
may be present when a SETUP_ACKNOWLEDGE message is received.
Q.931 Section 5.1.3 says that in scenarios with overlap dialing,
when a dialtone is sent from the network side, progress indicator
8 "Inband info now available" MAY be sent to the CPE if no digits
were received with the SETUP. It is thus implied that the ie is
mandatory if digits came with the SETUP and dialtone is needed.
This option should be enabled, when the network sends dialtone
and you want to hear it, but the network doesn't send the
progress indicator when needed. NOTE: For Q.SIG setups this
option should be enabled when outgoing overlap dialing is also
enabled because Q.SIG does not send the progress indicator with
the SETUP ACK. The commit -r413714 (AST-1338) which causes this
issue was dealing with a SIP-to-ISDN interoperability issue. This
commit is a merge of the two patches indicated below.
ASTERISK-23897 #close Reported by: Pavel Troller Patches:
pri-4.diff (license #6302) patch uploaded by Pavel Troller
jira_asterisk_23897_v11.patch (license #5621) patch uploaded by
rmudgett Review: https://reviewboard.asterisk.org/r/3633/
........ Merged revisions 417956 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 417957 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417958 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_ari.c, main/manager.c, /, res/ari/resource_channels.c:
res_ari: Fix some off-nominal paths just dropping the HTTP
connection. * Removed some incorrect newlines on ast_http_error()
messages in manager.c. * Removed an incorrect newline in
res_ari_channels.c. Addendum to ASTERISK-23552 ........ Merged
revisions 417932 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-03 17:34 +0000 [r417910-417916] Jonathan Rose <jrose@digium.com>
* channels/chan_dahdi.c, CHANGES: chan_dahdi: Add AMI commands for
controlling PRI debugging output Adds the following AMI commands:
PRIDebugSet - Set PRI debug levels for a specific span
PRIDebugFileSet - Set the file used for PRI debug message output
PRIDebugFileUnset - Disables file output for PRI debug messages
Review: https://reviewboard.asterisk.org/r/3681/
* CHANGES, pbx/pbx_config.c, main/pbx.c: pbx_config: Add manager
actions to add/remove extensions Adds two new manager commands to
pbx_config - DialplanExtensionAdd and DialplanExtensionRemove
which allow manager users to create and delete extensions
respectively. Review: https://reviewboard.asterisk.org/r/3650/
2014-07-03 17:16 +0000 [r417901] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/tcptls.h, res/res_http_post.c,
res/res_http_websocket.c, configs/http.conf.sample,
include/asterisk/http.h, main/tcptls.c, res/res_ari.c,
main/manager.c, /, res/res_phoneprov.c, main/http.c, UPGRADE.txt:
HTTP: Add persistent connection support. Persistent HTTP
connection support is needed due to the increased usage of the
Asterisk core HTTP transport and the frequency at which REST API
calls are going to be issued. * Add http.conf session_keep_alive
option to enable persistent connections. * Parse and discard
optional chunked body extension information and trailing request
headers. * Increased the maximum application/json and
application/x-www-form-urlencoded body size allowed to 4k. The
previous 1k was kind of small. * Removed a couple inlined
versions of ast_http_manid_from_vars() by calling the function.
manager.c:generic_http_callback() and
res_http_post.c:http_post_callback() * Add missing va_end() in
ast_ari_response_error(). * Eliminated unnecessary RAII_VAR() use
in http.c:auth_create(). ASTERISK-23552 #close Reported by: Scott
Griepentrog Review: https://reviewboard.asterisk.org/r/3691/
........ Merged revisions 417880 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-03 16:55 +0000 [r417900] Matthew Jordan <mjordan@digium.com>
* configure.ac, main/tcptls.c, configure,
include/asterisk/autoconfig.h.in: main/tcptls: Add checks for
OpenSSL Elliptic Curve support The patch for ASTERISK-23905 that
added PFS support in Asterisk depends on the elliptic curve
library support being present in OpenSSL. As it turns out, some
versions of OpenSSL don't have this library - notably the version
running on our build agents. This patch fixes the build by
providing a configure check for the specific library calls that
the PFS patch relies on. Review:
https://reviewboard.asterisk.org/r/3709/
2014-07-03 16:14 +0000 [r417877-417879] sgalarneau <sgalarneau@localhost>:
* res/ari/resource_channels.h, rest-api/api-docs/events.json, /,
res/ari/resource_events.h, rest-api/api-docs/channels.json: ARI:
Improvements to body parameters documentation The variables body
parameter under the originate and originate with id operations of
the channel resource showed invalid JSON in its description. The
variables body parameter under the userEvent operation of the
event resource made no mention that the custom key/value pairs
should be wrapped in a variables key in order to be added to the
custom user event. ASTERISK-23975 #close Review:
https://reviewboard.asterisk.org/r/3692/ ........ Merged
revisions 417878 from
http://svn.asterisk.org/svn/asterisk/branches/12
* rest-api-templates/swagger_model.py, /,
rest-api-templates/api.wiki.mustache: api.wiki.mustache: Update
wiki template to support body parameters This patch updates the
api.wiki.mustache template and the swagger_model python script to
understand if an operation has a body parameter. If an operation
does have a body parameter, it will now be displayed in the
corresponding wiki entry. ........ Merged revisions 407389 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-03 14:08 +0000 [r417863] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* contrib/scripts/dahdi_span_config_hook (added), Makefile:
dahdi_span_config_hook: automatically register new dahdi channels
Install a hook script for DAHDI to register new spans with
Asterisk automatically by running: asterisk -rx 'dahdi create
channel FIRST LAST' Review:
https://reviewboard.asterisk.org/r/3157/
2014-07-03 12:10 +0000 [r417800-417803] Matthew Jordan <mjordan@digium.com>
* CHANGES, main/tcptls.c: main/tcptls: Add support for Perfect
Forward Secrecy This patch enables Perfect Forward Secrecy (PFS)
in Asterisk's core TLS API. Modules that wish to enable PFS
should consider the following: - Ephemeral ECDH (ECDHE) is
enabled by default. To disable it, do not specify a ECDHE cipher
suite in a module's configuration, for example:
tlscipher=AES128-SHA:DES-CBC3-SHA - Ephemeral DH (DHE) is
disabled by default. To enable it, add DH parameters into the
private key file, i.e., tlsprivatekey. For an example, see the
default dh2048.pem at
http://www.opensource.apple.com/source/OpenSSL098/OpenSSL098-35.1/src/apps/dh2048.pem?txt
- Because clients expect the server to prefer PFS, and because
OpenSSL sorts its cipher suites by bit strength, (see "openssl
ciphers -v DEFAULT") consider re-ordering your cipher suites in
the conf file. For example:
tlscipher=AES128+kEECDH:AES128+kEDH:3DES+kEDH:AES128-SHA:DES-CBC3-SHA:-ADH:-AECDH
will use PFS when offered by the client. Clients which do not
offer PFS fall-back to AES-128 (or even 3DES as recommend by RFC
3261). Review: https://reviewboard.asterisk.org/r/3647/
ASTERISK-23905 #close Reported by: Alexander Traud patches:
tlsPFS_for_HEAD.patch uploaded by Alexander Traud (License 6520)
tlsPFS.patch uploaded by Alexander Traud (License 6520)
* /, main/utils.c: main/untils: Prevent potential infinite loop in
ast_careful_fwrite A loop in ast_careful_fwrite exists that will
continually attempt to write to a file stream, even in the
presence of EAGAIN/EINTR errors. However, if a connection that
uses ast_careful_fwrite closes suddenly, ast_careful_fwrite's
call to fflush may return EAGAIN/EINTER along with EOF. A
subsequent call to fflush will return EOF but not clear errno,
resulting in an infinite loop. This patch clears errno after it
is detected and handled the loop, such that any subsequent call
to fflush will not get erroneously stuck. Review:
https://reviewboard.asterisk.org/r/3704 #ASTERISK-23984 #close
Reported by: Steve Davies patches: fflush_loop_fix uploaded by
one47 (License 5012) ........ Merged revisions 417797 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 417798 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417799 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-02 21:13 +0000 [r417770] Jonathan Rose <jrose@digium.com>
* /, res/ari/resource_bridges.h, res/ari/resource_recordings.h,
rest-api-templates/ari_resource.h.mustache,
res/ari/resource_device_states.h, res/ari/resource_endpoints.h,
res/ari/resource_mailboxes.h, res/ari/resource_events.h,
res/ari/resource_asterisk.h, res/ari/resource_applications.h,
res/ari/resource_playbacks.h, res/ari/resource_channels.h,
res/ari/resource_sounds.h: ARI: Remove unnecessary \briefs from
automatically generated documentation Review:
https://reviewboard.asterisk.org/r/3440/ ........ Merged
revisions 412653 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-07-01 14:42 +0000 [r417679-417706] Joshua Colp <jcolp@digium.com>
* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Don't leak memory or
reset state if DTLS configuration is set multiple times. ........
Merged revisions 417705 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/sip/include/sip.h, include/asterisk/res_pjsip.h,
include/asterisk/sdp_srtp.h, res/res_rtp_asterisk.c,
contrib/ast-db-manage/config/versions/51f8cb66540e_add_further_dtls_options.py
(added), include/asterisk/res_pjsip_session.h, main/rtp_engine.c,
/, channels/chan_sip.c, main/sdp_srtp.c, res/res_pjsip_sdp_rtp.c,
res/res_pjsip/pjsip_configuration.c, configs/sip.conf.sample,
include/asterisk/rtp_engine.h, res/res_pjsip.c: Recorded merge of
revisions 417677 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........
res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS
negotiation on RTCP. This change fixes up DTLS support in
res_rtp_asterisk so it can accept and provide a SHA-256
fingerprint, so it occurs on RTCP, and so it occurs after ICE
negotiation completes. Configuration options to chan_sip and
chan_pjsip have also been added to allow behavior to be tweaked
(such as forcing the AVP type media transports in SDP).
ASTERISK-22961 #close Reported by: Jay Jideliov Review:
https://reviewboard.asterisk.org/r/3679/ Review:
https://reviewboard.asterisk.org/r/3686/ ........ Merged
revisions 417678 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-30 18:39 +0000 [r417663] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_pubsub.c: Reverse logic during subscription
persistence recreation. In the abstraction effort, this bit of
logic got messed up. We want to recreate the persistence if
things go well, not if things fail.
2014-06-30 13:02 +0000 [r417590-417649] Matthew Jordan <mjordan@digium.com>
* apps/app_voicemail.c: apps/app_voicemail: Fix compilation error
introduced in r417591 Not sure why that change to
ast_channel_alloc was made but ... okay.
* apps/app_voicemail.c, main/say.c, CHANGES: app_voicemail, say:
Add support for Japanese Language This patch adds support for the
Japanese language to both the say family of applications, as well
as for VoiceMail and VoiceMailMain. A new pack of language sounds
will be released at the same time as the next major version of
Asterisk to support the new language features. The language
features can be enabled using a language code of 'ja'. Review:
https://reviewboard.asterisk.org/r/3477 ASTERISK-23324 #close
Reported by: Kevin McCoy patches:
app_voicemail.c.20140226.jb.patch uploaded by Kevin McCoy
(License 6586) say.c.20140226.jb.patch uploaded by Kevin McCoy
(License 6586)
* /, channels/chan_sip.c: chan_sip: be more tolerant of whitespace
between attributes in SDP fmtp line This patch is essentially a
backport of a small portion of r397526 from ASTERISK-21981. In
that patch, pass through support and format attribute negotiation
was added for Opus. Part of that included being more tolerant to
whitespace in the fmtp line of an SDP; that part of the patch is
being applied here. As the author of the backport pointed out, in
SDP, the fmtp line is allowed to include whitespace between
attributes. RFC 3267 chapter 8.3 (from 2001) includes an example
for this. This was not removed in the updated RFC 4867 in 2007.
Review: https://reviewboard.asterisk.org/r/3658 #ASTERISK-23916
#close Reported by: Alexander Traud patches:
sdpFMTPspace_Asterisk11.patch uploaded by Alexander Traud
(License 6520) ........ Merged revisions 417587 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 417588 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417589 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-27 23:21 +0000 [r417571] Richard Mudgett <rmudgett@digium.com>
* main/event.c, /: event.c: Fix type mismatch errors in ie_maps[].
In v12+ the type values from the table are only used by the CEL
unit tests. Since the unit tests were only comparing a generated
expected event with a real event to see if the ie contents
matched and using the same table IE_PLTYPE values to read the
event contents, the type mismatches were not detected. ........
Merged revisions 417565 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-27 19:27 +0000 [r417485-417511] Corey Farrell <git@cfware.com>
* main/astobj2.c, /: Ensure REF_DEBUG records entrys for attempts
to ao2_ref an invalid object This change ensures that
__ao2_ref_debug writes to ref_log when given a non-NULL pointer
to an invalid ao2 object. This is to ensure that we record any
attempt manipulate references of already freed objects.
ASTERISK-23948 #close Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3677/ ........ Merged
revisions 417500 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 417505 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417509 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, contrib/scripts/refcounter.py: refcounter.py: prevent use of
excessive RAM with large refs logs When processing a 212MB refs
file, refcounter.py used over 3GB of RAM. This change greatly
reduces memory usage in two ways: * Saving object history in
whole lines instead of separated values. * Not saving
normal/skewed/leaked object lists unless they are requested.
ASTERISK-23921 #close Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3668/ ........ Merged
revisions 417480 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 417481 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417483 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-27 13:50 +0000 [r417461] Matthew Jordan <mjordan@digium.com>
* res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h, /,
res/res_pjsip_outbound_registration.c,
res/res_pjsip/pjsip_configuration.c, res/res_pjsip_pubsub.c:
res_pjsip: Add ActionID to events created as a result of PJSIP
AMI actions A number of various PJSIP AMI actions were failing to
parse out and place the ActionID into their responses. This patch
updates the various PJSIP actions such that the passed in
ActionID is emitted on any event list complete events, as well as
any intermediate events created as a result of the action.
#ASTERISK-23947 #close Reported by: Mark Michelson Review:
https://reviewboard.asterisk.org/r/3675/ ........ Merged
revisions 417460 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-27 02:04 +0000 [r417423-417447] Kinsey Moore <kmoore@digium.com>
* tests/test_cel.c: CEL: Update unit tests for bridge tech field
Update the CEL unit tests that handle BRIDGE_ENTER and
BRIDGE_EXIT events to expect the "bridge_technology" extra field
key.
* CHANGES: CHANGES: Add missing changes Add missing CHANGES changes
from r417361 and r417383.
2014-06-26 18:27 +0000 [r417400-417421] Matthew Jordan <mjordan@digium.com>
* res/res_http_websocket.exports.in, /: res_http_websocket: Export
symbol for ast_websocket_set_timeout Thanks to Sean Bright for
pointing out that this was missed in #asterisk-dev. ........
Merged revisions 417419 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417420 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_pjsip.c, /: chan_pjsip: Add a test event for fast
picture updates This will drive the test on review r3419. Note
that the patch for this was done by Ben Ford, although it was
slightly modified for this commit. ASTERISK-23562 Reported by:
Matt Jordan ........ Merged revisions 417399 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-26 14:48 +0000 [r417361-417383] Kinsey Moore <kmoore@digium.com>
* main/cel.c: CEL: Add bridge tech to relevant CEL records Add the
"bridge_technology" extra field key to BRIDGE_ENTER and
BRIDGE_EXIT CEL events to convey the bridge technology in use at
the time the record was generated.
* main/channel.c, main/bridge.c, include/asterisk/channel.h,
include/asterisk/bridge_features.h,
tests/test_channel_feature_hooks.c (added),
main/bridge_channel.c: Bridging: Allow channels to define
bridging hooks This patch allows the current owner of a channel
to define various feature hooks to be made available once the
channel has entered a bridge. This includes any hooks that are
setup on the ast_bridge_features struct such as DTMF hooks,
bridge event hooks (join, leave, etc.), and interval hooks.
Review: https://reviewboard.asterisk.org/r/3649/
2014-06-26 12:43 +0000 [r417317-417360] Matthew Jordan <mjordan@digium.com>
* CHANGES, apps/app_jack.c: app_jack: Support audio with a sampling
rate higher than 8kHz This patch enables the jack-audiohook to
cope with dynamic sampling rates from and to Asterisk.
Information from the channel is taken to derive the channel's
sampling rate, suiting SLINxx format and frame->datalen. There
are stil a few limitations after this patch: * Required
information is taken from the channel during initialization as
the audiohook does not provide this information.
Audiohook.internal_sampl_rate(...) is set later, but no callback
is available to inform app_jack. * Frame.datalen is computed
using "rate / 50" assuming a ptime of 20ms. There is no internal
API available to determine datalen for a SLINxx. * Ringbuffer
size is now dynamic depending on the value of frame.datalen (see
above) and the number of frames, which are in
RINGBUFFER_FRAME_CAPACITY, that need to fit. Review:
https://reviewboard.asterisk.org/r/3618 Note that the patch being
committed here is based on the patch posted on ASTERISK-23836.
However, Matthis Schmieder also provided a patch to enable this
functionality, and that patch is noted below. ASTERISK-20696
#close Reported by: Matthis Schmieder patches: app_jack.patch
uploaded by Matthis Schmieder (License 6445) ASTERISK-23836
#close Reported by: Dennis Guse patches: patch-app_jack.c
uploaded by Dennis Guse (License 6513)
* /, main/udptl.c: udptl: Correct FEC to not consider negative
sequence numbers as missing When using FEC, with span=3 and
entries=4 Asterisk will attempt to repair the packet with
sequence number 5, as it will see that packet -4 is missing. The
result is Asterisk sending garbage packets that can kill a fax.
This patch adds a check to see if the sequence number is valid
before checking if the packet is missing. Review:
https://reviewboard.asterisk.org/r/3657/ #ASTERISK-23908 #close
Reported by: Torrey Searle patches: udptl_fec.patch uploaded by
Torrey Searle (License 5334) ........ Merged revisions 417318
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 417320 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417324 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_ari.c, /, channels/chan_sip.c, UPGRADE.txt,
res/ari/internal.h, configs/ari.conf.sample,
res/res_http_websocket.c, res/res_pjsip.c,
configs/pjsip.conf.sample, include/asterisk/http_websocket.h,
configs/sip.conf.sample, res/res_pjsip/config_transport.c,
res/ari/ari_websockets.c, res/res_pjsip_transport_websocket.c,
res/ari/config.c, channels/sip/include/sip.h,
include/asterisk/res_pjsip.h: res_http_websocket: Close websocket
correctly and use careful fwrite When a client takes a long time
to process information received from Asterisk, a write operation
using fwrite may fail to write all information. This causes the
underlying file stream to be in an unknown state, such that the
socket must be disconnected. Unfortunately, there are two
problems with this in Asterisk's existing websocket code: 1.
Periodically, during the read loop, Asterisk must write to the
connected websocket to respond to pings. As such, Asterisk
maintains a reference to the session during the loop. When
ast_http_websocket_write fails, it may cause the session to
decrement its ref count, but this in and of itself does not break
the read loop. The read loop's write, on the other hand, does not
break the loop if it fails. This causes the socket to get in a
'stuck' state, preventing the client from reconnecting to the
server. 2. More importantly, however, is that the fwrite in
ast_http_websocket_write fails with a large volume of data when
the client takes awhile to process the information. When it does
fail, it fails writing only a portion of the bytes. With some
debugging, it was shown that this was failing in a similar
fashion to ASTERISK-12767. Switching this over to
ast_careful_fwrite with a long enough timeout solved the problem.
Note that this version of the patch, unlike r417310 in Asterisk
11, exposes configuration options beyond just chan_sip's
sip.conf. Configuration options to configure the write timeout
have also been added to pjsip.conf and ari.conf. #ASTERISK-23917
#close Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3624/ ........ Merged
revisions 417310 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417311 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-26 10:06 +0000 [r417251] Corey Farrell <git@cfware.com>
* /, channels/chan_sip.c: chan_sip: Fix handling of "From" headers
longer than 256 characters From headers were processed using a
256 character buffer on the stack. This change replaces that with
a heap allocation by ast_strdup. ASTERISK-23790 #close Reported
by: uniken1 Tested by: uniken1 Review:
https://reviewboard.asterisk.org/r/3669/ Patches:
chan_sip-large-from-header-1.8-r3.patch uploaded by wdoekes
(license 5674) ........ Merged revisions 417248 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 417249 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 417250 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-25 20:57 +0000 [r417233] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_mwi.c, res/res_pjsip_xpidf_body_generator.c,
res/res_pjsip_pubsub.c, res/res_pjsip_exten_state.c,
include/asterisk/res_pjsip_pubsub.h,
res/res_pjsip_pidf_body_generator.c,
res/res_pjsip_pubsub.exports.in: Abstract PJSIP-specific elements
from the pubsub API. This helps to pave the way for RLS work that
is to come. Since this is a self-contained change and
subscription tests still pass, this work is being committed
directly to trunk instead of a working branch. ASTERISK-23865
#close Review: https://reviewboard.asterisk.org/r/3628
2014-06-25 18:57 +0000 [r417213] Corey Farrell <git@cfware.com>
* main/astobj2_container.c, /: ao2_container node object ignores
REF_DEBUG in all places except one Almost every reference
operation against container node's uses __ao2_alloc or __ao2_ref,
thereby preventing ref logging for the nodes. One node reference
is released with ao2_t_ref, causing refcounter.py to falsely
report skews and leaks for many nodes. ASTERISK-23922 #close
Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3670/ ........ Merged
revisions 417212 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-25 00:45 +0000 [r417193] Damien Wedhorn <voip@facts.com.au>
* channels/chan_skinny.c: Skinny: cleanup some log messages around
sessions.
2014-06-24 02:50 +0000 [r417167] Corey Farrell <git@cfware.com>
* main/netsock.c, include/asterisk/res_pjsip_session.h,
include/asterisk/netsock.h, main/utils.c: Move eid functions to
utils.c, mark netsock.h deprecated Move eid functions from
netsock.c to utils.c. These functions were already published by
utils.h. Flag netsock.h as deprecated and switch
res_pjsip_session.h to use netsock2.h. The only code that still
uses netsock.h is chan_iax2. ASTERISK-23920 #close Reported by:
Corey Farrell Review: https://reviewboard.asterisk.org/r/3661/
2014-06-23 18:50 +0000 [r417143] Joshua Colp <jcolp@digium.com>
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Return the length of
data written when sending via ICE instead of 0. ASTERISK-23834
#close Reported by: Richard Kenner ........ Merged revisions
417141 from http://svn.asterisk.org/svn/asterisk/branches/11
........ Merged revisions 417142 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-23 16:04 +0000 [r417120] Richard Mudgett <rmudgett@digium.com>
* /, main/core_unreal.c: core_unreal: Fix off by one buffer
overwrite error. Appending the ;2 to the user supplied ;1
uniqueid to create the ;2 version if the user did not also supply
an extra uniqueid for the ;2 channel resulted in allocating a
buffer that was one byte too small. * Fix off by one error in
ast_unreal_new_channels() when generating the ;2 uniqueid from
the user suppled ;1 version. * Pulled some long assignment lines
from if tests to improve line break readability in
ast_unreal_new_channels(). ........ Merged revisions 417119 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-23 07:44 +0000 [r417059] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c:
suspended destructions of pri spans on events If a DAHDI span
disappears, we wish for its representation in Asterisk to be
destroyed as well. The information about the span's removal may
come from several paths: 1. DAHDI sends DAHDI_EVENT_REMOVE on
every channel. 2. An extra DAHDI_EVENT_REMOVED is sent on every
subsequent call to DAHDI_GET_EVENT. 3. Every read (including the
internal one by libpri on the D-channel) returns -ENODEV.
Asterisk responsds to DAHDI_EVENT_REMOVE on a channel by
destroying it. Destroying a channel requires holding the channel
list lock (iflock). Destroying a channel that is part of a span
requires holding the span's lock. Destroying a channel from a
context that holds the span lock, while at the same time another
channel is destroyed directly, leads to a deadlock. Solution:
don't destroy span while holding the channels list lock. Thus
changes in this patch: * Deferring removal of PRI spans in
response to events: doomed spans are collected on a list. *
Doomed spans are removed periodically by the monitor thread. *
ENODEV reads from the D-channel will warant the same deferred
removal. Review: https://reviewboard.asterisk.org/r/3548/
2014-06-22 18:53 +0000 [r416996] George Joseph <george.joseph@fairview5.com>
* Makefile.rules, Makefile, /, include/asterisk/astobj2.h: astobj2:
Add an ao2_replace macro to astobj2.h This macro replaces one
object reference with another cleaning up the original. param dst
Pointer to the object that will be cleaned up. param src Pointer
to the object replacing it. src's ref count is bumped if it's
non-NULL. dst's ref count is decremented if it's non-NULL. src is
assigned to dst, This patch was reviewed on IRC by coreyfarrell
and mjordan. Tested by: George Joseph ........ Merged revisions
416995 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-20 23:18 +0000 [r416872-416935] George Joseph <george.joseph@fairview5.com>
* /, configure, include/asterisk/autoconfig.h.in: build: Allow
autoconf/ast_ext_tool_check to handle cross-compiling better.
ast_ext_tool_check.m4 isn't handling cases where a path to a
package is provided (E.G. --with-mysqlclient=/some/sysroot) and
the package has a config tool (E.G. mysql_config) and the package
has its own subdirectories in include or lib. For example,
mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
ast_ext_tool_check sets MYSQLCLIENT_LIB to
${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
fail and there are others in the same boat. The problem is caused
by logic in ast_ext_tool_check that overrides the result of the
config tool's --cflags and --libs options if package_DIR is set.
This patch prepends package_DIR (if specified) to the -L and -I
results from the package's config tool instead of overriding
them. A regenerated ./configure and
include/asterisk/autoconfig.h.in are included but can be
regenerated by running ./bootstrap.sh at any time. Tested by:
George Joseph Tested by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3550/ ........ Merged
revisions 416929 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416930 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416931 from
http://svn.asterisk.org/svn/asterisk/branches/12
* autoconf/ast_ext_tool_check.m4, /: build: Allow
autoconf/ast_ext_tool_check to handle cross-compiling better.
ast_ext_tool_check.m4 isn't handling cases where a path to a
package is provided (E.G. --with-mysqlclient=/some/sysroot) and
the package has a config tool (E.G. mysql_config) and the package
has its own subdirectories in include or lib. For example,
mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but
ast_ext_tool_check sets MYSQLCLIENT_LIB to
${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its
includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not
directly in ${LIBXML2_DIR}/usr/include. Both cause configure to
fail and there are others in the same boat. The problem is caused
by logic in ast_ext_tool_check that overrides the result of the
config tool's --cflags and --libs options if package_DIR is set.
This patch prepends package_DIR (if specified) to the -L and -I
results from the package's config tool instead of overriding
them. Tested by: George Joseph Tested by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3550/ ........ Merged
revisions 416870 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416871 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-20 20:57 +0000 [r416848-416850] Jonathan Rose <jrose@digium.com>
* res/parking/parking_manager.c, /: res_parking: Make manager
commands register with module information Previously module
information was not included due to an oversight. Review:
https://reviewboard.asterisk.org/r/3626/ ........ Merged
revisions 416849 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/logger.h, main/manager.c, main/logger.c,
CHANGES: Logger: Add manager command 'LoggerRotate' to rotate
logger Part of a series of AMI command equivalents to existing
CLI commands Review: https://reviewboard.asterisk.org/r/3651/
2014-06-20 17:06 +0000 [r416830] Richard Mudgett <rmudgett@digium.com>
* apps/app_voicemail.c, include/asterisk/app.h, main/app.c,
apps/app_directory.c, apps/app_chanspy.c: voicemail API
callbacks: Extract the sayname API call to its own registerd
callback. * Extract the sayname API call to its own registerd
callback. This allows the app_directory and app_chanspy
applications to say a mailbox owner's name using an alternate
provider when app_voicemail is not available because you are
using res_mwi_external. app_directory still uses the
voicemail.conf file. AFS-64 #close Reported by: Mark Michelson
2014-06-20 15:27 +0000 [r416738-416807] George Joseph <george.joseph@fairview5.com>
* tests/test_astobj2.c, main/astobj2_private.h,
main/astobj2_container_private.h, main/astobj2_container.c,
main/astobj2_hash.c, main/astobj2_rbtree.c,
build_tools/cflags.xml, /: astobj2: Additional refactoring to
push impl specific code down into the impls. Move some
implementation specific code from astobj2_container.c into
astobj2_hash.c and astobj2_rbtree.c. This completely removes the
need for astobj2_container to switch on RTTI and it no longer has
any knowledge of the implementation details. Also adds AO2_DEBUG
as a new compile option in menuselect which controls astobj2
debugging independently of AST_DEVMODE and REF_DEBUG. Tested by:
George Joseph Review: https://reviewboard.asterisk.org/r/3593/
........ Merged revisions 416806 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/acl.h, main/netsock2.c, /,
res/res_pjsip_endpoint_identifier_ip.c, main/acl.c,
include/asterisk/netsock2.h: pjsip cli: Change Identify to show
CIDR notation instead of netmasks. * Added
ast_sockaddr_cidr_bits() to count the 1 bits in an ast_sockaddr.
* Added ast_ha_join_cidr() which uses ast_sockaddr_cidr_bits()
for the netmask instead of ast_sockaddr_stringify_addr. * Changed
res_pjsip_endpoint_identifier_ip to call ast_ha_join_cidr()
instead of ast_ha_join() for the CLI output. This is a CLI change
only. AMI was not affected. Tested by: George Joseph Review:
https://reviewboard.asterisk.org/r/3652/ ........ Merged
revisions 416737 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-19 19:40 +0000 [r416736] Kinsey Moore <kmoore@digium.com>
* /, main/bridge.c, res/parking/parking_tests.c,
channels/sip/reqresp_parser.c, main/logger.c, main/test.c: Fix
build warnings with TEST_FRAMEWORK enabled ........ Merged
revisions 416732 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416733 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416734 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-19 16:04 +0000 [r416589-416670] George Joseph <george.joseph@fairview5.com>
* pbx/pbx_lua.c, /: Remove the problematic and unneeded
AST_MODFLAG_GLOBAL_SYMBOLS from pbx_lua.c
AST_MODFLAG_GLOBAL_SYMBOLS was causing the module to be
incorrectly loaded before pbx_config. pbx_config was therefore
blowing away contexts that were created by pbx_lua. With
AST_MODFLAG_DEFAULT the load order is now correct and contexs are
being properly merged. AST_MODFLAG_GLOBAL_SYMBOLS was not needed
anyway since no other modules needed its global symbols that
early. ASTERISK-23818 #close Reported by: Dennis Guse Tested by:
Dennis Guse Tested by: George Joseph Review:
https://reviewboard.asterisk.org/r/3629/ ........ Merged
revisions 416668 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416669 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, configs/extensions.lua.sample: Update extensions.lua.sample
with naming conflict guidance. The sample extensions.lua was
causing pbx_lua to fail to load when parsing 'app.goto("default",
"s", 1)' because in Lua 5.2, 'goto' is now a reserved word. This
patch adds guidance to extensions.lua.sample and changed
'app.goto("default", "s", 1)' to 'app.['goto']("default", "s",
1)'. ASTERISK-23844 #close Reported by: rnewton Tested by:
gtjoseph Review: https://reviewboard.asterisk.org/r/3627/
........ Merged revisions 416581 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416582 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-18 04:22 +0000 [r416561] Matthew Jordan <mjordan@digium.com>
* main/stasis_channels.c, /: stasis_channels: Update the stasis
cache if manager variables are needed In r416211, the publishing
of variable changes was modified such that a cached channel
snapshot was used if manager variables were not requested with
each AMI event. This was done to reduce the amount of channel
snapshots created. However, an assumption was made that
generating a channel snapshot and publishing the snapshot to the
channel topic was sufficient to ensure that the cache would be
updated; this is not the case. The channel snapshot type must be
used to force a snapshot update. This patch updates the
publication of channel variables such that the cache is updated
prior to publication of the channel variable message if manager
variables are in use. This ensures that all AMI events receive
the variable update when they are supposed to. Note that this
issue was caught by the Asterisk Test Suite (go go testing)
........ Merged revisions 416557 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-17 18:45 +0000 [r416444-416503] Mark Michelson <mmichelson@digium.com>
* /, funcs/func_strings.c: Allow the PUSH and UNSHIFT functions to
set inheritable channel variables. ........ Merged revisions
416500 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 416501 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416502 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_pidf_body_generator.c, /,
res/res_pjsip_xpidf_body_generator.c: Fix string growth algorithm
for XML presence bodies. pjpidf_print() does not return < 0 if
there is not enough room for the document to be printed. Rather,
it returns 39, the length of the XML prolog. The algorithm also
had a bug in that it would return if it attempted to grow the
string larger. ........ Merged revisions 416442 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-17 16:33 +0000 [r416443] Kinsey Moore <kmoore@digium.com>
* /, res/res_musiconhold.c: MoH: Don't restart stream on repeated
start calls Currently, music on hold will stop and then start
again from the beginning if ast_moh_start() is called multiple
times. This can happen if a call is put on hold repeatedly (the
channel receives multiple HOLD control frames) and can be
triggered from ARI by starting MoH on a channel multiple times.
This is fairly jarring/annoying to users. This change prevents
MoH from being restarted if the requested music class is the same
as the one currently playing. This includes an extra check to
prevent the errors previously experienced in the testsuite and
has 100+ test runs behind it. Review:
https://reviewboard.asterisk.org/r/3615/ ........ Merged
revisions 416439 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416440 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416441 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-16 18:27 +0000 [r416416] Richard Mudgett <rmudgett@digium.com>
* channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
channels/sig_ss7.h, configure, channels/chan_dahdi.h,
configure.ac, UPGRADE.txt, configs/ss7.timers.sample (added),
CHANGES, channels/sig_ss7.c: chan_dahdi: Adds support for major
update to libss7. * SS7 support now requires libss7 v2.0 or
later. The new libss7 is not backwards compatible. * Added SS7
support for connected line and redirecting. * Most SS7 CLI
commands are reworked as well as new SS7 commands added. See
online CLI help. * Added several SS7 config option parameters
described in chan_dahdi.conf.sample. * ISUP timer support
reworked and now requires explicit configuration. See
ss7.timers.sample. Special thanks to Kaloyan Kovachev for his
support and persistence in getting the original patch by adomjan
updated and ready for release. SS7-27 #close Reported by: adomjan
2014-06-16 16:22 +0000 [r416394] Kevin Harwell <kharwell@digium.com>
* include/asterisk/http_websocket.h, tests/test_websocket_client.c,
res/res_http_websocket.c: res_http_websocket: read/write string
fixup There was a problem when reading a string from the
websocket. It assumed the received data had a null terminator and
tried to write the data to an ast_str. This of course could/would
read past the end of the given buffer while writing the data to
the internal buffer of ast_str. Modified the the code to
correctly place a null terminator on the result string.
2014-06-16 09:04 +0000 [r416339] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
* cel/cel_sqlite3_custom.c, main/db.c, res/res_config_sqlite3.c,
cdr/cdr_sqlite3_custom.c, /: We have faced situation when using
CDR and CEL by sqlite3 modules. With system having high load
(~100 concurrent calls created by sipp) we found many cdr and cel
records missed. There is special finction in sqlite3, that make
able to fix this situation - sqlite3_wait_timeout, that also can
replace awful code cdr_sqlite3 ad cel_sqlite3 modules. Also this
function can be used for aastdb and res_config_sqlite3 to avoid
missed writes to sqlite db. #ASTERISK-23766 #close Reported by:
Igor Goncharovsky Review:
https://reviewboard.asterisk.org/r/3559/ ........ Merged
revisions 416336 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416337 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416338 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-16 02:40 +0000 [r416267-416319] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_sip.c: channels/chan_sip: Forbid remote bridging
if T.38 is negotiated When a framehook is removed - such as the
fax gateway framehook - the bridge framework will re-evaluate the
bridge mixing technologies to see if it can improve the bridging.
When this occurs, get_rtp_info will be called to determine if
local or remote bridging can be used. Using remote bridging will
cause a fax to fail, as direct media negotiation will cause some
small number of packets to not arrive at the remote endpoint.
This patch forces local native bridging if T.38 negotiation is in
progress or has been established. ........ Merged revisions
416318 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/channel_internal_api.c: channel_internal_api: Publish a
snapshot change when linkedids change Snapshots are now not
published *quite* as much as they used to. One instance where
they are not published any longer is during bridge enter and exit
- the state of the channel doesn't change, the bridge does.
However, channels are changed when a linkedid is propagated;
previously, the channel's state would be updated and published
during the bridge enter event. Now this must be explicitly done.
........ Merged revisions 416300 from
http://svn.asterisk.org/svn/asterisk/branches/12
* tests/test_stasis_endpoints.c, /: test_stasis_endpoints: Remove
expected channel snapshot We no longer publish a channel snapshot
when it is associated with an endpoint; after all, the channel
itself hasn't changed - the endpoint state has changed. This
updates the channel_messages unit test accordingly. ........
Merged revisions 416298 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_musiconhold.c, /: MoH: Undo commit r416150 (1.8) This
patch reverts r416150. When the comparison between mohclass->name
and state->class->name is made, you are not guaranteed that (a)
state->class is non-NULL or that state or state->class are in a
safe state. Crashes caught by the bridges/transfer_capabilities
test. ........ Merged revisions 416251 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416252 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416255 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-14 19:26 +0000 [r416237] Corey Farrell <git@cfware.com>
* res/res_manager_devicestate.c, res/res_manager_presencestate.c:
res_manager_devicestate and res_manager_presencestate missing
support level Add MODULEINFO comment block to define support
level core for these new modules. Review:
https://reviewboard.asterisk.org/r/3620/
2014-06-13 18:24 +0000 [r416216] Matthew Jordan <mjordan@digium.com>
* res/res_agi.c, res/res_pjsip/pjsip_configuration.c,
main/stasis_channels.c, res/ari/resource_channels.c,
main/bridge_channel.c, main/pbx.c, main/stasis_cache.c, /,
apps/app_meetme.c, main/pickup.c, main/channel_internal_api.c,
include/asterisk/channel.h, main/core_local.c, main/aoc.c,
main/endpoints.c, main/cel.c, apps/app_queue.c,
main/stasis_bridges.c, apps/app_agent_pool.c, main/cli.c,
main/channel.c, main/dial.c, main/manager.c,
include/asterisk/stasis_channels.h: stasis: Reduce creation of
channel snapshots to improve performance During some performance
testing of Asterisk with AGI, ARI, and lots of Local channels, we
noticed that there's quite a hit in performance during channel
creation and releasing to the dialplan (ARI continue). After
investigating the performance spike that occurs during channel
creation, we discovered that we create a lot of channel snapshots
that are technically unnecessary. This includes creating
snapshots during: * AGI execution * Returning objects for ARI
commands * During some Local channel operations * During some
dialling operations * During variable setting * During some
bridging operations And more. This patch does the following: - It
removes a number of fields from channel snapshots. These fields
were rarely used, were expensive to have on the snapshot, and
hurt performance. This included formats, translation paths, Log
Call ID, callgroup, pickup group, and all channel variables. As a
result, AMI Status, "core show channel", "core show channelvar",
and "pjsip show channel" were modified to either hit the live
channel or not show certain pieces of data. While this is
unfortunate, the performance gain from this patch is worth the
loss in behaviour. - It adds a mechanism to publish a cached
snapshot + blob. A large number of publications were changed to
use this, including: - During Dial begin - During Variable
assignment (if no AMI variables are emitted - if AMI variables
are set, we have to make snapshots when a variable is changed) -
During channel pickup - When a channel is put on hold/unhold -
When a DTMF digit is begun/ended - When creating a bridge
snapshot - When an AOC event is raised - During Local channel
optimization/Local bridging - When endpoint snapshots are
generated - All AGI events - All ARI responses that return a
channel - Events in the AgentPool, MeetMe, and some in Queue -
Additionally, some extraneous channel snapshots were being made
that were unnecessary. These were removed. - The result of
ast_hashtab_hash_string is now cached in stasis_cache. This
reduces a large number of calls to ast_hashtab_hash_string, which
reduced the amount of time spent in this function in gprof by
around 50%. #ASTERISK-23811 #close Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3568/ ........ Merged
revisions 416211 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-13 13:11 +0000 [r416149-416153] Kinsey Moore <kmoore@digium.com>
* /, res/res_musiconhold.c: MoH: Don't restart stream on repeated
start calls Currently, music on hold will stop and then start
again from the beginning if ast_moh_start() is called multiple
times. This can happen if a call is put on hold repeatedly (the
channel receives multiple HOLD control frames) and can be
triggered from ARI by starting MoH on a channel multiple times.
This is fairly jarring/annoying to users. This change prevents
MoH from being restarted if the requested music class is the same
as the one currently playing. Review:
https://reviewboard.asterisk.org/r/3615/ ........ Merged
revisions 416150 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416151 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416152 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/cel.c: CEL: Expose parking retreiver in extra field This
exposes the retreiver of a parked call under the "retreiver" key
of the extra field when this information is available. Review:
https://reviewboard.asterisk.org/r/3608/ ........ Merged
revisions 416148 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-13 05:16 +0000 [r416071] Richard Mudgett <rmudgett@digium.com>
* main/http.c, include/asterisk/tcptls.h, main/tcptls.c,
main/manager.c, /, channels/chan_sip.c: AST-2014-007: Fix of fix
to allow AMI and SIP TCP to send messages. ASTERISK-23673 #close
Reported by: Richard Mudgett Review:
https://reviewboard.asterisk.org/r/3617/ ........ Merged
revisions 416066 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 416067 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 416070 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 21:27 +0000 [r416024] Rusty Newton <rnewton@digium.com>
* main/pbx.c: main/pbx - documentation - enhance 'core show hints'
and 'core show hint' help text Adds descriptive help text to
'core show hints' and 'core show hint'. The text describes the
various columns for the sake of clarity. It takes into account
recent changes to the content displayed by the commands
https://reviewboard.asterisk.org/r/3604/ and
https://reviewboard.asterisk.org/r/3611/. ASTERISK-23764 Review:
https://reviewboard.asterisk.org/r/3610/
2014-06-12 20:17 +0000 [r415982] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip_pubsub.c, /: Fix build in devmode for GCC 4.10
........ Merged revisions 415980 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 17:00 +0000 [r415907] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/utils.h, main/tcptls.c, main/manager.c, /,
channels/chan_sip.c, main/http.c, UPGRADE.txt, main/utils.c,
include/asterisk/tcptls.h, res/res_http_websocket.c,
configs/http.conf.sample: AST-2014-007: Fix DOS by consuming the
number of allowed HTTP connections. Simply establishing a TCP
connection and never sending anything to the configured HTTP port
in http.conf will tie up a HTTP connection. Since there is a
maximum number of open HTTP sessions allowed at a time you can
block legitimate connections. A similar problem exists if a HTTP
request is started but never finished. * Added http.conf
session_inactivity timer option to close HTTP connections that
aren't doing anything. Defaults to 30000 ms. * Removed the
undocumented manager.conf block-sockets option. It interferes
with TCP/TLS inactivity timeouts. * AMI and SIP TLS connections
now have better authentication timeout protection. Though I
didn't remove the bizzare TLS timeout polling code from chan_sip.
* chan_sip can now handle SSL certificate renegotiations in the
middle of a session. It couldn't do that before because the
socket was non-blocking and the SSL calls were not restarted as
documented by the OpenSSL documentation. * Fixed an off nominal
leak of the ssl struct in handle_tcptls_connection() if the FILE
stream failed to open and the SSL certificate negotiations
failed. The patch creates a custom FILE stream handler to give
the created FILE streams inactivity timeout and timeout after a
specific moment in time capability. This approach eliminates the
need for code using the FILE stream to be redesigned to deal with
the timeouts. This patch indirectly fixes most of ASTERISK-18345
by fixing the usage of the SSL_read/SSL_write operations.
ASTERISK-23673 #close Reported by: Richard Mudgett ........
Merged revisions 415841 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415854 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415896 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 15:50 +0000 [r415839] Scott Griepentrog <sgriepentrog@digium.com>
* /, apps/app_queue.c: app_queue: delayed state can cause early
leavewhenempty ringing In app_queue, device state changes arrive
in event messages and update the queue member status value. That
value is checked in get_member_status() to decide that the caller
should leave when there are no available members. Although event
messages can be delayed by other activity, there is no adverse
affect by lagged status except in one specific case: there is
only one available member, it was just rung, and leavewhenempty
is enabled set for ringing members. This change adds a direct
check of the device state only under this condition where the
caller may be dropped incorrectly, resolving this issue without
affecting performance of app_queue normally. AST-1248 #close
Review: https://reviewboard.asterisk.org/r/3595/ Reported by:
Thomas Arimont ........ Merged revisions 415833 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415835 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415836 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 15:39 +0000 [r415834] Jonathan Rose <jrose@digium.com>
* apps/app_mixmonitor.c, /, UPGRADE.txt: MixMontior: Add class
authorization requirements to MixMonitor AMI commands MixMonitor
AMI commands StartMixMonitor and StopMixMonitor lacked class
authorization. StopMixMonitor now requires that the manager user
either have the call or system class authorization.
StartMixMonitor is a slightly larger issue since it can execute
shell commands if the right arguments are passed into it, and we
consider this a permission escalation. A security release will be
issued for problem this shortly. ASTERISK-23609 #close Reported
by: Corey Farrell ........ Merged revisions 415825 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415832 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 14:39 +0000 [r415813] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: unauthenticated
remote crash in PJSIP pub/sub framework A remotely exploitable
crash vulnerability exists in the PJSIP channel driver's pub/sub
framework. If an attempt is made to unsubscribe when not
currently subscribed and the endpoint's "sub_min_expiry" is set
to zero, Asterisk tries to create an expiration timer with zero
seconds, which is not allowed, so an assertion raised. The fix
was to reject a subscription that is attempting to unsubscribe
when not being already subscribed. Asterisk now checks for this
situation appropriately and responds with a 400 instead of
crashing. AST-2014-005 ASTERISK-23489 #close ........ Merged
revisions 415812 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 14:15 +0000 [r415795] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip.c, /: Fix potential deadlock situation in
res_pjsip. SIP transaction timeouts are handled in the PJSIP
monitor thread. When this happens on a subscription, and the
subscription is destroyed, the subscription destruction is
dispatched synchronously to the threadpool. The issue is that the
PJSIP dialog is locked by the monitor thread, and then the
dispatched task attempts to lock the dialog. This leads to a
deadlock that causes SIP traffic to no longer be accepted on the
Asterisk server. The fix here is to treat the monitor thread as
if it were a threadpool thread when it attempts to dispatch
synchronous tasks. This way, the dispatched task turns into a
simple function call within the same thread, and the locking
issue is averted. AST-2014-008 ASTERISK-23802 #close ........
Merged revisions 415794 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 11:34 +0000 [r415767] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_exten_state.c, include/asterisk/res_pjsip.h,
include/asterisk/res_pjsip_pubsub.h,
res/res_pjsip_pubsub.exports.in, /,
contrib/ast-db-manage/config/versions/c6d929b23a8_create_pjsip_subscription_persistence_.py
(added), res/res_pjsip_mwi.c, res/res_pjsip.c,
res/res_pjsip_pubsub.c: res_pjsip_pubsub: Persist subscriptions
in sorcery so they are recreated on startup. This change makes
res_pjsip_pubsub persist inbound subscriptions in sorcery. By
default this uses the local astdb but it can also be configured
to store within an outside database. When Asterisk is started
these subscriptions are recreated if they have not expired.
Notifications are sent to the devices which have subscribed and
they are none the wiser that the system has restarted. Review:
https://reviewboard.asterisk.org/r/3598/ ........ Merged
revisions 415766 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-12 07:52 +0000 [r415749] Walter Doekes <walter+asterisk@wjd.nu>
* contrib/scripts/safe_asterisk, Makefile, /, UPGRADE.txt:
safe_asterisk: Overwrite old safe_asterisk on make install. From
now on, make install will overwrite safe_asterisk with the latest
version. You need to move any local modifications to files inside
/etc/asterisk/startup.d, if you have any. See also commits
r394939 and r397938. ASTERISK-21965 #close Patches:
safe_asterisk.patch uploaded by jkister (License 6232, modified
by me) ........ Merged revisions 415748 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-11 23:01 +0000 [r415730] Richard Mudgett <rmudgett@digium.com>
* main/format.c, /: format.c: Fix misuse of hash container
function. The supplied hash function to a container must be
idempotent given the object's key value to figure out which
container bucket the object belongs in. Returning a random number
or the current container count is not idempotent. The "computed
hash" value doesn't help find the object later in those cases. *
Fixed the format_list container to actually be a list since that
is how the container is used. Conceptually, if more than 283
formats were added to the format_list then odd things may have
happened before the fix. ........ Merged revisions 415728 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415729 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-11 20:22 +0000 [r415698-415715] Scott Griepentrog <sgriepentrog@digium.com>
* main/pbx.c: CLI: correct presence information on core show hints
Adds presence to core show hint and changes presence string
conversion to use the correct function. ASTERISK-23858 #close
Review: https://reviewboard.asterisk.org/r/3611/
* main/pbx.c: CLI: add presence information to core show hints Adds
presence state value to output of core show hints. Also reformats
the output slightly so it doesn't use as much space as it would
otherwise. Was: 1000@demo : SIP/1000 State:Unavailable Watchers 0
Now: 1000@demo : SIP/1000 State:Unavailable Presence:Idle
Watchers 0 AFS-53 #close Review:
https://reviewboard.asterisk.org/r/3604/
2014-06-10 18:32 +0000 [r415679] Kinsey Moore <kmoore@digium.com>
* main/channel.c, /: Fix build in dev mode due to signed/unsigned
mismatch ........ Merged revisions 415678 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-10 16:06 +0000 [r415659] Jonathan Rose <jrose@digium.com>
* /, res/res_pjsip_notify.c, main/message.c: PJSIP: PJSIPNotify -
Strip content-length headers and add documentation Documentation
for how to add custom headers/content to notifies created with
the PJSIPNotify manager action was a little sparse and it also
wasn't vetting application of Content-length headers like its
chan_sip equivalent was (so two Content-length headers could be
applied... and PJSIP determines the content length anyway, so it
just opens people up for error). This patch also flips the
variable order so that the variables are interpreted in the same
order as they are put in the AMI action. Review:
https://reviewboard.asterisk.org/r/3587/ ........ Merged
revisions 415658 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-10 09:28 +0000 [r415630] Alexandr Anikin <may@telecom-service.ru>
* addons/chan_ooh323.c, /: chan_ooh323: fix loading module failure
if there no accessible h323_log or ooh323 config file change
return 1 to return AST_MODULE_LOAD_FAILURE on module load routine
few cosmetic changes ASTERISK-23814 #close (closes issue
ASTERISK-23814) Reported by: Igor Goncharovsky Patches:
ASTERISK-23814-ast11.patch ........ Merged revisions 415599 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415602 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-09 20:21 +0000 [r415580] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_header_funcs.c, /: chan_pjsip: Fix bug where custom
SIP headers could be duplicated on outgoing INVITEs. When using
PJSIP_HEADER() to add custom headers to outgoing INVITE requests,
certain situations could result in the headers being duplicated.
For instance, if the request were retransmitted, or if the INVITE
were re-sent with authentication credentials, the custom headers
would be re-added to the request. The fix here is to, after
adding the custom headers to the outbound INVITE, remove the
datastore that holds the custom headers to add. This way, there
is no risk in accidentally adding them if the session supplement
is called into a second or third time. ........ Merged revisions
415579 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-09 12:12 +0000 [r415524] Walter Doekes <walter+asterisk@wjd.nu>
* UPGRADE.txt, contrib/scripts/safe_asterisk, /: safe_asterisk:
Cleanup additions to r415132. * Replaced a stray echo that
should've been a message call in safe_asterisk. This replaces a
conditional log message by a slightly different message. Please
update your log parsing scripts. * Made the $NOTIFY mail Subject
more verbose by adding the machine name and exitstatus. (Note
that a 'make install' still won't overwrite your old
safe_asterisk if it exists. See ASTERISK-21965.) ASTERISK-23492
#close ........ Merged revisions 415521 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415522 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415523 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-09 03:50 +0000 [r415466] Corey Farrell <git@cfware.com>
* main/autoservice.c, /: autoservice: stop thread on graceful
shutdown This change adds thread shutdown to autoservice for
graceful shutdowns only. ast_register_cleanup is backported to
1.8 to allow this. The logger callid is also released on shutdown
in 11+. ASTERISK-23827 #close Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3594/ ........ Merged
revisions 415463 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415464 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415465 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-08 18:12 +0000 [r415444] Matthew Jordan <mjordan@digium.com>
* main/bridge_channel.c, main/channel.c, main/pbx.c, /,
main/framehook.c, main/bridge_after.c,
include/asterisk/channel.h, bridges/bridge_native_rtp.c:
bridges/bridge_native_rtp: Reconfigure bridge on removal of
framehook This patch is a re-do of r414122. When r414122 was
merged, a major problem with it was uncovered. UNBRIDGE soft
hangup flags have a catastrophic effect on the pbx core if they
leak out from the bridge layer: the channel gets hung up. With
the number of threads involved in a blind transfer, and with the
initial patch, it was likely that this would occur. This caused a
large number of test failures This patch is nearly identical with
the one proposed in r414122, save for the following changes: - We
explicitly clear the UNBRIDGE flag when setting an after goto on
a channel in a bridge - Defensively, if we encounter an UNBRIDGE
flag in the pbx core, we handle it
https://reviewboard.asterisk.org/r/3585/ ........ Merged
revisions 415443 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-07 00:42 +0000 [r415428] Richard Mudgett <rmudgett@digium.com>
* /, include/asterisk/bridge.h: bridge.h: Remove redundant struct
ast_bridge_channel forward declaration. ........ Merged revisions
415427 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-06 21:44 +0000 [r415411] Jonathan Rose <jrose@digium.com>
* include/asterisk/manager.h, main/config.c, main/manager.c, /,
channels/chan_sip.c, include/asterisk/config.h: chan_sip: Fix
order of variables specified in SIPNotify action Prior to this
patch, sequential variables would be ordered in reverse from the
order specified in the manager action. Review:
https://reviewboard.asterisk.org/r/3588/ ........ Merged
revisions 415359 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415390 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415410 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-06 20:45 +0000 [r415358] Kevin Harwell <kharwell@digium.com>
* main/uri.c, tests/test_websocket_client.c: core uri: Custom uri
parsing error when no query parameters If using the custom URI
parsing code (not external uriparser lib) and there was no query
parameters the resulting pointer would be NULL and then an
attempt was made to subtract from it. The pointer is now set to a
valid value if there is no query parameter(s). Also, in the
'ast_uri_make_host_with_port' function when setting the
terminator on the resulting string it was writing it one past the
end of allocated memory. It now writes the string terminator
appropriately.
2014-06-06 19:13 +0000 [r415343] Kinsey Moore <kmoore@digium.com>
* /, res/res_pjsip_sdp_rtp.c: PJSIP: Remove premature write of raw
formats Currently, there are situations that can occur when using
chan_pjsip and certain dialplan applications (notably ChanSpy())
that can cause the channel to get no audio with scrolling
warnings about format mismatches. This is caused by a failure to
update translation paths on a mid-call native format update since
the raw formats have already been updated by res_pjsip_sdp_rtp.c
in set_caps(). Removing the premature raw format updates allows
the translation paths to be setup correctly and the raw read and
write formats with them. AFS-63 #close ........ Merged revisions
415342 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-06 14:12 +0000 [r415319] George Joseph <george.joseph@fairview5.com>
* main/astobj2_private.h (added), main/astobj2.c,
main/astobj2_container_private.h (added),
main/astobj2_container.c (added), main/astobj2_hash.c (added),
main/astobj2_rbtree.c (added), /, include/asterisk/astobj2.h,
tests/test_astobj2.c: Split astobj2.c into more maintainable
components. Split astobj2.c into the following files to improve
maintainability. astobj2.c - object primitives, object primitive
misc and initialization code. astobj2_private.h - internal object
declarations needed by the containers. astobj2_container.c -
generic conainer and container misc code.
astobj2_container_hash.c - hash container specific code.
astobj2_container_rbtree.c - rbtree container specific code.
astobj2_container_private.h - generic container definitions and
rtti prototypes. https://reviewboard.asterisk.org/r/3576/
........ Merged revisions 415317 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-06 12:49 +0000 [r415302] Rusty Newton <rnewton@digium.com>
* configs/cli_aliases.conf.sample, /: configs/cli_aliases.conf: Two
new aliases, plus enhancements for context names. Changed naming
of included alias templates to avoid confusion between version
names. For example, asterisk12 was for asterisk 1.2, so I changed
it to asterisk_1dot2, so that later we can use asterisk_12 for
Asterisk 12. Added alias for "features reload" to the template
for Asterisk 11 style syntax template, as features reload was
removed in 12, but you can still do "module reload features"
Added alias for "pjsip reload" to the friendly template. It is
shorter than "module reload res_pjsip.so" and if some are like
me; I constantly forget that reloading chan_pjsip doesn't parse
config. Remembering "pjsip reload" is just easier. ASTERISK-23654
#close ASTERISK-23654 #comment Fixed by adding two new aliases
and enhancements for context names. Review:
https://reviewboard.asterisk.org/r/3572/ ........ Merged
revisions 415301 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-05 19:04 +0000 [r415231-415288] Richard Mudgett <rmudgett@digium.com>
* main/config.c: config: Fix indentation and missing curlies in
config_text_file_load().
* main/config.c, /: config: Fix config files not reloading when
only an included file changes. The twisted logic determining if a
config file should be reloaded was mostly broken and disabled.
The incorrect test that ASTERISK-23383 fixed actually reenabled
the broken logic. The incorrect test was causing the timestamp to
always be cleared which caused config files with includes to
always be reloaded. * Made wildcard includes always cause a
reload. Determining if a file was deleted cannot be determined
without restructuring the cache to determine if any files are
missing from the last files actually loaded. Also without
refactoring config_text_file_load(), the glob loop couldn't check
more than one file for changes anyway. * Made remove the cache
entry if the file no longer exists when trying to get its
timestamp or it is no longer a regular file. This fixes the
corner case where the file was loaded, then deleted, then the
config reloaded, then the file restored with the same timestamp,
and then the config reloaded again. * Made remove the cache entry
include list when actually loading the file. This gets rid of any
stale includes the file had from the last time the file was
loaded. ASTERISK-23683 #close Reported by: tootai Review:
https://reviewboard.asterisk.org/r/3575/ ........ Merged
revisions 415225 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415229 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415230 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-05 17:22 +0000 [r415223] Kevin Harwell <kharwell@digium.com>
* include/asterisk/http.h, include/asterisk/uri.h (added),
res/res_http_websocket.exports.in, tests/test_uri.c (added),
include/asterisk/http_websocket.h, main/http.c, main/uri.c
(added), tests/test_websocket_client.c (added),
res/res_http_websocket.c: res_http_websocket: Create a websocket
client Added a websocket server client in Asterisk. Asterisk has
a websocket server, but not a client. The ability to have
Asterisk be able to connect to a websocket server can potentially
be useful for future work (for instance this could allow ARI to
connect back to some external system, although more work would be
needed in order to incorporate that). Also a couple of things to
note - proxy connection support has not been implemented and
there is limited http response code handling (basically, it is
connect or not). Also added an initial new URI handling mechanism
to core. Internet type URI's are parsed into a data structure
that contains pointers to the various parts of the URI. (closes
issue ASTERISK-23742) Reported by: Kevin Harwell Review:
https://reviewboard.asterisk.org/r/3541/
2014-06-05 14:49 +0000 [r415208] Matthew Jordan <mjordan@digium.com>
* apps/app_confbridge.c, /: app_confbridge: Allow muting of users
waiting to enter a ConfBridge Prior to this patch, users waiting
to enter a ConfBridge were not considered when muted via the CLI
or via AMI. Instead, a confusing message would be emitted stating
that the channel did not exist. This patch allows a user to be
muted when waiting to enter a ConfBridge conference. This is
equivalent to start when muted, only toggled via the CLI or AMI.
Review: https://reviewboard.asterisk.org/r/3582 #ASTERISK-23824
#close patches: rb3582.patch uploaded by tm1000 (License 6524)
........ Merged revisions 415206 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415207 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-05 11:59 +0000 [r415192] Kinsey Moore <kmoore@digium.com>
* channels/chan_pjsip.c, /: PJSIP: Send initial connected line
information This makes chan_pjsip send connected line information
when it is called so that connected line information is available
on the connected channel. (closes issue DPMA-442) Reported by:
John Bigelow Review: https://reviewboard.asterisk.org/r/3584/
........ Merged revisions 415191 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-04 20:16 +0000 [r415173] Walter Doekes <walter+asterisk@wjd.nu>
* /, contrib/scripts/safe_asterisk: safe_asterisk: Cleanup and
debian compatibility. Cleans up the safe_asterisk script and adds
the ASTSAFE_FOREGROUND option that allows the debian asterisk
init script to capture the right pid. * Drop the vim #modeline
which wasn't used. Use test consistently without the odd
configure xno syntax. Double quote all paths. General cleanup. *
Don't output message()s to the console but only to TTY if set. *
Allow TTY to be "no" as well as empty (debian compatibility with
debian/patches/safe_asterisk-config). * Add option to export
ASTSAFE_FOREGROUND=1 from the init script that calls this to
disable backgrounding. Debian uses a similar method in
debian/patches/safe_asterisk-nobg). ASTERISK-23492 #close Review:
https://reviewboard.asterisk.org/r/3574/ ........ Merged
revisions 415132 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415171 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415172 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-04 14:13 +0000 [r415116-415118] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_pjsip.c: chan_pjsip: Add debug in RTP Engine
glue callback This patch adds some debug statements that aid with
determining why a direct media request may or may not be
initiated. ........ Merged revisions 415117 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_session.c: res_pjsip_session: Add debug
statement for session refreshes This small patch adds a debug
level 3 statement indicating how a session refresh is being sent
- either as a re-INVITE or as an UPDATE - and where the session
refresh is going. ........ Merged revisions 415115 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-04 07:27 +0000 [r415080] Corey Farrell <git@cfware.com>
* /, apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
app_confbridge: Correct verification of conference name length
Conference names were not checked for maximum length, allowing
unexpected behaviour. This change adds checking to ensure the
maximum length is not exceeded. The maximum length is also
changed from 32 to AST_MAX_EXTENSION. ASTERISK-23035 #close
Reported by: Iñaki Cívico Tested by: Iñaki Cívico Patches:
confbridge-enforce_max-1.8.patch uploaded by coreyfarrell
(license 5909) confbridge-enforce_max-11up.patch uploaded by
coreyfarrell (license 5909) ........ Merged revisions 415060 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 415066 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 415078 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-03 07:36 +0000 [r415000] Walter Doekes <walter+asterisk@wjd.nu>
* /, funcs/func_odbc.c: func_odbc: Fix fixed size buffers fix
(r414968). The change that removed the fixed size buffers in
odbc-related code -- removing arbitrary column width limits --
was incomplete. This change adds: no segfault on writesql without
insertsql and return value checks after strdup. While I was in
the vicinity I cleaned up the linefeeds in the odbc function
descriptions, moved some code for clarity, removed some blobs and
noted (but didn't fix) that the 'odbc write ... exec' CLI command
doesn't behave as the dialplan equivalent when insertsql= is
used. ASTERISK-23582 #close Review:
https://reviewboard.asterisk.org/r/3579/ ........ Merged
revisions 414997 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414998 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414999 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-06-01 15:32 +0000 [r414976] Joshua Colp <jcolp@digium.com>
* bridges/bridge_native_rtp.c, /: bridge_native_rtp: Take the
bridge type choice of both channels into account. The
bridge_native_rtp module currently uses the bridge result of the
first channel that joins a bridge as the ultimate result. This
means that if the first channel has direct media enabled but the
second does not a direct media bridge will still occur. This
change makes it so that both sides are taken into account. If
either side forbids the bridge or responds with a local bridge
result then either a generic or local bridge occurs.
ASTERISK-23541 #close Reported by: Justin E Review:
https://reviewboard.asterisk.org/r/3577/ ........ Merged
revisions 414975 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-30 14:53 +0000 [r414949] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip_refer.c, /: PJSIP: Prevent crash on blind transfer
Blind transfers don't go too well with NULL channels which can
occur if the channel has already been transferred away. (closes
issue ASTERISK-23718) Reported by: Jonathan Rose ........ Merged
revisions 414948 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-30 12:42 +0000 [r414883-414935] Matthew Jordan <mjordan@digium.com>
* res/ari/ari_model_validators.h, funcs/func_talkdetect.c (added),
include/asterisk/stasis_channels.h,
rest-api/api-docs/events.json, /, main/stasis_channels.c,
main/audiohook.c, CHANGES, res/ari/ari_model_validators.c:
TALK_DETECT: A channel function that raises events when talking
is detected This patch adds a new channel function TALK_DETECT
that, when set on a channel, causes events indicating the
start/stop of talking on a channel to be emitted to both AMI and
ARI clients. The function allows setting both the silence
threshold (the length of silence after which we decide no one is
talking) as well as the talking threshold (the amount of energy
that counts as talking). Parameters can be updated on a channel
after talk detection has been enabled, and talk detection can be
removed at any time. The events raised by the function use a
nomenclature similar to existing AMI/ARI events. For AMI:
ChannelTalkingStart/ChannelTalkingStop For ARI:
ChannelTalkingStarted/ChannelTalkingFinished Review:
https://reviewboard.asterisk.org/r/3563/ #ASTERISK-23786 #close
Reported by: Matt Jordan ........ Merged revisions 414934 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/config.c, /: main/config.c: AMI action UpdateConfig EmptyCat
clears all categories When invoking UpdateConfig AMI action with
Action set to EmptyCat, Asterisk will make all categories empty
in the config but the one requested with a Cat variable. This is
due to a bug in ast_category_empty (main/config.c) that makes an
incorrect comparison for a category name. This patch corrects the
comparison such that only the requested category is cleared.
Review: https://reviewboard.asterisk.org/r/3573/ #ASTERISK-23803
#close Reported by: zvision patches: manager.c.diff uploaded by
zvision (License 5755) ........ Merged revisions 414880 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414881 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414882 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-29 18:51 +0000 [r414861] Kinsey Moore <kmoore@digium.com>
* /, main/pbx.c: PBX: Prevent incorrect hint parsing Dynamic and
pattern matching hints should not be checked for their last known
state until they are instantiated by subscribers. (closes issue
AFS-56) Reported by: John Hardin Patch AFS-56-pbx.diff submitted
by Matt Jordan (license 6283) ........ Merged revisions 414813
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 414859 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414860 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-28 22:54 +0000 [r414798] Matthew Jordan <mjordan@digium.com>
* include/asterisk/logger.h, res/res_config_curl.c, cel/cel_odbc.c,
res/res_config_odbc.c, bridges/bridge_builtin_features.c,
main/optional_api.c, main/logger.c, main/config_options.c,
cdr/cdr_odbc.c, apps/app_mixmonitor.c, main/asterisk.c,
res/res_odbc.c, main/xmldoc.c, apps/app_voicemail.c,
cel/cel_pgsql.c, channels/chan_unistim.c, res/res_config_pgsql.c,
main/pbx.c, cdr/cdr_sqlite3_custom.c, res/res_fax.c,
main/bridge.c, apps/app_waitforsilence.c,
cdr/cdr_adaptive_odbc.c, res/parking/parking_applications.c,
cdr/cdr_pgsql.c, res/res_jabber.c, main/loader.c:
Logger/CLI/etc.: Fix some aesthetic issues; reduce chatty verbose
messages This patch addresses some aesthetic issues in Asterisk.
These are all just minor tweaks to improve the look of the CLI
when used in a variety of settings. Specifically: * A number of
chatty verbose messages were removed or demoted to DEBUG
messages. Verbose messages with a verbosity level of 5 or higher
were - if kept as verbose messages - demoted to level 4. Several
messages that were emitted at verbose level 3 were demoted to 4,
as announcement of dialplan applications being executed occur at
level 3 (and so the effects of those applications should
generally be less). * Some verbose messages that only appear when
their respective 'debug' options are enabled were bumped up to
always be displayed. * Prefix/timestamping of verbose messages
were moved to the verboser handlers. This was done to prevent
duplication of prefixes when the timestamp option (-T) is used
with the CLI. * Verbose magic is removed from messages before
being emitted to non-verboser handlers. This prevents the magic
in multi-line verbose messages (such as SIP debug traces or the
output of DumpChan) from being written to files. * _Slightly_
better support for the "light background" option (-W) was added.
This includes using ast_term_quit in the output of XML
documentation help, as well as changing the "Asterisk Ready"
prompt to bright green on the default background (which stands a
better chance of being displayed properly than bright white).
Review: https://reviewboard.asterisk.org/r/3547/
2014-05-28 20:53 +0000 [r414781] Rusty Newton <rnewton@digium.com>
* /, configs/pjsip.conf.sample: pjsip.conf: privkey_file should be
priv_key_file, mediaencryption=yes should be mediaencryption=sdes
privkey_file was missed in the snake case update. An example
included an invalid value for the mediaencryption option.
........ Merged revisions 414780 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-28 17:46 +0000 [r414764-414766] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/deviceStates.json,
rest-api/api-docs/endpoints.json,
rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
/, rest-api/api-docs/asterisk.json,
rest-api/api-docs/applications.json,
rest-api/api-docs/playbacks.json,
rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
rest-api/resources.json, include/asterisk/manager.h,
rest-api/api-docs/bridges.json,
rest-api/api-docs/recordings.json: AMI/ARI: Update version
numbers Update the semantic versioning of ARI to 1.3.0 and AMI to
2.3.0 to account for backwards compatible changes going from
12.2.0 to 12.3.0. ........ Merged revisions 414765 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, contrib/ast-db-manage/cdr/env.py: ast-db-manage/cdr/env.py:
Don't fail if a config file can't be loaded When generating SQL
files via the repotools alembic_creator.py script, a
configuration object is used programatically with SQLAlechemy, as
opposed to a configuration file. This patch ignores failures to
interpret a config file, as ... there isn't one in this case.
........ Merged revisions 414763 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-28 16:56 +0000 [r414748-414750] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/res_pjsip_session.h, /, res/res_pjsip_t38.c,
res/res_pjsip_session.c: res_pjsip_session: Fix leaked video RTP
ports. Simply enabling PJSIP to negotiage a video codec (e.g.,
h264) would leak video RTP ports if the codec were not negotiated
by an incoming call. * Made add_sdp_streams() associate the
handler with the media stream if the handler handled the media
stream. Otherwise, when the ast_sip_session_media object was
destroyed it didn't know how to clean up the RTP resources. *
Fixed sdp_requires_deferral() associating the handler with the
media stream when deciding if the SDP processing needs to be
deferred for T.38. Like the leaked video RTP ports, the T.38
handler needs to clean up allocated resources from deciding if
SDP processing needs to be deffered. * Cleaned up some dead code
in handle_incoming_sdp() and sdp_requires_deferral().
ASTERISK-23721 #close Reported by: cervajs Review:
https://reviewboard.asterisk.org/r/3571/ ........ Merged
revisions 414749 from
http://svn.asterisk.org/svn/asterisk/branches/12
* CHANGES, apps/app_agent_pool.c, /: app_agent_pool: Return to
dialplan if the agent fails to ack the call. Improvements to the
agent pool functionality. * AgentRequest no longer hangs up the
caller if the agent fails to connect with the caller. It now
continues in the dialplan. * AgentRequest returns AGENT_STATUS
set to NOT_CONNECTED if the agent failed to connect with the
call. Most likely because the agent did not acknowledge the call
in time or got disconnected. * The agent alerting play file
configured by the agent.conf custom_beep option can now be
disabled by setting the option to an empty string. The agent is
effectively alerted to a call presence when MOH stops. * Fixed
bridge reference leak when the agent connects with a caller.
ASTERISK-23499 #close Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3551/ ........ Merged
revisions 414747 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-28 11:37 +0000 [r414696] Joshua Colp <jcolp@digium.com>
* res/res_config_odbc.c, /, funcs/func_odbc.c: res_config_odbc: Use
dynamically sized buffers to store row data so values do not get
truncated. ASTERISK-23582 #close ASTERISk-23582 #comment Reported
by: Walter Doekes Review:
https://reviewboard.asterisk.org/r/3557/ ........ Merged
revisions 414693 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414694 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414695 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-28 09:43 +0000 [r414567-414679] Walter Doekes <walter+asterisk@wjd.nu>
* channels/chan_unistim.c, /: chan_unistim: Unlock mutex in rare
OOM condition. #ASTERISK-23792 #close Reported by: Peter Whisker
Review: https://reviewboard.asterisk.org/r/3567/ ........ Merged
revisions 414677 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414678 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: chan_sip: Start session timer at 200, not
at INVITE. Asterisk started counting the session timer at INVITE
while the other end correctly started at 200. This meant that for
short session-expiries (90 seconds) combined with long ringing
times (e.g. 30 seconds), asterisk would wrongly assume that the
timer was hit before the other end thought it was time to send a
session refresh. This resulted in prematurely ended calls. This
changes the session timer to start counting first at 200 like RFC
says it should. (Also removed a few excess NULL checks that would
never hit, because if they did, asterisk would have crashed
already.) ASTERISK-22551 #close Reported by: i2045 Review:
https://reviewboard.asterisk.org/r/3562/ ........ Merged
revisions 414620 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414628 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414636 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_config_odbc.c, /: res_config_odbc: Fix old and new
ast_string_field memory leaks. The ODBC realtime driver uses ^NN
parameter encoding to cope with the special meaning of the
semi-colon. A semi-colon in a field is interpreted as if the key
was supplied twice, something which isn't otherwise possible with
fixed database columns. E.g. allow=alaw;ulaw is parsed as
allow=alaw and allow=ulaw. A literal semi-colon is rewritten to
^3B when stored in the database. The module uses a stringfield to
efficiently store the encoded parameters. However, this
stringfield wasn't always freed in some off-nominal cases. Commit
r413241 fixed initialization so the encoding for INSERT and
DELETE queries wouldn't crash. (Only SELECTs and UPDATEs worked
apparently.) But that commit forgot the frees. This change cleans
that up. Review: https://reviewboard.asterisk.org/r/3555/
........ Merged revisions 414564 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414565 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414566 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-25 02:37 +0000 [r414543] Matthew Jordan <mjordan@digium.com>
* /, main/core_unreal.c: core_unreal: Prevent double free of
core_unreal pvt When a channel is destroyed (such as via
ast_channel_release in off nominal paths in core_unreal), it will
attempt to free (via ast_free) the channel tech pvt. This is
problematic for a few reasons: 1. The channel tech pvt is an ao2
object in core_unreal. Free'ing the pvt directly is no good. 2.
The channel tech pvt's reference count is dropped just prior to
calling ast_channel_release, resulting in the pvt's destruction.
Hence, the channel destructor is free'ing an invalid pointer.
This patch keeps the dropping of the reference count, but sets
the pvt to NULL on the channel prior to releasing it. This models
what would occur if the channel was hung up directly. ........
Merged revisions 414542 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-23 17:36 +0000 [r414529] Matthew Jordan <mjordan@digium.com>
* /, tests/test_cel.c: test_cel: Fix unit tests broken due to event
def changes from res_corosync This patch instructs test_cel to
skip any IE types it doesn't care about. The addition of the raw
and bitfield types caused the tests to fail. ........ Merged
revisions 414528 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-23 14:36 +0000 [r414475] Kinsey Moore <kmoore@digium.com>
* main/event.c, /: Fix signed/unsigned build warnings ........
Merged revisions 414474 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-22 16:19 +0000 [r414417] Richard Mudgett <rmudgett@digium.com>
* /, apps/app_meetme.c: app_meetme: Don't interrupt MOH for
waitmarked users. Occasionally, when the last marked user leaves
the conference, waitmarked users don't get MOH if MOH is supposed
to be played while a waitmarked user is waiting for another
marked user. * Made not interrupt MOH when the user is a
waitmarked user. The waitmarked user doesn't need to hear any
leave announcements from the conference as the user would have
already heard different leave announcements if they were enabled.
Apparently DAHDI occasionally sends unending non-silent streams
to these users or a normal user still in the conference has
continuous high background noise. These non-silent streams cause
MOH to be suspended while the never ending "announcement" is
played. Issue caused by ASTERISK-13680. AST-1349 #close Reported
by: Tyler Stewart Review:
https://reviewboard.asterisk.org/r/3543/ ........ Merged
revisions 414401 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414402 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414404 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-22 16:09 +0000 [r414406] Scott Griepentrog <sgriepentrog@digium.com>
* res/ari/ari_model_validators.c, CHANGES, main/stasis.c,
res/ari/ari_model_validators.h,
include/asterisk/stasis_channels.h, res/res_ari_events.c,
main/stasis_channels.c, res/res_stasis.c,
main/manager_channels.c, main/stasis_endpoints.c,
rest-api/api-docs/events.json, /, res/stasis/app.c,
res/ari/resource_events.c, include/asterisk/stasis_app.h,
include/asterisk/stasis.h, apps/app_userevent.c,
res/ari/resource_events.h: ARI: Add ability to raise arbitrary
User Events User events can now be generated from ARI. Events can
be signalled with arbitrary json variables, and include one or
more of channel, bridge, or endpoint snapshots. An application
must be specified which will receive the event message (other
applications can subscribe to it). The message will also be
delivered via AMI provided a channel is attached. Dialplan
generated user event messages are still transmitted via the
channel, and will only be received by a stasis application they
are attached to or if the channel is subscribed to. This change
also introduces the multi object blob mechanism used to send
multiple snapshot types in a single message. The dialplan app
UserEvent was also changed to use multi object blob, and a new
stasis message type created to handle them. ASTERISK-22697 #close
Review: https://reviewboard.asterisk.org/r/3494/ ........ Merged
revisions 414405 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-22 15:52 +0000 [r414403] Jonathan Rose <jrose@digium.com>
* channels/chan_mgcp.c, res/res_pjsip_refer.c,
channels/chan_dahdi.c, channels/sig_analog.c, /,
channels/chan_sip.c, main/parking.c, main/bridge.c,
main/bridge_basic.c, res/parking/parking_applications.c,
include/asterisk/parking.h, include/asterisk/bridge.h,
res/parking/parking_bridge_features.c: res_pjsip_refer: Fix bugs
involving Parking/PJSIP/transfers PJSIP would never send the
final 200 Notify for a blind transfer when transferring to
parking. This patch fixes that. In addition, it fixes a reference
leak when performing blind transfers to non-bridging extensions.
Review: https://reviewboard.asterisk.org/r/3485/ ........ Merged
revisions 414400 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-22 14:02 +0000 [r414331-414348] Matthew Jordan <mjordan@digium.com>
* /, UPGRADE.txt: UPGRADE: Add note for REF_DEBUG flag ........
Merged revisions 414345 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414346 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414347 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/stasis.c, include/asterisk/devicestate.h,
include/asterisk/event.h, main/stasis_message.c, /,
include/asterisk/event_defs.h, res/res_corosync.c,
include/asterisk/stasis.h, main/app.c, main/devicestate.c,
main/event.c: res_corosync: Update module to work with Stasis
(and compile) This patch fixes res_corosync such that it works
with Asterisk 12. This restores the functionality that was
present in previous versions of Asterisk, and ensures
compatibility with those versions by restoring the binary message
format needed to pass information from/to them. The following
changes were made in the core to support this: * The event system
has been partially restored. All event definition and event types
in this patch were pulled from Asterisk 11. Previously, we had
hoped that this information would live in res_corosync; however,
the approach in this patch seems to be better for a few reasons:
(1) Theoretically, ast_events can be used by any module as a
binary representation of a Stasis message. Given the structure of
an ast_event object, that information has to live in the core to
be used universally. For example, defining the payload of a
device state ast_event in res_corosync could result in an
incompatible device state representation in another module. (2)
Much of this representation already lived in the core, and was
not easily extensible. (3) The code already existed. :-) * Stasis
message types now have a message formatter that converts their
payload to an ast_event object. * Stasis message forwarders now
handle forwarding to themselves. Previously this would result in
an infinite recursive call. Now, this simply creates a new
forwarding object with no forwards set up (as it is the thing it
is forwarding to). This is advantageous for res_corosync, as
returning NULL would also imply an unrecoverable error. Returning
a subscription in this case allows for easier handling of message
types that are published directly to an aggregate topic that has
forwarders. Review: https://reviewboard.asterisk.org/r/3486/
ASTERISK-22912 #close ASTERISK-22372 #close ........ Merged
revisions 414330 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-21 22:24 +0000 [r414297] Richard Mudgett <rmudgett@digium.com>
* /, main/core_unreal.c: core_unreal: Only block media frames when
a generator is on both ends of an unreal channel. The fix for
ASTERISK-12292 was a bit too aggressive. You could have
generators pointed at each other on local channels but need to
get other kinds of frames such as DTMF or CONNECTED_LINE frames
accross. ........ Merged revisions 414269 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414270 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414272 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-21 19:08 +0000 [r414217] Scott Griepentrog <sgriepentrog@digium.com>
* funcs/func_strings.c, /: pbx.c: prevent potential crash from
recursive replace() Recurisve usage of replace() resulted in
corruption of the temporary string storage and potential crash.
By changing the string to be allocated separtely per instance,
this is eliminated. ASTERISK-23650 #comment Reported by: Roel van
Meer ASTERISK-23650 #close Review:
https://reviewboard.asterisk.org/r/3539/ ........ Merged
revisions 414214 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414215 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414216 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-19 19:52 +0000 [r414196] Paul Belanger <paul.belanger@polybeacon.com>
* res/res_stasis_answer.c, /: Replace __ast_answer with
ast_raw_answer in app_control_answer While load testing an ARI
application, I noticed asterisk was returning HTTP 500 internal
server errors on channels/:id/answer. After talking to
#asterisk-dev, the issue appeared to be a lack of media flowing
after __ast_answer() was called. So now, we call ast_raw_answer
instead and no longer wait for media. ASTERISK-23758 #close
Review: https://reviewboard.asterisk.org/r/3549/ ........ Merged
revisions 414195 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-19 01:10 +0000 [r414123-414138] Matthew Jordan <mjordan@digium.com>
* res/res_pjsip_refer.c, res/res_pjsip_session.c, main/channel.c,
/, main/framehook.c, include/asterisk/channel.h,
bridges/bridge_native_rtp.c, main/bridge_channel.c: Undo r414123
The Test Suite caught a few problems, undoing until those are
resolved
* main/channel.c, /, main/framehook.c, include/asterisk/channel.h,
bridges/bridge_native_rtp.c, main/bridge_channel.c,
res/res_pjsip_session.c: bridge_native_rtp/bridge_channel: Fix
direct media issues due to frame hook This patch fixes issues
with direct media bridges that occur after a blind transfer.
These issues were caught by the (currently failing)
pjsip/transfers/blind_transfer/caller_direct_media test. The test
currently fails primarily for two reasons: (1) When Bob and
Charlie (the transfer target and the transfer destination) enter
a bridge together, the framehook remains on the transfer target
channel until both channels are in the bridge. As it consumes
voice frames, the initial bridge type is a simple bridge. The
framehook is removed when both channels are in the bridge;
however, this does not currently cause the bridging framework to
re-evaluate the bridge. This patch adds a AST_SOFTHANGUP_UNBRIDGE
poke to the transfer target channel when a framehook is removed
so the bridge can re-evaluate itself. (2) When a channel leaves a
native RTP bridge, it may be leaving due to being hung up.
Sending a re-INVITE to a channel that is about to be hung up is
not nice - in fact, there's a good chance we'll send the BYE
request before the channel has had a chance to send back a 200
OK. To be somewhat nicer, this patch adds a function to channel.h
that allows the bridging framework to query for exactly why a
channel is leaving a bridge via the channel's soft hangup flags.
This allows it to only send the re-INVITE if there's a chance the
channel will survive the native bridging experience. Review:
https://reviewboard.asterisk.org/r/3535/ ........ Merged
revisions 414122 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-16 20:06 +0000 [r413994-414070] Richard Mudgett <rmudgett@digium.com>
* channels/chan_dahdi.c, /: chan_dahdi: Fix analog dialtone
detection. * Check if waitingfordt (waitfordialtone) is enabled
in dahdi_read() to allow the DSP to operate early enough to
detect dialtone. * Made use the correct variable in
my_check_waitingfordt(). ASTERISK-23709 #close Reported by: Steve
Davies Patches: dialtone_detect_fix (license #5012) patch
uploaded by Steve Davies Review:
https://reviewboard.asterisk.org/r/3534/ ........ Merged
revisions 414067 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 414068 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414069 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/sig_pri.c, /: sig_pri.c: Pull the pri_dchannel()
PRI_EVENT_RING case into its own function. * Populate the
CALLERID(ani2) value (and the special CALLINGANI2 channel
variable) with the ANI2 value in addition to the PRI specific
ANI2 channel variable. * Made complete snapshot staging with the
channel lock held. All channel snapshots need to be done while
the channel lock is held. ........ Merged revisions 414050 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 414051 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, apps/app_meetme.c: app_meetme: Fix overwrite of DAHDI
conference data structure. Starting a conference recording using
the admin menu overwrites the DAHDI conference data structure
used to modify the admin user's conference mute mode. * Made no
longer pass the user's DAHDI conference data structure into the
menu functions. The menu now uses its own DAHDI conference data
structure to start the recording channel. * Moved the unlock
conf->playlock to before playing the conf-full message. No sense
keeping the lock while that prompt is playing. The user is never
going to get into the conference at that point. ........ Merged
revisions 413991 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413992 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413993 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-14 15:41 +0000 [r413897] Walter Doekes <walter+asterisk@wjd.nu>
* /, res/res_musiconhold.c: res_musiconhold: Minor cleanup. Fix a
few free()'s that should be ast_free()'s. Reverted an old
workaround that isn't necessary. Reorder a tiny bit of code.
Remove a bit of commented-out code. Review:
https://reviewboard.asterisk.org/r/3536/ ........ Merged
revisions 413894 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413895 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413896 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-13 18:09 +0000 [r413878] Jonathan Rose <jrose@digium.com>
* include/asterisk/netsock2.h, main/netsock2.c, /,
channels/chan_sip.c: chan_sip: Add TLS and SRTP status to CLI
command 'sip show channel' ASTERISK-23564 #close Reported by:
Patrick Laimbock Review: https://reviewboard.asterisk.org/r/3474/
........ Merged revisions 413876 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413877 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-13 13:53 +0000 [r413790-413793] Walter Doekes <walter+asterisk@wjd.nu>
* /, res/res_format_attr_h264.c: h264: Fix H264 SDP payload format.
https://tools.ietf.org/html/rfc3984#section-8.1 says
profile-level-id takes 3 bytes in base16 (6 hex digits). This
fixes video setup in certain cases. ASTERISK-23664 #close
ASTERISK-23664 #comment Patch r3530.patch uploaded by Guillaume
Maudoux. Review: https://reviewboard.asterisk.org/r/3530/
........ Merged revisions 413791 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413792 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/rtp_engine.c, /: rtp: Fix case typo in H263+ mime.
http://tools.ietf.org/html/rfc3555#section-4.2.6 says the
canonical mime subtype is "H263-1998", not "h263-1998". Original
code was added in r183101 on 2009-03-19 02:26:50 +0100. This
fixes issues with Polycom phones. ASTERISK-23665 #close
ASTERISK-23665 #comment Patch r3529.patch uploaded by Guillaume
Maudoux, backported by me. Review:
https://reviewboard.asterisk.org/r/3529/ ........ Merged
revisions 413787 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413788 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413789 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-13 00:35 +0000 [r413770-413772] Richard Mudgett <rmudgett@digium.com>
* channels/sig_pri.c, /, configure,
include/asterisk/autoconfig.h.in, configure.ac:
chan_dahdi/sig_pri: Prevent unnecessary PROGRESS events when
overlap dialing is enabled. When overlap dialing is enabled, the
lack of inband audio available information in the
SETUP_ACKNOWLEDGE events causes an interoperability problem with
SIP. sig_pri doesn't know if there is dialtone present when a
SETUP_ACKNOWLEDGE is received so it assumes it is there and posts
an AST_CONTROL_PROGRESS frame. The SIP channel driver then sends
out a 183 Session Progress and blocks the desired 180 Ringing
message when the ALERTING message comes in. * Made the configure
script detect if the installed version of libpri supports the
SETUP_ACKNOWLEDGE enhancements. * Using the new API, made
generate an AST_CONTROL_PROGRESS frame on an incoming
SETUP_ACKNOWLEDGE message when the message indicates inband audio
is present instead of assuming that dialtone is present. * Using
the new API, made SETUP_ACKNOWLEDGE send out an inband audio
available indication only if dialtone is expected. The change
also makes the fallback behaviour of sending the PROGRESS message
better by sending it only if dialtone is expected. * Changed
receiving a PROCEEDING message to not generate an
AST_CONTROL_PROGRESS frame if the progress indication ie
indicates non-end-to-end-ISDN. This helps interoperability with
SIP. * Changed sending a PROCEEDING message in response to an
AST_CONTROL_PROCEEDING frame to not indicate inband audio
available. It was silly to do so anyway because the channel
driver doesn't know if inband audio is even available. This helps
interoperability with SIP. This patch and a corresponding change
in libpri work together to allow Asterisk to control the inband
audio available progress indication ie on the SETUP_ACKNOWLEDGE
message when dialtone is present. AST-1338 #close Reported by:
Tyler Stewart Review: https://reviewboard.asterisk.org/r/3521/
........ Merged revisions 413714 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413765 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413771 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/sig_pri.c, /: Fix compiler warning from GCC 4.10 fixup.
........ Merged revisions 413766 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-12 22:33 +0000 [r413713] Jonathan Rose <jrose@digium.com>
* apps/app_chanspy.c, /: app_chanspy: Fix a test that was failing
on account of r413551 ASTERISK-23381 #close ASTERISK-23381
#comment Reported by: Robert Moss Review:
https://reviewboard.asterisk.org/r/3505/ ........ Merged
revisions 413710 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413712 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-11 02:09 +0000 [r413651-413682] Joshua Colp <jcolp@digium.com>
* /, main/framehook.c, main/bridge_basic.c,
include/asterisk/channel.h, bridges/bridge_native_rtp.c,
include/asterisk/framehook.h, main/channel.c: framehooks: Add
callback for determining if a hook is consuming frames of a
specific type. In the past framehooks have had no capability to
determine what frame types a hook is actually interested in
consuming. This has meant that code has had to assume they want
all frames, thus preventing native bridging. This change adds a
callback which allows a framehook to be queried for whether it is
consuming a frame of a specific type. The native RTP bridging
module has also been updated to take advantange of this, allowing
native bridging to occur when previously it would not.
ASTERISK-23497 #comment Reported by: Etienne Lessard
ASTERISK-23497 #close Review:
https://reviewboard.asterisk.org/r/3522/ ........ Merged
revisions 413681 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/bridge_basic.c, include/asterisk/channel.h,
bridges/bridge_native_rtp.c, include/asterisk/framehook.h,
main/channel.c, /, main/framehook.c: Undoing framehook support.
Issues were uncovered by Bamboo.
* /, main/framehook.c, main/bridge_basic.c,
include/asterisk/channel.h, bridges/bridge_native_rtp.c,
include/asterisk/framehook.h, main/channel.c: framehooks: Add
callback for determining if a hook is consuming frames of a
specific type. In the past framehooks have had no capability to
determine what frame types a hook is actually interested in
consuming. This has meant that code has had to assume they want
all frames, thus preventing native bridging. This change adds a
callback which allows a framehook to be queried for whether it is
consuming a frame of a specific type. The native RTP bridging
module has also been updated to take advantange of this, allowing
native bridging to occur when previously it would not.
ASTERISK-23497 #comment Reported by: Etienne Lessard
ASTERISK-23497 #close Review:
https://reviewboard.asterisk.org/r/3522/ ........ Merged
revisions 413650 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-09 23:18 +0000 [r413589-413599] Kinsey Moore <kmoore@digium.com>
* /, funcs/func_env.c: Fix 32bit build for func_env ........ Merged
revisions 413592 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413595 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413597 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/iax2/parser.c, funcs/func_iconv.c,
res/res_pjsip_registrar.c, res/res_odbc.c, main/xmldoc.c,
res/res_calendar.c, main/format.c, cel/cel_pgsql.c,
main/rtp_engine.c, main/bridge.c, funcs/func_sysinfo.c,
main/utils.c, res/res_stasis_snoop.c, res/res_format_attr_h264.c,
main/config.c, main/loader.c, main/channel.c, res/ael/pval.c,
include/asterisk/astobj.h, funcs/func_frame_trace.c,
main/bucket.c, apps/app_dumpchan.c, res/res_format_attr_silk.c,
res/res_pjsip_refer.c, res/res_calendar_icalendar.c,
main/translate.c, res/res_pjsip_sdp_rtp.c, apps/app_queue.c,
res/res_monitor.c, channels/chan_jingle.c, main/data.c,
res/res_stun_monitor.c, main/abstract_jb.c,
res/res_stasis_recording.c, apps/app_sms.c, main/event.c,
res/res_fax_spandsp.c, apps/app_verbose.c, main/asterisk.c,
main/dsp.c, main/frame.c, funcs/func_env.c, main/devicestate.c,
bridges/bridge_softmix.c, res/res_pjsip_t38.c,
res/res_musiconhold.c, channels/chan_iax2.c, main/cli.c,
res/res_format_attr_celt.c, apps/confbridge/conf_config_parser.c,
channels/chan_phone.c, res/res_pjsip/location.c,
channels/chan_motif.c, res/res_agi.c, formats/format_pcm.c,
main/logger.c, apps/app_confbridge.c, main/stdtime/localtime.c,
apps/app_adsiprog.c, channels/chan_sip.c, res/res_fax.c,
pbx/dundi-parser.c, res/parking/parking_bridge_features.c,
main/netsock.c, funcs/func_channel.c, main/callerid.c,
main/file.c, res/res_pjsip/pjsip_configuration.c, main/adsi.c,
main/config_options.c, pbx/pbx_dundi.c, main/audiohook.c,
pbx/pbx_config.c, main/bridge_channel.c, channels/chan_pjsip.c,
res/parking/parking_manager.c, channels/iax2/firmware.c,
apps/app_voicemail.c, main/parking.c, /, cdr/cdr_adaptive_odbc.c,
res/res_calendar_caldav.c, res/res_jabber.c,
res/res_http_websocket.c, res/res_format_attr_opus.c,
res/parking/parking_bridge.c, main/cdr.c, res/res_ari_model.c,
channels/chan_dahdi.c, main/manager.c, channels/sig_analog.c,
main/app.c, res/res_pjsip/config_transport.c,
main/manager_channels.c, channels/chan_mgcp.c,
res/res_rtp_asterisk.c, apps/app_dial.c, main/slinfactory.c,
main/core_unreal.c, res/res_crypto.c, main/acl.c,
channels/sig_pri.c, res/res_srtp.c, res/res_corosync.c,
channels/sip/config_parser.c, apps/app_stack.c,
channels/chan_unistim.c, main/udptl.c, res/res_sorcery_config.c,
res/res_stasis_playback.c, main/ccss.c, main/security_events.c,
res/res_timing_dahdi.c, main/taskprocessor.c,
res/res_format_attr_h263.c, res/res_xmpp.c,
channels/chan_gtalk.c, main/enum.c, res/res_pktccops.c,
main/io.c, channels/pjsip/dialplan_functions.c,
funcs/func_hangupcause.c, main/manager_bridges.c, cel/cel_odbc.c,
res/res_config_odbc.c, channels/chan_skinny.c,
res/res_pjsip_outbound_registration.c, apps/app_minivm.c,
funcs/func_srv.c, channels/chan_alsa.c, res/res_pjsip_pubsub.c,
channels/sip/include/sip.h, main/sched.c, main/stun.c,
main/pbx.c, apps/app_festival.c, main/aoc.c, apps/app_getcpeid.c,
res/res_calendar_ews.c: Allow Asterisk to compile under GCC 4.10
This resolves a large number of compiler warnings from GCC 4.10
which cause the build to fail under dev mode. The vast majority
are signed/unsigned mismatches in printf-style format strings.
........ Merged revisions 413586 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413587 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413588 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-09 18:15 +0000 [r413572] Richard Mudgett <rmudgett@digium.com>
* main/http.c: http.c: Remove dead code.
2014-05-09 17:03 +0000 [r413557] Jonathan Rose <jrose@digium.com>
* /, apps/app_chanspy.c: app_chanspy: Fix a bug where Barge mode
could fail If the barge audiohook was attached prior to the spyee
and its peer actually being bridged, the audiohook would not be
applied and the connected peer would not be able to hear audio
from the spy when the spy is in barge mode. (closes issue
ASTERISK-23381) Reported by: Robert Moss Review:
https://reviewboard.asterisk.org/r/3505/ ........ Merged
revisions 413551 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413556 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-08 00:36 +0000 [r413488] Joshua Colp <jcolp@digium.com>
* main/manager.c, /, apps/app_queue.c: app_queue: Extend
documentation for various Manager actions and events. ........
Merged revisions 413485 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413486 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413487 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-07 21:58 +0000 [r413469] Mark Michelson <mmichelson@digium.com>
* funcs/func_presencestate.c: Ensure that presence state is decoded
properly on Asterisk startup. The CustomPresence provider
callback will automatically base64 decode stored data if the 'e'
option was present when the state was set. However, since the
provider callback was bypassed on Asterisk startup, encoded
presence subtypes and messages were being sent instead. This fix
makes it so the provider callback is always used when providing
presence state updates.
2014-05-07 20:59 +0000 [r413453-413455] Richard Mudgett <rmudgett@digium.com>
* /, apps/app_confbridge.c: app_confbridge: Fixed "CBAnn" channels
not going away. Fixed a ref leak in conf_handle_talker_cb()
everytime the conference bridge was found to report a channel's
talker status change. The resulting leak caused the "CBAnn"
channels and the conference bridge to never be destroyed. Thanks
to Richard Kenner on the asterisk-user's list for locating the
problem. Reported by: Richard Kenner ........ Merged revisions
413454 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, apps/app_confbridge.c: app_confbridge: Fix ref leak in CLI
"confbridge kick" command. Fixed ref leak in the CLI "confbridge
kick" command when the channel to be kicked was not in the
conference. ........ Merged revisions 413451 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413452 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-07 17:56 +0000 [r413307-413399] Mark Michelson <mmichelson@digium.com>
* res/res_config_odbc.c, /: Fix encoding of custom prepare extra
data. Patches: res_config_odbc-take2.patch by John Hardin
(License #6512) ........ Merged revisions 413396 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413397 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413398 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_pidf_digium_body_supplement.c,
res/res_pjsip/presence_xml.c: Improve XML sanitization in
NOTIFYs, especially for presence subtypes and messages. Embedded
carriage return line feed combinations may appear in presence
subtypes and messages since they may be derived from user input
in an instant messenger client. As such, they need to be properly
escaped so that XML parsers do not vomit when the messages are
received. ........ Merged revisions 413372 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_registrar.c, /: Check for an act on failures to
update contacts during registration. There was an underlying
issue in a realtime backend where database updates would fail.
Since we were not checking for failure, we would end up in a
strange state where the old database entry was still present but
Asterisk thought that it had been updated. Now when an entry
fails to update, we print a warning and delete the old contact
from sorcery so there is no mismatch between foreground and
backend state. Patches: res_pjsip_registrar.patch by John Hardin
(License #6512) ........ Merged revisions 413358 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_config_odbc.c, /: Ensure that all parts of SQL UPDATEs
and DELETEs are encoded. Patches: res_config_odbc.patch by John
Hardin (License #6512) ........ Merged revisions 413304 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413305 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413306 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-02 20:28 +0000 [r413227-413263] Mark Michelson <mmichelson@digium.com>
* res/res_config_odbc.c, /: Prevent crashes in res_config_odbc due
to uninitialized string fields. Patches: odbc-crash.patch by John
Hardin (License #6512) ........ Merged revisions 413241 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413251 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413258 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_config_pgsql.c, /: Return the number of rows affected by
a SQL insert, rather than an object ID. The realtime API
specifies that the store callback is supposed to return the
number of rows affected. res_config_pgsql was instead returning
an Oid cast as an int, which during any nominal execution would
be cast to 0. Returning 0 when more than 0 rows were inserted
causes problems to the function's callers. To give an idea of how
strange code can be, this is the necessary code change to fix a
device state issue reported against chan_pjsip in Asterisk 12+.
The issue was that the registrar would attempt to insert contacts
into the database. Because of the 0 return from res_config_pgsql,
the registrar would think that the contact was not successfully
inserted, even though it actually was. As such, even though the
contact was query-able and it was possible to call the endpoint,
Asterisk would "think" the endpoint was unregistered, meaning it
would report the device state as UNAVAILABLE instead of
NOT_INUSE. The necessary fix applies to all versions of Asterisk,
so even though the bug reported only applies to Asterisk 12+, the
code correction is being inserted into 1.8+. Closes issue
ASTERISK-23707 Reported by Mark Michelson ........ Merged
revisions 413224 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 413225 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413226 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-02 16:39 +0000 [r413211] Richard Mudgett <rmudgett@digium.com>
* res/res_pjsip_refer.c, /, channels/chan_sip.c, UPGRADE.txt:
res_pjsip_refer: Add Referred-By header on INVITE for blind
transfers. Per rfc3892, the Referred-By header in a REFER must be
copied into the referenced request (IE. The outgoing INVITE to
the transfer target). * Automatically put the Referred-By header
in the outgoing INVITE message if the SIPREFERREDBYHDR channel
variable is defined with a value. * Made
chan_sip.c:get_refer_info() set SIPREFERREDBYHDR for inheritance
so chan_pjsip has a better chance to interoperate. * Fixed
refer_blind_callback() and refer_incoming_refer_request() to not
modify the data in the pointer returned by
pjsip_msg_find_hdr_by_name(). It seems wrong to modify that data
since the calling routine doesn't own the buffer. ASTERISK-23501
#close Reported by: John Bigelow Review:
https://reviewboard.asterisk.org/r/3514/ ........ Merged
revisions 413210 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-02 16:06 +0000 [r413197] Jonathan Rose <jrose@digium.com>
* CHANGES, res/parking/parking_bridge_features.c,
res/parking/parking_manager.c, res/parking/res_parking.h, /:
Parking: Add 'AnnounceChannel' argument to manager action 'Park'
(closes ASTERISK-23397) Reported by: Denis Review:
https://reviewboard.asterisk.org/r/3446/ ........ Merged
revisions 413196 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-01 16:21 +0000 [r413174-413183] Mark Michelson <mmichelson@digium.com>
* funcs/func_presencestate.c: Make behavior of the PRESENCE_STATE
'e' option more consistent. When writing presence state, if 'e'
is specified, then the presence state will be stored in the astdb
encoded. However, consumers of presence state events or those
that query for the presence state will be given decoded
information. If base64 encoding is desired for consumers, then
the information can be base64-encoded manually and the 'e' option
can be omitted. closes issue ASTERISK-23671 Reported by Mark
Michelson Review: https://reviewboard.asterisk.org/r/3482
* res/res_pjsip_exten_state.c, /: Remove unnecessary repetition
checks from res_pjsip_exten_state The PBX core already takes care
of ensuring that repeated state changes are not communicated to
exten state consumers. Because the check in res_pjsip_exten_state
was incomplete, it was causing valid presence state changes not
to be sent out. For instance, if the presence state did not
change but the message or subtype did, then no presence-related
NOTIFY request would be sent out. closes issue ASTERISK-23672
Reported by Mark Michelson ........ Merged revisions 413173 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-05-01 12:31 +0000 [r413160] Joshua Colp <jcolp@digium.com>
* res/res_pjsip/config_transport.c, /: res_pjsip: Add the ability
to configure ciphers based on name. Previously this code would
only accept the OpenSSL identifier instead of the documented
name. ASTERISK-23498 #close ASTERISK-23498 #comment Reported by:
Anthony Messina Review: https://reviewboard.asterisk.org/r/3491/
........ Merged revisions 413159 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-30 21:03 +0000 [r413144] Richard Mudgett <rmudgett@digium.com>
* main/message.c, /, channels/chan_sip.c,
include/asterisk/message.h, res/res_pjsip_messaging.c:
chan_sip.c: Fixed off-nominal message iterator ref count and
alloc fail issues. * Fixed early exit in sip_msg_send() not
destroying the message iterator. * Made
ast_msg_var_iterator_next() and ast_msg_var_iterator_destroy()
tolerant of a NULL iter parameter in case
ast_msg_var_iterator_init() fails. * Made
ast_msg_var_iterator_destroy() clean up any current message data
ref. * Made struct ast_msg_var_iterator,
ast_msg_var_iterator_init(), ast_msg_var_iterator_next(),
ast_msg_var_unref_current(), and ast_msg_var_iterator_destroy()
use iter instead of i. * Eliminated RAII_VAR usage in
res_pjsip_messaging.c:vars_to_headers(). ........ Merged
revisions 413139 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413142 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-30 20:39 +0000 [r413141] Joshua Colp <jcolp@digium.com>
* /, channels/chan_pjsip.c: chan_pjsip: Fix deadlock when
retrieving call-id of channel. If a task was in-flight which
required the channel or bridge lock it was possible for the
synchronous task retrieving the call-id to deadlock as it holds
those locks. After discussing with Mark Michelson the synchronous
task was removed and the call-id accessed directly. This should
be safe as each object involved is guaranteed to exist and the
call-id will never change. ........ Merged revisions 413140 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-30 13:08 +0000 [r413125] Kinsey Moore <kmoore@digium.com>
* /, res/res_http_websocket.c: Websocket: Add session locking and
delay close This resolves a race condition where data could be
written to a NULL FILE pointer causing a crash as a websocket
connection was in the process of shutting down by adding locking
to websocket session writes and by deferring session teardown
until session destruction. (closes issue ASTERISK-23605) Review:
https://reviewboard.asterisk.org/r/3481/ Reported by: Matt Jordan
........ Merged revisions 413123 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413124 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-30 12:42 +0000 [r413118-413122] Joshua Colp <jcolp@digium.com>
* /, res/stasis/control.c: res_stasis: Add progress indications to
operations which perform media. This change fixes operations
which did not account for the fact that they may be executed on
channels which have not been answered. These operations will now
indicate progress when invoked. ASTERISK-23560 #close
ASTERISk-23560 #comment Reported by: Jan Svoboda Review:
https://reviewboard.asterisk.org/r/3495/ ........ Merged
revisions 413121 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix issue where
sending a hold SDP twice could cause an unhold. This change fixes
a bug where if an SDP with media address and sendonly was
received twice the underlying call would go off hold, instead of
remaining on hold. This occured because the code did not properly
take into account that the SDP may contain both a valid media
address and the sendonly attribute. The code now examines the
sendonly attribute and media address first, so if the SDP is
received again no change will occur. ASTERISK-23558 #comment
Reported by: John Bigelow Review:
https://reviewboard.asterisk.org/r/3472/ ........ Merged
revisions 413119 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_pjsip.c, res/res_pjsip_session.c, /: chan_pjsip:
Add support for picking up calls in the configured pickup group.
AST-1363 Review: https://reviewboard.asterisk.org/r/3478/
........ Merged revisions 413117 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-29 15:10 +0000 [r413103] George Joseph <george.joseph@fairview5.com>
* /, include/asterisk/spinlock.h: Add "destroy" implementation for
spinlock. The original commit for spinlock was missing "destroy"
implementations. Most of them are no-ops but phtread_spin and
pthread_mutex do need their locks destroyed. ........ Merged
revisions 413102 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-29 11:27 +0000 [r413089] Joshua Colp <jcolp@digium.com>
* /, channels/chan_pjsip.c: chan_pjsip: Implement core ability to
get Call-ID of a channel. This changes implement the
"get_pvt_uniqueid" which is used to return the technology
specific unique identifier. In the case of SIP this is the
Call-ID of the dialog. Review:
https://reviewboard.asterisk.org/r/3480/ ........ Merged
revisions 413088 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-28 20:07 +0000 [r413074] Kinsey Moore <kmoore@digium.com>
* /, main/bridge.c, main/bridge_basic.c: Bridging: Don't lock NULL
bridges When bridge locking was added for bridge snapshot
creation, some locations where bridge locking was added were not
guaranteed to actually have a bridge and locking NULL AO2 objects
tends to cause segfaults. This ensures that NULL bridges aren't
locked. ........ Merged revisions 413073 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-28 14:40 +0000 [r413060] Mark Michelson <mmichelson@digium.com>
* res/res_manager_presencestate.c (added), main/devicestate.c,
CHANGES, main/presencestate.c, res/res_manager_devicestate.c
(added): Add DeviceStateChanged and PresenceStateChanged AMI
events. These events are controlled by two new modules,
res_manager_devicestate and res_manager_presencestate. Review:
https://reviewboard.asterisk.org/r/3417
2014-04-28 07:43 +0000 [r413048] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
* CHANGES, channels/chan_unistim.c, configs/unistim.conf.sample,
UPGRADE.txt: Introducing changes proposed to chan_unistim driver:
1) Added the unistim.conf variable dtmf_duration which can select
the DTMF playback duration from 0ms to 150ms (0 is off and is the
new default) 2) Enabled the transmission of month names, which
are sent with the date and changed the dateformat variable to
accept the values 0-3 as per the UNISTIM standard (2 & 3 match
the previous 1 & 2 formats). 3) Enabled the "Mute" packet so
muting microphone works as expected and microphone muted for all
calls while LED light on 4) Changed Duree to Timer on i2004
display (closes issue ASTERISK-23592)
2014-04-27 19:29 +0000 [r413036] Olle Johansson <oej@edvina.net>
* main/tcptls.c: tcptls.c : Log errors as ERROR, not warning or
something else.
2014-04-25 19:26 +0000 [r413012] Matthew Jordan <mjordan@digium.com>
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Add support for DTLS
handshake retransmissions On congested networks, it is possible
for the DTLS handshake messages to get lost. This patch adds a
timer to res_rtp_asterisk that will periodically check to see if
the handshake has succeeded. If not, it will retransmit the DTLS
handshake. Review: https://reviewboard.asterisk.org/r/3337
ASTERISK-23649 #close Reported by: Nitesh Bansal patches:
dtls_retransmission.patch uploaded by Nitesh Bansal (License
6418) ........ Merged revisions 413008 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 413009 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-24 14:37 +0000 [r412993] Kevin Harwell <kharwell@digium.com>
* /,
contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py
(added): pjsip realtime: increase the size of some columns The
string lengths on certain columns created through alembic for
PJSIP were too short. For instance, columns containing URIs are
currently set to 40 characters, but this can be too small and
result in truncated values. Added an alembic migration script
that increases the size of these columns and a few others to 255.
ASTERISK-23639 #close Reported by: Mark Michelson Review:
https://reviewboard.asterisk.org/r/3475/ ........ Merged
revisions 412992 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-23 20:13 +0000 [r412977] George Joseph <george.joseph@fairview5.com>
* include/asterisk/spinlock.h (added), /, configure,
include/asterisk/autoconfig.h.in, configure.ac: This patch adds
support for spinlocks in Asterisk. There are cases in Asterisk
where it might be desirable to lock a short critical code section
but not incur the context switch and yield penalty of a mutex or
rwlock. The primary spinlock implementations execute exclusively
in userspace and therefore don't incur those penalties. Spinlocks
are NOT meant to be a general replacement for mutexes. They
should be used only for protecting short blocks of critical code
such as simple compares and assignments. Operations that may
block, hold a lock, or cause the thread to give up it's timeslice
should NEVER be attempted in a spinlock. The first use case for
spinlocks is in astobj2 - internal_ao2_ref. Currently the
manipulation of the reference counter is done with an
ast_atomic_fetchadd_int which works fine. When weak reference
containers are introduced however, there's an additional
comparison and assignment that'll need to be done while the lock
is held. A mutex would be way too expensive here, hence the
spinlock. Given that lock contention in this situation would be
infrequent, the overhead of the spinlock is only a few more
machine instructions than the current ast_atomic_fetchadd_int
call. ASTERISK-23553 #close Review:
https://reviewboard.asterisk.org/r/3405/ ........ Merged
revisions 412976 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-23 18:03 +0000 [r412925] Richard Mudgett <rmudgett@digium.com>
* /, main/http.c: http: Fix spurious ERROR message in responses
with no content. Backport -r411687 and fix the fix because
content_length is the length of out plus the length of the file
controlled by fd. When a response has an out content length of 0,
fwrite would be called to write a buffer with no data in it. This
resulted in the following classic error message: [Apr 3 11:49:17]
ERROR[26421] http.c: fwrite() failed: Success This patch makes it
so that we only attempt to write the content of out if the out
string is non-zero. ........ Merged revisions 412922 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412923 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412924 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-23 15:02 +0000 [r412910] Russell Bryant <russell@russellbryant.com>
* funcs/func_periodic_hook.exports.in (added),
main/asterisk.dynamics, funcs/func_periodic_hook.c,
res/res_monitor.c: Fix error loading res_monitor. For some odd
reason, loading app_mixmonitor was fine, but res_monitor was not.
This patch fixes a set of issues related to func_periodic_hook
exporting the beep functions that gets res_monitor working again.
2014-04-22 10:09 +0000 [r412883] Joshua Colp <jcolp@digium.com>
* /, res/stasis/app.c: res_stasis: Fix crash when handling a failed
blind transfer message. This changes fixes a crash that occurs
when stasis determines if it should send a message out to an
application or not. The code incorrectly assumed that a bridge
snapshot would always be present when in reality for failure
cases it may not be. ASTERISK-23573 #close ........ Merged
revisions 412882 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-21 17:56 +0000 [r412759-412824] Jonathan Rose <jrose@digium.com>
* /, CHANGES: chan_sip: trust_id_outbound CHANGES message
improvement (closes issue AST-1301) (closes issue ASTERISK-19465)
Reported by: Krzysztof Chmielewski ........ Merged revisions
412821 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 412822 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412823 from
http://svn.asterisk.org/svn/asterisk/branches/12
* CHANGES, channels/sip/include/sip.h, /, channels/chan_sip.c,
configs/sip.conf.sample: chan_sip: Add sendrpid trust options In
r411189, some behavior was changed which made sendrpid behavior
act in a more trusting manner by sending full user data for peers
set with private caller presence in P-Asserted-Identity headers.
Since this changed long time expected behaviors, we decided to
pull that patch when that was pointed out by the community.
Instead, this patch provides a trust_id_outbound setting which
will expose the data per RFC-3325 if set to 'yes' and simply not
send the PAI/RPID headers at all if set to 'no'. By default
trust_id_outbound will be set to 'legacy' which will preserve the
behavior prior to these patches. Extra special thanks to Walter
Doekes for providing advice and feedback. (closes issue AST-1301)
(closes issue ASTERISK-19465) Reported by: Krzysztof Chmielewski
Review: https://reviewboard.asterisk.org/r/3447/ ........ Merged
revisions 412744 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412746 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412747 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-21 16:16 +0000 [r412729-412750] Kinsey Moore <kmoore@digium.com>
* main/manager.c, /, main/http.c: HTTP: Add TCP_NODELAY to accepted
connections This adds the TCP_NODELAY option to accepted
connections on the HTTP server built into Asterisk. This option
disables the Nagle algorithm which controls queueing of outbound
data and in some cases can cause delays on receipt of response by
the client due to how the Nagle algorithm interacts with TCP
delayed ACK. This option is already set on all non-HTTP AMI
connections and this change would cover standard HTTP requests,
manager HTTP connections, and ARI HTTP requests and websockets in
Asterisk 12+ along with any future use of the HTTP server.
Review: https://reviewboard.asterisk.org/r/3466/ ........ Merged
revisions 412745 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412748 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412749 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_confbridge.c, /: Confbridge: Fix ConfbridgeKick AMI
documentation This adds documentation for the "all" channel
option for the ConfbridgeKick AMI action and adjusts AMI
responses accordingly. (issue ASTERISK-23282) Reported by: Dorian
Logan ........ Merged revisions 412730 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, apps/app_confbridge.c: Confbridge: Add references for kick all
option After the ability to kick all attendees from a conference
was added, a rework removed the comment about that feature from
the CLI documentation. This adds that documentation and adds
"all" to the participant tab completion list for the confbridge
kick command. (closes issue ASTERISK-23282) Reported by: Dorian
Logan ........ Merged revisions 412728 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-21 08:36 +0000 [r412714] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
* channels/chan_unistim.c, /: Fix wrong dialtone. The "modulation"
should not be referenced for tone+tone as it refers to the on-off
characteristic - this often resulted in a single tone rather than
the multitone as in the UK. ........ Merged revisions 412712 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412713 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-19 02:14 +0000 [r412697-412699] Matthew Jordan <mjordan@digium.com>
* main/asterisk.c, /: main/asterisk: Fix startup sequence for
realtime features When ASTERISK-23265/ASTERISK-23320 was fixed,
it inadvertently led to realtime features breaking. This was due
to features loading prior to realtime. This patch fixes this by
loading features after loading dynamic modules. ASTERISK-23487
#close Reported by: Denis Tested by: Denis ........ Merged
revisions 412698 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_sms.c, /: app_sms: Fix uninitialized values; hangup
channel when REL is sent successfully This patch fixes two issues
in app_sms: (1) Firstly, the 'flags' field on the stack in
sms_exec() is uninitialised, causing it to use the wrong protocol
in some cases. This patch correctly initializes the flags fields.
(2) Secondly, when disconnect supervision is not working or
inbanddisconnect=yes is set in chan_dahdi.conf, app_sms was
failing to terminate the call after it sent the REL(ease) message
and the peer stopped talking to it. This patch fixes the code to
handle the 'bad stop bit' message more gracefully in that case,
and hang up the call. Review:
https://reviewboard.asterisk.org/r/1392/ ASTERISK-18331 #close
Reported by: David Woodhouse patches: asterisk-fix-sms.patch
uploaded by David Woodhouse (License 5754) ........ Merged
revisions 412655 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412656 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412657 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-18 20:09 +0000 [r412641] Jonathan Rose <jrose@digium.com>
* res/ari/resource_channels.c, CHANGES, res/res_stasis.c,
rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
res/res_ari_bridges.c, res/res_stasis_playback.c, /,
res/ari/resource_bridges.h, res/stasis/control.c,
include/asterisk/stasis_app.h, res/stasis/control.h: ARI: Make
bridges/{bridgeID}/play queue sound files Previously multiple
play actions against a bridge at one time would cause the sounds
to play simultaneously on the bridge. Now if a sound is already
playing, the play action will queue playback to occur after the
completion of other sounds currently on the queue. (closes issue
ASTERISK-22677) Reported by: John Bigelow Review:
https://reviewboard.asterisk.org/r/3379/ ........ Merged
revisions 412639 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-18 17:17 +0000 [r412589] Rusty Newton <rnewton@digium.com>
* /, sounds/sounds.xml, sounds/Makefile: sounds: Fix Sounds
Makefile and XML that didn't support new sound prompt sets In
sounds/Makefile 1 Adds and moves some lines necessary for the
en_GB core set. I'm just following how the other sets are defined
here. 2 removes the ES extra sounds related lines as we don't
have ES extra sound sets. In sounds/sounds.xml 3 Adds member
definitons for EN_AU, EN_GB, IT for core sound sets, and EN_GB in
extra sound sets ASTERISK-23550 #close Review:
https://reviewboard.asterisk.org/r/3464/ ........ Merged
revisions 412586 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412587 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-18 17:02 +0000 [r412584] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip/location.c: Allow for multiple contacts to be
configured in a single contact= line. This is useful for
configuring multiple permanent contacts for an AOR when using
realtime AORs. Review: https://reviewboard.asterisk.org/r/3462
........ Merged revisions 412582 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-18 16:44 +0000 [r412580-412583] Richard Mudgett <rmudgett@digium.com>
* apps/app_originate.c, include/asterisk/pbx.h, main/dial.c,
main/pbx.c, /: Originated calls: Fix several originate call
problems. * Restore the reason value set by
pbx_outgoing_attempt() to use AST_CONTROL_xxx values as all the
consumers were expecting rather than cause codes. * Fixed the
dial routines to set cause codes for more than just ast_request()
so pbx_outgoing_attempt() reason codes will function. * Fix
inconsistent locked_channel return status in
pbx_outgoing_attempt(). The chanel may not have been locked or
the channel may have been a stale pointer. * Fixed the
OutgoingSpoolFailed channel to run dialplan whenever the dialing
fails for an originate exten and 1 < synchronous. * Fix incorrect
ast_cond_wait() usage in pbx_outgoing_attempt(). Indroduced by
issue ASTERISK-22212 patch. * Made struct pbx_outgoing use the
ao2 lock instead of its own lock for the cond wait mutex. No
sense in having two locks associated with the same struct when
only one is needed. Review:
https://reviewboard.asterisk.org/r/3421/ ........ Merged
revisions 412581 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/stasis_channels.c, apps/app_queue.c, apps/app_dial.c, /:
app_dial and app_queue: Make lock the forwarding channel while
taking the channel snapshot. * Fixed
ast_channel_publish_dial_forward() not locking the forwarded
channel when taking the channel snapshot. * Fixed
app_dial.c:do_forward() using the wrong channel to get the
original call forwarding string. * Removed unnecessary locking
when calling ast_channel_publish_dial() and
ast_channel_publish_dial_forward() in app_dial and app_queue.
Holding channel locks when calling
ast_channel_publish_dial_forward() with a forwarded channel could
result in pausing the system while the stasis bus completes
processsing a forwarded channel subscription. Review:
https://reviewboard.asterisk.org/r/3451/ ........ Merged
revisions 412579 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-18 14:25 +0000 [r412566] Kinsey Moore <kmoore@digium.com>
* res/res_ari.c, main/manager.c, /, res/ari/ari_websockets.c: ARI:
Add debug logging for events and responses This adds DEBUG level
logging for ARI websocket events and HTTP responses similar to
what is available for AMI. Logging for ARI HTTP requests is
already adequate for debugging purposes. ........ Merged
revisions 412565 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-17 22:50 +0000 [r412552] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip/location.c, res/res_pjsip/pjsip_configuration.c,
res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
res/res_pjsip_registrar.c: res_pjsip: Handle reloading when
permanent contacts exist and qualify is configured. This change
fixes a problem where permanent contacts being qualified were not
being updated. This was caused by the permanent contacts getting
a uuid and not a known identifier, causing an inability to look
them up when updating in the qualify code. A bug also existed
where the new configuration may not be available immediately when
updating qualifies. (closes issue ASTERISK-23514) Reported by:
Richard Mudgett Review: https://reviewboard.asterisk.org/r/3448/
........ Merged revisions 412551 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-17 22:42 +0000 [r412536-412550] Jonathan Rose <jrose@digium.com>
* /, main/app.c: Fix a silly shadowed variable mistake that was
missed from play tones patch ........ Merged revisions 412549
from http://svn.asterisk.org/svn/asterisk/branches/12
* rest-api/api-docs/bridges.json, res/ari/resource_channels.h,
include/asterisk/app.h, res/res_stasis_playback.c, /,
res/ari/resource_bridges.h, main/app.c,
rest-api/api-docs/channels.json, CHANGES: ARI: Add tones playback
resource Adds a tones URI type to the playback resource. The tone
can be specified by name (from indications.conf) or by a tone
pattern. In addition, tonezone can be specified in the URI (by
appending ;tonezone=<zone>). Tones must be stopped manually in
order for a stasis control to move on from playback of the tone.
Tones may be paused, resumed, restarted, and stopped. They may
not be rewound or fast forwarded (tones can't be controlled in a
way that lets you skip around from note to note and pausing and
resuming will also restart the tone from the beginning). Tests
are currently in development for this feature
(https://reviewboard.asterisk.org/r/3428/). (closes issue
ASTERISK-23433) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3427/ ........ Merged
revisions 412535 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-17 20:25 +0000 [r412467-412484] Matthew Jordan <mjordan@digium.com>
* main/Makefile, channels/chan_oss.c, /: main/Makefile: Fix build
failure on SmartOS/Illumos/SunOS This patch fixes two issues when
building on SmartOS: - channels/chan_oss.c: it makes sure
soundcard.h is found - main/Makefile: only use
"-Wl,--version-script" when GNU LD is used as the Sun Linker
doesn't support that. Similar checks are already used elswhere in
the Makefile Review: https://reviewboard.asterisk.org/r/3426
ASTERISK-23576 #close Reported by: Sebastian Wiedenroth patches:
fix-sunos.diff uploaded by Sebastian Wiedenroth (License 6597)
........ Merged revisions 412468 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412483 from
http://svn.asterisk.org/svn/asterisk/branches/12
* CHANGES, channels/sip/include/sip.h, channels/chan_sip.c:
chan_sip: Add SIPURIPHONECONTEXT channel variable for Request TEL
URIs This patch is a continuation of
https://reviewboard.asterisk.org/r/3349/, committed in r412303.
It resolves a finding oej had that the phone-context be available
in a channel variable separate from SIPDOMAIN. This patch adds
that variable as SIPURIPHONECONTEXT. It also allows a local
number (or global number specified in the TEL URI) to be used to
look up as a peer. (issue ASTERISK-17179) Review:
https://reviewboard.asterisk.org/r/3349/
2014-04-17 15:17 +0000 [r412454] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_refer.c: res_pjsip_refer: Channel variable
SIPREFERTOHDR not being set during blind transfer The
SIPREFERTOHDR channel variable is not being set on any channel
when performing a blind transfer using PJSIP. The
'refer->refer_to' was not being set during a blind transfer.
Updated so the 'refer_to' is set to the target uri on a blind
transfer. (closes issue ASTERISK-23502) Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/3445/ ........ Merged
revisions 412453 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-16 19:14 +0000 [r412440] Kinsey Moore <kmoore@digium.com>
* include/asterisk/stasis_app.h, /: Stasis: Add a usage note on
stasis_app_get_bridge This function returns an ast_bridge without
a refcount bump and the caller must increment the count if it
intends to hold the pointer. (closes issue ASTERISK-23588)
Review: https://reviewboard.asterisk.org/r/3450/ Reported by:
Matt Jordan ........ Merged revisions 412439 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-15 23:21 +0000 [r412427] Russell Bryant <russell@russellbryant.com>
* bridges/bridge_builtin_features.c, include/asterisk/monitor.h,
CHANGES, apps/app_queue.c, funcs/func_periodic_hook.c,
apps/app_mixmonitor.c, include/asterisk/beep.h (added),
res/res_monitor.c: (mix)monitor: Add options to enable a periodic
beep Add an option to enable a periodic beep to be played into a
call if it is being recorded. If enabled, it uses the
PERIODIC_HOOK() function internally to play the 'beep' prompt
into the call at a specified interval. This option is provided
for both Monitor() and MixMonitor(). Review:
https://reviewboard.asterisk.org/r/3424/
2014-04-15 18:30 +0000 [r412384-412414] Richard Mudgett <rmudgett@digium.com>
* main/stasis_channels.c, main/features_config.c,
res/res_parking.c, main/rtp_engine.c, /: Eliminate some more
unnecessary RAII_VAR() uses. RAII_VAR() is not a hammer
appropriate to pound all nails. ........ Merged revisions 412413
from http://svn.asterisk.org/svn/asterisk/branches/12
* res/parking/parking_applications.c, channels/chan_oss.c,
main/stasis_bridges.c, res/res_pjsip_session.c,
res/stasis_recording/stored.c, main/cdr.c, res/res_parking.c,
channels/chan_skinny.c, res/res_pjsip/location.c,
res/res_stasis_recording.c, main/stasis_channels.c,
res/ari/resource_channels.c, res/parking/parking_manager.c,
res/ari/resource_recordings.c, res/res_pjsip_refer.c,
res/res_ari.c, main/pbx.c, res/res_stasis_playback.c, /,
res/stasis/app.c, res/res_fax.c, res/res_pjsip/security_events.c:
Remove unused RAII_VAR() declarations. * Remove unused RAII_VAR()
declarations. The compiler cannot catch these because the cleanup
function "references" the unused variable. Some actually
allocated and released resources that were never used. * Fixed
some whitespace issues in stasis_bridges.c. ........ Merged
revisions 412399 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/rtp_engine.h, main/rtp_engine.c, /,
channels/chan_sip.c: chan_sip.c: Fix channel staging assertion
failure. The failing assertion ensures that the final snapshot
gets generated so CDR records can get finalized. The only place
where a channel staging snapshot flag could be left set is in
chan_sip.c:handle_request_bye(). The function could return before
clearing the flag because the channel could dissappear while the
function had to have the channel unlocked. * Fixed
handle_request_bye() channel snapshot staging coverage area to
not have a return in the middle of it and be unable to clear the
staging flag. * Pushed the channel snapshot staging coverage area
into ast_rtp_instance_set_stats_vars() to ensure that the staging
is not interrutped. * Made callers of
ast_rtp_instance_set_stats_vars() not call it with any channels
or channel driver private locks held to eliminate the deadlock
potential. The callers must hold references to the passed in
channel and rtp objects. * Eliminated sip_hangup() trying to get
the bridge peer. It is futile at this point because the channel
could never be in a bridge. Review:
https://reviewboard.asterisk.org/r/3431/ ........ Merged
revisions 412385 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: chan_sip.c: Moved some sip_pvt unrefs
after their last use. * Moved sip_pvt unref in ast_hangup() and
handle_request_do() to the end of the function. The unref needs
to happen after the last use of the pointer. ........ Merged
revisions 412348 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412383 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-15 16:13 +0000 [r412331] Jonathan Rose <jrose@digium.com>
* configs/sip.conf.sample, /, channels/chan_sip.c: Reverting
r411189 so that it can be put up for public review --- r411189 |
jrose | 2014-03-26 10:50:48 -0500 (Wed, 26 Mar 2014) | 12 lines
chan_sip: Send real CallerID information with
P-Assserted-Identity (RFC-3325) Prior to this patch, the
P-Asserted-Identity header would include anonymous caller id
information which seems to go against the point of the
P-Asserted-Identity header. Now the real caller ID information
will be included in this header. Also, no privacy header would be
included. This patch adds 'Privacy: id' to outgoing SIP messages
that include the P-Asserted-Identity header. (closes issue
AST-1301) --- ........ Merged revisions 412328 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412329 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412330 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-14 15:54 +0000 [r412307] Corey Farrell <git@cfware.com>
* main/autoservice.c, /: autoservice: fix reference leak of logger
callid. autoservice acquires a local reference to the logger
callid of each channel in a loop. This local reference was not
released, causing the callid of every channel in autoservice to
leak. This change moves the callid unref inside the loop.
ASTERISK-23616 #close Reported by: ibercom ........ Merged
revisions 412305 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412306 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-12 02:27 +0000 [r412292] Matthew Jordan <mjordan@digium.com>
* CHANGES, channels/chan_sip.c, channels/sip/reqresp_parser.c:
chan_sip: Support RFC-3966 TEL URIs in inbound INVITE requests
This patch adds support for handling TEL URIs in inbound INVITE
requests. This includes the Request URI and the From URI. The
number specified in the Request URI will be the destination of
the inbound channel in the dialplan. The phone-context specified
in the Request URI will be stored in the TELPHONECONTEXT channel
variable. Review: https://reviewboard.asterisk.org/r/3349
ASTERISK-17179 #close Reported by: Geert Van Pamel Tested by:
Geert Van Pamel patches:
asterisk-12.0.0-chan_sip-RFC3966_patch.txt uploaded by Geert Van
Pamel (License 6140)
asterisk-12.0.0-reqresp_parser-RFC3966_patch.txt uploaded by
Geert Van Pamel (License 6140)
2014-04-12 01:35 +0000 [r412279-412280] Russell Bryant <russell@russellbryant.com>
* funcs/func_periodic_hook.c: func_periodic_hook: move module ref
The previous code left one error path where the module would be
unref'd twice instead of once. It was done once in the error
handling block, and again inside of datastore destruction. Now
the module ref is only released in the datastore destructor and
only acquired when the datastore has been successfully allocated.
* funcs/func_periodic_hook.c: func_periodic_hook: add module ref
counting This module lacked necessary module ref count
incrementing and decrementing when used. This patch adds it.
There's already a datastore used, so doing the ref counting along
with the lifetime of the datastore provides a convenient place to
do it.
2014-04-11 21:43 +0000 [r412213-412228] Richard Mudgett <rmudgett@digium.com>
* apps/app_stack.c, /: app_stack: Add missing unlock in off-nominal
path of STACK_PEEK function. ASTERISK-23620 #close Reported by:
Bradley Watkins Patches: ASTERISK-23620_unlock_oldlist.patch
(license #5021) patch uploaded by Bradley Watkins ........ Merged
revisions 412225 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412226 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412227 from
http://svn.asterisk.org/svn/asterisk/branches/12
* utils/Makefile, utils: utils dir: Remove no longer needed traces
of refcounter except in the clean make target. * Removed no
longer needed files from the svn:ignore property to make them
visible.
2014-04-11 12:43 +0000 [r412194] Kinsey Moore <kmoore@digium.com>
* main/bridge.c, main/bridge_basic.c,
include/asterisk/stasis_bridges.h, tests/test_cel.c,
apps/app_confbridge.c, res/ari/resource_bridges.c, /: bridging:
Ensure locking during snapshot creation While the vast majority
of bridge snapshot creation is locked properly, there are
currently some instances that are not. This adds the missing
locking to ensure bridge state is not malleable during snapshot
creation. (closes issue ASTERISK-22904) Review:
https://reviewboard.asterisk.org/r/3415/ Reported by: Matt Jordan
........ Merged revisions 412193 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-11 08:28 +0000 [r412168-412180] Olle Johansson <oej@edvina.net>
* main/audiohook.c: Formatting: Remove invisible characters
* main/audiohook.c: Formatting only.
2014-04-11 02:59 +0000 [r412154] Matthew Jordan <mjordan@digium.com>
* main/astobj2.c, contrib/scripts/refcounter.py (added),
main/asterisk.c, utils/refcounter.c (removed),
build_tools/cflags.xml, utils/utils.xml, /, channels/chan_sip.c,
channels/sip/security_events.c, include/asterisk/astobj2.h,
UPGRADE.txt: main/astobj2: Make REF_DEBUG a menuselect item;
improve REF_DEBUG output This patch does the following: (1) It
makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables
REF_DEBUG globally throughout Asterisk. (2) The ref debug log
file is now created in the AST_LOG_DIR directory. Every run will
now blow away the previous run (as large ref files sometimes
caused issues). We now also no longer open/close the file on each
write, instead relying on fflush to make sure data gets written
to the file (in case the ao2 call being performed is about to
cause a crash) (3) It goes with a comma delineated format for the
ref debug file. This makes parsing much easier. This also now
includes the thread ID of the thread that caused ref change. (4)
A new python script instead for refcounting has been added in the
contrib/scripts folder. (5) The old refcounter implementation in
utils/ has been removed. Review:
https://reviewboard.asterisk.org/r/3377/ ........ Merged
revisions 412114 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 412115 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 412153 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-11 01:12 +0000 [r412102] Russell Bryant <russell@russellbryant.com>
* res/res_monitor.c: monitor: use app options parsing helper code
This app is pretty ancient, so it was never converted to use the
option parsing helper code. I'd like to add an option to this app
that takes an argument, and that's a pain to do when not using
this helper, so start by doing this conversion. Review:
https://reviewboard.asterisk.org/r/3429/
2014-04-10 21:28 +0000 [r412089] Matthew Jordan <mjordan@digium.com>
* res/res_hep_pjsip.c, /: res_hep_pjsip: Use the channel name
instead of the call ID when it is available During discussions
with Alexandr Dubovikov at Kamailio World, it became apparent
that while the SIP call ID is a useful identifier prior to an
Asterisk channel being created, it is far more preferable to use
the channel name (or some channel based identifier) when the
channel is available. Homer is smart enough to tie the various
messages together. This patch opts to use the channel name when
it is available, falling back to the call ID otherwise. ........
Merged revisions 412088 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-10 21:10 +0000 [r412075] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Set the body
generation result to 0 for a valid path The result of the
"ast_sip_pubsub_generate_body_content" was not set/initialized.
Consequently, the nominal path potentially returned an invalid
value, thus not sending mwi notifications. ........ Merged
revisions 412074 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-09 21:43 +0000 [r412050] Mark Michelson <mmichelson@digium.com>
* CHANGES, apps/app_mixmonitor.c, /: Add a Command header to the
AMI Mixmonitor action. This fixes a parsing error that occurred
during the processing of the AMI action. The error did not result
in MixMonitor itself misbehaving, but it could result in the AMI
response not giving correct information back. The new header
allows for one to specify a post-process command to run when
recording finishes. Previously, in order to do this, the
post-process command would have to be placed at the end of the
Options: header. Patches: mixmonitor_command_2.patch by jhardin
(License #6512) ........ Merged revisions 412048 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-09 18:17 +0000 [r412035] Kinsey Moore <kmoore@digium.com>
* /, res/res_stasis_answer.c: res_stasis_answer: Add missing
newlines ........ Merged revisions 412034 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-08 21:25 +0000 [r411946-411990] Richard Mudgett <rmudgett@digium.com>
* /, main/asterisk.c: Internal timing: Add notice that the -I and
internal_timing option are no longer needed. Add notice messages
during execution that the -I command line option and the
astersik.conf internal_timing option are no longer needed. The
internal timing functionality is now always enabled if there is a
timing module loaded. NOTE: Since the command line options and
the asterisk.conf config file are processed before the logging
system is initialized, the messages are output to stderr. Change
requested as a result of asterisk-dev list comments about the
commit for ASTERISK-22846 that removed the -I and internal_timing
options. Review: https://reviewboard.asterisk.org/r/3423/
........ Merged revisions 411964 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411974 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411985 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/config.c: config: Fix CB_ADD_LEN() to work as originally
intended. Fix a long standing bug in CB_ADD_LEN() behaving like
CB_ADD(). ASTERISK-23546 #close Reported by: Walter Doekes
........ Merged revisions 411960 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411961 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411962 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
confbridge.conf dsp_talking_threshold option setting wrong
parameter. Fixed copy pasta error. ASTERISK-23545 #close Reported
by: John Knott ........ Merged revisions 411944 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411945 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-08 14:49 +0000 [r411928] Joshua Colp <jcolp@digium.com>
* res/res_pjsip.c, /: res_pjsip: Ignore explicit transport
configuration if a WebSocket transport is specified. This change
makes it so if a transport is configured on an endpoint that is a
WebSocket type the option will be ignored. In practice this is
fine because the WebSocket transport can not create outgoing
connections, it can only reuse existing ones. By ignoring the
option the existing PJSIP logic for using the existing connection
will be invoked and stuff will proceed. (closes issue
ASTERISK-23584) Reported by: Rusty Newton ........ Merged
revisions 411927 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-08 00:26 +0000 [r411897] Russell Bryant <russell@russellbryant.com>
* funcs/func_periodic_hook.c: func_periodic_hook: List more modules
as dependencies This module makes use of some existing Asterisk
components. app_chanspy was already listed as a dependency. There
are a few function modules used, as well, so list them.
2014-04-07 20:41 +0000 [r411884] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip_pubsub.c, /: PJSIP: Ensure test event has new state
The change that fixed the pubsub test event's use of a dangling
pointer also changed when it was processed relative to the pjsip
subscription state change processing. This change corrects the
order of events while holding a reference to the pointer that was
previously dangling. ........ Merged revisions 411883 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-07 16:15 +0000 [r411870] Jonathan Rose <jrose@digium.com>
* main/manager_channels.c, /: AGI/Manager: Prevent multiple
NewExten events during AGI application changes AGI applications
would trigger NewExten events every time the state of the AGI
application changed. This has historically not been the behavior
and this behavior was introduced with a CDR patch. This patch
corrects that. (closes issue ASTERISK-23390) Reported by:
Benjamin Keith Ford Review:
https://reviewboard.asterisk.org/r/3406/ ........ Merged
revisions 411868 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-07 14:57 +0000 [r411812] Walter Doekes <walter+asterisk@wjd.nu>
* apps/app_queue.c, /: app_queue: Re-add HoldTime to
QueueCallerAbandon event (simple typo during ast12 refactor).
Reported by: Ibrahim22 (on IRC) Tested by: Ibrahim22 ........
Merged revisions 411811 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-07 14:29 +0000 [r411791-411806] Kinsey Moore <kmoore@digium.com>
* res/res_stasis.c, /: Stasis: Fix Stasis() bridge refcount issue
The Stasis() dialplan application monitors what bridge a channel
is in and so necessarily holds on to a bridge pointer. This
change ensures that it also holds on to a reference for that
bridge to prevent the bridge pointer from becoming a dangling
pointer. ........ Merged revisions 411804 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_pubsub.c: PJSIP: Fix crash introduced in r411671
The test event introduced in revision 411671 uses a dangling
pointer to access information about pubsub state changes. This
moves the event to within the lifetime of the pointer. ........
Merged revisions 411790 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-05 13:06 +0000 [r411768] Russell Bryant <russell@russellbryant.com>
* CHANGES, funcs/func_periodic_hook.c (added): func_periodic_hook:
New function for periodic hooks. This commit introduces a new
dialplan function, PERIODIC_HOOK(). It allows you run to a
dialplan hook on a channel periodically. The original use case
that inspired this was the ability to play a beep periodically
into a call being recorded. The implementation is much more
generic though and could be used for many other things. The
implementation makes heavy use of existing Asterisk components.
It uses a combination of Local channels and ChanSpy() to run some
custom dialplan and inject any audio it generates into an active
call. The other important bit of the implementation is how it
figures out when to trigger the beep playback. This
implementation uses the audiohook API, even though it's not
actually touching the audio in any way. It's a convenient way to
get a callback and check if it's time to kick off another beep.
It would be nice if this was timer event based instead of polling
based, but unfortunately I don't see a way to do it that won't
interfere with other things. Review:
https://reviewboard.asterisk.org/r/3362/
2014-04-04 19:19 +0000 [r411702-411724] Richard Mudgett <rmudgett@digium.com>
* /, channels/chan_sip.c, configs/asterisk.conf.sample,
UPGRADE.txt, include/asterisk/channel.h, utils/extconf.c,
include/asterisk/options.h, main/asterisk.c, main/channel.c:
internal_timing: Remove the option and always make it enabled if
a timing module is loaded. The masquerade supertest frequently
fails because either the local channel chain doesn't completely
optimize out or the DTMF handshake doesn't completely get
accross. Local channel optimization requires frames flowing to
trigger when optimization can happen. When optimization happens
the media frame that triggered the optimization is dropped.
Sending DTMF requires frames to flow in the other direction for
timing purposes while sending nothing. If internal timing is not
enabled when MOH is playing, Asterisk switches to received timing
when an audio frame is received. With optimization dropping media
frames and MOH not sending frames unless it receives frames,
occasionaly there are no more frames being passed and the test
fails. * The asterisk command line -I option and the
asterisk.conf internal_timing option are removed. Asterisk now
always uses internal timing when needed if any timing module is
loaded. The issue ASTERISK-14861 did this quite awhile ago in
v1.4 but effectively is broken if other internal timing modules
besides DAHDI are used. The ast_read_generator_actions() now only
does received timing if it has no choice for frame generators
like MOH, silence, and playback streaming. * Cleaned up some code
dealing with frame generators in ast_deactivate_generator(),
generator_write_format_change(), ast_activate_generator(), and
ast_channel_stop_silence_generator(). * Removed
ast_internal_timing_enabled(), AST_OPT_FLAG_INTERNAL_TIMING, and
ast_opt_internal_timing. ASTERISK-22846 #close Reported by: Matt
Jordan Review: https://reviewboard.asterisk.org/r/3414/ ........
Merged revisions 411715 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411716 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411717 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/utils.c, res/res_musiconhold.c, main/channel.c,
main/stasis_cache.c, /: Add some asserts that were handy when
looking for a stasis cache problem. * Assert if a channel is
destroyed but has the snapshot staging flag set. In this case the
final channel destruction snapshot would never get taken. *
Assert if what we just got out of the stasis cache is not what we
were looking for. This assert would have saved several days
searching for a bug and a lot of my hair. * Assert if the music
on hold message posts could not find the associated channel. A
crash will happen later when manager tries to send the MOH AMI
message. This assert catches the problem when the stasis message
is posted instead of by the thread processing the defective
message. * Always generate a backtrace when an ast_assert()
fails. Review: https://reviewboard.asterisk.org/r/3411/ ........
Merged revisions 411701 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-04 15:13 +0000 [r411688] Matthew Jordan <mjordan@digium.com>
* /, main/http.c: http: Fix spurious ERROR message in responses
with no content When a response has a content length of 0, fwrite
would be called to write a buffer with no data in it. This
resulted in the following classic error message: [Apr 3 11:49:17]
ERROR[26421] http.c: fwrite() failed: Success This patch makes it
so that we only attempt to write out the content if the
calculated content_length is non-zero. ........ Merged revisions
411687 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-03 12:06 +0000 [r411671] Kinsey Moore <kmoore@digium.com>
* /, res/res_pjsip_pubsub.c: res_pjsip_pubsub: Add test event for
state change This adds a test event when subscription state
changes so that integration tests may trigger new actions at the
appropriate times. Review:
https://reviewboard.asterisk.org/r/3383/ ........ Merged
revisions 411670 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-03 11:47 +0000 [r411669] Matthew Jordan <mjordan@digium.com>
* res/res_hep.c, /: res_hep: Fix crash when hep.conf not available
Parts of res_hep properly checked for a valid configuration
object before attempting to access the configuration. A check,
however, was missed when a packet is sent. This patch fixes the
crash caused by not checking if the configuration object is
valid. ........ Merged revisions 411668 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-02 18:57 +0000 [r411656] Mark Michelson <mmichelson@digium.com>
* tests/test_sorcery.c, tests/test_sorcery_realtime.c,
main/sorcery.c, /, res/res_mwi_external.c,
res/res_pjsip/config_system.c, configs/sorcery.conf.sample,
main/bucket.c, include/asterisk/sorcery.h,
res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c:
Prevent duplicate sorcery wizards from being applied to sorcery
object types. This commit contains several changes to sorcery: 1)
Application of sorcery configuration based on module name is
automatically performed when sorcery is opened for a module. 2)
Sorcery will not attempt to apply the same wizard to an object
type more than once. 3) Sorcery gives more exact results when
attempting to apply a wizard, whether as the default or based on
configuration. Sorcery unit tests still pass for me after making
these changes. Review: https://reviewboard.asterisk.org/r/3326
........ Merged revisions 411159 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-01 22:42 +0000 [r411637-411639] Richard Mudgett <rmudgett@digium.com>
* res/parking/parking_bridge.c, /: res_parking: Minor tweaks. * Use
ast_bridge_channel_lock()/ast_bridge_channel_unlock() instead of
ao2_lock()/ao2_unlock() for struct ast_bridge_channel variables.
* Use ast_copy_string() instead of inlining it. * Remove an
already done TODO comment. * Some whitespace tweaks. ........
Merged revisions 411638 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/stasis_channels.c: stasis_channels.c: Eliminate another
overuse of RAII_VAR(). ........ Merged revisions 411636 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-04-01 16:52 +0000 [r411587] Joshua Colp <jcolp@digium.com>
* apps/app_queue.c, /: app_queue: Fix a bug where realtime members
would be deleted during reload causing waiting callers to get
ejected. This patch causes realtime queue members to remain in
queues during the reload process. Previously these members would
be removed causing any waiting callers to be ejected from the
queue with a reason of "EXITEMPTY". ASTERISK-23547 #close
ASTERISK-23547 #comment Patch
app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo
Rossi (license 6409) Review:
https://reviewboard.asterisk.org/r/3404/ ........ Merged
revisions 411584 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411585 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411586 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-28 18:32 +0000 [r411556] Matthew Jordan <mjordan@digium.com>
* res/res_hep.exports.in (added), configs/hep.conf.sample (added),
CHANGES, res/res_hep.c (added), /, include/asterisk/res_hep.h
(added), res/res_hep_pjsip.c (added): res_hep/res_hep_pjsip: Add
a HEPv3 capture agent module and a logger for PJSIP This patch
adds the following: (1) A new module, res_hep, which implements a
generic packet capture agent for the Homer Encapsulation Protocol
(HEP) version 3. Note that this code is based on a patch provided
by Alexandr Dubovikov; I basically just wrapped it up, added
configuration via the configuration framework, and threw in a
taskprocessor. (2) A new module, res_hep_pjsip, which forwards
all SIP message traffic that passes through the res_pjsip stack
over to res_hep for encapsulation and transmission to a HEPv3
capture server. Much thanks to Alexandr for his Asterisk patch
for this code and for a *lot* of patience waiting for me to port
it to 12/trunk. Due to some dithering on my part, this has taken
the better part of a year to port forward (I still blame CDRs for
the delay). ASTERISK-23557 #close Review:
https://reviewboard.asterisk.org/r/3207/ ........ Merged
revisions 411534 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-28 18:00 +0000 [r411533] Alexandr Anikin <may@telecom-service.ru>
* addons/ooh323c/src/oochannels.c,
addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c,
addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c,
addons/chan_ooh323.c, /: process stack command even if gatekeeper
client isn't register don't destroy gatekeeper client if it is
not started don't destroy gatekeeper client in some sort of
gatekeeper errors signal rtp create condition when call cleared
before rtp structure created (closes issue ASTERISK-23460)
Reported by: Dmitry Melekhov Patches: ASTERISK-23460-2.patch
Tested by: Dmitry Melekhov ........ Merged revisions 411531 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411532 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-28 17:41 +0000 [r411515-411530] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/recordings.json,
rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
/, rest-api/api-docs/playbacks.json, UPGRADE.txt,
rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
include/asterisk/manager.h, rest-api/api-docs/bridges.json,
rest-api/api-docs/deviceStates.json,
rest-api/api-docs/mailboxes.json,
rest-api/api-docs/asterisk.json,
rest-api/api-docs/applications.json,
rest-api/api-docs/channels.json: Update API versions and
UPGRADE/CHANGES for 12.2.0 This patch does the following: * It
updates the AMI version to 2.2.0 to indicate backwards compatible
changes have been made since the last release * It updates the
ARI version to 1.2.0 to indicate backwards compatible changes
have been made since the last release * It updates the
UPGRADE/CHANGES files with changes that were not mentioned
........ Merged revisions 411529 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_config_odbc.c, UPGRADE.txt: res_config_odbc: Fix for
nullable integer columns and keyfield existence check in
update_odbc. This patch fixes setting nullable integer columns to
NULL instead of an empty string, which fails for PostgreSQL, for
example. The current code is supposed to do so, but the check is
broken. The patch also allows the first column in the list to be
a nullable integer. Also, the check for existence of a mandatory
column checked for the first column in the list instead of the
key field lookup column. This patch fixes that issue as well.
Finally, the compatibility option allow_empty_string_in_nontext,
which was added to previous revisions to allow for some database
backends with certain schemas to function, has been removed.
Review: https://reviewboard.asterisk.org/r/3335 ASTERISK-23459
#close ASTERISK-23351 #close (closes issue ASTERISK-23459)
Reported by: zvision patches: res_config_odbc.diff uploaded by
zvision (License 5755)
2014-03-28 16:18 +0000 [r411469] Scott Griepentrog <sgriepentrog@digium.com>
* main/http.c, main/tcptls.c, main/manager.c, /: http: response
body often missing after specific request This patch works around
a problem with the HTTP body being dropped from the response to a
specific client and under specific circumstances: a) Client
request comes from node.js user agent "Shred" via use of
swagger-client library. b) Asterisk and Client are *not* on the
same host or TCP/IP stack In testing this problem, it has been
determined that the write of the HTTP body is lost, even if the
data is written using low level write function. The only solution
found is to instruct the TCP stack with the shutdown function to
flush the last write and finish the transmission. See review for
more details. ASTERISK-23548 #close (closes issue ASTERISK-23548)
Reported by: Sam Galarneau Review:
https://reviewboard.asterisk.org/r/3402/ ........ Merged
revisions 411462 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411463 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411465 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-28 15:48 +0000 [r411375-411460] Matthew Jordan <mjordan@digium.com>
* /, UPGRADE.txt: UPGRADE: Note IAX2 compatibility issue between
1.4 and 1.8+ systems. ........ Merged revisions 411457 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411458 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411459 from
http://svn.asterisk.org/svn/asterisk/branches/12
* contrib/realtime/mysql/queue_log.sql (removed),
contrib/realtime/mysql/voicemail.sql (removed),
contrib/realtime/mysql/sippeers.sql (removed), /,
contrib/realtime/mysql/iaxfriends.sql (removed),
contrib/realtime/mysql/meetme.sql (removed),
contrib/realtime/mysql/voicemail_messages.sql (removed),
contrib/realtime/postgresql/realtime.sql (removed),
contrib/realtime/mysql/voicemail_data.sql (removed),
contrib/realtime/mysql/musiconhold.sql (removed):
contrib/realtime: Remove empty SQL script files Since the
relatime scripts are now managed by Alembic, the previous
realtime scripts were previously removed. However, the removal
process messed up, as the files were still in the repository. The
contents were just empty. This removes the files from the tree.
........ Merged revisions 411442 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/sip/include/sip.h, /: chan_sip: Add MESSAGE request to
allowed methods The allowed methods advertised by chan_sip did
not previously note the MESSAGE request. Even in Asterisk 1.8, we
do accept in-dialog MESSAGE requests; we should advertise that we
support MESSAGE requests. ASTERISK-23504 #close ASTERISK-23504
#comment Reported by: Martin Kontsek ASTERISK-23504 #comment
Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587)
Review: https://reviewboard.asterisk.org/r/3396/ ........ Merged
revisions 411372 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411373 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411374 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-27 19:21 +0000 [r411312-411328] Corey Farrell <git@cfware.com>
* funcs/func_pitchshift.c, funcs/func_groupcount.c,
funcs/func_volume.c, funcs/func_odbc.c, funcs/func_frame_trace.c,
main/message.c, apps/app_jack.c, funcs/func_dialplan.c,
channels/chan_sip.c, funcs/func_math.c,
funcs/func_jitterbuffer.c, res/res_mutestream.c,
funcs/func_global.c, apps/app_speech_utils.c,
res/res_pjsip_header_funcs.c, funcs/func_callcompletion.c,
funcs/func_channel.c, funcs/func_cdr.c, funcs/func_blacklist.c,
funcs/func_callerid.c, apps/app_stack.c, apps/app_voicemail.c,
res/res_calendar.c, funcs/func_speex.c, /, funcs/func_strings.c,
res/res_xmpp.c, channels/chan_iax2.c, main/features_config.c,
res/res_jabber.c, apps/confbridge/conf_config_parser.c,
channels/pjsip/dialplan_functions.c: Fix dialplan function NULL
channel safety issues (closes issue ASTERISK-23391) Reported by:
Corey Farrell Review: https://reviewboard.asterisk.org/r/3386/
........ Merged revisions 411313 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411314 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411315 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/format.c, include/asterisk.h: main/formats: Fix crash in
ast_format_cmp during non-clean shutdown. * Update asterisk.h to
reflect availability of ast_register_cleanup in 11.9. * Use
ast_register_cleanup for format_attr_shutdown. (closes issue
ASTERISK-23103) Reported by: JoshE ........ Merged revisions
411310 from http://svn.asterisk.org/svn/asterisk/branches/11
........ Merged revisions 411311 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-27 14:21 +0000 [r411296] Mark Michelson <mmichelson@digium.com>
* /, main/sorcery.c: Give sorcery instances a reference to their
wizards. On graceful shutdown, sorcery wizards are all killed
off, but it is possible for sorcery instances to still have
dangling pointers after this, possibly causing a crash. Giving
the sorcery instances a reference to their wizards ensures that
the wizard reference will remain valid for the lifetime of the
sorcery instance. Review: https://reviewboard.asterisk.org/r/3401
........ Merged revisions 411295 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-26 22:45 +0000 [r411246] Joshua Colp <jcolp@digium.com>
* /, main/say.c: say: Fix a bug where SayNumber in Polish tries to
play incorrect sound. This change fixes a bug where calling
SayNumber with a number divisible by 100 using the Polish
language would cause the code to attempt to play a sound file
with an empty name. (closes issue ASTERISK-23509) Reported by:
zvision Review: https://reviewboard.asterisk.org/r/3378/ ........
Merged revisions 411243 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411244 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411245 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-26 16:15 +0000 [r411194] Jonathan Rose <jrose@digium.com>
* /, channels/chan_sip.c, configs/sip.conf.sample: chan_sip: Send
real CallerID information with P-Assserted-Identity (RFC-3325)
Prior too this patch, the P-Asserted-Identity header would
include anonymous caller id information which seems to go against
the point of the P-Asserted-Identity header. Now the real caller
ID information will be included in this header. Also, no privacy
header would be included. This patch adds 'Privacy: id' to
outgoing SIP messages that include the P-Asserted-Identity
header. (closes issue AST-1301) ........ Merged revisions 411189
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 411190 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411193 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-26 16:05 +0000 [r411192] Richard Mudgett <rmudgett@digium.com>
* /,
contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py:
Fix 'alembic branches' merge conflict as described by the web
page. ........ Merged revisions 411191 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-25 18:44 +0000 [r411174] Sean Bright <sean@malleable.com>
* res/ari/config.c, /: ARI: Don't complain about missing ARI users
when we aren't enabled Currently, if ARI is not enabled it will
still complain that there are no configured users. This patch
checks to see if ARI is enabled before logging and error or
iterating the container to validate the users. Review:
https://reviewboard.asterisk.org/r/3391/ ........ Merged
revisions 411173 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-25 17:40 +0000 [r411158] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
res/res_pjsip_messaging.c, res/res_pjsip.c,
include/asterisk/res_pjsip.h, /: Add a "message_context" option
for PJSIP endpoints. ........ Merged revisions 411157 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-25 16:57 +0000 [r411142] Richard Mudgett <rmudgett@digium.com>
* /, res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
include/asterisk/res_pjsip.h: res_pjsip: Fix contact
authenticate_qualify endpoint lookup when qualifing a contact. *
Fixed bad use of ao2_find() in on_endpoint(). * Replaced use of
find_endpoints() with find_an_endpoint() since only the first
found endpoint is ever needed. * Fixed qualify_contact_cb() to
update the contact with the aor authenticate_qualify setting.
Otherwise, permanent contacts in the aor type sections would have
a config line order dependancy. * Fixed off nominal path contact
ref leak in qualify_contact(). The comment saying the unref is
not needed was wrong. * Fixed off nominal path use of the
endpoint parameter if it is NULL in send_out_of_dialog_request().
* Added missing off nominal path unref of pjsip tdata in
send_out_of_dialog_request(). * Fixed off nominal path failing to
call the callback in send_request_cb() when the request is
challenged for authentication. * Eliminated silly RAII_VAR() use
in qualify_contact_cb(). * Updated ast_sip_send_request() doxygen
to better reflect reality. (closes issue ASTERISK-23254) Reported
by: rmudgett Review: https://reviewboard.asterisk.org/r/3381/
........ Merged revisions 411141 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-25 16:06 +0000 [r411092] Kinsey Moore <kmoore@digium.com>
* /, channels/chan_sip.c: chan_sip: Fix incorrect use of timers If
update_provisional_keepalive() is called while
send_provisional_keepalive_full() is waiting on the PVT lock,
then pvt->provisional_keepalive_sched_id will be changed to a new
sched_id value by update_provisional_keepalive(), but that new
sched_id then may be overwritten with -1 by
send_provisional_keepalive_full(), killing the pvt's reference to
a schedule and "leaking" the reference. (closes issue
ASTERISK-22079) Review: https://reviewboard.asterisk.org/r/3368/
Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
Patches: provisional_keepalive_fix.diff uploaded by Steve Davies
(license 5012) ........ Merged revisions 411088 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411089 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411091 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-25 15:56 +0000 [r411090] Jonathan Rose <jrose@digium.com>
* res/res_stasis.c, /: ARI: Resolve a subscription leak against
implicit bridge subscriptions When a channel in a stasis
application is joined to a bridge, a subscription for that bridge
is created implicitly for the stasis application serving the
channel. Prior to this patch, subsequent removals of the channel
from the bridge would leave the subscription open. Review:
https://reviewboard.asterisk.org/r/3380/ ........ Merged
revisions 411086 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-25 15:47 +0000 [r411073-411087] Richard Mudgett <rmudgett@digium.com>
* utils/conf2ael.c, main/lock.c, utils/ael_main.c: Revert -r411073.
It didn't help and blew up the system.
* utils/ael_main.c, utils/conf2ael.c, main/lock.c: locking: Add
temporary sanity checks. Add some temporary sanity checks to hunt
for locking problems with the masquerade supertest.
2014-03-24 21:39 +0000 [r411024] Joshua Colp <jcolp@digium.com>
* /, channels/chan_sip.c: chan_sip: Always use fromdomain if set
for domain, even if callerid is set to restricted. (closes issue
ASTERISK-20841) Reported by: Kelly Goedert ........ Merged
revisions 411021 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 411022 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 411023 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-21 16:04 +0000 [r410996] Richard Mudgett <rmudgett@digium.com>
* /, res/res_pjsip_registrar.c: res_pjsip_registrar.c:
Miscellaneous cleanup in rx_task(). * Fix variable shadowing of
'updated' by renaming it to 'contact_update'. * Checked
'contact_update' for ast_sorcery_copy() failure. * Removed silly
use of RAII_VAR() for 'contact_update'. ........ Merged revisions
410995 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-21 15:50 +0000 [r410981-410994] Sean Bright <sean@malleable.com>
* res/ael/ael.flex, utils/Makefile, pbx/pbx_ael.c,
res/ael/ael_lex.c: Make the AEL load process less chatty.
Switched a bunch of LOG_NOTICEs to ast_debug. This time without
breaking the build.
* res/ael/ael.flex, pbx/pbx_ael.c, res/ael/ael_lex.c: Revert
r410981. aelparse blew up.
* main/config.c: Remove a LOG_NOTICE from
ast_config_engine_register. There is enough indication from the
CLI that we are loading a realtime engine as it is.
* pbx/pbx_ael.c, res/ael/ael_lex.c, res/ael/ael.flex: Make the AEL
load process less chatty. Switched a bunch of LOG_NOTICEs to
ast_debug.
2014-03-20 23:02 +0000 [r410967] Jonathan Rose <jrose@digium.com>
* /, apps/app_confbridge.c: app_confbridge: Fix bug - users with
startmuted set don't start muted (closes issue ASTERISK-23461)
Reported by: Chico Manobela Review:
https://reviewboard.asterisk.org/r/3373/ ........ Merged
revisions 410965 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410966 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-20 16:35 +0000 [r410950] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/channel.h, res/ari/resource_channels.c,
res/res_stasis_snoop.c, include/asterisk/rtp_engine.h,
main/dial.c, main/manager.c, /, main/channel_internal_api.c,
main/core_unreal.c: assigned-uniqueids: Miscellaneous cleanup and
fixes. * Fix memory leak in ast_unreal_new_channels(). Made it
generate the ;2 uniqueid on a stack variable instead of mallocing
it. * Made send error response to ARI and AMI requests instead of
just logging excessive uniqueid length and allowing truncation.
action_originate() and ari_channels_handle_originate_with_id(). *
Fixed minor truncating uniqueid hole when generating the ;2
uniqueid string length. Created public and internal lengths of
uniqueid. The internal length can handle a max public uniqueid
plus an appended ;2. * free() and ast_free() are NULL tolerant so
they don't need a NULL test before calling. * Made use better
struct initialization format instead of the position dependent
initialization format. Also anything not explicitly initialized
in the struct is initialized to zero by the compiler. * Made
ast_channel_internal_set_fake_ids() use the safer
ast_copy_string() instead of strncpy(). Review:
https://reviewboard.asterisk.org/r/3371/ ........ Merged
revisions 410949 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-19 17:27 +0000 [r410934] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_endpoint_identifier_ip.c: PJSIP: Allow for
identify sections to be specified in sorcery.conf. "identify" is
a special type of configuration object in PJSIP because unlike
the other objects, it is not provided by the base res_pjsip
module. Instead, it is provided by the
res_pjsip_endpoint_identifier_ip module. If using the default
sorcery wizard (config,criteria=type=identify) then things work
because the module that applies the default wizard is the correct
module. However, if attempting to use sorcery.conf to apply an
alternate wizard, it was not possible. If you attempted to
specify the identify object type in the res_pjsip section, then
the object could not be registered since the object was
undocumented for the res_pjsip module. There was no alternate
configuration section defined for it, so you were out of luck if
you wanted to override the default wizard. With this change, the
identify section will properly have a sorcery.conf-based wizard
applied when the identify definition is within the
res_pjsip_endpoint_identifier_ip section. ........ Merged
revisions 410933 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-19 14:25 +0000 [r410905-410919] Joshua Colp <jcolp@digium.com>
* /, res/res_stasis.c: res_stasis: Fix a bug where the default
bridge type was not set. ........ Merged revisions 410918 from
http://svn.asterisk.org/svn/asterisk/branches/12
* CHANGES, res/res_stasis.c, rest-api/api-docs/bridges.json, /,
res/ari/resource_bridges.h: res_stasis: Extend bridge type to be
a comma separated list of bridge attributes. This change turns
the bridge type field into a comma separated list of attributes.
These attributes include: mixing, holding, dtmf_events, and
proxy_media. By setting the various attributes a user can control
the type of bridge created with the behavior they need for their
application. (closes issue ASTERISK-23437) Reported by: Matt
Jordan Review: https://reviewboard.asterisk.org/r/3359/ ........
Merged revisions 410904 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-19 02:33 +0000 [r410891] Matthew Jordan <mjordan@digium.com>
* res/res_ari.c, /: res_ari: Fix documentation schema error
........ Merged revisions 410890 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-18 23:32 +0000 [r410877] Rusty Newton <rnewton@digium.com>
* res/res_ari.c, /: res_ari: Add notes about Asterisk HTTP server
to the "enabled" config option for the res_ari general section
Added note and see-also reminding user to enable the HTTP server.
(closes issue ASTERISK-22499) Reported by: Rusty Newton ........
Merged revisions 410876 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-18 15:45 +0000 [r410863] Scott Griepentrog <sgriepentrog@digium.com>
* /, main/http.c: ARI: allow json content type with zero length
body When a request was received with a Content-type of json, the
body was sent for json parsing - even if it was zero length. This
resulted in ARI requests failing that were valid, such as a
channel DELETE with no parameters. The code has now been changed
to skip json parsing with zero content length. (closes issue
SWP-6748) Reported by: Samuel Galarneau Review:
https://reviewboard.asterisk.org/r/3360/ ........ Merged
revisions 410858 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-18 15:28 +0000 [r410862] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: cdr: Add asserts for when we don't know about a
CDR for a channel In the CDR core, every channel should either be
filtered out (due to being an 'internal' channel used as an
implementation detail, such as playing media back into a bridge)
or it should get a CDR. Even if that CDR ends up being discarded,
we still give the channel a CDR in case we end up needing it. If
we hit a situation where a channel does not have a CDR, we should
blow up in -dev-mode. Asserts are appropriate for that. This
patch adds those asserts, as they would have quickly caught the
error fixed by r410814. ........ Merged revisions 410861 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-18 12:45 +0000 [r410845] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip/config_system.c: res_pjsip: Fix memory leak of
nameservers in off-nominal resolver creation failure. Thanks
Walter Doekes! ........ Merged revisions 410844 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-18 11:52 +0000 [r410831] Sean Bright <sean@malleable.com>
* /, res/res_fax_spandsp.c: res_fax_spandsp: Use g711_free() when
available. Per Johann Steinwendtner on the asterisk-dev mailing
list:
http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html
g711_free() was introduced in spandsp 0.0.6pre4 and
g711_release() became a noop. I opted not to remove the call to
g711_release() since it is harmless and to call g711_free() if we
have a sufficiently recent version of spandsp. (issue
ASTERISK-20149) Reported by: Alexandr Gordeev ........ Merged
revisions 410829 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410830 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-18 02:09 +0000 [r410814] Richard Mudgett <rmudgett@digium.com>
* main/stasis_cache.c, /: stasis_cache: Use the right variable in
the cache entry ao2 cmp function. ........ Merged revisions
410813 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-17 22:54 +0000 [r410794-410796] Joshua Colp <jcolp@digium.com>
* CHANGES, res/res_pjsip/include/res_pjsip_private.h,
res/res_pjsip.c, main/dns.c, /, res/res_pjsip/config_system.c,
include/asterisk/dns.h: res_pjsip: Enable PJSIP DNS client
support. This change enables DNS client support within PJSIP.
System nameservers are automatically discovered using res_init or
res_ninit. If this fails then PJSIP will resort to using
gethostbyname for resolution. By enabling this support we gain
SRV support, failover, and weight support. (closes issue
ASTERISK-23435) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3343/ ........ Merged
revisions 410795 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Make address
replacement less aggressive. This change makes the
res_pjsip_multihomed module less aggressive when changing the
address in messages. It will now only occur if the transport in
use is bound to the any address OR if the system determined
source address matches the bound address of the transport in use.
Review: https://reviewboard.asterisk.org/r/3369/ ........ Merged
revisions 410793 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-17 22:24 +0000 [r410775] Russ Meyerriecks <rmeyerreicks@digium.com>
* main/callerid.c, /: callerid: Logic error in checksum processing
Callerid checksum-ing was being handled incorrectly here. When
the checksum is calculated to be 0x00, it will perform 0x100-0x00
which results in 0x100. This value will then fail the otherwise
correct callerid message. This patch changes the logic to simply
add the calculated checksum to the transmitted 2's compliment
checksum. Review: https://reviewboard.asterisk.org/r/3356/
(closes issue ASTERISK-23488) ........ This is a merge of merged
revisions 410750 410747 from
http://svn.asterisk.org/svn/asterisk/branches/12 I didn't want a
broken patch to be comitted to trunk so I pre-merge merged them.
2014-03-17 19:35 +0000 [r410684-410699] Mark Michelson <mmichelson@digium.com>
* tests/test_sorcery.c, tests/test_sorcery_realtime.c,
main/sorcery.c, /, res/res_mwi_external.c,
res/res_pjsip/config_system.c, configs/sorcery.conf.sample,
include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
tests/test_sorcery_astdb.c: Revert changes to sorcery that
accidentally got committed. These changes were still up for
review and have not been approved yet. I must have had the
changes in my working copy when making a different change.
........ Merged revisions 410696 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/frame.h, main/bridge_channel.c,
tests/test_sorcery_realtime.c, main/sorcery.c,
res/res_stasis_playback.c, main/frame.c, /,
bridges/bridge_softmix.c, tests/test_sorcery.c, main/channel.c,
res/res_pjsip/config_system.c, res/res_mwi_external.c,
include/asterisk/bridge_channel.h, funcs/func_frame_trace.c,
configs/sorcery.conf.sample, res/res_pjsip/pjsip_configuration.c,
include/asterisk/sorcery.h, tests/test_sorcery_astdb.c: Fix stuck
channel in ARI through the introduction of synchronous bridge
actions. Playing back a file to a channel in an ARI bridge would
attempt to wait until the playback concluded before returning.
The method used involved signaling the waiting thread in the ARI
custom playback function. The problem with this is that there
were some corner cases that were not accounted for: * If a bridge
channel could not be found, then we never would attempt the
playback but would still attempt to wait for the playback to
complete. * If the bridge playfile action failed to queue, we
would still attempt to wait for the playback to complete. * If
the bridge playfile action were queued but some circumstance
caused the playback not to occur (the bridge dies, the channel is
removed from the bridge), then we would never be notified. The
solution to this is to move the waiting logic into the bridge
code. A new bridge API function is added to queue a synchronous
action on a bridge. The waiting thread is notified when the
queued frame has been freed, either due to an error occurring or
due to successful playback. As a failsafe, the waiting thread has
a 10 minute timeout just in case there is a frame leak somewhere.
Review: https://reviewboard.asterisk.org/r/3338 ........ Merged
revisions 410673 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-17 16:48 +0000 [r410672] Richard Mudgett <rmudgett@digium.com>
* /, apps/confbridge/conf_chan_announce.c: app_confbridge: Add
missing destructor call to announcer channel destructor. ........
Merged revisions 410671 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-16 20:27 +0000 [r410651] Matthew Jordan <mjordan@digium.com>
* /, res/stasis/app.c: stasis/app.c: Add some extra debugging for
subscription counts Events are sent to a connected ARI
application based on the things that ARI application cares about.
These subscriptions can be set up implicitly - such as when that
ARI application creates a new object - or explicitly, via the
application resource's subscription operations. Debugging *why*
something was being sent to an application - or why something was
not being sent to an application - was a bit tricky, as there was
no debug information for the subscriptions. This patch adds some
debug level 3 statements that show the subscription counts for
applications. (Level 3 was chosen as it matches the verbose level
3 statements elsewhere) ........ Merged revisions 410650 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-15 15:24 +0000 [r410639] Russell Bryant <russell@russellbryant.com>
* include/asterisk/framehook.h: framehook.h: Fix some doc typos.
There were a number of instances in this header file where
"function all" was intended to be "function call". This patch
fixes that up.
2014-03-14 21:56 +0000 [r410626] Mark Michelson <mmichelson@digium.com>
* tests/test_sorcery_realtime.c, /: Fix failing realtime sorcery
tests. The store realtime callback needs to return a positive
value for sorcery to treat the store as a success. ........
Merged revisions 410625 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 21:36 +0000 [r410624] Jonathan Rose <jrose@digium.com>
* main/manager.c, /: manager: fix memory leak in manager_add_filter
function (closes issue ASTERISK-23420) Reported by: Etienne
Lessard Patches: manager_eventfilter_leak uploaded by Etienne
Lessard (license 6394) ........ Merged revisions 410609 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410623 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 20:55 +0000 [r410591-410608] Mark Michelson <mmichelson@digium.com>
* /, main/db.c: Remove an extra ast_cond_wait() that slipped
through the patch. ........ Merged revisions 410606 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410607 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/config.c, res/res_sorcery_realtime.c: Handle the return
values of realtime updates and stores more accurately. Realtime
backends' update and store callbacks return the number of rows
affected, or -1 if there was a failure. There were a couple of
issues: * The config API was treating 0 as a successful return,
and positive values as a failure. Now the config API treats
anything >= 0 as a success. * res_sorcery_realtime was treating 0
as a successful return from the store procedure, and any positive
values as a failure. Now sorcery treats anything > 0 as a
success. It still considers 0 a "failure" since there is no
change to report to observers. Review:
https://reviewboard.asterisk.org/r/3341 ........ Merged revisions
410592 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_mwi.c: Prevent conflicts regarding unsolicited
and solicited MWI to an endpoint. If an endpoint is receiving
unsolicited MWI for a mailbox and then attempts to subscribe to
an AOR that provides MWI for the same mailbox, then the SUBSCRIBE
is rejected with a 500 response. Review:
https://reviewboard.asterisk.org/r/3345 ........ Merged revisions
410590 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 17:56 +0000 [r410589] Scott Griepentrog <sgriepentrog@digium.com>
* CHANGES, /: uniqueid: Update CHANGES to reflect new features Note
the new features provided by uniqueid in the CHANGES file. (issue
ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3316/
........ Merged revisions 410588 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 16:42 +0000 [r410575] Jonathan Rose <jrose@digium.com>
* include/asterisk/acl.h, /, main/acl.c,
res/res_pjsip/pjsip_configuration.c,
contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py,
CHANGES, res/res_pjsip/config_transport.c: PJSIP: TOS values
should be represented as decimals in sorcery objects (closes
issue ASTERISK-23235) Reported by: George Joseph Review:
https://reviewboard.asterisk.org/r/3324/ ........ Merged
revisions 410574 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 16:19 +0000 [r410567] Mark Michelson <mmichelson@digium.com>
* main/db.c, /: Prevent delayed astdb syncs. The syncing thread
sleeps for a second before waiting to be told to attempt to sync
again. If a signal were sent during this sleeping period, we
would end up having to wait until the next sync signal occurred
in order to sync up the astdb. This code rearrangement also
ensures that any pending transactions will be synced prior to
Asterisk shutting down. Patches: db_sync.patch by John Hardin
(License #6512) ........ Merged revisions 410556 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410559 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 16:17 +0000 [r410560] Jonathan Rose <jrose@digium.com>
* /, res/ari/resource_bridges.c: ARI/bridges: Forward
Playback/Recording Started/Finished to bridge topic (closes issue
ASTERISK-23444) Reported by: Ben Merrills Review:
https://reviewboard.asterisk.org/r/3340/ ........ Merged
revisions 410558 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-14 16:01 +0000 [r410542-410557] Richard Mudgett <rmudgett@digium.com>
* main/app.c, include/asterisk/app.h, /, res/res_mwi_external.c:
res_mwi_external: Clear the stasis cache entry when the external
MWI is deleted. One of the things missing when external MWI
support was added was the ability to clear the stasis cache entry
of deleted external MWI mailboxes. Review:
https://reviewboard.asterisk.org/r/3325/ ........ Merged
revisions 410555 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: cdr.c: Add missing aow_unlock(cdr) in off nominal
path of handle_dial_message(). * Trivial common code hoisting in
handle_bridge_leave_message(). * Some whitespace fixing. ........
Merged revisions 410541 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-13 19:33 +0000 [r410528] Kinsey Moore <kmoore@digium.com>
* /, res/stasis/control.c, res/stasis/control.h, res/res_stasis.c:
ARI: Ensure managing application receives ChannelEnteredBridge
messages This fixes an issue where a Stasis application running
over ARI and subscribed to ari/events could miss the
ChannelEnteredBridge event because it did not subscribe to the
new bridge fast enough. To accomplish this, it subscribes the
application controlling the channel to the new bridge before
adding it to that bridge which required the stasis_app_control
structure to maintain a reference to the stasis_app. (closes
issue ASTERISK-23295) Review:
https://reviewboard.asterisk.org/r/3336/ ........ Merged
revisions 410527 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-13 13:25 +0000 [r410511] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_multihomed.c, /: Multiple revisions 410509-410510
........ r410509 | file | 2014-03-13 06:23:14 -0700 (Thu, 13 Mar
2014) | 2 lines res_pjsip_multihomed: Fix a bug where the 200 OK
for a REGISTER would contain the wrong contact. ........ r410510
| file | 2014-03-13 06:24:17 -0700 (Thu, 13 Mar 2014) | 2 lines
res_pjsip_multihomed: Remove change for testing fix. ........
Merged revisions 410509-410510 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-12 19:06 +0000 [r410492-410494] Richard Mudgett <rmudgett@digium.com>
* res/res_musiconhold.c, main/channel.c, /: res_musiconhold.c:
Generate MOH start/stop events whenever the MOH stream is
started/stopped. * Made res_musiconhold.c always post the
MusicOnHoldStart/MusicOnHoldStop events when it actually
starts/stops the music streams. This allows the events to always
happen when MOH starts/stops. The event posting code was moved to
the MOH alloc/release routines. * Made channel_do_masquerade()
stop any MOH on the original channel before masquerading so the
original channel will get a stop event with correct information.
* Cleaned up a couple odd codings in moh_files_alloc() and
moh_alloc() dealing with the music state variable. (issue
ASTERISK-23311) Reported by: Benjamin Keith Ford Review:
https://reviewboard.asterisk.org/r/3306/ ........ Merged
revisions 410493 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/confbridge/conf_state.c,
apps/confbridge/conf_state_single.c,
apps/confbridge/conf_state_inactive.c,
apps/confbridge/conf_state_single_marked.c, /: app_confbridge:
Make explicitly stop MOH if a user is kicked or hangs up while
MOH is playing. When MOH is playing to a user in a conference and
the user is kicked or hangs up from the conference then the AMI
MusicOnHoldStop events didn't happen. (Asterisk v11 AMI event:
MusicOnHold, state:Stop) (closes issue ASTERISK-23311) Reported
by: Benjamin Keith Ford Review:
https://reviewboard.asterisk.org/r/3306/ ........ Merged
revisions 410490 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410491 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-12 12:51 +0000 [r410452-410472] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_multihomed.c, /: res_pjsip_multihomed: Fix a bug
where outgoing messages for TCP would go out using UDP. This
change fixes a bug where the code which changes the transport did
not check whether the message is going out over UDP or not before
changing it. For TCP and TLS transports we don't need to change
the transport as the correct one is already chosen. ........
Merged revisions 410471 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_multihomed.c (added), /: res_pjsip_multihomed: Add
module which places the correct address within messages. Due to
how messages are handled within PJSIP it is not until a message
is actually sent that the destination is reliably known. This
means that the addresses placed within the message may not be of
the interface the message is being sent out on. This module
determines what interface a message is being sent on and updates
the message to contain the correct address if applicable. This
module was tested by myself in a virtualized environment with
multiple interfaces and also by Kinsey Moore in the following
configuration: Networks: * 10.24.16.0/21 ** hard phone ** default
gateway * 10.24.64.0/21 ** softphone with pjsip-based stack
Transport details: bind address: 0.0.0.0 protocol: UDP All
endpoints were tested with explicitly configured transports and
unconfigured transports. This was tested with inbound and
outbound calls, both of which were experiencing detrimental
effects from incorrect IP addresses in SIP messages. These
effects were only experienced by the soft phone on the 10.24.64.0
network since the messages to the hard phone on the 10.24.16.0
network had the correct IP address. (closes issue ASTERISK-23020)
Reported by: xrobau Review:
https://reviewboard.asterisk.org/r/3102/ ........ Merged
revisions 410451 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-10 17:21 +0000 [r410395] Richard Mudgett <rmudgett@digium.com>
* /, main/http.c: AST-2014-001: Stack overflow in HTTP processing
of Cookie headers. Sending a HTTP request that is handled by
Asterisk with a large number of Cookie headers could overflow the
stack. Another vulnerability along similar lines is any HTTP
request with a ridiculous number of headers in the request could
exhaust system memory. (closes issue ASTERISK-23340) Reported by:
Lucas Molas, researcher at Programa STIC, Fundacion; and Dr.
Manuel Sadosky, Buenos Aires, Argentina ........ Merged revisions
410380 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 410381 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410383 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-10 16:33 +0000 [r410369] Scott Griepentrog <sgriepentrog@digium.com>
* main/manager.c, /, res/ari/resource_channels.c: unqiueid: correct
max uniqueid length test This patch adds null string test prior
to checking for a max uniqueid value that was added in r410157.
........ Merged revisions 410368 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-10 13:30 +0000 [r410346] Kinsey Moore <kmoore@digium.com>
* /, channels/chan_sip.c: AST-2014-002: chan_sip: Exit early on bad
session timers request This change allows chan_sip to avoid
creation of the channel and consumption of associated file
descriptors altogether if the inbound request is going to be
rejected anyway. (closes issue ASTERISK-23373) Reported by: Corey
Farrell Patches: chan_sip-earlier-st-1.8.patch uploaded by Corey
Farrell (license 5909) chan_sip-earlier-st-11.patch uploaded by
Corey Farrell (license 5909) ........ Merged revisions 410308
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 410311 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410329 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-10 12:53 +0000 [r410307] Joshua Colp <jcolp@digium.com>
* res/res_pjsip/pjsip_options.c, res/res_pjsip.c, /: AST-2014-003:
res_pjsip: When handling 401/407 responses don't assume a request
will have an endpoint. This change removes the assumption that an
outgoing request will always have an endpoint and makes the
authenticate_qualify option work once again. (closes issue
ASTERISK-23210) Reported by: Joshua Colp ........ Merged
revisions 410306 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-08 16:50 +0000 [r410288] George Joseph <george.joseph@fairview5.com>
* /, res/res_pjsip/location.c,
res/res_pjsip_outbound_registration.c,
res/res_pjsip_endpoint_identifier_ip.c,
include/asterisk/res_pjsip_cli.h, include/asterisk/sorcery.h,
res/res_pjsip/pjsip_cli.c, res/res_pjsip/pjsip_configuration.c,
res/res_pjsip/config_transport.c, main/sorcery.c,
include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c:
pjsip_cli: Create pjsip show channel and contact, and general cli
code cleanup. Created the 'pjsip show channel' and 'pjsip show
contact' commands. Refactored out the hated ast_hashtab. Replaced
with ao2_container. Cleaned up function naming. Internal only, no
public name changes. Cleaned up whitespace and brace formatting
in cli code. Changed some NULL checking from "if"s to
ast_asserts. Fixed some register/unregister ordering to reduce
deadlock potential. Fixed ast_sip_location_add_contact where the
'name' buffer was too short. Fixed some self-assignment issues in
res_pjsip_outbound_registration. (closes issue ASTERISK-23276)
Review: http://reviewboard.asterisk.org/r/3283/ ........ Merged
revisions 410287 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-08 15:45 +0000 [r410275] Matthew Jordan <mjordan@digium.com>
* /, res/ari/resource_channels.c: resource_channels: Check if a
passed in ID is NULL before checking its length Calling strlen on
a NULL string is explosive. This patch checks whether or not the
passed in string is NULL or zero length before checking to see if
the string is too long. ........ Merged revisions 410274 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 22:56 +0000 [r410227] Corey Farrell <git@cfware.com>
* /, channels/chan_sip.c: chan_sip: Fix deadlock of monlock between
unload_module and do_monitor Release monlock before calling
pthread_join. This ensures do_monitor cannot freeze by locking
monlock during module unload. (closes issue ASTERISK-21406)
Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3284/ ........ Merged
revisions 410224 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 410225 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410226 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 22:08 +0000 [r410212] Scott Griepentrog <sgriepentrog@digium.com>
* /, include/asterisk/sorcery.h: sorcery: correct field register
argument list This fixes mistakes I previously made in merging
gtjoseph's changes with mine. ........ Merged revisions 410211
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 21:54 +0000 [r410208-410210] Matthew Jordan <mjordan@digium.com>
* /, main/config_options.c: config_options: Display the see-also
information for CLI config option help The config option help
information has always parsed the <see-also> tags in the XML
documentation. Unfortunately, it just never bothered displaying
them on the CLI. With this patch, when you execute 'config show
help [module] [obj] [option]', it will display what other options
are useful to you. (closes issue ASTERISK-22008) Reported by:
Richard Mudgett ........ Merged revisions 410209 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip.c: res_pjsip: Fix documentation for one touch
recording see-also links The one touch recording options have
several see-also links between the various configuration options.
These were 'broken' by the snake casing of those options. This
patch corrects the see-also links such that they reference the
correct option names. ........ Merged revisions 410194 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 21:23 +0000 [r410207] Mark Michelson <mmichelson@digium.com>
* /, include/asterisk/sorcery.h, tests/test_sorcery_realtime.c,
main/sorcery.c, res/res_sorcery_realtime.c: Make
res_sorcery_realtime filter unknown retrieved results. When
retrieving data from a database or other realtime backend, it's
quite possible to retrieve variables that Asterisk does not care
about but that are legitimate to exist. Asterisk does not need to
throw a hissy fit when these variables are encountered but rather
just filter them out. Review:
https://reviewboard.asterisk.org/r/3305 ........ Merged revisions
410187 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 21:11 +0000 [r410191] Scott Griepentrog <sgriepentrog@digium.com>
* /, include/asterisk/sorcery.h,
res/res_pjsip/pjsip_configuration.c, main/sorcery.c: pjsip: allow
and disallow show same codecs In order to prevent confusion over
the allow and disallow list of codecs being the same an option
for registering a field as an alias is added. The alias field
will be read from the configuration file, but afterwards is not
listed as a known field. With disallow set as an alias, the CLI
command pjsip show endpoint # will list the allow= field, but not
the disallow field. (closes issue ASTERISK-23092) Review:
https://reviewboard.asterisk.org/r/3193/ ........ Merged
revisions 410190 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 20:41 +0000 [r410174-410185] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/devicestate.h, main/stasis_cache.c,
main/stasis_message.c, /, tests/test_devicestate.c,
include/asterisk/stasis.h, main/app.c, main/devicestate.c,
tests/test_stasis.c: stasis cache: Enhance to keep track of an
item from different entities. A stasis cache entry now contains
more than a single message/snapshot. It contains
messages/snapshots for the local entity as well as any remote
entities that post to the cached item. In addition callbacks can
be supplied when the cache is created to compute and post the
aggregate message/snapshot representing all entities stored in
the cache entry. * All stasis messages now have an eid to
indicate what entity posted it. * The stasis cache enhancements
allow device state to cache and aggregate the device states from
local and remote entities in a single operation. The cached
aggregate device state is available immediately after it is
posted to the stasis bus. This improves performance by
eliminating a cache dump and associated ao2 container traversals
to calculate the aggregate state. (closes issue ASTERISK-23204)
Reported by: Mark Michelson Review:
https://reviewboard.asterisk.org/r/3281/ ........ Merged
revisions 410184 from
http://svn.asterisk.org/svn/asterisk/branches/12
* tests/test_cel.c, channels/sig_pri.c, channels/sig_ss7.c,
include/asterisk/bridge.h, tests/test_cdr.c, channels/sig_pri.h,
channels/chan_dahdi.c, channels/sig_ss7.h, /: uniqueid: Fix
chan_dahdi, sig_pri, sig_ss7, test_cdr, and test_cel compiler
errors. (issue ASTERISK-23120) ........ Merged revisions 410171
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 15:47 +0000 [r410158] Scott Griepentrog <sgriepentrog@digium.com>
* channels/chan_nbs.c, addons/chan_mobile.c, channels/chan_mgcp.c,
res/res_ari_bridges.c, tests/test_substitution.c, main/pbx.c,
res/res_calendar_icalendar.c, res/res_stasis_playback.c,
channels/chan_multicast_rtp.c, apps/app_meetme.c, /,
channels/chan_bridge_media.c, main/bridge_basic.c,
include/asterisk/channel_internal.h,
tests/test_stasis_channels.c, apps/app_originate.c,
include/asterisk/channel.h, res/parking/parking_applications.c,
channels/chan_gtalk.c, main/cel.c, apps/app_queue.c,
res/res_ari_channels.c, res/res_calendar_ews.c,
rest-api/api-docs/bridges.json, channels/chan_phone.c,
pbx/pbx_spool.c, res/parking/parking_tests.c,
channels/chan_motif.c, channels/chan_h323.c, tests/test_cel.c,
apps/app_confbridge.c, include/asterisk/bridge_internal.h,
res/ari/resource_channels.c, include/asterisk/bridge.h,
apps/confbridge/conf_chan_announce.c, res/res_calendar.c,
include/asterisk/core_unreal.h, res/ari/resource_channels.h,
apps/app_dial.c, res/res_calendar_exchange.c,
addons/chan_ooh323.c, res/stasis/control.c, apps/app_page.c,
res/res_stasis_snoop.c, include/asterisk/dial.h,
main/core_local.c, channels/chan_iax2.c,
res/parking/parking_bridge_features.c,
tests/test_stasis_endpoints.c, main/channel.c, main/manager.c,
include/asterisk/stasis_app_snoop.h, tests/test_voicemail_api.c,
channels/chan_alsa.c, main/message.c, main/bridge_channel.c,
tests/test_cdr.c, channels/chan_pjsip.c, res/res_clioriginate.c,
channels/chan_unistim.c, main/ccss.c, main/bridge.c,
tests/test_app.c, apps/confbridge/conf_chan_record.c,
main/core_unreal.c, apps/app_bridgewait.c,
res/res_calendar_caldav.c, apps/app_followme.c,
include/asterisk/stasis_app_playback.h,
res/ari/resource_bridges.c, channels/chan_jingle.c, main/dial.c,
channels/chan_dahdi.c, res/ari/resource_bridges.h,
rest-api/api-docs/channels.json, include/asterisk/pbx.h,
res/res_stasis.c, apps/app_voicemail.c, channels/chan_vpb.cc,
channels/chan_sip.c, main/channel_internal_api.c,
include/asterisk/stasis_app.h, apps/app_chanisavail.c,
channels/chan_console.c, channels/chan_oss.c,
apps/app_agent_pool.c, res/parking/parking_bridge.c,
channels/chan_misdn.c, channels/chan_skinny.c: uniqueid: channel
linkedid, ami, ari object creation with id's Much needed was a
way to assign id to objects on creation, and much change was
necessary to accomplish it. Channel uniqueids and linkedids are
split into separate string and creation time components without
breaking linkedid propgation. This allowed the uniqueid to be
specified by the user interface - and those values are now
carried through to channel creation, adding the assignedids value
to every function in the chain including the channel drivers. For
local channels, the second channel can be specified or left to
default to a ;2 suffix of first. In ARI, bridge, playback, and
snoop objects can also be created with a specified uniqueid.
Along the way, the args order to allocating channels was fixed in
chan_mgcp and chan_gtalk, and linkedid is no longer lost as
masquerade occurs. (closes issue ASTERISK-23120) Review:
https://reviewboard.asterisk.org/r/3191/ ........ Merged
revisions 410157 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-07 05:04 +0000 [r410108] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_sip.c: chan_sip: Allow static realtime members
to be qualified during module load. When a static realtime peer
with qualify=yes is loaded, Asterisk will fail to send an OPTIONS
request due to the lastms being equal to 0. This results in the
peer being unable to receive calls from Asterisk because the
status is permanently UNKNOWN. This patch allows an OPTIONS
request to be sent during module load by ignoring the lastms
value on startup only. Review:
https://reviewboard.asterisk.org/r/3294/ (closes issue
ASTERISK-17523) Reported by: Maciej Krajewski Tested by:
wushumasters patches: realtime_fix_11.7.0.txt uploaded by Trevor
Peirce (license 6112) ........ Merged revisions 410105 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 410106 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410107 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 23:47 +0000 [r410092] Richard Mudgett <rmudgett@digium.com>
* main/sorcery.c, /: sorcery.c: Fix off-nominal path ref and memory
leak in ast_sorcery_objectset_json_create(). * Made exit a loop
early on error in ast_sorcery_objectset_json_create(). * Removed
some dead code in ast_sorcery_objectset_create2(). ........
Merged revisions 410089 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 23:43 +0000 [r410091] Russell Bryant <russell@russellbryant.com>
* res/res_musiconhold.c, /: moh: fix a refcount error with realtime
MOH I observed a crash in res_musiconhold on an Asterisk 11
system using realtime MOH. Investigation of the backtrace showed
a corrupt mohclass, implying that it got destroyed before the
code expected it to. I went looking for reference counting errors
that could have caused this crash and this patch this result. It
contains 2 changes. 1) Remove a usless block of code that was
impossible to reach. There was even a comment indicating that it
was impossible to reach. The conditional includes
"!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's
inside of an if block with the opposite check
"ast_test_flag(global_flags, MOH_CACHERTCLASSES)". There's no
good reason to keep it around. 2) A similar block to #1 contained
a reference counting error. It stores state->class in the local
variable mohclass without increasing its reference count. The
reference count on mohclass is decremented at the end of the
function. This block of code probably very rarely runs, which
would help explain why this system was working fine for many
months before experiencing a crash. Review:
https://reviewboard.asterisk.org/r/3282/ ........ Merged
revisions 410043 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 410044 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 410090 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 22:39 +0000 [r410042] George Joseph <george.joseph@fairview5.com>
* res/res_pjsip_acl.c, CHANGES, tests/test_sorcery.c,
res/res_pjsip/config_transport.c, main/config.c, main/sorcery.c,
res/res_pjsip/config_auth.c, funcs/func_sorcery.c (added),
res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
main/bucket.c, res/res_pjsip_endpoint_identifier_ip.c,
include/asterisk/config.h, include/asterisk/sorcery.h,
res/res_pjsip/pjsip_configuration.c: sorcery: Create AST_SORCERY
dialplan function. This patch creates the AST_SORCERY dialplan
function which allows someone to retrieve any value from a
sorcery-based config file. It's similar to AST_CONFIG. The
creation of the function itself was fairly straightforward but it
required changes to the underlying sorcery infrastructure that
rippled into individual sorcery objects. The changes stemmed from
inconsistencies in how sorcery created ast_variable objectsets
from sorcery objects and the inconsistency in how individual
objects used that feature especially when it came to parameters
that can be specified multiple times like contact in aor and
match in identify. You can read more here...
http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html
So, what this patch does, besides actually creating the
AST_SORCERY function, is the following... * Creates
ast_variable_list_append which is a helper to append one
ast_variable list to another. * Modifies the
ast_sorcery_object_field_register functions to accept the
already-defined sorcery_fields_handler callback. * Modifies
ast_sorcery_objectset_create to accept a parameter indicating
return type preference...a single ast_variable with all values
concatenated or an ast_variable list with multiple entries. Also
fixed a few bugs. * Modifies individual sorcery object
implementations to use the new function definition of the
ast_sorcery_object_field_register functions. * Modifies
location.c and res_pjsip_endpoint_identifier_ip.c to implement
sorcery_fields_handler handlers so they return multiple
occurrences as an ast_variable_list. * Added a whole bunch of
tests to test_sorcery. (closes issue ASTERISK-22537) Review:
http://reviewboard.asterisk.org/r/3254/
2014-03-06 19:04 +0000 [r410029] Jonathan Rose <jrose@digium.com>
* res/res_pjsip/config_transport.c, include/asterisk/acl.h, /,
main/acl.c, res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py
(added): pjsip configuration: Make transport TOS values
consistent with endpoints Transport TOS values were interpreted
as DSCP values without being documented as such. Endpoint TOS
values (tos_audio/tos_video) behaved normally as TOS values have
historically. This patch makes the transport TOS values behave as
TOS values and makes all TOS values readable as string values
(e.g. AF11). In addition, alembic scripts have been updated to
use the proper field types for all TOS/COS values. (issue
ASTERISK-23235) Reported by: George Joseph Review:
https://reviewboard.asterisk.org/r/3304/ ........ Merged
revisions 410028 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 18:20 +0000 [r410027] Joshua Colp <jcolp@digium.com>
* res/ari/resource_channels.c, CHANGES,
res/ari/ari_model_validators.c,
rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
res/ari/ari_model_validators.h, /,
include/asterisk/stasis_app_recording.h,
res/res_stasis_recording.c: res_stasis_recording: Add a
"target_uri" field to recording events. This change adds a
target_uri field to the live recording object. It contains the
URI of what is being recorded. (closes issue ASTERISK-23258)
Reported by: Ben Merrills Review:
https://reviewboard.asterisk.org/r/3299/ ........ Merged
revisions 410025 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 15:58 +0000 [r410012] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_mwi.c, /: Don't attempt to link in an aggregate MWI
subscription if an endpoint does not aggregate MWI. Attempting to
link a NULL object into an ao2 container had been benign
previously, but since enabling DO_CRASH in the testsuite, this is
now causing a crash. It's better to be right here anyway.
........ Merged revisions 410011 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 02:22 +0000 [r409996] Matthew Jordan <mjordan@digium.com>
* res/res_fax_spandsp.c, /: res_fax_spandsp: Fix crash when passing
ulaw/alaw data to spandsp When acting as a T.38 fax gateway,
res_fax_spandsp would at times cause a crash in libspandsp. This
would occur when, during fax tone detection, a ulaw/alaw frame
would be passed to modem_connect_tones_rx. That particular
routine expects the data to be in slin format. This patch looks
at the frame type and, if the data is ulaw/alaw, converts the
format to slin before passing it to modem_connect_tones_rx.
Review: https://reviewboard.asterisk.org/r/3296 (closes issue
ASTERISK-20149) Reported by: Alexandr Gordeev Tested by: Michal
Rybarik patches: spandsp_g711decode.diff uploaded by Michal
Rybarik (license 6578) ........ Merged revisions 409990 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409991 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-06 00:33 +0000 [r409970-409977] Richard Mudgett <rmudgett@digium.com>
* apps/confbridge/conf_state_multi.c,
apps/confbridge/conf_state_inactive.c, /: app_confbridge: Remove
some noop code. ........ Merged revisions 409976 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_musiconhold.c: res_musiconhold.c: Remove some
unnecessary RAII_VAR() usage. * Made the moh_register() define
use useful parameter names. ........ Merged revisions 409967 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 20:41 +0000 [r409904-409919] Kinsey Moore <kmoore@digium.com>
* main/config.c, /: config: Fix inverted test The test of the
result of the stat() call was inverted such that its output was
only used if the call failed. This inverts the test so that the
output of stat() is used correctly. This was causing full reloads
on unchanged files. (closes issue ASTERISK-23383) Reported by:
David Woolley ........ Merged revisions 409916 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409917 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409918 from
http://svn.asterisk.org/svn/asterisk/branches/12
* bridges/bridge_native_rtp.c, /: bridge_native_rtp: Fix crash
involving masquerade It is possible for a channel to be
masqueraded out of a bridge which means it may no longer have RTP
glue to check upon leaving said bridge. If this situation
occurred (it's possible at least during dial and call pickup)
then Asterisk would crash. This change makes sure the glue is
checked before use. (closes issue AST-1290) Reported by: John
Bigelow ........ Merged revisions 409900 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 18:51 +0000 [r409889] Richard Mudgett <rmudgett@digium.com>
* contrib/ast-db-manage/cdr.ini.sample (added),
contrib/ast-db-manage/cdr/env.py, contrib/ast-db-manage/cdr
(added), contrib/ast-db-manage/cdr/script.py.mako,
contrib/ast-db-manage/cdr/versions,
contrib/ast-db-manage/cdr/versions/210693f3123d_create_cdr_table.py,
/,
contrib/ast-db-manage/config/versions/28887f25a46f_create_queue_tables.py
(added): alembic: Add missing queue and CDR table creation
scripts. * Added the queues and queue_members tables to the
config alembic scripts. * Added the CDR table alembic creation
script. The CDR table is more of an example for new setups since
the actual table can be fully customized in
cdr_adaptive_odbc.conf. (closes issue ASTERISK-23233) Reported
by: jmls Review: https://reviewboard.asterisk.org/r/3227/
........ Merged revisions 409885 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 18:47 +0000 [r409888] Mark Michelson <mmichelson@digium.com>
* funcs/func_presencestate.c, /: Fix documentation for
PRESENCE_STATE to properly illustrate how to create a presence
hint. There was a missing comma. This was discovered by Dan
Kaplan. ........ Merged revisions 409886 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409887 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 16:58 +0000 [r409836] David M. Lee <dlee@digium.com>
* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
main/config.c: Corrected cross-platform stat nanosecond code When
nanosecond time resolution was added for identifying config file
changes, it didn't cover all of the myriad of ways that one might
obtain nanosecond time resolution off of struct stat. Rather than
complicate the #if even further figuring out one system from the
next, this patch directly tests for the three struct members I
know about today, and #ifdef's accordingly. Review:
https://reviewboard.asterisk.org/r/3273/ ........ Merged
revisions 409833 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409834 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409835 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 16:26 +0000 [r409831-409832] Moises Silva <moises.silva@gmail.com>
* res/res_http_websocket.c: Fix res/res_http_websocket.c build
failure in 32bit due to incorrect print format for uint64_t
* res/res_http_websocket.c, /: Fix WebRTC over WSS not working
Several fixes for the WebSockets implementation in
res/res_http_websocket.c * Flush the websocket session FILE* as
fwrite() may not actually guarantee sending the data to the
network. If we do not flush, it seems that buffering on the SSL
socket for outbound messages causes issues * Refactored
ast_websocket_read to take into account that SSL file descriptors
may be ready to read via fread() but poll() will not actually say
so because the data was already read from the network buffers and
is now in the libc buffers (closes issue ASTERISK-23099) (closes
issue ASTERISK-21930) Review:
https://reviewboard.asterisk.org/r/3248/ ........ Merged
revisions 409681 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409697 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 12:06 +0000 [r409780] Sean Bright <sean@malleable.com>
* /, contrib/scripts/astgenkey, contrib/scripts/astgenkey.8: Fix
references to 'keys' CLI commands in astgenkey ........ Merged
revisions 409777 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409778 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409779 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-05 06:17 +0000 [r409747] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
* channels/chan_unistim.c: Add update_peer function to
unistim_rtp_glue, improve other unistim_rtp_glue functions
conforming to other channel drivers. Do not forget auto-detected
and user-selected phone settings on 'unistim reload' ........
Merged revisions 409705 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409745 from
http://svn.asterisk.org/svn/asterisk/branches/11
2014-03-05 01:05 +0000 [r409683] Richard Mudgett <rmudgett@digium.com>
* /, include/asterisk/stasis_internal.h: stasis: Made
internal_stasis_subscribe() prototype and definition match
exactly. ........ Merged revisions 409682 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-04 19:34 +0000 [r409627] Michael L. Young <elgueromexicano@gmail.com>
* funcs/func_audiohookinherit.c, /: func_audiohookinheritance:
Check If A Channel Was Specified This patch prevents a crash when
using the function audiohookinheritance without setting the
channel. (closes issue ASTERISK-23104) Reported by: Joel Vandal
Tested by: Joel Vandal Patches:
asterisk-23104_audiohook_inherit_no_channel-11.diff uploaded by
Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/3272/ ........ Merged
revisions 409623 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409625 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409626 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-04 17:22 +0000 [r409587] Jonathan Rose <jrose@digium.com>
* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix one way audio
problems with hold/unhold when using ICE ICE sessions will now be
restarted if sessions are changed to use new sets of remote
candidates. (closes issue ASTERISK-22911) Reported by: Vytis
Valentinavičius Review: https://reviewboard.asterisk.org/r/3275/
........ Merged revisions 409565 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409570 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-04 16:55 +0000 [r409569] Kinsey Moore <kmoore@digium.com>
* /, main/astobj2.c: AO2: Add an assert for bad objects This adds
an assert that will only be active if Asterisk is compiled with
DO_CRASH and allows the testsuite to fail tests that would
otherwise require log file parsing. ........ Merged revisions
409566 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 409567 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409568 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-04 14:55 +0000 [r409475] Sean Bright <sean@malleable.com>
* /, channels/chan_sip.c: Minor whitespace change to 'sip show
peers' output. (closes issue ASTERISK-23406) Reported by: ibercom
Tested by: ibercom Patches: asterisk-11.patch uploaded by ibercom
........ Merged revisions 409472 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409473 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409474 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-03 19:44 +0000 [r409423] Joshua Colp <jcolp@digium.com>
* res/res_stasis_recording.c, /: res_stasis_recording: Fix memory
leak of the absolute name. ........ Merged revisions 409422 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-03 02:08 +0000 [r409364] Matthew Jordan <mjordan@digium.com>
* /, main/asterisk.c: doxygen: Tweak the link back to ye olde
Digium website ........ Merged revisions 409361 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409362 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409363 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-02 17:03 +0000 [r409350] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* Makefile.rules, /: Makefile: replace -O6 with -O3 -O6 is not a
legal option of gcc. Unofficially gcc considers it to be
equivalent of -O3. clang chalks on it, though. This commit sets
the default optimization flag to be -O3, like gcc actually
considered it. Review: https://reviewboard.asterisk.org/r/3280/
........ Merged revisions 409308 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409344 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409346 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-01 20:28 +0000 [r409288] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_session.c: res_pjsip_session: Set options
(100rel, timers) on incoming sessions. This change passes options
to the UAS creation function. This in turn sets up 100rel and
session timer properties on the incoming session. Reported by
Julian Russell on asterisk-users mailing list. ........ Merged
revisions 409287 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-03-01 00:05 +0000 [r409257-409275] Richard Mudgett <rmudgett@digium.com>
* /, main/devicestate.c: devicestate.c: Simplified some logic in
_ast_device_state(). ........ Merged revisions 409274 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/stasis_cache.c, /: stasis_cache.c: Remove some unnecessary
RAII_VAR() usage. ........ Merged revisions 409272 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/stasis.c: stasis.c: Misc code cleanups. * Remove some
unnecessary RAII_VAR() usage. * Made the struct
stasis_subscription ao2 object use the ao2 lock instead of a
redundant join_lock in the struct for ast_cond_wait(). * Removed
locks on some ao2 objects that don't need the lock. * Made the
topic pool entries container use the ao2 template functions. *
Add some missing allocation failure checks. * Add missing cleanup
in off nominal path of dispatch_message(). ........ Merged
revisions 409270 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: chan_sip: Add precautionary p->owner
checks. * Add precautionary p->owner checks in sip_hangup(),
get_refer_info(), get_also_info(), and
interpret_t38_parameters(). * Simplify some tangled logic in
get_refer_info(), get_also_info(), and add_rpid(). * Removed some
dead code in handle_request_invite(). (closes issue
ASTERISK-23323) Reported by: Walter Doekes Patches:
issueA23323-more_p_owner_checks-1.8.x.patch (license #5674)
uploaded by wdoekes (modified)
issueA23323-more_p_owner_checks-11.x.patch (license #5674)
uploaded by wdoekes (modified)
issueA23323-more_p_owner_checks-12.x.patch (license #5674)
uploaded by wdoekes (modified)
issueA23323-more_p_owner_checks-trunk.patch (license #5674)
uploaded by wdoekes (modified) ........ Merged revisions 409207
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 409255 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409256 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-28 21:24 +0000 [r409237] Kinsey Moore <kmoore@digium.com>
* apps/app_queue.c, /: app_queue: Fix documented AMI event name
During the rewrite of AMI events to use the Stasis bus, the name
of the QueueMemberPaused event was changed to QueueMemberPause.
This corrects documentation to reflect that. ........ Merged
revisions 409234 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-28 18:03 +0000 [r409159] Richard Mudgett <rmudgett@digium.com>
* /, channels/chan_sip.c: chan_sip: Fix crash in
ast_channel_hangupcause_set(). * Fix crash in
ast_channel_hangupcause_set() because p->owner not checked before
calling. Regression introduced by the fix for ASTERISK-22621.
(closes issue ASTERISK-23135) Reported by: OK (issue
ASTERISK-23323) Reported by: Walter Doekes ........ Merged
revisions 409156 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409157 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409158 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-27 19:54 +0000 [r409132] Jonathan Rose <jrose@digium.com>
* res/res_rtp_asterisk.c, /: Multiple revisions 409129-409130
........ r409129 | jrose | 2014-02-27 13:19:02 -0600 (Thu, 27 Feb
2014) | 15 lines res_rtp_asterisk: Fix checklist creating
problems in ICE sessions Prior to this patch, local candidate
lists including SRFLX would fail to start properly when building
ICE candidate check lists. This patch fixes that problem by
making sure that each SRFLX candidate is associated with the
proper base address so that the check list can create matches
properly. This patch was written by jcolp. The issue will be left
open to await testing by the issue participants. (issue
ASTERISK-23213) Reported by: Andrea Suisani Review:
https://reviewboard.asterisk.org/r/3256/ ........ r409130 | jrose
| 2014-02-27 13:38:10 -0600 (Thu, 27 Feb 2014) | 8 lines
res_rtp_asterisk: correct build error from r409129 Accidentally
placed a declaration below functional code (issue ASTERISK-23213)
Reported by: Andrea Suisani Review:
https://reviewboard.asterisk.org/r/3256/ ........ Merged
revisions 409129-409130 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409131 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-27 16:26 +0000 [r409091] David M. Lee <dlee@digium.com>
* utils/astman.c, /: Fix memory stomping bug in astman. This memset
complained in dev mod on my Ubuntu box. The memset is both
unnecessary and dangerous. At this point, m hasn't been
initialized yet, so the memset will write off to whatever address
happens to be on the stack at the time. ........ Merged revisions
409077 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 409083 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409087 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-27 16:08 +0000 [r409055] Corey Farrell <git@cfware.com>
* /, configs/res_fax.conf.sample: res_fax: Comment out default
settings from res_fax.conf. Comment out many settings in
res_fax.conf.sample. The defaults are set in res_fax.c, so
setting the same value in sample config does nothing but make the
sample config more fragile. (closes issue ASTERISK-23231)
Reported by: David Brillert Review:
https://reviewboard.asterisk.org/r/3261/ ........ Merged
revisions 409052 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 409053 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 409054 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-27 12:29 +0000 [r409000] Matthew Jordan <mjordan@digium.com>
* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Apply
packetization rules on inbound SDP handling The setting
'use_ptime' is supposed to tell Asterisk to honour the ptime
attribute in an offer, preferring it to whatever packetization
preferences have been set internally. Currently, however,
something rather quirky will happen: (1) The SDP answer will be
constructed in create_outgoing_sdp_stream. This will use the
preferences from the endpoint, such that the 200 OK response will
add the packetization preferences from the endpoint, and not what
was offered. (2) When the 200 response is issued,
apply_negotiated_sdp_stream is called. This will call
apply_packetization, which will use the ptime attribute from the
offer internally. We end up telling the offerer to use the
internal ptime attribute, but we end up using the offered ptime
attribute. Hilarity ensues. This patch modifies the behaviour by
calling apply_packetization from negotiate_incoming_sdp_stream,
which is called prior to create_outgoing_sdp_stream. This causes
the format preferences on the session's media object to be set to
the inbound ptime value (if 'use_ptime' is enabled), such that
the construction of the answer gets the right value immediately.
Review: https://reviewboard.asterisk.org/r/3244/ ........ Merged
revisions 408999 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-26 23:35 +0000 [r408984] Richard Mudgett <rmudgett@digium.com>
* tests/test_stasis.c, /: test_stasis.c: Misc cleanups. * Make the
consumer ao2 object use the ao2 lock instead of a redundant lock
in the struct for ast_cond_wait(). * Fixed some curly brace
placements. * Fixed use of malloc(0). malloc(0) has variant
behavior. It is up to the implementation to determine if it
returns NULL or a valid pointer that can be later passed to
free(). ........ Merged revisions 408983 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-26 19:00 +0000 [r408971] Scott Griepentrog <sgriepentrog@digium.com>
* channels/chan_pjsip.c, /: pjsip: avoid edge case potential crash
in answer() When accidentally compiling against a wrong version
of pjsip headers with a different pjsip_inv_session size, the
invite_tsx structure could be null in the answer() function. This
led to a crash because it attempted to send the session response
with an uninitialized packet pointer. This patch presets packet
to null and adds a diagnostic log message to explain why the call
fails. Review: https://reviewboard.asterisk.org/r/3267/ ........
Merged revisions 408970 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-26 17:04 +0000 [r408958] Joshua Colp <jcolp@digium.com>
* res/res_ari.c, /: res_ari: Make some additional error responses
consistent with the rest of the system. This change makes some
error cases use ast_ari_response_error to construct their error
responses instead of manually doing it. This ensures they are
consistent with the other error responses. Based on the original
patch as done by Paul Belanger on the associated review. Review:
https://reviewboard.asterisk.org/r/2904/ ........ Merged
revisions 408957 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-26 13:47 +0000 [r408942-408944] Kinsey Moore <kmoore@digium.com>
* include/asterisk/res_pjsip_session.h, /: PJSIP: Fix some bad
spacing ........ Merged revisions 408943 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_refer.c, /: PJSIP: Prevent crash if channel has
gone away It is currently possible for an ast_sip_session to
exist without an associated channel as is the case when a new
invite is coming in or just after a hangup is issued on a
chan_pjsip channel. Part of the attended transfer code assumed
the channel would be non-NULL and used it as such causing a
crash. This bug was exposed thanks to the attended transfer ARI
test in the test suite. (closes issue ASTERISK-23287) Reported
by: Matt Jordan ........ Merged revisions 408941 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-26 08:57 +0000 [r408932] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
* channels/chan_unistim.c: Implement functions handling keypress,
display icons and text for i2004 KEM support.
2014-02-25 17:51 +0000 [r408881-408883] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip_exten_state.c, /,
res/res_pjsip_pidf_digium_body_supplement.c (added),
include/asterisk/res_pjsip_body_generator_types.h:
res_pjsip_exten_state: Presence for digium phones Added presence
support for digium phones. Review:
https://reviewboard.asterisk.org/r/3239/ ........ Merged
revisions 408882 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_send_to_voicemail.c (added),
res/res_pjsip_header_funcs.c, /: res_pjsip_send_to_voicemail:
transferring to voicemail for digium phones Added the ability for
transferring directly to voicemail on digium phones. Added a new
module that checks for the presence of a custom header and/or
diversion header within a sip REFER. If either is found and they
specify a sending to voicemail action then variables are added to
the channel allowing the user access to them in the dialplan.
Dialplan can then be written that branches based upon these
values allowing, for instace, for a single number to be used for
dialing and/or accessing voicemail directly. Also fixed a problem
where the PJSIP_HEADER function was allowing non pjsip channels
through (checked to make sure it has the correct channel type
before proceeding). Review:
https://reviewboard.asterisk.org/r/3245/ ........ Merged
revisions 408880 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-25 17:44 +0000 [r408879] Rusty Newton <rnewton@digium.com>
* /, configs/voicemail.conf.sample: configs/voicemail.conf.sample -
Make mailcmd sample text more explicit Made the wording a bit
more explicit. Didn't really change the meaning. ........ Merged
revisions 408876 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408877 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408878 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-22 23:31 +0000 [r408859] Matthew Jordan <mjordan@digium.com>
* main/asterisk.c, /: main: Initialize dialplan providing core
components prior to module pre-load It is possible to pre-load
pbx_config. As a result, pbx_config - which will load and parse
the dialplan - will attempt to use various dialplan components,
such as device state providers and presence state providers,
prior to them being initialized by the core. This would lead to a
crash, as the components had not created their Stasis cache
entries. This patch moves a number of core component
initializations before the module pre-load. This guarantees that
if someone does pre-load pbx_config - or other pbx modules - that
the Stasis caches for the various core components are created.
(closes issue ASTERISK-23320) Reported by: xrobau (closes issue
ASTERISK-23265) Reported by: Andrew Nagy Tested by: Andrew Nagy,
Rusty Newton ........ Merged revisions 408855 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-22 18:01 +0000 [r408840] Alexandr Anikin <may@telecom-service.ru>
* addons/chan_ooh323.c, /: ignore AST_CONTROL_PVT_CAUSE_CODE
without any messages (closes issue ASTERISK-23336) Reported by:
Alexander Semych ........ Merged revisions 408838 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408839 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-22 02:31 +0000 [r408788] Corey Farrell <git@cfware.com>
* main/pbx.c, /, utils/extconf.c, utils/conf2ael.c, res/ael/pval.c:
Remove extra defines of AST_PBX_MAX_STACK. * Ensure
AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h. * Fix
incorrect function parameters in utils/extconf.c. (closes issue
ASTERISK-23141) Reported by: Maxim Review:
https://reviewboard.asterisk.org/r/3241/ ........ Merged
revisions 408785 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408786 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408787 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-21 18:37 +0000 [r408731] Kevin Harwell <kharwell@digium.com>
* main/rtp_engine.c, /: rtp_engine: Dynamic payload change in rtp
mapping not supported Asterisk didn't support the dynamic payload
change in rtp mapping in the 200 OK response. Scenario: Asterisk
sends the INVITE proposing alaw and telephone-event, it proposes
rtpmap:101 for telephone-event. Peer responds with 2xx, it
answers with alaw and telephone-event also, but it proposes a
different rtpmap number (rtpmap:103) for telephone-event.
Expected Behaviour: Asterisk should honour the rtpmapping in the
response and send DTMF packets using 103 as payload type for
DTMF. Actual Behaviour: Asterisk sends DTMF packets using payload
type 101. With this patch asterisk now supports changes that can
occur in the rtp mapping in the response. (closes issue
ASTERISK-23279) Reported by: NITESH BANSAL Review:
https://reviewboard.asterisk.org/r/3225/ Patches:
dynamic_payload_change.patch uploaded by nbansal (license 6418)
........ Merged revisions 408729 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408730 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-21 18:19 +0000 [r408712-408723] Richard Mudgett <rmudgett@digium.com>
* main/manager.c, /: manager: Fix AMI Status action of a single
channel. Fixed use of uninitialized ao2 container iterator in an
off-nominal condition. Either a memory allocation error or the
requested channel is an internal channel not exposed to the
outside. ........ Merged revisions 408715 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_stasis_recording.c, main/stasis_channels.c,
res/res_sorcery_astdb.c, include/asterisk/json.h, main/sorcery.c,
res/ari/resource_endpoints.c, /, apps/app_meetme.c,
res/res_fax.c: json: Fix off-nominal json ref counting issues. *
Fixed off-nominal json ref counting issue with using the
following API calls: ast_json_object_set() and
ast_json_array_append(). * Fixed off-nominal error reporting in
ast_ari_endpoints_list(). * Fixed some miscellaneous off-nominal
json ref counting issues in report_receive_fax_status() and
dial_to_json(). ........ Merged revisions 408713 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/json.c, /: json: Fix json API wrapper code for json library
versions earlier than 2.3.0. * Fixed json ref counting issue with
json API wrapper code for ast_json_object_update_existing() and
ast_json_object_update_missing() when the json library is earlier
than version 2.3.0. ........ Merged revisions 408711 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-21 16:49 +0000 [r408699] Corey Farrell <git@cfware.com>
* channels/chan_sip.c: chan_sip: prevent add_route from adding
empty header. Fix regression caused by ASTERISK-22582. Empty
Route headers were added when the route had a single strict hop.
(closes issue ASTERISK-23306) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3236/
2014-02-21 16:27 +0000 [r408645-408652] Kevin Harwell <kharwell@digium.com>
* main/rtp_engine.c, /: rtp_engine: Output mixup in
${CHANNEL(rtpqos,audio,all)} Fixed the output of
CHANNEL(rtpqos,audio,all) to use txjitter instead of rxjitter.
(closes issue ASTERISK-23261) Reported by: rsw686 Patches:
rtpqos.patch uploaded by rsw686 (license 5887) ........ Merged
revisions 408646 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408647 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408649 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/channel.c, /: channel.c: MOH is not working for transferee
after attended transfer Updated the code to check to see if MOH
is playing on the transferor and if so then start it on the
channel that replaces it during a masquerade. Example scenario of
the problem: Alice calls Bob and then Bob begins the attended
transfer process into a queue. Upon going on hold Alice hears
music and so does Bob once he is in the queue. Bob then transfers
Alice into the queue and then music for Alice stops even though
she should be hearing it since has now replaced Bob in the queue.
The problem that was occurring is that once the channel was
masqueraded the app (queues, confbridge, etc...) had no way of
knowing that the channel had just been swapped out thus it did
not start music for the present channel. Credit to Olle Johansson
for pointing me in the right direction on this issue. (closes
issue ASTERISK-19499) Reported by: Timo Teräs Review:
https://reviewboard.asterisk.org/r/3226/ ........ Merged
revisions 408642 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408643 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408644 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-21 10:45 +0000 [r408592] Alexandr Anikin <may@telecom-service.ru>
* /, addons/ooh323c/src/ooCalls.h: Fix type of roundTripDelay
variables ........ Merged revisions 408589 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408590 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408591 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-21 00:50 +0000 [r408539] Michael L. Young <elgueromexicano@gmail.com>
* /, apps/app_chanspy.c: app_chanspy: Documentation Update To
Clarify "x" Option When using the "x" option (specify a DTMF
digit to exit the application), it is not obvious in the
documentation that this only works when spying on a channel. If a
channel being used to spy on other channels is waiting to connect
to a channel or is no longer attached to a channel, the DTMF is
ignored. As noted on the issue tracker, since there are
workarounds available and this is a rarely used option we are
opting for a documentation change here. (closes issue
ASTERISK-22661) Reported by: Chris Hillman Patches:
asterisk-22661-doc-clarify-chan_spy.diff uploaded by Michael L.
Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2990/ ........ Merged
revisions 408536 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408537 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408538 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-20 21:12 +0000 [r408519-408523] George Joseph <george.joseph@fairview5.com>
* /, res/res_pjsip/location.c,
res/res_pjsip_outbound_registration.c: pjsip_cli: Add pjsip
commands 'show registrations' and 'show contacts'. Added 'show
registrations' and 'show contacts' to pjsip cli to make things a
little more consistent. The output is exactly the same as the
list command. Just needed to add entries to their respective
ast_cli_entry structures. (closes issue ASTERISK-23275) Review:
http://reviewboard.asterisk.org/r/3210/ ........ Merged revisions
408522 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip/pjsip_cli.c, main/config.c: pjsip_cli: Fix
memory leak in ast_sip_cli_print_sorcery_objectset. Fixed memory
leaks in ast_sip_cli_print_sorcery_objectset and
ast_variable_list_sort. (closes issue ASTERISK-23266) Review:
http://reviewboard.asterisk.org/r/3200/ ........ Merged revisions
408520 from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip/config_system.c, include/asterisk/sorcery.h,
res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
tests/test_sorcery.c, main/sorcery.c, /: sorcery: Create sorcery
instance registry. In order to retrieve an arbitrary sorcery
instance from a dialplan function (or any place else) there needs
to be a registry of sorcery instances. ast_sorcery_init now
creates a hashtab as a registry. ast_sorcery_open now checks the
hashtab for an existing sorcery instance matching the caller's
module name. If it finds one, it bumps the refcount and returns
it. If not, it creates a new sorcery instance, adds it to the
hashtab, then returns it. ast_sorcery_retrieve_by_module_name is
a new function that does a hashtab lookup by module name. It can
be called by the future dialplan function.
res_pjsip/config_system needed a small change to share the main
res_pjsip sorcery instance. tests/test_sorcery was updated to
include a test for the registry. (closes issue ASTERISK-22537)
Review: http://reviewboard.asterisk.org/r/3184/ ........ Merged
revisions 408518 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-20 19:02 +0000 [r408503] Matthew Jordan <mjordan@digium.com>
* /, res/res_pjsip.c: res_pjsip: Update documentation for
'use_avpf' option When 'use_avpf' is set to True, inbound offers
must use the AVPF/SAVPF RTP profile. However, when 'use_avpf' is
set to False, Asterisk will accept both AVP/SAVP or AVPF/SAVPF
RTP profiles in inbound offers. The documentation previously
implied that Asterisk would reject AVPF/SAVPF if 'use_avpf' was
set to False and a UA offered said profile in an INVITE request.
........ Merged revisions 408502 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-20 02:44 +0000 [r408450] Rusty Newton <rnewton@digium.com>
* apps/app_queue.c, /: apps/app_queue - Fix incorrect Macro
parameter documentation Macro is executed on the called channel,
not the calling channel. (closes issue ASTERISK-23069) Reported
By: Bryan Anderson ........ Merged revisions 408447 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408448 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408449 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-19 19:09 +0000 [r408386-408390] Richard Mudgett <rmudgett@digium.com>
* main/config.c, /: config: Add file size and nanosecond resolution
fields to the cached modified config file information. Repeatedly
modifying config files and reloading too fast sometimes fails to
reload the configuration because the cached modification
timestamp has one second resolution. * Added file size and
nanosecond resolution fields to the cached config file
modification timestamp information. Now if the file size changes
or the file system supports nanosecond resolution the modified
file has a better chance of being detected for reload. * Added a
missing unlock in an off-nominal code path. (closes issue
AST-1303) Review: https://reviewboard.asterisk.org/r/3235/
........ Merged revisions 408387 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408388 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408389 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix regex
handling and keep simple prefix matching performance. The sorcery
astDB wizzard does not handle regex correctly if the pattern
begins with an anchor character. This patch attempts to convert
the anchored regex pattern to a prefix pattern supported by astDB
for performance reasons. If it is not able to convert the pattern
it falls back to getting all astDB members of the family and
doing a normal regex pattern matching on the retrieved records.
Review: https://reviewboard.asterisk.org/r/3161/ ........ Merged
revisions 408385 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-19 12:04 +0000 [r408315-408332] Alexandr Anikin <may@telecom-service.ru>
* addons/ooh323c/src/ooCapability.c, /,
addons/ooh323c/src/ooh245.c: process receiveAndTransmit user
input remote caps instead of receive only send receiveAndTransmit
user input our caps instead of receive only ........ Merged
revisions 408328 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408330 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408331 from
http://svn.asterisk.org/svn/asterisk/branches/12
* addons/ooh323c/src/ooh323.c, /: Allow different socket and
signalling ip on h.323 connection if gk mode is active Reported
by: Gabriele Odone Patches: ASTERISK-22738-1.patch Tested by:
Gabriele Odone (closes issue ASTERISK-22738) ........ Merged
revisions 408312 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408314 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-18 19:19 +0000 [r408299] Richard Mudgett <rmudgett@digium.com>
* contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py,
contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
contrib/ast-db-manage/voicemail/versions, contrib/ast-db-manage,
/, contrib/ast-db-manage/config/env.py,
contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
contrib/ast-db-manage/config,
contrib/ast-db-manage/voicemail/env.py,
contrib/ast-db-manage/voicemail,
contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
contrib/ast-db-manage/config/versions: alembic: Add svn:ignore
*.pyc to directories and svn:executable to *.py files. ........
Merged revisions 408297 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-17 15:36 +0000 [r408272] Mark Michelson <mmichelson@digium.com>
* UPGRADE.txt, res/res_pjsip.c, res/res_pjsip_registrar.c,
include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c: Store
SIP User-Agent information in contacts. When an endpoint sends a
REGISTER request to Asterisk, we now will associate the
User-Agent header with all contacts that were bound in that
REGISTER request. ........ Merged revisions 408270 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-16 03:25 +0000 [r408199-408227] Matthew Jordan <mjordan@digium.com>
* main/pbx.c, /: pbx: Handle a completely empty dialplan during a
context merge It is highly unlikely, but - at least in Asterisk
12 - theoretically possible to load Asterisk with no dialplan
whatsoever. If that occurs, and some other module (that is not a
pbx module) attempts to merge its contexts into the dialplan, the
existing merge routine will crash. This is because it is not
insane, and rightly believes that you provided some sort of
dialplan, somewhere. This patch will gracefully merge the
contexts in such a case. Note that this is highly unlikely to
occur in 1.8/11, as features will most likely provide some
dialplan via parking. However, in Asterisk 12, parking is now
provided by res_parking, and hence may create its dialplan later.
(closes issue ASTERISK-23297) Reported by: CJ Oster Review:
https://reviewboard.asterisk.org/r/3222 ........ Merged revisions
408200 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 408201 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408220 from
http://svn.asterisk.org/svn/asterisk/branches/12
* Makefile, /: buildsystem: Unbreak the build (infloop) on Asterisk
11+ Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/
) broke the build. This patch fixes it by ignoring the .lastclean
dependencies if the MENUSELECT_EMBED variable is not defined.
patches: tmp.diff uploaded by wdoekes (License 5674) Review:
https://reviewboard.asterisk.org/r/3228/ ........ Merged
revisions 408193 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408194 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-14 21:44 +0000 [r408139-408141] Scott Griepentrog <sgriepentrog@digium.com>
* /, main/stasis_endpoints.c: ARI: correct upper/lower case URI
discrepancies URI's are supposed to be case sensitive and all
lower case. In practice some portions of URI's in ARI are case
insensitive and others are not, such as TECH, which in one
instance would match a lower case name and in another would not.
In this patch, the ast_endpoint_lastest_snapshot() function is
modified to change the TECH portion to full upper case before
lookup. This resolves the discrepancy noted by the reporter.
However I chose to avoid forcing the /ari prefix of the URI's to
be lower case for now. Except for the two cases here, all URI's
should be lower case, unless they are part of a resource name or
id. Review: https://reviewboard.asterisk.org/r/3211/ Reported by:
Zane Conkle (closes issue ASTERISK-23125) ........ Merged
revisions 408140 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/format.c: format.c: correct possible null pointer
dereference In ast_format_sdp_parse and ast_format_sdp_generate
the check checks for a valid interface and function were
potentially confusing, and hid an error in the test of the
presence of the function that is called later. This patch clears
up and corrects the test. Review:
https://reviewboard.asterisk.org/r/3208/ (closes issue
ASTERISK-23098) Reported by: marcelloceschia Patches:
main_format.patch uploaded by marcelloceschia (license 6036)
ASTERISK-23098.patch uploaded by coreyfarrell (license 5909)
........ Merged revisions 408137 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408138 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-14 13:31 +0000 [r408086] Walter Doekes <walter+asterisk@wjd.nu>
* Makefile, /: buildsystem: Don't force main to depend on
everything else. Directory 'main' only needs to depend on
embedded modules. If no module embedding is selected, the
dependency is dropped. Review:
https://reviewboard.asterisk.org/r/3212/ ........ Merged
revisions 408083 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 408084 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 408085 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-14 12:41 +0000 [r408070] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_sip.c: chnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER
prior to calling bridge blind transfer This patch moves setting
SIP_DEFER_BY_ON_TRANSFER prior to calling
ast_bridge_transfer_blind. This prevents a BYE from being sent
prior to the NOTIFY request that informs the transferor if the
transfer succeeded or failed. This patch also clears said flag
from the off nominal NOTIFY paths in the local_attended_transfer
code, as once we've sent the NOTIFY request it is safe to send by
the BYE request. This was caught by the
blind-transfer-accountcode test in the Asterisk Test Suite.
(closes issue ASTERISK-23290) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3214/ ........ Merged
revisions 408069 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-14 08:52 +0000 [r408059] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* build_tools/install_subst (added), Makefile: install_subst:
helper script for installing with path substitution A helper
script to copy a source file substituting any
__ASTERISK_<foo>_DIR__ with the content of $AST<foo>DIR. Review:
https://reviewboard.asterisk.org/r/3202/
2014-02-13 18:52 +0000 [r407990-408006] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Remove all PJSIP
MWI-specific use from our MWI code. PJSIP has built-in MWI code
that could be useful to some degree, but our utilization of the
API actually made our code a bit more cluttered since we had to
have special cases peppered throughout. With this change, we move
to using the pjsip_evsub API instead, which streamlines the code
by removing special cases. Review:
https://reviewboard.asterisk.org/r/3205 ........ Merged revisions
408005 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip/location.c: Fix crash in AMI PJSIPShowEndpoint
action. If an AOR has no permanent contacts, then the
permanent_contacts container is never allocated. This makes the
code safe in the face of NULLs. I also changed the variable that
counts contacts from "num" to "total_contacts" since there are
now two variables that are indicate numbers of things. ........
Merged revisions 407988 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-13 15:51 +0000 [r407989] Kinsey Moore <kmoore@digium.com>
* main/logger.c, CHANGES: Logger: Add dynamic logger channels This
adds the ability to dynamically add and remove logger channels
from Asterisk via the CLI. (closes issue AST-1150) Review:
https://reviewboard.asterisk.org/r/3185/
2014-02-12 08:25 +0000 [r407970] Walter Doekes <walter+asterisk@wjd.nu>
* main/config.c, /: realtime: Fix ast_update2_realtime() on
raspberry pi. The old code depended on undefined va_arg
behaviour: calling a function twice with the same va_list
parameter and expecting it to continue where it left off. The
changed code behaves like the manpage says it should. Also added
a bunch of early returns to trap errors (e.g. OOM) instead of
crashing. The problem was found by Julian Lyndon-Smith. The
deviant behaviour on the raspberry PI also uncovered another bug
(fixed in r407875) in the res_config_pgsql.so driver. Reported
by: jmls Tested by: jmls Review:
https://reviewboard.asterisk.org/r/3201/ ........ Merged
revisions 407968 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-11 20:17 +0000 [r407958] Joshua Colp <jcolp@digium.com>
* main/sched.c: scheduler: Remove hashtab usage. This is a first
stab at tweaking the performance profile of the scheduler.
Removing the hashtab usage removes an extra memory allocation
when scheduling something and makes it so rescheduling does not
incur any memory allocation at all. Review:
https://reviewboard.asterisk.org/r/3199/
2014-02-11 03:18 +0000 [r407940] Matthew Jordan <mjordan@digium.com>
* res/ari/resource_channels.c, /: ari/resource_channels: Add
channel variables earlier in the creation process This patch
tweaks the behaviour of POST /channels with channel variables
such that the variables are passed into the pbx.c routines that
perform the origination. This allows the variables to be assigned
to the newly created channels immediately upon their
construction, as opposed to be assigned after the originate has
completed. The upshot of this is that the variables are available
on the channels if they execute in the dialplan, as opposed to
only being available once the channels are answered. Review:
https://reviewboard.asterisk.org/r/3183/ ........ Merged
revisions 407937 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-10 18:28 +0000 [r407926] Corey Farrell <git@cfware.com>
* channels/sip/route.c (added), channels/sip/include/sip.h,
channels/sip/include/reqresp_parser.h,
channels/sip/include/route.h (added), channels/chan_sip.c:
chan_sip: Isolate code that manages struct sip_route. * Move
route code to sip/route.c + sip/include/route.h * Rename
functions to sip_route_* * Replace ad-hoc list code with macro's
from linkedlists.h * Create sip_route_process_header() to
processes Path and Record-Route headers (previously done with
different code in build_route and build_path) * Add use of const
where possible * Move struct uriparams, struct contact and
contactliststruct from sip.h to reqresp_parser.h. sip/route.c
uses reqresp_parser.h but not sip.h, this was a problem. These
moved declares are not used outside of reqresp_parser. * While
modifying reqprep() the lack of {} caused me trouble. I added
them. * Code outside route.c treats sip_route as an opaque
structure, using macro's or procedures for all access. (closes
issue ASTERISK-22582) Reported by: Corey Farrell Review:
https://reviewboard.asterisk.org/r/3173/
2014-02-10 16:49 +0000 [r407876] Walter Doekes <walter+asterisk@wjd.nu>
* res/res_config_pgsql.c, /: res_config_pgsql: Fix
ast_update2_realtime calls. Fix so multiple updates from a single
call works (add missing ','). Remove bogus ast_free's that
weren't supposed to be there. Moved a few spaces for readability.
Review: https://reviewboard.asterisk.org/r/3194/ ........ Merged
revisions 407873 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407874 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407875 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-10 16:01 +0000 [r407859] Kinsey Moore <kmoore@digium.com>
* UPGRADE.txt, apps/app_confbridge.c,
apps/confbridge/conf_state_multi_marked.c,
apps/confbridge/conf_state_empty.c,
apps/confbridge/conf_config_parser.c,
configs/confbridge.conf.sample, /,
apps/confbridge/include/confbridge.h: ConfBridge: Correct prompt
playback target Currently, when the first marked user enters the
conference that contains waitmarked users, a prompt is played
indicating that the user is being placed into the conference.
Unfortunately, this prompt is played to the marked user and not
the waitmarked users which is not very helpful. This patch
changes that behavior to play a prompt stating "The conference
will now begin" to the entire conference after adding and
unmuting the waitmarked users since the design of confbridge is
not conducive to playing a prompt to a subset of users in a
conference in an asynchronous manner. (closes issue PQ-1396)
Review: https://reviewboard.asterisk.org/r/3155/ Reported by:
Steve Pitts ........ Merged revisions 407857 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407858 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-07 20:52 +0000 [r407767] Richard Mudgett <rmudgett@digium.com>
* /, channels/chan_iax2.c: chan_iax2: Add some more iaxs[] NULL
checks to a routine already full of them. ........ Merged
revisions 407764 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407765 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407766 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-07 20:17 +0000 [r407752] Matthew Jordan <mjordan@digium.com>
* /, main/security_events.c: security_events: Fix assertion failure
in dev-mode on optional IE parsing When formatting an optional
IE, the value is, of course, optional. As such, it is entirely
appropriate for ast_json_object_get to return NULL. If that
occurs, we now simply skip the IE that was requested, as it was
not provided by the entity that raised the event. Thanks to
George Joseph (gtjoseph) for catching this and reporting it in
#asterisk-dev ........ Merged revisions 407750 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-07 20:01 +0000 [r407749] Joshua Colp <jcolp@digium.com>
* res/res_timing_kqueue.c, main/timing.c, res/res_timing_pthread.c,
res/res_timing_dahdi.c, res/res_timing_timerfd.c,
include/asterisk/timing.h: timing: Improve performance for most
timing implementations. This change allows timing implementation
data to be stored directly on the timer itself thus removing the
requirement for many implementations to do a container lookup for
the same information. This means that API calls into timing
implementations can directly access the information they need
instead of having to find it. Review:
https://reviewboard.asterisk.org/r/3175/
2014-02-07 19:40 +0000 [r407748] Matthew Jordan <mjordan@digium.com>
* /, funcs/func_cdr.c: funcs/func_cdr: Handle empty time values
when extracting parsed values When extracting timestamps that are
parsed, time stamp values that are not set (time values of
0.000000) should not actually result in a parsed string. The
value should be skipped, and the result of the CDR function
should be an empty string. Prior to this patch, the result was
fed to the time formatting, which would result in an output of a
date/time in 1969. ........ Merged revisions 407747 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-07 18:29 +0000 [r407731] Richard Mudgett <rmudgett@digium.com>
* configs/iax.conf.sample, /, channels/chan_iax2.c,
include/asterisk/frame.h: chan_iax2: Block unnecessary control
frames to/from the wire. Establishing an IAX2 call between
Asterisk v1.4 and v1.8 (or later) results in an unexpected call
disconnect. The problem happens because newer values in the enum
ast_control_frame_type are not consistent between the branch
versions of Asterisk. For example: 1) v1.4 calls v1.8 (or later)
using IAX2 2) v1.8 answers and sends a connected line update
control frame. (on v1.8 AST_CONTROL_CONNECTED_LINE = 22) 3) v1.4
receives the control frame as an end-of-q (on v1.4
AST_CONTROL_END_OF_Q = 22) 4) v1.4 disconnects the call once the
receive queue becomes empty. Several things are done by this
patch to fix the problem and attempt to prevent it from happening
again in the future: * Added a warning at the definition of enum
ast_control_frame_type about how to add new control frame values.
* Made block sending and receiving control frames that have no
reason to go over the wire. * Extended the connectedline iax.conf
parameter to also include the redirecting information updates. *
Updated the connectedline iax.conf parameter documentation to
include a notice that the parameter must be "no" when the peer is
an Asterisk v1.4 instance. (closes issue AST-1302) Review:
https://reviewboard.asterisk.org/r/3174/ ........ Merged
revisions 407678 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407727 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407729 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-07 16:47 +0000 [r407677] Matthew Jordan <mjordan@digium.com>
* /, main/security_events.c: security_events: Fix error caused by
DTD validation error The appdocsxml.dtd specifies that a
"required" attribute in a parameter may have a value of yes, no,
true, or false. On some systems, specifying "False" instead of
"false" would cause a validation error. This patch fixes the
casing to explicitly match the DTD. ........ Merged revisions
407676 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-07 13:15 +0000 [r407625] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* /, configs/indications.conf.sample: indications.conf: add stutter
tone; end properly * If the "stutter" (voicemail indication) tone
is indeed a stutter tone, and it ends with a constant tone, make
sure that it is the dial tone. This was done for India (in),
Mexico (mx) and the Philippines (ph). * If no "stutter" tone
exists for a country, provide one. This was done for Spain (es),
Malaysia (my) and Venezuela (ve). Review:
https://reviewboard.asterisk.org/r/3158/ ........ Merged
revisions 407622 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407623 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407624 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-06 21:24 +0000 [r407602] Matthew Jordan <mjordan@digium.com>
* /, main/security_events.c, UPGRADE.txt, CHANGES: security_events:
Add AMI documentation; output optional fields This patch adds
documentation for the Security Events that are emited over AMI.
It also notes these events in the UPGRADE/CHANGES file. ........
Merged revisions 407589 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-06 19:58 +0000 [r407588] Rusty Newton <rnewton@digium.com>
* /, configs/pjsip.conf.sample: configs/pjsip.conf.sample:
Configuration section naming in pjsip.conf.sample needs a little
clarification There is a bit of nuance to how you name things in
pjsip.conf. This is a documentation patch to at least clear it up
a little for users. Review:
https://reviewboard.asterisk.org/r/3180/ ........ Merged
revisions 407587 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-06 18:11 +0000 [r407574] Kevin Harwell <kharwell@digium.com>
* contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
/: pjsip realtime: already created enum failure for postgresql If
an enum had been previously created the alembic script would
attempt to re-create it and an error would be generated while
running migrations for a postgresql server. The work around for
this is to use the ENUM object type for postgres as opposed to
the generic enum type used by sqlalchemy. Using this type in the
script seems to work properly for both postgres and mysql.
........ Merged revisions 407572 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-06 17:55 +0000 [r407573] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
res/res_pjsip/config_auth.c, /, res/res_pjsip/location.c,
res/res_pjsip_outbound_registration.c,
res/res_pjsip_endpoint_identifier_ip.c,
include/asterisk/res_pjsip_cli.h, res/res_pjsip/pjsip_cli.c,
res/res_pjsip/pjsip_configuration.c,
res/res_pjsip/config_domain_aliases.c, res/res_pjsip_logger.c,
res/res_pjsip/include/res_pjsip_private.h,
res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c:
res_pjsip: Updates and adds more PJSIP CLI commands. * Adds
identify, transport, and registration support to the PJSIP CLI. *
Creates three additional callbacks, one for an iterator, one for
a comparator, and one for a container. This eliminates the link
dependency from higher level modules to lower level ones. *
Eliminates duplicate sorting in PJSIP CLI commands. * Cleans up
PJSIP CLI output formatting. * Pushes CLI command registration
down to the implementing source file. * Adds several
ast_sip_destroy_sorcery functions to complement existing
ast_sip_sorcery_initialize functions. The destroy functions
unregister PJSIP CLI commands and PJSIP CLI formatters. Reported
by: George Joseph Review:
https://reviewboard.asterisk.org/r/3104/ ........ Merged
revisions 407568 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-05 23:04 +0000 [r407514] Rusty Newton <rnewton@digium.com>
* /, formats/format_wav.c: formats/format_wav: enhancing log
message "Not a wav file" to be clear on what is supported
Modifying the log message to be more specific as to what is
supported. Specifically it seems format_wav supports only PCM
encoded versions with a lower-case '.wav' extension. (closes
issues ASTERISK-22310) Reported by: Jim Credland Review:
https://reviewboard.asterisk.org/r/3188/ ........ Merged
revisions 407511 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407512 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407513 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-05 20:56 +0000 [r407462] Jonathan Rose <jrose@digium.com>
* CHANGES, /: CHANGES: Improved description of Name/Creator changes
to bridge ARI, adds AMI The changes log was written with language
that was a little too internal Asterisk specific, so it's been
changed to be more in the frame of reference of an ARI user.
Also, previously the AMI event changes were omitted from the
change log as well as the ability to include a bridge name in the
ARI post bridges command. ........ Merged revisions 407461 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-05 20:43 +0000 [r407459] Kinsey Moore <kmoore@digium.com>
* /, main/logger.c: Logger: Fix handling of absolute paths This
fixes path handling for log files so that an extra / is not
appended to the file path when the path is absolute (begins with
/). This would previously result in different but functionally
equivalent paths in the output of 'logger show channels'.
........ Merged revisions 407455 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407456 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407458 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-05 19:42 +0000 [r407443] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip/config_global.c, /: res_pjsip: When no global type
the debug option defaults to "yes" If the global section was not
specified in pjsip.conf then the configuration object does not
exist in sorcery so when retrieving "debug" option it would
return NULL. Then the NULL result was passed to ast_false utils
function which would return false because it wasn't set to some
representation of false, thus enabling sip debug logging. Made it
so if the global config object does not exist then it will return
a default of "no" for sip debugging. (issue ASTERISK-23038)
Reported by: Rusty Newton ........ Merged revisions 407442 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-05 17:42 +0000 [r407422-407425] Jonathan Rose <jrose@digium.com>
* CHANGES: CHANGES: Update changes log to include r403414 entry
Adds note of additional 0 for operator option on app_record
* CHANGES, /: CHANGES: Update changes log to include new bridge
fields added in r404042 ........ Merged revisions 407419 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-05 15:29 +0000 [r407407] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/playbacks.json, UPGRADE.txt,
rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
include/asterisk/manager.h, rest-api/api-docs/bridges.json,
rest-api/api-docs/deviceStates.json,
rest-api/api-docs/mailboxes.json,
rest-api/api-docs/asterisk.json,
rest-api/api-docs/applications.json,
rest-api/api-docs/channels.json,
rest-api/api-docs/recordings.json,
rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
/: ARI/AMI: Update versions; update UPGRADE/CHANGES notes for
12.1.0 changes Due to backwards compatible changes made to
AMI/ARI, the version needs to be bumped to 1.1.0/2.1.0,
respectively. ........ Merged revisions 407402 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-04 20:15 +0000 [r407275-407340] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/devicestate.h, /, main/devicestate.c:
devicestate: Make ast_devstate_changed_literal() return value and
doxygen consistent. Nothing actually cares about the value
anyway. (closes issue ASTERISK-23178) Reported by: Jonathan Rose
........ Merged revisions 407337 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407338 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407339 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix assertion
for pjsip.conf authorization list options. (closes issue
ASTERISK-23168) Reported by: George Joseph Review:
https://reviewboard.asterisk.org/r/3143/ ........ Merged
revisions 407324 from
http://svn.asterisk.org/svn/asterisk/branches/12
* configs/sip.conf.sample, main/tcptls.c, /: tcptls.c: Made TLS
handle a certificate chain file. Thanks to Guillaume Martres for
doing the necessary research to validate the change. (closes
issue ASTERISK-17727) Reported by: LN Patches:
use_certificate_chain.patch (license #5864) patch uploaded by st
documente_certificate_chain.patch (license #6576) patch uploaded
by Guillaume Martres ........ Merged revisions 407272 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407273 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407274 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-04 16:55 +0000 [r407260] Matthew Jordan <mjordan@digium.com>
* /, funcs/func_cdr.c: funcs/func_cdr: Fix non-epoch timestamps
broken by improper char array deref Thanks to snuffy for pointing
this issue out and fixing it. (closes issue ASTERISK-23250)
Reported by: snuffy patches: func_cdr-fix.diff uploaded by snuffy
(License 5024) ........ Merged revisions 407259 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-04 02:22 +0000 [r407217] Joshua Colp <jcolp@digium.com>
* res/res_clialiases.c, /: res_clialiases: Fix crash when reloading
and re-aliasing an alias that is in use. The code assumed that
unregistering the alias would always succeed while in practice
this is not actually true. A common case is the "reload" command
itself. If the cli_aliases.conf configuration file was changed
and reload executed the command would fail to unregister and
ultimately point to freed memory. The reload process now checks
whether unregistering succeeded or not and if not the old CLI
alias is retained. (closes issue ASTERISK-19773) Reported by:
Joel Vandal (closes issue ASTERISK-22757) Reported by: Gareth
Blades ........ Merged revisions 407205 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407210 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407213 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-04 02:07 +0000 [r407198] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Skinny - Fix deadlock when pickup of
no call. Locking issues in skinny when picking up a call that
doesn't exist. Cleaned up sub locking by fully removing and using
the chan lock instead. Also changed ast_call_pickup to check
whether chan was masq'd. (closes issue ASTERISK-23249) Reported
by: wedhorn Tested by: snuffy, myself Patches:
skinny-locking01.diff uploaded by wedhorn (license 5019) ........
Merged revisions 407197 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-03 01:31 +0000 [r407169] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: cdrs: Check for applications to lock onto during
dial begin handling This patch brings CDR processing further in
line with r407085. During some dial operations, the application
would not be locked to the Dial application and would instead
continue to show the previously known application. In particular,
this would occur when a Parked call would time out. This was due
to a previous snapshot already locking the application to Park -
processing this in a Dial Begin allows the Dial application to
reassert its rightful place. (CDRs. Ugh.) But hooray for the
Parked Call tests for catching this in the Asterisk Test Suite.
........ Merged revisions 407166 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-01 16:26 +0000 [r407154] Joshua Colp <jcolp@digium.com>
* rest-api/api-docs/events.json, /, res/stasis/app.c,
res/ari/ari_model_validators.c, res/res_stasis.c,
main/stasis_bridges.c, res/ari/ari_model_validators.h:
res_stasis: Enable transfers and provide events when they occur.
This change enables transfers within ARI created bridges and adds
events for when they occur. Unlike other events these will be
received if *any* subscribed object is involved in the transfer.
(closes issue ASTERISK-22984) Reported by: David M. Lee Review:
https://reviewboard.asterisk.org/r/3120/ ........ Merged
revisions 407153 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-02-01 00:25 +0000 [r407105] Corey Farrell <git@cfware.com>
* /, apps/app_stack.c: app_stack: protect against missing
parameters to STACK_PEEK and LOCAL_PEEK STACK_PEEK requires 2
parameters and LOCAL_PEEK requires 1 parameter. This protects
against situations where those parameters are blank or missing by
logging an error and returning. (closes issue ASTERISK-23220)
Reported by: James Sharp ........ Merged revisions 407100 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 407103 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407104 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-31 23:40 +0000 [r407083-407085] Matthew Jordan <mjordan@digium.com>
* main/manager_channels.c, apps/app_dial.c, main/cdr.c, main/pbx.c,
/, main/bridge_after.c, UPGRADE.txt: CDRs: fix a variety of dial
status problems, h/hangup handler creating CDRs This patch fixes
a number of small-ish problems that were noticed when witnessing
the records that the FreePBX dialplan produces: (1) Mid-call
events (as well as privacy options) have the ability to change
the overall state of the Dial operation after the called party
answers. This means that publishing the DialEnd event when the
called party is premature; we have to wait for the execution of
these subroutines to complete before we can signal the overall
status of the DialEnd. This patch moves that publication and adds
handlers for the mid-call events. (2) The AST_FLAG_OUTGOING
channel flag is cleared if an after bridge goto datastore is
detected. This flag was preventing CDRs from being recorded for
all outbound channels that had a 'continue' option enabled on
them by the Dial application. (3) The CDR engine now locks the
'Dial' application as being the CDR application if it detects
that the current CDR has entered that app. This is similar to the
logic that is done for Parking. In general, if we entered into
Dial, then we want that CDR to record the application as such -
this prevents pre-dial handlers, mid-call handlers, and other
shenaniganry from changing the application value. (4) The CDR
engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more
places to determine if the channel is in hangup logic or dead. In
either case, we don't want to record changes in the channel. (5)
The default option for "endbeforehexten" has been changed to
"yes". In general, you don't want to see CDRs in the 'h' exten or
in hangup logic. Since the semantics of that option changed in
12, it made sense to update the default value as well. (6)
Finally, because we now have the ability to synchronize on the
messages published to the CDR topic, on shutdown the CDR engine
will now synchronize to the messages currently in flight. This
helps to ensure that all in-flight CDRs are written before
shutting down. (closes issue ASTERISK-23164) Reported by: Matt
Jordan Review: https://reviewboard.asterisk.org/r/3154 ........
Merged revisions 407084 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_dial.c, /: app_dial: Allow macro/gosub pre-bridge
execution to occur on priorities The parsing for the destination
of the macro/gosub uses the '^' character to separate out
context, extension, and priority. However, the logic for the
macro/gosub execution was written such that it would only do the
actual macro/gosub jump if a '^' character existed. This doesn't
apply when the macro/gosub jump occurs in a priority/priority
label. This patch changes the logic so that the parsing still
occurs, but the jump will occur even for priorities/priority
labels. (issue ASTERISK-23164) Review:
https://reviewboard.asterisk.org/r/3154 ........ Merged revisions
407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 407074 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 407082 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-31 23:15 +0000 [r407035-407037] Kevin Harwell <kharwell@digium.com>
* UPGRADE.txt, res/res_pjsip_logger.c, CHANGES, res/res_pjsip.c,
include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py
(added), /, configs/pjsip.conf.sample: res_pjsip: Config option
to enable PJSIP logger at load time. Added a "debug"
configuration option for res_pjsip that when set to "yes" enables
SIP messages to be logged. It is specified under the "system"
type. Also added an alembic script to add the option to realtime.
(closes issue ASTERISK-23038) Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/3148/ ........ Merged
revisions 407036 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_exten_state.c: res_pjsip_exten_state: Exporting
global symbols caused load order issues Removed the exportation
of global symbols from the module as it is no longer needed and
it could potentially cause load problems as on some systems it
would try to load before res_pjsip_pubsub ........ Merged
revisions 407034 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-31 23:04 +0000 [r407033] Richard Mudgett <rmudgett@digium.com>
* CHANGES, apps/app_chanspy.c: ChanSpy: Add ability to specify
channel uniqueids as well as channel names. * Made ChanSpy accept
a channel uniqueid or a fully specified channel name as the
chanprefix parameter if the 'u' option is specified. (closes
issue AFS-42) Review: https://reviewboard.asterisk.org/r/3160/
2014-01-31 22:39 +0000 [r407030-407032] Mark Michelson <mmichelson@digium.com>
* include/asterisk/res_pjsip_presence_xml.h (added), /: Add file
that apparently got missed in the merge. ........ Merged
revisions 407031 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_mwi_body_generator.c (added),
res/res_pjsip_pubsub.c, res/res_pjsip_pidf.c (removed),
res/res_pjsip_pidf_eyebeam_body_supplement.c (added),
res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c
(added), include/asterisk/res_pjsip_pubsub.h,
res/res_pjsip_pidf_body_generator.c (added),
include/asterisk/res_pjsip_exten_state.h (removed),
res/res_pjsip_pubsub.exports.in, /,
include/asterisk/res_pjsip_body_generator_types.h (added),
res/res_pjsip_mwi.c, res/res_pjsip_xpidf_body_generator.c
(added): Decouple subscription handling from NOTIFY/PUBLISH body
generation. When the PJSIP pubsub framework was created,
subscription handlers were required to state what event they
handled along with what body types they knew how to generate.
While this serves well when implementing a base RFC, it has
problems when trying to extend the body to support non-standard
or proprietary body elements. The code also was NOTIFY-specific,
meaning that when the time comes that we start writing code to
send out PUBLISH requests with MWI or presence bodies, we would
likely find ourselves duplicating code that had previously been
written. This changeset introduces the concept of body generators
and body supplements. A body generator is responsible for
allocating a native structure for a given body type, providing
the primary body content, converting the native structure to a
string, and deallocating resources. A body supplement takes the
primary body content (the native structure, not a string)
generated by the body generator and adds nonstandard elements to
the body. With these elements living in their own module, it
becomes easy to extend our support for body types and to re-use
resources when sending a PUBLISH request. Body generators and
body supplements register themselves with the pubsub core,
similar to how subscription and publish handlers had done. Now,
subscription handlers do not need to know what type of body
content they generate, but they still need to inform the pubsub
core about what the default body type for a given event package
is. The pubsub core keeps track of what body generators and body
supplements have been registered. When a SUBSCRIBE arrives, the
pubsub core will check that there is a subscription handler for
the event in the SUBSCRIBE, then it will check that there is a
body generator that can provide the content specified in the
Accept header(s). Because of the nature of body generators and
supplements, it means res_pjsip_exten_state and res_pjsip_mwi
have been completely gutted. They no longer worry about body
types, instead calling ast_sip_pubsub_generate_body_content()
when they need to generate a NOTIFY body. Review:
https://reviewboard.asterisk.org/r/3150 ........ Merged revisions
407016 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-31 22:23 +0000 [r407015-407029] Kevin Harwell <kharwell@digium.com>
* contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
/, UPGRADE.txt: alembic: script modifications due to errors A
couple of the scripts had errors that would not allow a full
migration to take place. The extensions table needed to make its
'id' column a primary key in order to work with mysql. The other
script ...add_endpoints... was missing tables that it was trying
to add columns to. Added the primary key on id for extensions and
added the tables in for the missing pjsip configuration options.
While it is not ideal to modify already released scripts this was
a case where it had to be done due to errors in the script and
lacking a better alternative. Review:
https://reviewboard.asterisk.org/r/3167/ ........ Merged
revisions 407019 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_mwi.c: res_pjsip_mwi: Subscribe fails when
missing aor name When subscribing to MWI (res_pjsip_mwi) and the
sip uri did not contain a name (ex: sip:<ip address>) then the
subscription would fail since it would be unable to locate an
associated aor. This patch makes it so that when a subscribe
comes with no aor name then it will subscribe to all aors on the
located endpoint. (closes issue ASTERISK-23072) Reported by: Bob
M Review: https://reviewboard.asterisk.org/r/3164/ ........
Merged revisions 407014 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-31 15:08 +0000 [r407001] Kinsey Moore <kmoore@digium.com>
* /, res/res_pjsip_nat.c: PJSIP: Fix address for ACK in NAT
situations In NAT scenarios where a call is placed to a
Grandstream phone, res_pjsip will sometimes send the ACK to a 200
OK to the private address of the device behind the NAT instead of
the address of the NAT device. This corrects that behavior by
rewriting the address in the Contact header in the incoming 200
OK and the dialog's target address if necessary (since it has
already been rewritten to the incorrect private address). (closes
issue ASTERISK-23106) Review:
https://reviewboard.asterisk.org/r/3168/ Reported by: Matt Jordan
........ Merged revisions 407000 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-31 05:31 +0000 [r406988] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Skinny: fix up possible double unlock
of chan. Return before chan is possibly unlocked a second time
when hanging up a channel in SUBSTATE_OFFHOOK. ........ Merged
revisions 406987 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-30 20:36 +0000 [r406936] Corey Farrell <git@cfware.com>
* main/udptl.c, res/res_rtp_asterisk.c, /: res_rtp_asterisk &
udptl: fix port selection to work with SELinux restrictions
ast_bind to a port reserved for another program by SELinux causes
errno == EACCES. This caused random failures when binding rtp or
udptl sockets. Treat EACCES as a non-fatal error, try next port.
(closes issue ASTERISK-23134) Reported by: Corey Farrell ........
Merged revisions 406933 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406934 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406935 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-30 17:35 +0000 [r406920] Sean Bright <sean@malleable.com>
* /, main/manager.c: Make a NOTICE about an invalid channel name
more useful. ........ Merged revisions 406918 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406919 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-29 00:44 +0000 [r406863] Russell Bryant <russell@russellbryant.com>
* configs/queues.conf.sample, /: queues.conf.sample Fix documented
default for persistentmembers Closes issue ASTERISK-22662
........ Merged revisions 406860 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406861 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406862 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-28 23:40 +0000 [r406789-406848] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip_pubsub.c, /: res_pjsip_pubsub: potential crash on
timeout What seems to be happening is if a subscription has been
terminated and the subscription timeout/expires is less than the
time it takes for all pending transactions (currently on the
subscription) to end then the subscription timer will not have
been canceled yet and sub will be null. Since the subscription
has already been canceled nothing needs to be done so a null
check in the asterisk code is sufficient in working around this
problem. (closes issue ASTERISK-23129) Reported by: Dan Jenkins
........ Merged revisions 406847 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
cdr/cdr_radius.c, cel/cel_radius.c: cdr_radius, cel_radius: build
agains libfreeradius-client Asterisk's RADIUS module currently
build against libradiusclient-ng, but this project has been
superseeded by libfreeradius-client. The API is 99% compatible
except that the header name has changed, the library name has
changed, and the configuration file location has changed. (closes
issue ASTERISK-22980) Reported by: Jeremy Lainé Patches:
freeradius-client.patch uploaded by sharky (license 6561)
........ Merged revisions 406801 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406802 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406803 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, include/asterisk/compat.h,
res/res_pjsip/include/res_pjsip_private.h: res_pjsip,compat:
INFINITY and NAN undefined On some systems the values for
INFINITY and NAN are not defined thus causing a build error on
those systems. Added definitions for those if they had not
previously been defined. (closes issue ASTERISK-23056) Reported
by: capouch Patches: inf-nan-patch.txt uploaded by capouch
(license 6564) ........ Merged revisions 406788 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-28 19:19 +0000 [r406778] Kinsey Moore <kmoore@digium.com>
* /, res/res_stasis_device_state.c: ARI: Make double subscribe
respond with success Currently, attempting to subscribe an
application to a device state that it has already subscribed to
will generate a 500 error response. This will now be treated as a
subscription refresh even though ARI subscriptions don't
currently support lifetimes and will respond with the normal
response for a successful subscription (200 OK). (closes issue
ASTERISK-23143) Reported by: Matt Jordan ........ Merged
revisions 406775 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-28 16:43 +0000 [r406724] Scott Griepentrog <sgriepentrog@digium.com>
* main/rtp_engine.c, /: rtp_engine: improved handling of
get_rtp_info failure In ast_rtp_instance_make_compatible(), after
a failure of channel tech call get_rtp_info() to return
peer_instance, the null pointer would be passed to ao2_ref,
producing an error that looked like a refernce counting problem
but is not. This patch corrects that and adds helpful LOG_ERROR
messages to indicate which failure path occurred. (issue
AST-1276) Review: https://reviewboard.asterisk.org/r/3156/
........ Merged revisions 406721 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406722 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406723 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-28 00:20 +0000 [r406710] Richard Mudgett <rmudgett@digium.com>
* tests/test_cdr.c, /, tests/test_cel.c: test_cdr.c, test_cel.c:
Correctly destroy created bridges. * Fixed the
test_cel_attended_transfer_bridges_link unit test to also account
for the local channel link being destroyed now that the bridges
are actually destroyed. * Made CDR unit test use its own version
of do_sleep() from the CEL unit tests. ........ Merged revisions
406707 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-27 22:54 +0000 [r406647-406696] Kevin Harwell <kharwell@digium.com>
* CHANGES: manager: ExtensionStatus event status human readable
Added a note in the changes file about the new 'StatusText' field
that was added to the 'ExtensionStatus' event. (issue
ASTERISK-23154) Reported by: Jonathan Rose
* main/manager.c: manager: ExtensionStatus event status human
readable When an 'ExtensionStatus' event was raised it included
the status as a numerical value, but did not include a text
description of the status. Added a 'StatusText' field to the
event which is a string representation of the extension status.
Also added this to the 'Extension State' command response.
(closes issue ASTERISK-23154) Reported by: Jonathan Rose
2014-01-27 20:38 +0000 [r406646] Russell Bryant <russell@russellbryant.com>
* main/config.c, /: Allow nested #includes in extconfig.conf
extconfig.conf was hard-coded to not allow nested includes for
some reason. The code has been this way since a patch was merged
for ASTERISK-3333 (revision 4889), which was a significant update
to this code ("Merge config updates"). I can't figure out any
good reason why this should be limited. This patch just removes
the limit and uses the default nesting depth limit. Closes issue
ASTERISK-17837 Review: https://reviewboard.asterisk.org/r/3159/
........ Merged revisions 406643 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406644 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406645 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-27 08:17 +0000 [r406618] Walter Doekes <walter+asterisk@wjd.nu>
* main/manager.c, UPGRADE.txt, configs/manager.conf.sample:
manager: The eventfilter= option now takes an extended regex. In
pre-trunk versions (...12) it accepts a basic regex, which is
confusing because all other regexes in asterisk are of the
extended kind. Review: https://reviewboard.asterisk.org/r/3147/
2014-01-27 01:25 +0000 [r406595] Russell Bryant <russell@russellbryant.com>
* include/asterisk/channel.h, main/channel.c, /, main/file.c:
Protect ast_filestream object when on a channel The
ast_filestream object gets tacked on to a channel via
chan->timingdata. It's a reference counted object, but the
reference count isn't used when putting it on a channel. It's
theoretically possible for another thread to interfere with the
channel while it's unlocked and cause the filestream to get
destroyed. Use the astobj2 reference count to make sure that as
long as this code path is holding on the ast_filestream and
passing it into the file.c playback code, that it knows it's
valid. Bug reported by Leif Madsen. Review:
https://reviewboard.asterisk.org/r/3135/ ........ Merged
revisions 406566 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406567 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406574 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-26 23:04 +0000 [r406517] Richard Mudgett <rmudgett@digium.com>
* main/tcptls.c, /: tcptls.c: Add missing cleanup on off nominal
path. ........ Merged revisions 406514 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406515 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406516 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-26 14:19 +0000 [r406503] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* contrib/scripts/live_ast: live_ast: run wrapped programs with
exec live_ast can be used as a wrapper script to run asterisk,
gdb or valgrind. In those cases it runs them and returns the
result. It is more useful to use 'exec' to avoid having another
odd process in the chain. Review:
https://reviewboard.asterisk.org/r/3110/
2014-01-26 02:11 +0000 [r406490] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_session.c: res_pjsip_session: Be less strict
with core requested outgoing capabilities. The core may
(depending on circumstances) request a single codec on outgoing
calls. Many channel drivers ignore or treat this as a suggestion
while still including configured codecs. The res_pjsip_session
logic treated this as an explicit request, leaving out other
configured codecs. This change makes res_pjsip_session behave
like other channel driver and simply adds the requested codec to
the list. (closes issue ASTERISK-23082) Reported by: xrobau
Review: https://reviewboard.asterisk.org/r/3140/ ........ Merged
revisions 406489 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-24 23:33 +0000 [r406466] Richard Mudgett <rmudgett@digium.com>
* /, main/cel.c: CEL: Protect data structures during reload and
shutdown. The CEL data structures need to be protected during a
configuration reload and shutdown. Asterisk crashed during a
shutdown because CEL events were still in flight and the CEL data
structures were already destroyed. * Protected the cel_backends,
cel_dialstatus_store, and cel_linkedids ao2 containers with a
global ao2 object wrapper. * Added NULL checks before use of the
cel_backends, cel_dialstatus_store, and cel_linkedids ao2
containers in case the CEL module is already shutdown. * Fixed
overloading of the cel_linkedids held objects reference count.
During shutdown any held objects would be leaked. * Fixed memory
leak of cel_linkedids held objects if the LINKEDID_END is not
being tracked. The objects in the cel_linkedids container were
not removed if the LINKEDID_END event is not used. * Added access
protection to the cel_backends container during the CLI "cel show
status" command. * Made cel_backends, cel_dialstatus_store, and
cel_linkedids use the standard ao2 callback templates for the
hash and cmp functions. * Eliminated unnecessary uses of
RAII_VAR(). * Made ast_cel_engine_init() cleanup alocated
resources on failure. (closes issue AST-1253) Reported by:
Guenther Kelleter Review:
https://reviewboard.asterisk.org/r/3128/ ........ Merged
revisions 406417 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406418 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406465 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-24 22:34 +0000 [r406416] Jonathan Rose <jrose@digium.com>
* main/utils.c, CHANGES: Thread Debugging: Add LWP to core show
locks output This patch adds the LWP to core show locks output if
it is available. Review: https://reviewboard.asterisk.org/r/3142/
2014-01-24 22:18 +0000 [r406407] Richard Mudgett <rmudgett@digium.com>
* /, main/manager.c: manager: Register atexit shutdown routine only
once. * Made register atexit shutdown routine only once in
__init_manager(). * Fixed some initial load failure conditions in
__init_manager(). * Made reset options to defaults on reload when
the reload will actually happen. * Removed unnecessary container
traversals of the white/black filters during manager_free_user().
* ast_free() does not need a NULL check before calling. ........
Merged revisions 406359 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406400 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406401 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-24 21:46 +0000 [r406399] Jonathan Rose <jrose@digium.com>
* res/res_config_pgsql.c, /: res_config_pgsql: Fix a memory leak
and use RAII_VAR for cleanup when practical Review:
https://reviewboard.asterisk.org/r/3141/ ........ Merged
revisions 406360 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406361 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406389 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-24 18:13 +0000 [r406343] Richard Mudgett <rmudgett@digium.com>
* main/manager.c, /: manager: Protect data structures during
shutdown. Occasionally, the manager module would get an
"INTERNAL_OBJ: bad magic number" error on a "core restart
gracefully" command if an AMI connection is established. * Added
ao2_global_obj protection to the sessions global container. *
Fixed the order of unreferencing a session object in
session_destroy(). * Removed unnecessary container traversals of
the white/black filters during session_destructor(). (closes
issue AST-1242) Reported by: Guenther Kelleter Review:
https://reviewboard.asterisk.org/r/3144/ ........ Merged
revisions 406341 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406342 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-23 23:43 +0000 [r406328] Mark Michelson <mmichelson@digium.com>
* /: Today is not my day for writing code that compiles. ........
Merged revisions 406327 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-23 22:56 +0000 [r406312] Michael L. Young <elgueromexicano@gmail.com>
* addons/res_config_mysql.c, /: res_config_mysql: Fix Setting The
Column Name Incorrectly When support for a realtime sorcery
module was added in revision 386731, the wrong property was
accidentally used for setting the column name to be updated in
the database table. This patch fixes the typo. (closes issue
ASTERISK-23177) Reported by: Denis Tested by: Denis Patches:
asterisk-23177-use-field-name.diff by Michael L. Young (license
5026) ........ Merged revisions 406311 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-23 21:18 +0000 [r406298] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_pidf.c, /: Multiple revisions 406294-406295
........ r406294 | mmichelson | 2014-01-23 15:00:24 -0600 (Thu,
23 Jan 2014) | 11 lines Fix presence body errors found during
testing: * PIDF bodies were reporting an "open" state in many
cases where it should have been reporting "closed" * XPIDF bodies
had XML nodes placed incorrectly within the hierarchy. * SIP URIs
in XPIDF bodies did not go through XML sanitization * XML
sanitization had some errors: * Right angle bracket was being
replaced with "&rt;" instead of "&gt;" * Double quote,
apostrophe, and ampersand were not being escaped. ........
r406295 | mmichelson | 2014-01-23 15:09:35 -0600 (Thu, 23 Jan
2014) | 11 lines Fix presence body errors found during testing: *
PIDF bodies were reporting an "open" state in many cases where it
should have been reporting "closed" * XPIDF bodies had XML nodes
placed incorrectly within the hierarchy. * SIP URIs in XPIDF
bodies did not go through XML sanitization * XML sanitization had
some errors: * Right angle bracket was being replaced with "&rt;"
instead of "&gt;" * Double quote, apostrophe, and ampersand were
not being escaped. ........ Merged revisions 406294-406295 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-22 22:24 +0000 [r406269] Scott Griepentrog <sgriepentrog@digium.com>
* main/pbx.c, /, utils/extconf.c: pbx.c: Pre-initialize timezone to
avoid crash on destroy In ast_build_timing, initialize the
timezone value to NULL in order to avoid deferencing an
uninitialized value later when calling ast_destroy_timing. The
timezone value could be uninitialized if ast_build_timing were to
fail due to a zero length time string. (closes issue
ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review:
https://reviewboard.asterisk.org/r/3134/ Patches:
ast_build_timing-initialize-timezone.patch uploaded by
coreyfarrell (license 5909) ........ Merged revisions 406241 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406245 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406264 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-22 19:36 +0000 [r406153-406224] Kinsey Moore <kmoore@digium.com>
* /, apps/app_confbridge.c: ConfBridge: Fix channel parameter
documentation Confbridge AMI and CLI commands for mute, unmute,
and setting the single video source can accept channel prefixes
in lieu of a full channel name, but documentation states only
that it is required and is a channel name. This corrects the
documentation. (closes issue PQ-1397) Reported by: Steve Pitts
........ Merged revisions 406217 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406223 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: chan_sip: Decline image streams on
unsupported transports This change allows chan_sip to decline
individual image streams over unsupported transports in the SDP
of the 200 response. Previously, an image stream offer with
RTP/AVP as the transport would cause chan_sip to respond with a
488. (closes issue ASTERISK-22988) Reported by: adomjan Original
patch by: adomjan ........ Merged revisions 406170 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406171 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406172 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_stasis_playback.c, /: res_stasis_playback: Correct error
argument order Several of the playback error messages for invalid
media input in res_stasis_playback.c had the media name and
channel name reversed. They now correctly identify the channel
name and media name. Reported by: skrusty ........ Merged
revisions 406152 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-21 21:48 +0000 [r406134] Rusty Newton <rnewton@digium.com>
* /, res/res_pjsip.c: res_pjsip: Documentation improvement for
Endpoint and AOR mailbox options. Making the help text for both
more explicit regarding the format of mailbox identifiers. i.e.
clarifying the format for app_voicemail mailboxes vs mailboxes
from external MWI sources through modules such as
res_external_mwi. ........ Merged revisions 406133 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-21 21:08 +0000 [r406082] Walter Doekes <walter+asterisk@wjd.nu>
* main/manager.c, /, configs/manager.conf.sample: manager: Clarify
eventfilter documentation. Textual changes only. Review:
https://reviewboard.asterisk.org/r/3133/ ........ Merged
revisions 406079 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406080 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406081 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-21 20:28 +0000 [r406006-406078] Kinsey Moore <kmoore@digium.com>
* channels/chan_mgcp.c, /: chan_mgcp: Enforce locking for oseq This
restricts direct usage of global oseq so that all accesses are
locked and threads are not racing to get oseq values that they
did not claim. This also fixes a build error in res_pktccops
under dev mode. (closes issue ASTERISK-23100) Reported by:
adomjan Patch by: adomjan ........ Merged revisions 406037 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 406038 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 406049 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_outbound_registration.c, res/res_pjsip.c: PJSIP:
Handle headers in a list appropriately The PJSIP header parsing
function (pjsip_parse_hdr) can generate more than one header
instance from a single header field. These header instances exist
as a list attached to the returned header and must be handled
appropriately when they are added to a message or else only the
first header instance will be used. This changes the linked list
functions used in outbound proxy code to merge the lists
properly. ........ Merged revisions 406020 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/ari/resource_bridges.h, res/ari/resource_device_states.h,
res/ari/resource_mailboxes.h, res/ari/resource_asterisk.h,
rest-api/api-docs/channels.json, res/ari/resource_applications.h,
res/ari/resource_channels.c, res/res_ari_playbacks.c,
res/res_ari_sounds.c, rest-api-templates/asterisk_processor.py,
res/ari/resource_channels.h, res/res_ari_bridges.c, /,
res/res_ari_device_states.c,
rest-api-templates/ari_resource.h.mustache,
res/res_ari_mailboxes.c, res/res_ari_asterisk.c,
res/res_ari_applications.c,
rest-api-templates/res_ari_resource.c.mustache,
rest-api-templates/body_parsing.mustache (added),
res/res_ari_channels.c, res/ari/resource_playbacks.h,
rest-api-templates/param_parsing.mustache,
res/ari/resource_sounds.h: ARI: Support channel variables in
originate This adds back in support for specifying channel
variables during an originate without compromising the ability to
specify query parameters in the JSON body. This was accomplished
by generating the body-parsing code in a separate function
instead of being integrated with the URI query parameter parsing
code such that it could be called by paths with body parameters.
This is transparent to the user of the API and prevents manual
duplication of code or data structures. (closes issue
ASTERISK-23051) Review: https://reviewboard.asterisk.org/r/3122/
Reported by: Matt Jordan ........ Merged revisions 406003 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-20 23:25 +0000 [r405985] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Skinny: fix up handling of fragmented
packets. Bad offset in reading second or more fragment of skinny
packets. Fixed to offset by char (single byte) rather than size
of req. ........ Merged revisions 405982 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-20 22:23 +0000 [r405947] Richard Mudgett <rmudgett@digium.com>
* channels/sig_pri.c, /: chan_dahdi/PRI: Suppress CONNECTED_LINE
updates when nothing in the udpate is valid. * Also simplified
some subddress handling code. (closes issue ASTERISK-23008)
Reported by: Michael Cargile ........ Merged revisions 405926
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 405927 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405928 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-20 21:56 +0000 [r405925] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Skinny: fix up session logging.
Logging from the skinny session loop was providing some incorrect
reasons for exiting the loop. Cleaned up messages and handling so
correct reason displayed. ........ Merged revisions 405924 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-20 18:18 +0000 [r405910] Jonathan Rose <jrose@digium.com>
* /, channels/chan_pjsip.c: chan_pjsip: Provide a means for
tracking device state when holding/unholding Previously PJSIP did
not track hold/unhold and it would always simply be 'inuse'. This
patch fixes that. review:
https://reviewboard.asterisk.org/r/3129/ ........ Merged
revisions 405908 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-19 00:01 +0000 [r405894] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Skinny: fix reversed device reset from
CLI. Existing code would do a full device restart when "skinny
reset device" was entered at the CLI and do a reset when "skinny
reset device restart" entered. ........ Merged revisions 405893
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-17 22:09 +0000 [r405878] Sean Bright <sean@malleable.com>
* /, channels/chan_sip.c: Make sure the maxptime attribute is added
to the correct offers. ........ Merged revisions 405877 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-17 21:33 +0000 [r405862-405876] Scott Griepentrog <sgriepentrog@digium.com>
* main/frame.c, /, include/asterisk/format_pref.h,
res/res_pjsip_sdp_rtp.c, main/format_pref.c, main/sorcery.c:
pjsip: fix support for allow=all This change adds improvements to
support for allow=all in pjsip.conf so that it functions as
intended. Previously, the allow/disallow socery configuration
would set & clear codecs from the media.codecs and media.prefs
list, but if all was specified the prefs list was not updated.
Then a call would fail when create_outgoing_sdp_stream() created
an SDP with no audio codecs. A new function
ast_codec_pref_append_all() is provided to add all codecs to the
prefs list - only those not already on the list. This enables the
configuration to specify a codec preference, but still add all
codecs, and even then remove some codecs, as shown in this
example: allow = ulaw, alaw, all, !g729, !g723 Also, the display
order of allow in cli output is updated to match the
configuration by using prefs instead of caps when generating a
human readable string. Finally, a change to
create_outgoing_sdp_stream() skips a codec when it does not have
a payload code instead of the call failing. (closes issue
ASTERISK-23018) Reported by: xrobau Review:
https://reviewboard.asterisk.org/r/3131/ ........ Merged
revisions 405875 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/http.c: http: supported chunked Transfer-Encoding This
change implements support for HTTP Transfer-Encoding chunked in
both JSON and Form (post vars) body content. A new function
ast_http_get_contents() handles both regular and chunked mode
body, returning after the entire body is received. (closes issue
ASTERISK-23068) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3125/ ........ Merged
revisions 405861 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-17 18:55 +0000 [r405778-405844] Rusty Newton <rnewton@digium.com>
* res/res_pjsip.c, /: Fixing some XML syntax issues with my
previous commit at r405777 for ASTERISK-23071 ........ Merged
revisions 405843 from
http://svn.asterisk.org/svn/asterisk/branches/12
* configs/sip.conf.sample, apps/app_queue.c, apps/app_transfer.c,
channels/chan_iax2.c, /, channels/chan_sip.c, doc/asterisk.8,
main/features.c: Documentation: doc fixes across various parts of
the code for ASTERISK issues 23061,23028,23046,23027 Fixes typos
of "transfered" instead of "transferred" in various code. Fixes
incorrect gosub param help text for app_queue. Fixes Asterisk man
pages containing unquoted minus signs. Adds note about the
"textsupport" option in sip.conf.sample. (issue ASTERISK-23061)
(issue ASTERISK-23028) (issue ASTERISK-23046) (issue
ASTERISK-23027) (closes issue ASTERISK-23061) (closes issue
ASTERISK-23028) (closes issue ASTERISK-23046) (closes issue
ASTERISK-23027) Reported by: Eugene, Jeremy Laine, Denis
Pantsyrev Patches: transferred.patch uploaded by Jeremy Laine
(license 6561) hyphen.patch uploaded by Jeremy Laine (license
6561) sip.conf.sample.patch uploaded by Eugene (license 6360)
........ Merged revisions 405791 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 405792 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405829 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip.c, /: res_pjsip: enhance documentation for
mailboxes options, for both endpoints and aors Made documentation
more explicit as to the use of the both options. (issue
ASTERISK-23071) (closes issue ASTERISK-23071) Reported by: Matt
Jordan ........ Merged revisions 405777 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-17 14:17 +0000 [r405766] Walter Doekes <walter+asterisk@wjd.nu>
* res/res_musiconhold.c, CHANGES: Enable wide band audio in
musiconhold streams. Review:
https://reviewboard.asterisk.org/r/3112/
2014-01-16 20:06 +0000 [r405747-405749] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip/pjsip_options.c: res_pjsip: AOR option
qualify_frequency not respected on startup If an endpoint had
previously dynamically registered a contact and the contact
information was successfully stored in astdb then upon restart
the qualify notifications would not be sent out if the
qualify_frequency was set. This was due to the fact that only
permanent contacts were being checked and scheduled for qualifies
on startup. Modified the code to check and schedule all
registered contacts at startup. (closes issue ASTERISK-23062)
Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/3124/ ........ Merged
revisions 405748 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/manager.c, /: manager: Originate doesn't abort on failed
format_cap allocation action_originate responds to the remote
system with an error when cap==NULL, but doesn't return (abort
the originate). Patched to return. (closes issue ASTERISK-23034)
Reported by: Corey Farrell Patches: ASTERISK-23034.patch uploaded
by coreyfarrell (license 5909) ........ Merged revisions 405745
from http://svn.asterisk.org/svn/asterisk/branches/11 ........
Merged revisions 405746 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-16 19:33 +0000 [r405744] Kinsey Moore <kmoore@digium.com>
* /, res/res_pjsip.c: PJSIP: Fix outbound OPTIONS support When path
support was added and contacts were made available during request
creation and transmission, the code path used by outbound qualify
support was not modified correctly and was causing request
creation to fail. This ensures that outbound request creation
with only a contact and no dialog, endpoint, or uri can succeed
which restores qualify support. Reported by: gtjoseph Reported
by: kharwell ........ Merged revisions 405743 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-16 19:13 +0000 [r405644-405695] Kevin Harwell <kharwell@digium.com>
* /, res/res_fax.c, configs/res_fax.conf.sample: res_fax:
check_modem_rate() returned incorrect rate for V.27 According to
the new standard for V.27 and V.32 they are able to transmit at a
bit rate of 4,800 or 9,600. The check_mode_rate function needed
to be updated to reflect this. Also, because of this change the
default 'minrate' value was updated to be 4800. (closes issue
ASTERISK-22790) Reported by: Paolo Compagnini Patches:
res_fax.txt uploaded by looserouting (license 6548) ........
Merged revisions 405656 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 405693 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405694 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_pjsip.c, /: chan_pjsip: initial device state on
endpoints is INVALID When endpoints get loaded their device state
gets set to 'INVALID' because the channel driver has not been
loaded yet. Fixed by updating the device state for every endpoint
upon load of the channel driver. (closes issue ASTERISK-23065)
Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/3123/ ........ Merged
revisions 405643 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-15 16:51 +0000 [r405586-405589] Jonathan Rose <jrose@digium.com>
* CHANGES: Make 12 - 12.1 CHANGES log the same as in 12
* /, CHANGES: Include CHANGES info for r405553 ........ Merged
revisions 405585 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-15 16:36 +0000 [r405584] Joshua Colp <jcolp@digium.com>
* /, cel/cel_manager.c: cel_manager: Don't crash if configuration
file is invalid. The cel_manager module did not properly handle
the case where the configuration file was invalid. The module
will now output a warning message and disable itself if this
occurs. Reported by: Bryan Walters ........ Merged revisions
405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 405582 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405583 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-15 13:16 +0000 [r405566] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip_header_funcs.c, res/res_pjsip/location.c,
res/res_pjsip_outbound_registration.c, res/res_pjsip_path.c
(added), res/res_pjsip_mwi.c, res/res_pjsip/pjsip_distributor.c,
res/res_pjsip_diversion.c, channels/chan_pjsip.c,
res/res_pjsip_registrar.c, res/res_pjsip_refer.c,
include/asterisk/res_pjsip.h,
include/asterisk/res_pjsip_session.h, res/res_pjsip_notify.c, /,
res/res_pjsip_messaging.c, res/res_pjsip_caller_id.c,
res/res_pjsip_t38.c, res/res_pjsip.c,
res/res_pjsip/pjsip_options.c, res/res_pjsip_nat.c,
res/res_pjsip_session.c,
contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py
(added): PJSIP: Add Path header support This adds Path support to
chan_pjsip in res_pjsip_path.c with minimal additions in
res_pjsip_registrar.c to store the path and additions in
res_pjsip_outbound_registration.c to enable advertisement of path
support to registrars and intervening proxies. Path information
is stored on contacts and is enabled via Address of Record (AoRs)
and Registration configuration sections. While adding path
support, it became necessary to be able to add SIP supplements
that handled messages outside of sessions, so a framework for
handling these types of hooks was added in parallel to the
already-existing session supplements and several senders of
out-of-dialog requests were refactored as a result. (closes issue
ASTERISK-21084) Review: https://reviewboard.asterisk.org/r/3050/
........ Merged revisions 405565 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-14 23:44 +0000 [r405554] Jonathan Rose <jrose@digium.com>
* res/ari/ari_model_validators.c, res/res_stasis_mailbox.exports.in
(added), res/ari/ari_model_validators.h,
rest-api/api-docs/mailboxes.json (added),
include/asterisk/stasis_app_mailbox.h (added),
res/ari/resource_mailboxes.c (added), /, res/ari.make,
res/res_ari_mailboxes.c (added), res/ari/resource_mailboxes.h
(added), res/res_stasis_mailbox.c (added),
rest-api/resources.json: ARI: Add mailboxes resource for
controlling and polling external MWI Adds the following AMI
commands: PUT mailboxes/mailboxName modifies mailbox state and
implicitly creates new mailboxes GET mailboxes/mailboxName
retrieves a JSON representation of a single mailbox if it exists
GET mailboxes retrieves a JSON array of all mailboxes DELETE
mailbox/mailboxName deletes a mailbox Note that res_mwi_external
must be loaded for these functions to actually do anything.
Review: https://reviewboard.asterisk.org/r/3117/ ........ Merged
revisions 405553 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-14 21:46 +0000 [r405542] Richard Mudgett <rmudgett@digium.com>
* main/strings.c, /: string container: Remove unnecessary RAII_VAR
usage and string object lock. ........ Merged revisions 405541
from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-14 18:15 +0000 [r405437] Scott Griepentrog <sgriepentrog@digium.com>
* /, channels/chan_sip.c: chan_sip: fix Local From tag on outbound
register regression In ASTERISK-12117, an improvement to insure
consistant local from tags on outbound registrations resulted in
an undesirable behavior - caused by leftover unexpired sip_pvt
dialogs (with the previous cseq number), resulting in many
uncessary REGISTER requests. Instead of significant rework of
transmit_register(), this change deletes the dialogs after a 200
OK response indiciating a successful registration, keeping the
old dialogs from interfering with normal operation. (closes issue
ASTERISK-22946) Reported by: Stephan Eisvogel Review:
https://reviewboard.asterisk.org/r/3109/ ........ Merged
revisions 405433 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 405434 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405435 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-14 18:14 +0000 [r405436] Richard Mudgett <rmudgett@digium.com>
* apps/app_dumpchan.c, main/logger.c, UPGRADE.txt,
apps/app_verbose.c, main/asterisk.c, configs/logger.conf.sample,
main/cli.c, include/asterisk/logger.h, main/pbx.c,
main/manager.c, /, funcs/func_timeout.c: verbosity: Fix
performance of console verbose messages. The per console verbose
level feature as previously implemented caused a large
performance penalty. The fix required some minor
incompatibilities if the new rasterisk is used to connect to an
earlier version. If the new rasterisk connects to an older
Asterisk version then the root console verbose level is always
affected by the "core set verbose" command of the remote console
even though it may appear to only affect the current console. If
an older version of rasterisk connects to the new version then
the "core set verbose" command will have no effect. * Fixed the
verbose performance by not generating a verbose message if
nothing is going to use it and then filtered any generated
verbose messages before actually sending them to the remote
consoles. * Split the "core set debug" and "core set verbose" CLI
commands to remove the per module verbose support that cannot
work with the per console verbose level. * Added a silent option
to the "core set verbose" command. * Fixed "core set debug off"
tab completion. * Made "core show settings" list the current
console verbosity in addition to the root console verbosity. *
Changed the default verbose level of the 'verbose' setting in the
logger.conf [logfiles] section. The default is now to once again
follow the current root console level. As a result, using the AMI
Command action with "core set verbose" could again set the root
console verbose level and affect the verbose level logged.
(closes issue AST-1252) Reported by: Guenther Kelleter Review:
https://reviewboard.asterisk.org/r/3114/ ........ Merged
revisions 405431 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405432 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-14 16:43 +0000 [r405420] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip/pjsip_distributor.c: Fix erroneous behavior when
sending auth rejection to artificial endpoint. We were not
including an authentication challenge when sending a 401 response
to unmatched endpoints. This was due to the conversion to use a
vector for authentication section names on an endpoint. The
vector for artificial endpoints was empty, resulting in the
challenge being sent back containing no challenges. This is
worked around by placing a bogus value in the artificial
endpoint's auth vector. This value is never looked up by
anything, since they instead will directly call
ast_sip_get_artificial_auth().
2014-01-14 03:27 +0000 [r405369] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Skinny: do not add call to missed
calls list if answered elsewhere. Patch updates skinny devices
with a SKINNY_CONNECTED callstate if an inbound ringing or
callwaiting call is answered elsewhere. ........ Merged revisions
405367 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-13 13:34 +0000 [r405339] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip/pjsip_cli.c, /: res_pjsip: Fix CLI tab completion
issues This fixes several issues with the new res_pjsip CLI tab
completion such as output of headers during tab completion and
being able to tab-complete more items than the code actually
handled (further items would simply be ignored). (closes issue
ASTERISK-23081) Review: https://reviewboard.asterisk.org/r/3115/
Reported by: xrobau ........ Merged revisions 405338 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-12 22:24 +0000 [r405326] Joshua Colp <jcolp@digium.com>
* res/ari/resource_device_states.c, res/res_ari.c,
res/ari/resource_endpoints.c, /, res/ari/resource_applications.c,
res/ari/resource_playbacks.c, res/ari/resource_channels.c,
include/asterisk/ari.h, res/ari/resource_bridges.c,
res/ari/resource_recordings.c: res_ari: Fix various memory leaks.
This change fixes a few memory leaks that were found based on a
mailing list post. 1. Some JSON response messages were never
freed. This was caused by the documentation stating that message
references were stolen when in reality they were not. The code
now follows the documentation and usage has been updated. 2. HTTP
response headers were never freed. 3. The variable list for
wildcards paths was never freed. (closes issue ASTERISK-23128)
Reported by: Kenneth Watson (on list) Review:
https://reviewboard.asterisk.org/r/3119/ ........ Merged
revisions 405325 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-12 22:13 +0000 [r405313-405314] Matthew Jordan <mjordan@digium.com>
* include/asterisk/cdr.h, apps/app_cdr.c, main/cdr.c,
apps/app_forkcdr.c, /, funcs/func_cdr.c: CDRs: Synchronize
dialplan applications that manipulate CDRs with the engine In
https://reviewboard.asterisk.org/r/3057/, applications and
functions that manipulate CDRs were made to interact over Stasis.
This was done to synchronize manipulations of CDRs from the
dialplan with the updates the engine itself receives over the
message bus. This change rested on a faulty premise: that
messages published to the CDR topic or to a topic that forwards
to the CDR topic are synchronized with the messages handled by
the CDR topic subscription in the CDR engine. This is not the
case. There is no ordering guaranteed for two messages published
to the same topic; ordering is only guaranteed if a message is
published to the same subscriber. Stasis was modified in r405311
to allow a publisher to synchronize on the subscriber. This patch
uses that API to synchronize the CDR publishers with the CDR
engine message router, which maintains the overall topic
subscription. (closes issue ASTERISK-22884) Reported by: Matt
Jordan Review: https://reviewboard.asterisk.org/r/3099/ ........
Merged revisions 405312 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/stasis_message_router.h, tests/test_stasis.c,
main/stasis.c, main/stasis_message_router.c, /,
include/asterisk/stasis.h: stasis: Add methods to allow for
synchronous publishing to subscriber This patch adds an API call
to Stasis that allows a publisher to publish a stasis message
that will not return until a specific subscriber handles the
message. Since a subscriber can have their own forwarding topic
which orders messages from many topics, this allows a publisher
who knows of that subscriber to synchronize to that subscriber
regardless of the forwarding relationships between topics. This
is of particular use for dialplan applications that need to
synchronize on a particular subscriber's handling of a message.
(issue ASTERISK-22884) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3099/ ........ Merged
revisions 405311 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-10 20:00 +0000 [r405299] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip/security_events.c: Print "<unknown>" for
artificial endpoint in PJSIP security events. Previously, this
printed a UUID, which was not very clear when dealing with an
artificial endpoint. Review:
https://reviewboard.asterisk.org/r/3113 ........ Merged revisions
405298 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-10 18:17 +0000 [r405284] Richard Mudgett <rmudgett@digium.com>
* main/logger.c, /: Logging callid: Fix some sizeof() references
per coding guidelines. ........ Merged revisions 405281 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405282 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-09 23:52 +0000 [r405270] Jonathan Rose <jrose@digium.com>
* res/res_pjsip_session.c: PJSIP: Add unhold on reinvite without
SDP behavior Review: https://reviewboard.asterisk.org/r/3106/
2014-01-09 23:50 +0000 [r405269] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_dahdi.c: Fix chan_dahdi copile issue in
dev-mode. Error "unused variable i in dahdi_create_channel_range"
when compiling in dev-mode. Small restructure to
dahdi_create_channel_range to move the for(x) loop and int i,x to
a block within the IFDEF. ........ Merged revisions 405268 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-09 23:39 +0000 [r405267] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip_messaging.c, res/res_pjsip.c, /:
res_pjsip_messaging: potential for field values in from/to
headers to be missing Added in ability to specify display name
format ("name" <sip:name@ipaddr:port>) for a given URI and made
sure it was fully propagated to the outgoing message. Also made
it so outoing messages in res_pjsip always send as "sip:".
(closes issue ASTERISK-22924) Reported by: Anthony Messina
Review: https://reviewboard.asterisk.org/r/3094/ ........ Merged
revisions 405266 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-09 20:34 +0000 [r405254] Kinsey Moore <kmoore@digium.com>
* main/astobj2.c, res/res_pjsip_session.c, /,
include/asterisk/astobj2.h: astobj2: Correct ao2_iterator opacity
violations This corrects the ao2_iterator opacity violations in
res_pjsip_session.c by adding a global function to get the number
of elements inside the container hidden behind the iterator.
(closes issue ASTERISK-23053) Review:
https://reviewboard.asterisk.org/r/3111/ Reported by: Richard
Mudgett ........ Merged revisions 405253 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-09 16:52 +0000 [r405236] Kevin Harwell <kharwell@digium.com>
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fails to resume
WebRTC call from hold In ast_rtp_ice_start if the ice session
create check list failed, start check was never initiated and
ice_started was never set to true. Upon re-entering the function
(for instance, [un]hold) it would try to create the check list
again with duplicate remote candidates. Fixed so that if the
create check list fails the necessary data structures are
properly re-initialized for any subsequent retries. Note, it was
decided to not stop ice support (by calling ast_rtp_ice_stop) on
a check list failure because it possible things might still work.
However, a debug message was added to help with any future
troubleshooting. (closes issue ASTERISK-22911) Reported by: Vytis
Valentinavičius Patches: works_on_my_machine.patch uploaded by
xytis (license 6558) ........ Merged revisions 405234 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405235 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-09 15:50 +0000 [r405217] Matthew Jordan <mjordan@digium.com>
* /, apps/app_confbridge.c,
apps/confbridge/conf_state_multi_marked.c: app_confbridge: Fix
crash caused when waitmarked/marked users leave together When
waitmarked users join a ConfBridge, the conference state is
transitioned from EMPTY -> INACTIVE. In this state, the users are
maintined in a waiting users list. When a marked user joins, the
ConfBridge conference transitions from INACTIVE -> MULTI_MARKED,
and all users are put onto the active list of users. This process
works correctly. When the marked user leaves, if they are the
last marked user, the MULTI_MARKED state does the following: (1)
It plays back a message to the bridge stating that the leader has
left the conference. This requires an unlocking of the bridge.
(2) It moves waitmarked users back to the waiting list (3) It
transitions to the appropriate state: in this case, INACTIVE
However, because it plays the prompt back to the bridge before
moving the users and before finishing the state transition, this
creates a race condition: with the bridge unlocked, waitmarked
users who leave the conference (or are kicked from it) can cause
a state transition of the bridge to another state before the
conference is transitioned to the INACTIVE state. This causes the
state machine to get a bit wonky, often leading to a crash when
the MULTI_MARKED state attempts to conclude its processing. This
patch fixes this problem: (1) It prevents kicked users from being
kicked again. That's just a nicety. (2) More importantly, it
fixes the race condition by only playing the prompt once the
state has transitioned correctly to INACTIVE. If waitmarked users
sneak out during the prompt being played, no harm no foul.
Review: https://reviewboard.asterisk.org/r/3108/ Note that the
patch committed here is essentially the same as uploaded by Simon
Moxon on ASTERISK-22740, with the addition of the double kick
prevention. (closes issue AST-1258) Reported by: Steve Pitts
(closes issue ASTERISK-22740) Reported by: Simon Moxon patches:
ASTERISK-22740.diff uploaded by Simon Moxon (license 6546)
........ Merged revisions 405215 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405216 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-09 14:15 +0000 [r405163] Walter Doekes <walter+asterisk@wjd.nu>
* /, apps/app_dumpchan.c: "Minimun" typo. ........ Merged revisions
405160 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 405161 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405162 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-08 17:23 +0000 [r405144] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip/security_events.c: Use proper case for checking
if digest authentication is used. ........ Merged revisions
405131 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-08 16:34 +0000 [r405129-405130] Kinsey Moore <kmoore@digium.com>
* /, configure, configure.ac, pbx/pbx_lua.c: pbx_lua: Add support
for Lua 5.2 This adds support for Lua 5.2 in pbx_lua which is
available on newer operating systems. (closes issue
ASTERISK-23011) Review: https://reviewboard.asterisk.org/r/3075/
Reported by: George Joseph Patch by: George Joseph ........
Merged revisions 405090 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 405091 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405124 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: Add the missing part of r400140 When the
patch to add retry-on-forbidden-response was committed, part of
the patch for chan_sip was not committed which caused the feature
to be entirely nonfunctional. This corrects the code in question.
(closes issue ASTERISK-17138) Review:
https://reviewboard.asterisk.org/r/2874 ........ Merged revisions
405033 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 405081 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 405083 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-07 19:56 +0000 [r405020-405035] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_acl.c, /: res_pjsip_acl: Fix another case of
assuming a contact will always contain a URI. ........ Merged
revisions 405034 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_nat.c: res_pjsip_nat: Don't assume a Contact
header will always contain a URI. If the 'rewrite_contact' option
was enabled and a Contact header was received which contained a
'*' a crash would occur. This change makes the res_pjsip_nat
module ignore the Contact header if it contains only a '*'.
(closes issue ASTERISK-23101) Reported by: Matt Jordan ........
Merged revisions 405019 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-06 21:55 +0000 [r404953-405007] Richard Mudgett <rmudgett@digium.com>
* /, apps/app_voicemail.c: app_voicemail: Explicitly set
defaultenabled=yes ........ Merged revisions 405006 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_mwi_external_ami.c (added), /: External MWI AMI support.
The external MWI AMI interface provides a thin wrapper around the
core external MWI resource. The resource adds the following AMI
actions: MWIGet, MWIDelete, and MWIUpdate. (closes issue AFS-46)
Review: https://reviewboard.asterisk.org/r/3061/ ........ Merged
revisions 404954 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_mwi_external.exports.in (added), apps/app_voicemail.c, /,
res/res_mwi_external.c (added), configs/sorcery.conf.sample,
include/asterisk/res_mwi_external.h (added): External MWI core
support. * The core external MWI resource provides for MWI
message counts persistence using sorcery. With sorcery, the user
is able to configure which sorcery wizzard backend to use if the
default astdb is not desired. * The core external MWI resoruce
provides some debugging CLI commands enabled by defining
MWI_DEBUG_CLI. The debugging CLI commands are: "mwi delete all",
"mwi delete like <regex>", "mwi delete mailbox <mailbox>", "mwi
list all", "mwi list like <regex>", "mwi show mailbox <mailbox>",
and "mwi update mailbox <mailbox> [<new> [<old>]]". (closes issue
AFS-43) Review: https://reviewboard.asterisk.org/r/3061/ ........
Merged revisions 404952 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-05 16:01 +0000 [r404924-404936] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_outbound_registration.c:
res_pjsip_outbound_registration: Don't assume that a registration
client will always exist. ........ Merged revisions 404935 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_outbound_registration.c:
res_pjsip_outbound_registration: Create registration client in pj
thread. Depending on which threading was loading the outbound
registration it was possible for the registration client to be
allocated outside of a pj thread. This change moves the creation
inside the synchronous task where it is guaranteed it will occur
in a pj thread. Reported by: Rob Thomas ........ Merged revisions
404923 from http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-04 10:52 +0000 [r404912] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* /, main/asterisk.c: asterisk.c: suppress live_dangerously warning
on rasterisk Even since the fixes of AST-2013-007, Asterisk
prints the following warning on startup if the user decided to
live dangerously: Privilege escalation protection disabled! See
https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. This
message is intended for the logs and interactive startup. No need
for it to appear on a remote console. This commit removes it from
there. (closes issue ASTERISK-23084) Review:
https://reviewboard.asterisk.org/r/3101/ ........ Merged
revisions 404861 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404888 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404911 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-03 22:00 +0000 [r404860] Kevin Harwell <kharwell@digium.com>
* /, cel/cel_pgsql.c: cel_pgsql: module not correctly reloading
Upon reload the module unconditionally "unloaded" the module
(freeing memory and setting pointers to NULL) and then when
attempting a "load" if the config file had not changed then
nothing would be reinitialized. By moving the "unload" to occur
conditionally (reload only) after an attempted configuration
load, but before module "loading" alleviates the issue. The
module now loads/unloads/reloads correctly. (closes issue
ASTERISK-22871) Reported by: Matteo ........ Merged revisions
404857 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 404858 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404859 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-03 21:45 +0000 [r404844-404856] Matthew Jordan <mjordan@digium.com>
* /, res/res_pjsip_logger.c: res_pjsip_logger: Add the
ASTERISK_FILE_VERSION macro Registering yourself with the
Asterisk core is the nice thing to do, even when you're a logging
module. ........ Merged revisions 404855 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_authenticator_digest.c, tests/test_utils.c:
res_pjsip_authenticator_digest: Fix md5 hash buffer An md5 hash
is 32 bytes long. The char buffer must be at least 33 bytes to
avoid clobbering of the stack. This patch also fixes a potential
clobbering in test_utils.c. Thanks to Andrew Nagy for reporting
and testing this out in #asterisk-dev Reported by: Andrew Nagy
Tested by: Andrew Nagy ........ Merged revisions 404843 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-03 20:02 +0000 [r404787-404832] Kevin Harwell <kharwell@digium.com>
* main/manager.c: manager: UserEvent including action on output AMI
action UserEvent event response would include the action header
in its keyvalue pairs list. Adjusted the start of the header loop
to skip over the action part. (closes issue ASTERISK-22899)
Reported by: outtolunc Patches:
svn_manager.c.skip_action.diff.txt uploaded by outtolunc (license
5198)
* /, channels/chan_dahdi.c: chan_dahdi: dahdi show channels slices
PRI channel dnid on output dahdi show channels output slices the
callerid (which is dnid copied over on PRI channels). If the
channel naming structures look like: 'DAHDI/i1/1408409XXXX-6'
then the output slices 1408409XXXX down to 1408409XXX. This patch
just opens it up to 15 chars so you can see the whole thing.
(closes issue ASTERISK-22918) Reported by: outtolunc Patches:
svn_chan_dahdi.c.format12_15.diff.txt uploaded by outtolunc
(license 5198) ........ Merged revisions 404784 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404785 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404786 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-03 18:33 +0000 [r404783] Richard Mudgett <rmudgett@digium.com>
* /, tests/test_stasis.c: test_stasis.c: Fix ref leak in normal
execution path. ........ Merged revisions 404764 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-03 18:31 +0000 [r404782] Kevin Harwell <kharwell@digium.com>
* /, apps/app_meetme.c: app_meetme: compiler warning Fixed a
compiler warning (errors in 'dev-mode') given by gcc version
4.8.1. The one in app_meetme involved the
'sizeof-pointer-memaccess' (see:
http://gcc.gnu.org/gcc-4.8/porting_to.html) warning. Fixed so it
would no longer issue a warning and can compile again in
'dev-mode'. Review: https://reviewboard.asterisk.org/r/3098/
........ Merged revisions 404742 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404773 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404781 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-03 17:27 +0000 [r404726-404738] Joshua Colp <jcolp@digium.com>
* res/res_pjsip/pjsip_configuration.c, /, res/res_pjsip/location.c:
res_pjsip: Ensure more URI validation happens in pj threads.
........ Merged revisions 404737 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_outbound_registration.c:
res_pjsip_outbound_registration: Ensure URI validation happens in
a pjlib thread. This change moves outbound registration URI
validation into the task executed within a pjlib thread. Reported
by: Andrew Nagy ........ Merged revisions 404725 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-02 19:38 +0000 [r404677] Scott Griepentrog <sgriepentrog@digium.com>
* funcs/func_strings.c, /: func_strings: use memmove to prevent
overlapping memory on strcpy When calling REPLACE() with an empty
replace-char argument, strcpy is used to overwrite the the
matching <find-char>. However as the src and dest arguments to
strcpy must not overlap, it causes other parts of the string to
be overwritten with adjacent characters and the result is
mangled. Patch replaces call to strcpy with memmove and adds a
test suite case for REPLACE. (closes issue ASTERISK-22910)
Reported by: Gareth Palmer Review:
https://reviewboard.asterisk.org/r/3083/ Patches:
func_strings.patch uploaded by Gareth Palmer (license 5169)
........ Merged revisions 404674 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404675 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404676 from
http://svn.asterisk.org/svn/asterisk/branches/12
2014-01-02 19:08 +0000 [r404664] Kevin Harwell <kharwell@digium.com>
* /, configs/pjsip.conf.sample,
res/res_pjsip/pjsip_configuration.c, CHANGES, res/res_pjsip.c,
channels/chan_pjsip.c, include/asterisk/res_pjsip.h: res_pjsip:
add 'set_var' support on endpoints Added a new 'set_var' option
for ast_sip_endpoint(s). For each variable specified that
variable gets set upon creation of a pjsip channel involving the
endpoint. (closes issue ASTERISK-22868) Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/3095/ ........ Merged
revisions 404663 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-31 22:51 +0000 [r404620-404653] Joshua Colp <jcolp@digium.com>
* channels/chan_pjsip.c, res/res_pjsip_session.c, /: chan_pjsip:
Handle hanging up before calling. Channel creation in Asterisk is
broken up into two steps: requesting and calling. In some cases a
channel may be requested but never called. This happens in the
ChanIsAvail dialplan application for determining if something is
reachable or not. The PJSIP channel driver did not take this
situation into account and attempted to end a session that was
never called out on. The code now checks the session state to
determine if the session has been called out on and if not
terminates it instead of ending it. (closes issue ASTERISK-23074)
Reported by: Kilburn ........ Merged revisions 404652 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_endpoint_identifier_ip.c:
res_pjsip_endpoint_identifier_ip: Accept hostnames in the 'match'
field. Hostnames specified in the 'match' field will be resolved
and all addresses returned. Each address will be added to the
endpoint identifier for the matching process. Reported by: Rob
Thomas ........ Merged revisions 404613 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-31 21:39 +0000 [r404606] Kevin Harwell <kharwell@digium.com>
* cel/cel_pgsql.c, /: cel_pgsql: deadlock on unload and
core_event_dispatcher A deadlock can happen between a thread
unloading or reloading the cel_pgsql module and the
core_event_dispatcher taskprocessor thread. Description of what
is happening: Thread 1 (for example, a netconsole thread): a
"module reload cel_pgsql" is launched the thread enter the
"my_unload_module" function (cel_pgsql.c) the thread acquire the
write lock on psql_columns the thread enter the
"ast_event_unsubscribe" function (event.c) the thread try to
acquire the write lock on ast_event_subs[sub->type] Thread 2
(core_event_dispatcher taskprocessor thread): the taskprocessor
pop a CEL event the thread enter the "handle_event" function
(event.c) the thread acquire the read lock on
ast_event_subs[sub->type] the thread callback the "pgsql_log"
function (cel_pgsql.c), since it's a subscriber of CEL events the
thread try to acquire a read lock on psql_columns (closes issue
ASTERISK-22854) Reported by: Etienne Lessard Patches:
cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license
6394) ........ Merged revisions 404603 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404604 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404605 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-31 20:27 +0000 [r404593] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_outbound_registration.c:
res_pjsip_outbound_registration: Add validation for 'server_uri'
and 'client_uri'. When applying configuration for outbound
registrations the 'server_uri' and 'client_uri' fields were not
validated. The code will now confirm that they exist and that
they contain parseable SIP URIs. Reported by: Andrew Nagy
........ Merged revisions 404592 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-30 23:25 +0000 [r404582] Kevin Harwell <kharwell@digium.com>
* main/channel.c, /: channels.c: core show channeltypes slicing
'core show channeltypes' type column is being sliced, resulting
in incomplete type names. (closes issue ASTERISK-22919) Reported
by: outtolunc Patches: svn_channel.c.format_15.diff.txt uploaded
by outtolunc (license 5198) ........ Merged revisions 404579 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404581 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-24 17:12 +0000 [r404567-404569] David M. Lee <dlee@digium.com>
* UPGRADE-12.txt, /: Added note to UPGRADE.txt about the default
value of live_dangerously changing ........ Merged revisions
404568 from http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/http.c: http: Properly reject requests with
Transfer-Encoding set Asterisk does not support any of the
transfer encodings specified in HTTP/1.1, other than the default
"identity" encoding. According to RFC 2616: A server which
receives an entity-body with a transfer-coding it does not
understand SHOULD return 501 (Unimplemented), and close the
connection. A server MUST NOT send transfer-codings to an
HTTP/1.0 client. This patch adds the 501 Unimplemented response,
instead of the hard work of actually implementing other
recordings. This behavior is especially problematic for Node.js
clients, which use chunked encoding by default. (closes issue
ASTERISK-22486) Review: https://reviewboard.asterisk.org/r/3092/
........ Merged revisions 404565 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-24 02:20 +0000 [r404554] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_pubsub.c, /: res_pjsip_pubsub: Ensure dialog
manipulation happens on proper thread. When destroying a
subscription we remove the serializer from its dialog and
decrease its reference count. Depending on which thread dropped
the subscription reference count to 0 it was possible for this to
occur in a thread where it is not possible. (closes issue
ASTERISK-22952) Reported by: Matt Jordan ........ Merged
revisions 404553 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-23 16:38 +0000 [r404542] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
UPGRADE-12.txt: chan_dahdi: enable ignore_failed_channels by
default If ignore_failed_channels is set to "true" for a channel,
the channel will continue to be configured even if configuring it
has failed. This allows Asterisk to start before all the DAHDI
initialization is done and thus not force the starting order
dahdi -> asterisk. Review:
https://reviewboard.asterisk.org/r/3063/
2013-12-21 03:35 +0000 [r404532] Matthew Jordan <mjordan@digium.com>
* /, res/res_pjsip/pjsip_cli.c: res_pjsip/pjsip_cli: fix
compilation error caused by passing ast_free When wanting to pass
*free as a function pointer, ast_free_ptr has to be used instead
of ast_free. This allows it to be compiled with MALLOC_DEBUG
enabled. ........ Merged revisions 404531 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 22:04 +0000 [r404511-404512] David M. Lee <dlee@digium.com>
* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
res/res_ari_channels.c, res/ari/resource_channels.h, /,
rest-api/api-docs/applications.json: ari: Remove support for
specifying channel vars during origination. When we added support
for specifying channel variables for an origination, we didn't
consider how that would interact with another feature, namely
specifying request parameters in a JSON request body. The method
of specifying channel variables (as a flat JSON object passed in
the JSON body) interferes with parsing parameters out of the
request body. Unfortunately, fixing this would be a backward
incompatible change. In the interest of keeping the API sane and
keeping our release schedule, we're dropping the feature for
specifying channel variables in the origination request. We will
bring the feature back soon, as a backward compatible addition to
the API. (closes issue ASTERISK-23051) Review:
https://reviewboard.asterisk.org/r/3088 ........ Merged revisions
404509 from http://svn.asterisk.org/svn/asterisk/branches/12
* /: Remove automerge properties ........ Merged revisions 404488
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 21:32 +0000 [r404507] Matthew Jordan <mjordan@digium.com>
* include/asterisk/res_pjsip_cli.h (added),
res/res_pjsip/pjsip_cli.c (added), include/asterisk/sorcery.h,
res/res_pjsip/pjsip_configuration.c,
res/res_pjsip/include/res_pjsip_private.h,
res/res_pjsip_registrar.c, main/sorcery.c,
include/asterisk/res_pjsip.h, CREDITS,
res/res_pjsip/config_auth.c, /,
res/res_pjsip_endpoint_identifier_ip.c,
include/asterisk/config.h, main/config.c, main/channel.c,
res/res_pjsip/location.c: res_pjsip: Add PJSIP CLI commands
Implements the following cli commands: pjsip list aors pjsip list
auths pjsip list channels pjsip list contacts pjsip list
endpoints pjsip show aor(s) pjsip show auth(s) pjsip show
channels pjsip show endpoint(s) Also... Minor modifications made
to the AMI command implementations to facilitate reuse. New
function ast_variable_list_sort added to config.c and config.h to
implement variable list sorting. (issue ASTERISK-22610) patches:
pjsip_cli_v2.patch uploaded by george.joseph (License 6322)
........ Merged revisions 404480 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 21:18 +0000 [r404461] Scott Griepentrog <sgriepentrog@digium.com>
* /, main/say.c: say.c: correct time for polish In
ast_say_date_with_format_pl(), change ast_say_number() to use
tm_sec instead of tm_mn. (closes issue ASTERISK-22856) Reported
by: Robert Mordec Review:
https://reviewboard.asterisk.org/r/3082/ Patches: say.c.patch
uploaded by veilen (license 6555) ........ Merged revisions
404456 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 404457 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404458 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 20:28 +0000 [r404452] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_refer.c, /: Fix issue where PJSIP blind transferer
dialog may not complete as planned. When transferring to a
dialplan extension that will not place any outbound calls, the
only control frames that the PJSIP REFER framehook will receive
are inconsequential (such as unhold or srcchange). As such, we
shouldn't allow for the reception of those types of frames
prevent us from signaling to the transferring party that the
transfer has completed successfully once voice frames are read.
Thanks to Jonathan Rose for pointing this out. ........ Merged
revisions 404439 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 20:05 +0000 [r404438] Matthew Jordan <mjordan@digium.com>
* /, res/ari/resource_applications.h,
res/res_stasis_device_state.c: res_stasis_device_state: Set
resource type for subscriptions to deviceState The documentation
for ARI already specifies that the device state resource when
used for subscribing for events is "deviceState", not
"device_state". The code, however, used "device_state"; although
this was inconsistent as well in doxygen comments in
resource_applications. Because the actual resource being
subscribed to is /deviceStates/{device}/, it makes sense for the
resource type specifier to be deviceState. Note that the key
value in the events is still "device_state". ........ Merged
revisions 404437 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 20:00 +0000 [r404436] Richard Mudgett <rmudgett@digium.com>
* tests/test_cel.c, res/ari/resource_channels.c,
tests/test_scoped_lock.c, tests/test_stasis.c,
res/parking/parking_manager.c, res/ari/resource_bridges.c,
res/ari/resource_endpoints.c, /, res/res_pjsip/location.c:
ao2_iterator: Mini-audit of the ao2_iterator loops in the new
code files. * Fixed several places where ao2_iterator_destroy()
was not called. * Fixed several iterator loop object variable
reference problems. * Fixed res_parking AMI actions returning
non-zero. Only the AMI logoff action can return non-zero. Review:
https://reviewboard.asterisk.org/r/3087/ ........ Merged
revisions 404434 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 19:25 +0000 [r404433] Matthew Jordan <mjordan@digium.com>
* /, include/asterisk/manager.h: manager: bump version to 2.0.0 AMI
has received substantial updates over the past year. Not only has
the syntax been vastly improved and made consistent (which
entails many event changes), but the underlying things that those
events convey have changed substantially as well. After some
conversation in #asterisk-dev, it was agreed that this is a good
time to jump to 2. At the same time, since ARI will most likely
use semantic versioning, we might as well use that for AMI as
well. That also affords us greater meaning for the AMI version.
........ Merged revisions 404421 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 19:06 +0000 [r404420] Richard Mudgett <rmudgett@digium.com>
* main/sounds_index.c, /: Whitespace fixes. ........ Merged
revisions 404419 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-20 17:22 +0000 [r404406] Rusty Newton <rnewton@digium.com>
* configs/pjsip.conf.sample, /: Documentation: Updates for info
about NAT-related settings and fixes for pjsip.conf.sample Added
another NAT example to pjsip.conf.sample. We had a few mentions
of NAT configuration throughout the sample, but I added another
for a little bit more clarity. Additionally many pjsip options
were affected by the change to snake case, so I fixed any
instances of those options in pjsip.conf. I regenerated the
config option list (at the bottom of the file) from a new xml
config doc dump, so all the snake case changes should be
reflected there, as well as any other changes to those options.
(issue ASTERISK-23004) (closes issue ASTERISK-23004) Reported by:
Matt Jordan Review: https://reviewboard.asterisk.org/r/3086/
........ Merged revisions 404405 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 20:48 +0000 [r404387] Scott Griepentrog <sgriepentrog@digium.com>
* main/security_events.c: security_events: log events with
descriptive names This patch updates the log messages to include
descriptive names for event types. This is an improvement over
having only cryptic type numbers. (closes issue ASTERISK-22909)
Reported by: outtolunc Review:
https://reviewboard.asterisk.org/r/3081/ Patches:
svn_security_events.c.names.diff.txt uploaded by outtolunc
(license 5198)
2013-12-19 18:16 +0000 [r404376] Richard Mudgett <rmudgett@digium.com>
* CHANGES, /: Put notice in CHANGES as well as UPGRADE.txt.
........ Merged revisions 404375 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 18:00 +0000 [r404370-404372] Joshua Colp <jcolp@digium.com>
* res/res_pjsip/pjsip_outbound_auth.c, /: res_pjsip: Ignore 401/407
responses for transactions and dialogs we don't know about. Under
normal conditions it is unlikely we will ever receive a response
for a transaction or dialog we don't know about but if any are
received ignore them. ........ Merged revisions 404371 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_session.c: res_pjsip_session: Fix SDP
negotiation when resending an INVITE with authentication. The
process for resending an INVITE with authentication involves
restarting the UAC session. We were incorrectly passing in that a
new offer is being sent, causing the SDP negotiation to get into
a (technically speaking) funky state. ........ Merged revisions
404369 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 17:45 +0000 [r404368] Mark Michelson <mmichelson@digium.com>
* /, include/asterisk/autochan.h, include/asterisk/channel.h,
res/res_pjsip.c, main/channel.c: Fix a deadlock that occurred due
to a conflict of masquerades. For the explanation, here is a
copy-paste of the review board explanation: Initially, it was
discovered that performing an attended transfer of a multiparty
bridge with a PJSIP channel would cause a deadlock. A PBX thread
started a masquerade and reached the point where it was calling
the fixup() callback on the "original" channel. For chan_pjsip,
this involves pushing a synchronous task to the session's
serializer. The problem was that a task ahead of the fixup task
was also attempting to perform a channel masquerade. However,
since masquerades are designed in a way to only allow for one to
occur at a time, the task ahead of the fixup could not continue
until the masquerade already in progress had completed. And of
course, the masquerade in progress could not complete until the
task ahead of the fixup task had completed. Deadlock. The initial
fix was to change the fixup task to be asynchronous. While this
prevented the deadlock from occurring, it had the frightful side
effect of potentially allowing for tasks in the session's
serializer to operate on a zombie channel. Taking a step back
from this particular deadlock, it became clear that the problem
was not really this one particular issue but that masquerades
themselves needed to be addressed. A PJSIP attended transfer
operation calls ast_channel_move(), which attempts to both set up
and execute a masquerade. The problem was that after it had set
up the masquerade, the PBX thread had swooped in and tried to
actually perform the masquerade. Looking at changes that had been
made to Asterisk 12, it became clear that there never is any time
now that anyone ever wants to set up a masquerade and allow for
the channel thread to actually perform the masquerade. Everyone
always is calling ast_channel_move(), performs the masquerade
itself before returning. In this patch, I have removed all blocks
of code from channel.c that will attempt to perform a masquerade
if ast_channel_masq() returns true. Now, there is no distinction
between setting up a masquerade and performing the masquerade. It
is one operation. The only remaining checks for
ast_channel_masq() and ast_channel_masqr() are in ast_hangup()
since we do not want to interrupt a masquerade by hanging up the
channel. Instead, now ast_hangup() will wait for a masquerade to
complete before moving forward with its operation. The
ast_channel_move() function has been modified to basically
in-line the logic that used to be in ast_channel_masquerade().
ast_channel_masquerade() has been killed off for real.
ast_channel_move() now has a lock associated with it that is used
to prevent any simultaneous moves from occurring at once. This
means there is no need to make sure that ast_channel_masq() or
ast_channel_masqr() are already set on a channel when
ast_channel_move() is called. It also means the channel container
lock is not pulling double duty by both keeping the container
locked and preventing multiple masquerades from occurring
simultaneously. The ast_do_masquerade() function has been renamed
to do_channel_masquerade() and is now internal to channel.c. The
function now takes explicit arguments of which channels are
involved in the masquerade instead of a single channel. While it
probably is possible to do some further refactoring of this
method, I feel that I would be treading dangerously. Instead, all
I did was change some comments that no longer are true after this
changeset. The other more minor change introduced in this patch
is to res_pjsip.c to make ast_sip_push_task_synchronous() run the
task in-place if we are already a SIP servant thread. This is
related to this patch because even when we isolate the channel
masquerade to only running in the SIP servant thread, we would
still deadlock when the fixup() callback is reached since we
would essentially be waiting forever for ourselves to finish
before actually running the fixup. This makes it so the fixup is
run without having to push a task into a serializer at all.
(closes issue ASTERISK-22936) Reported by Jonathan Rose Review:
https://reviewboard.asterisk.org/r/3069 ........ Merged revisions
404356 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 17:13 +0000 [r404355] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/udptl.h, main/udptl.c, addons/chan_ooh323.c, /,
channels/chan_sip.c: udptl: Dead code elimination.
ast_udptl_bridge was not used. Removing dead code starting with
ast_udptl_bridge() eliminated the code in this change. Note: This
code has actually been dead since Asterisk v1.4 when it was first
put in. Review: https://reviewboard.asterisk.org/r/3079/ ........
Merged revisions 404354 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 17:03 +0000 [r404353] Scott Griepentrog <sgriepentrog@digium.com>
* /, res/res_fax.c: res_fax.c: crash on framehook with no dsp in
fax detect In fax_detect_framehook() a null pointer reference can
occur where a voice frame is processed but no dsp is attached to
the fax detection structure. The code block that rejects frames
that detection cannot be processed on is checking for dsp but
falls through when it should instead return, as this change
implements. (closes issue ASTERISK-22942) Reported by: adomjan
Review: https://reviewboard.asterisk.org/r/3076/ ........ Merged
revisions 404351 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404352 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 16:52 +0000 [r404350] Richard Mudgett <rmudgett@digium.com>
* channels/chan_dahdi.h, channels/chan_h323.c, main/app.c,
UPGRADE-12.txt, configs/sip.conf.sample,
channels/sip/include/sip.h, channels/chan_mgcp.c,
apps/app_voicemail.c, channels/chan_unistim.c,
configs/chan_dahdi.conf.sample, /, channels/chan_sip.c,
configs/voicemail.conf.sample, funcs/func_vmcount.c,
configs/skinny.conf.sample, res/res_xmpp.c, res/res_jabber.c,
CHANGES, channels/chan_iax2.c, channels/sig_pri.c,
channels/h323/chan_h323.h, configs/iax.conf.sample,
channels/sig_pri.h, channels/chan_dahdi.c,
include/asterisk/app.h, channels/chan_skinny.c: Voicemail: Remove
mailbox identifier format (box@context) assumptions in the
system. This change is in preparation for external MWI support.
Removed code from the system for normal mailbox handling that
appends @default to the mailbox identifier if it does not have a
context. The only exception is the legacy hasvoicemail users.conf
option. The legacy option will only work for app_voicemail
mailboxes. The system cannot make any assumptions about the
format of the mailbox identifer used by app_voicemail. chan_sip
and chan_dahdi/sig_pri had the most changes because they both
tried to interpret the mailbox identifier. chan_sip just stored
and compared the two components. chan_dahdi actually used the box
information. The ISDN MWI support configuration options had to be
reworked because chan_dahdi was parsing the box@context format to
get the box number. As a result the mwi_vm_boxes chan_dahdi.conf
option was added and is documented in the chan_dahdi.conf.sample
file. Review: https://reviewboard.asterisk.org/r/3072/ ........
Merged revisions 404348 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 16:33 +0000 [r404346] Scott Griepentrog <sgriepentrog@digium.com>
* main/db.c, /: astdb: crash in sqlite3 during shutdown When
Asterisk is shut down, the astdb_atexit() function releases
(finalize) the previously initiated (prepared) SQL statements in
sqlite3. Another thread making a subsequent request can cause a
crash in sqlite3. This patch eliminates that issue by resetting
the statement pointer after it is released/cleared. The sqlite3
code detects the null pointer, and aborts the operation cleanly.
(closes issue AST-1265) Reported by: Alexander Hömig (closes
issue ASTERISK-22350) Reported by: Birger "WIMPy" Harzenetter
Review: https://reviewboard.asterisk.org/r/3078/ ........ Merged
revisions 404344 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404345 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 12:18 +0000 [r404333] Joshua Colp <jcolp@digium.com>
* main/channel.c, /: channel: Add a missing ast_channel_unlock when
allocating a Surrogate channel. ........ Merged revisions 404332
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 08:35 +0000 [r404321] Alexandr Anikin <may@telecom-service.ru>
* addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooGkClient.c,
addons/chan_ooh323.c, /, addons/ooh323c/src/ooGkClient.h: Handle
temporary failures on gk registration Introduce new 'stopped'
state for gk client and restart gk client on failures Remove
ooh323 stack command lock as it is not need now. (closes issue
ASTERISK-21960) Reported by: Dmitry Melekhov Patches:
ASTERISK-21960.patch ASTERISK-21960-stacklockup-2.patch Tested
by: Dmitry Melekhov ........ Merged revisions 404318 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404320 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 02:59 +0000 [r404307] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Fixup some skinny bugs causing Fracks
and ao2 cleanup issues. Moved channel locking into setsubstate so
that a process can complete working on a sub before another
starts changing it. The existing code was causing some Fracks
with schedule deletion. Removed multiple rtp cleanup. Now only
cleansup up once, fixing ao2 object cleanup issues. ........
Merged revisions 404306 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 00:50 +0000 [r404295] Matthew Jordan <mjordan@digium.com>
* funcs/func_cdr.c, apps/app_disa.c, UPGRADE-12.txt,
include/asterisk/cdr.h, CHANGES, apps/app_cdr.c, main/cdr.c,
apps/app_forkcdr.c, main/pbx.c, /: app_cdr,app_forkcdr,func_cdr:
Synchronize with engine when manipulating state When doing the
rework of the CDR engine that pushed all of the logic into cdr.c
and made it respond to changes in channel state over Stasis, we
knew that accessing the CDR engine from the dialplan would be
"slightly" non-deterministic. Dialplan threads would be accessing
CDRs while Stasis threads would be updating the state of said
CDRs - whereas in the past, everything happened on the dialplan
threads. Tests have shown that "slightly" is in reality "very".
This patch synchronizes things by making the dialplan
applications/functions that manipulate CDRs do so over Stasis.
ForkCDR, NoCDR, ResetCDR, CDR, and CDR_PROP now all use Stasis to
send their requests over to the CDR engine, and synchronize on
the channel Stasis topic via a subscription so that they return
their values/control to the dialplan at the appropriate time.
While going through this, the following changes were also made: *
DISA, which can reset the CDR when a user successfully
authenticates, now just uses the ResetCDR app to do this. This
prevents having to duplicate the same Stasis synchronization
logic in that application. * Answer no longer disables CDRs. It
actually didn't work anyway - calling DISABLE on the channel's
CDR doesn't stop the CDR from getting the Answer time - it just
kills all CDRs on that channel, which isn't what the caller would
intend. (closes issue ASTERISK-22884) (closes issue
ASTERISK-22886) Review: https://reviewboard.asterisk.org/r/3057/
........ Merged revisions 404294 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-19 00:32 +0000 [r404293] Damien Wedhorn <voip@facts.com.au>
* /, channels/chan_skinny.c: Fixup skinny registration following
network issues. On session registration, if device is already
reporting that it is connected to a device, an innocuous packet
(update time) is sent to the already connected device. If the tcp
connection is down, the device will be unregistered and the new
connection allowed. Without this patch, network issues can see a
situation where a device can not reregister until after
3*timeout. ........ Merged revisions 404292 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 23:00 +0000 [r404280] Jason Parker <jparker@digium.com>
* main/manager.c, /: Add AMI event for presence state. Review:
https://reviewboard.asterisk.org/r/3039/ ........ Merged
revisions 404275 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404279 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 21:12 +0000 [r404264] Richard Mudgett <rmudgett@digium.com>
* addons/ooh323c/src/ooTimer.c, /: ooh323c: Fix gcc 4.6.3 compiler
warnings. ........ Merged revisions 404212 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404219 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404263 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 20:48 +0000 [r404260-404262] Kevin Harwell <kharwell@digium.com>
* channels/chan_oss.c, /: chan_oss.c: channel being locked twice
and unlocked once Removed channel lock as it is now being down in
ast_channel_alloc ........ Merged revisions 404261 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/stasis_channels.c, addons/chan_mobile.c,
main/bridge_channel.c, tests/test_cdr.c, channels/chan_pjsip.c,
res/parking/parking_manager.c, channels/chan_mgcp.c,
channels/chan_unistim.c, main/pbx.c, funcs/func_timeout.c, /,
apps/app_meetme.c, main/bridge.c, tests/test_stasis_channels.c,
include/asterisk/channel.h, channels/chan_gtalk.c,
channels/sig_pri.c, apps/app_queue.c, main/cel.c,
main/stasis_bridges.c, channels/chan_jingle.c,
channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
channels/sig_analog.c, include/asterisk/stasis_channels.h,
res/res_agi.c, channels/chan_motif.c, tests/test_cel.c,
apps/app_confbridge.c, res/res_stasis.c, res/res_pjsip_refer.c,
apps/app_voicemail.c, apps/app_dial.c, channels/chan_vpb.cc,
addons/chan_ooh323.c, main/pickup.c, include/asterisk/aoc.h,
include/asterisk/stasis_bridges.h, apps/app_userevent.c,
apps/app_disa.c, channels/chan_console.c,
include/asterisk/channelstate.h, main/core_local.c,
channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
pbx/pbx_realtime.c, channels/chan_alsa.c: channel locking: Add
locking for channel snapshot creation Original commit message by
mmichelson (asterisk 12 r403311): "This adds channel locks around
calls to create channel snapshots as well as other functions
which operate on a channel and then end up creating a channel
snapshot. Functions that expect the channel to be locked prior to
being called have had their documentation updated to indicate
such." The above was initially committed and then reverted at
r403398. The problem was found to be in core_local.c in the
publish_local_bridge_message function. The ast_unreal_lock_all
function locks and adds a reference to the returned channels and
while they were being unlocked they were not being unreffed when
no longer needed. Fixed by unreffing the channels. Also in
bridge.c a lock was obtained on "other->chan", but then an
attempt was made to unlock "other" and not the previously locked
channel. Fixed by unlocking "other->chan" (closes issue
ASTERISK-22709) Reported by: John Bigelow ........ Merged
revisions 404237 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 19:36 +0000 [r404211] Alexandr Anikin <may@telecom-service.ru>
* configs/ooh323.conf.sample, addons/chan_ooh323.c: Introduce new
config option 'aniasdni'. If yes then asterisk set dialed number
as own id back to the caller on incoming h.323 calls. Option can
be set globally or per user section. (closes issue
ASTERISK-22020) Reported by: Ross Beer
2013-12-18 19:28 +0000 [r404210] Joshua Colp <jcolp@digium.com>
* res/res_calendar.c, apps/app_voicemail.c, channels/chan_vpb.cc,
addons/chan_ooh323.c, channels/chan_sip.c,
channels/chan_console.c, res/res_stasis_snoop.c,
channels/chan_iax2.c, channels/chan_oss.c, main/channel.c,
channels/chan_misdn.c, channels/chan_skinny.c,
tests/test_voicemail_api.c, channels/chan_alsa.c,
channels/chan_nbs.c, main/message.c, addons/chan_mobile.c,
tests/test_cdr.c, channels/chan_pjsip.c, channels/chan_mgcp.c,
channels/chan_unistim.c, main/pbx.c, tests/test_substitution.c,
channels/chan_multicast_rtp.c, /, apps/app_meetme.c,
apps/confbridge/conf_chan_record.c, tests/test_app.c,
tests/test_stasis_channels.c, main/core_unreal.c,
include/asterisk/channel.h, channels/chan_gtalk.c,
channels/chan_jingle.c, channels/chan_dahdi.c,
channels/chan_phone.c, res/parking/parking_tests.c,
channels/chan_motif.c, channels/chan_h323.c, tests/test_cel.c:
channels: Return allocated channels locked. This change makes
ast_channel_alloc return allocated channels locked. By doing so
no other thread can acquire, lock, and manipulate the channel
before it is completely set up. (closes issue AST-1256) Review:
https://reviewboard.asterisk.org/r/3067/ ........ Merged
revisions 404204 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 19:10 +0000 [r404198] Alexandr Anikin <may@telecom-service.ru>
* addons/chan_ooh323.c: Implement module reload command for
chan_ooh323 (close issue ASTERISK-22817) Patches:
ooh323_module_reload.patch
2013-12-18 12:46 +0000 [r404185] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/bridges.json,
rest-api/api-docs/recordings.json,
rest-api/api-docs/deviceStates.json,
rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
/, rest-api/api-docs/asterisk.json,
rest-api/api-docs/applications.json,
rest-api/api-docs/playbacks.json,
rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
rest-api/resources.json: ari: Bump the version of ARI to 1.0.0
(closes issue ASTERISK-23007) ........ Merged revisions 404184
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 12:01 +0000 [r404138] Joshua Colp <jcolp@digium.com>
* res/res_calendar.c, /: res_calendar: Protect channel when adding
datastore. This change adds a missing channel lock when adding a
datastore to a channel. ........ Merged revisions 404135 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404136 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404137 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 00:36 +0000 [r404100] Rusty Newton <rnewton@digium.com>
* /, funcs/func_strings.c: func_strings: Documentation fix for
QUOTE() Example output was inaccurate. (issue ASTERISK-22970)
(closes issue ASTERISK-22970) Reported by: Gareth Palmer Patches:
func_strings.patch uploaded by Gareth Palmer (license 5169)
........ Merged revisions 404081 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 404087 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 404099 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-18 00:17 +0000 [r404051] Matthew Jordan <mjordan@digium.com>
* /, LICENSE: LICENSE: Update language to include ARI ........
Merged revisions 404050 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-17 23:57 +0000 [r404049] Jonathan Rose <jrose@digium.com>
* /, tests/test_cel.c, tests/test_cdr.c: tests: fix
ast_bridge_base_new calls not using the additional arguments
r404042 gave ast_bridge_base_new two new arguments for setting a
bridge creator and name. Unfortunately since a couple test
modules aren't compiled by default, I missed the fact that this
change impacted those tests and caused compilation failures
against them. ........ Merged revisions 404048 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-17 23:38 +0000 [r404047] Rusty Newton <rnewton@digium.com>
* main/rtp_engine.c, /, channels/chan_iax2.c, apps/app_chanspy.c,
apps/app_mixmonitor.c, include/asterisk/test.h, main/channel.c:
Several components: fixing Typos in comments and code,
"avaliable" instead of "available" (issue ASTERISK-23021) (closes
issue ASTERISK-23021) Reported by: Jeremy Lainé Tested by: Rusty
Newton Patches: available.patch uploaded by Jeremy Lainé (license
6561) ........ Merged revisions 404046 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-17 23:25 +0000 [r404043] Jonathan Rose <jrose@digium.com>
* include/asterisk/bridge_internal.h, apps/app_confbridge.c,
res/res_stasis.c, include/asterisk/bridge.h,
res/res_ari_bridges.c, /, main/bridge.c, main/bridge_basic.c,
include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h,
apps/app_bridgewait.c, res/ari/ari_model_validators.c,
doc/appdocsxml.xslt, main/stasis_bridges.c,
rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
apps/app_agent_pool.c, res/parking/parking_bridge.c,
res/ari/ari_model_validators.h, main/manager_bridges.c,
res/ari/resource_bridges.h: bridging: Give bridges a name and a
known creator Bridges have two new optional properties, a creator
and a name. Certain consumers of bridges will automatically
provide bridges that they create with these properties. Examples
include app_bridgewait, res_parking, app_confbridge, and
app_agent_pool. In addition, a name may now be provided as an
argument to the POST function for creating new bridges via ARI.
(closes issue AFS-47) Review:
https://reviewboard.asterisk.org/r/3070/ ........ Merged
revisions 404042 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-17 18:35 +0000 [r404028-404030] Joshua Colp <jcolp@digium.com>
* res/res_sorcery_config.c, /: res_sorcery_config: Output an error
message when an object can't be created. If object creation fails
an error message will now be output with the id, type, and
configuration file. ........ Merged revisions 404029 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/framehook.c: framehooks: Re-iterate if framehook provides
different frame. Framehooks can be used in a reactive manner to
execute specific logic when a frame is received with a certain
type and payload. Since it is possible for framehooks to provide
frames it was possible for this reactive framehook to be unaware
of frames it is looking for. This change makes it so that when
framehooks return a modified frame the code will now re-iterate
(from the beginning) and call any previous framehooks that have
not provided a modified frame themselves. Review:
https://reviewboard.asterisk.org/r/3046/ ........ Merged
revisions 404027 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-17 14:41 +0000 [r404008-404009] David M. Lee <dlee@digium.com>
* /, configs/asterisk.conf.sample, main/asterisk.c: Changed the
default for live_dangerously to no ........ Merged revisions
404006 from http://svn.asterisk.org/svn/asterisk/branches/12
* channels/pjsip, /: Setting svn:ignore ........ Merged revisions
403748 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-17 12:59 +0000 [r403994] Matthew Jordan <mjordan@digium.com>
* res/ari/resource_channels.c, /: ari/resource_channels: When
creating a channel, specify a default format (SLIN) When creating
channels via ARI, the current code fails to provide any default
format capabilities. For non-virtual channels this isn't really a
problem - the channels typically receive their capabilities as a
result of the underlying channel driver configuration. For
virtual channels (such as Local channels), the lack of any format
capabilities causes the Asterisk core to make some 'odd' choices
with respect to the translation paths. The issue reporter had
some paths that had 3 hops on each channel leg, causing multiple
transcodings and some really crappy audio/performance. By
specifying a baseline of SLIN, we prevent that from occurring.
Note that this is what AMI does when it performs an Originate, as
does res_clioriginate. Review:
https://reviewboard.asterisk.org/r/3068/ (issue ASTERISK-22962)
Reported by: Matt DiMeo ........ Merged revisions 403993 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-16 19:11 +0000 [r403960] David M. Lee <dlee@digium.com>
* UPGRADE-12.txt, include/asterisk/pbx.h, main/asterisk.c,
funcs/func_realtime.c, main/pbx.c, main/tcptls.c,
funcs/func_db.c, /, README-SERIOUSLY.bestpractices.txt,
configs/asterisk.conf.sample, funcs/func_shell.c,
funcs/func_env.c, funcs/func_lock.c: security: Inhibit execution
of privilege escalating functions This patch allows individual
dialplan functions to be marked as 'dangerous', to inhibit their
execution from external sources. A 'dangerous' function is one
which results in a privilege escalation. For example, if one were
to read the channel variable SHELL(rm -rf /) Bad Things(TM) could
happen; even if the external source has only read permissions.
Execution from external sources may be enabled by setting
'live_dangerously' to 'yes' in the [options] section of
asterisk.conf. Although doing so is not recommended. Also, the
ABI was changed to something more reasonable, since Asterisk 12
does not yet have a public release. (closes issue ASTERISK-22905)
Review: http://reviewboard.digium.internal/r/432/ ........ Merged
revisions 403913 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 403917 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 403959 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-16 18:31 +0000 [r403958] Jonathan Rose <jrose@digium.com>
* /, main/bridge.c: transfers: Fix bug setting both BLINDTRANSFER
and ATTENDEDTRANSFER The ast_bridge_set_transfer_variables
function is supposed to wipe whichever variable isn't being set.
Instead it was setting both to the new value. Oops. (issue
AFS-24) ........ Merged revisions 403957 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-16 16:12 +0000 [r403857-403865] Scott Griepentrog <sgriepentrog@digium.com>
* /, main/pbx.c: pbx.c: put copy of ast_exten.data on stack to
prevent memory corruption During dialplan execution in
pbx_extension_helper(), the contexts global read lock prevents
link list corruption, but was released with a pointer to the
ast_exten and data later used in variable substitution. Instead,
this patch removes pbx_substitute_variables() and locates a copy
of the ast_exten data on the stack before releasing the lock,
where ast_exten could get free'd by another thread performing a
module reload. (issue AST-1179) Reported by: Thomas Arimont
(issue AST-1246) Reported by: Alexander Hömig Review:
https://reviewboard.asterisk.org/r/3055/ ........ Merged
revisions 403862 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 403863 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 403864 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_sms.c, /: app_sms: BufferOverflow when receiving odd
length 16 bit message This patch prevents an infinite loop
overwriting memory when a message is received into the
unpacksms16() function, where the length of the message is an odd
number of bytes. (closes issue ASTERISK-22590) Reported by: Jan
Juergens Tested by: Jan Juergens ........ Merged revisions 403856
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-15 01:39 +0000 [r403824] Matthew Jordan <mjordan@digium.com>
* channels/pjsip/dialplan_functions.c, /: pjsip/dialplan_functions:
Use the right buffer length when printing URIs While
entertaining, sizeof(buflen) is not the same as buflen. Doh.
........ Merged revisions 403823 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-14 17:28 +0000 [r403810-403812] Joshua Colp <jcolp@digium.com>
* res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c:
res_pjsip: Apply outbound proxy to all SIP requests. Objects
which are involved in SIP request creation and sending now allow
an outbound proxy to be specified. For cases where an endpoint is
used the outbound proxy specified there will be applied. (closes
issue ASTERISK-22673) Reported by: Antti Yrjola Review:
https://reviewboard.asterisk.org/r/3022/ ........ Merged
revisions 403811 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/dial.c, include/asterisk/stasis_channels.h,
rest-api/api-docs/events.json, /, res/stasis/app.c,
main/stasis_channels.c, apps/app_queue.c,
res/ari/ari_model_validators.c, apps/app_dial.c,
res/ari/ari_model_validators.h: res_stasis: Expose event for call
forwarding and follow forwarded channel. This change adds an
event for when an originated call is redirected to another
target. This event contains the original channel and the newly
created channel. If a stasis subscription exists on the original
originated channel for a stasis application then a new
subscription will also be created on the stasis application to
the redirected channel. This allows the application to follow the
call path completely. (closes issue ASTERISK-22719) Reported by:
Joshua Colp Review: https://reviewboard.asterisk.org/r/3054/
........ Merged revisions 403808 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-13 21:35 +0000 [r403797] Jonathan Rose <jrose@digium.com>
* res/res_pjsip_messaging.c, main/message.c, /: documentation: Add
PJSIP technology to messaging documentation ........ Merged
revisions 403796 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-13 20:17 +0000 [r403784] Richard Mudgett <rmudgett@digium.com>
* /, main/test.c: test.c: Fix too sticky unit test failed status.
Rerunning a failed unit test after loading any required modules
should allow the test to report a pass status if it now passes.
........ Merged revisions 403782 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-13 20:13 +0000 [r403783] Jonathan Rose <jrose@digium.com>
* include/asterisk/bridge.h, res/parking/parking_bridge_features.c,
res/parking/parking_manager.c, /, main/bridge.c,
main/bridge_basic.c: Transfers: Make Asterisk set
ATTENDEDTRANSFER/BLINDTRANSFER more reliably There were still a
few cases in which ATTENDEDTRANSFER and BLINDTRANSFER wouldn't be
set on channels involved with blind and attended transfers. This
would happen with features that were initialized by channel
driver specific mechanisms in multiparty calls. This patch
resolves those cases while attempted to keep the behavior for
setting those variables as consistent as possible. (closes issue
AFS-24) Review: https://reviewboard.asterisk.org/r/3040/ ........
Merged revisions 403781 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-13 18:33 +0000 [r403750-403768] Kevin Harwell <kharwell@digium.com>
* include/asterisk/channel.h, bridges/bridge_native_rtp.c,
channels/chan_pjsip.c, main/channel.c, /, channels/chan_sip.c:
bridge_native_rtp: Deadlock during 4-way conference creation The
change contains a slightly adjusted patch that was on the issue
(submitted by kmoore). A fix was made by adding in a bridge lock
while calling bridge_start/stop from the framehook callback.
Since the framehook callback is not called from the bridging core
the bridge is not locked, but needs to be before calling
bridge_start. (closes issue ASTERISK-22749) Reported by: Kinsey
Moore Review: https://reviewboard.asterisk.org/r/3066/ Patches:
lock_inversion.diff uploaded by kmoore (license 6273) ........
Merged revisions 403767 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/ari/resource_channels.h, /, main/http.c,
rest-api/api-docs/channels.json, res/ari/resource_channels.c,
res/res_ari_channels.c: ARI: Allow specifying channel variables
during a POST /channels Added the ability to specify channel
variables when creating/originating a channel in ARI. The
variables are sent in the body of the request and should be
formatted as a single level JSON object. No nested objects
allowed. For example: {"variable1": "foo", "variable2": "bar"}.
(closes issue ASTERISK-22872) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/3052/ ........ Merged
revisions 403752 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_stasis_playback.c, /, res/stasis/control.c,
res/stasis/command.h, include/asterisk/stasis_app.h,
include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c,
res/res_stasis_answer.c, rest-api/api-docs/bridges.json,
res/ari/resource_bridges.c, res/res_ari_bridges.c,
res/stasis/command.c: ARI: Adding a channel to a bridge while a
live recording is active blocks Added the ability to have rules
that are checked when adding and/or removing channels to/from a
bridge. In this case, if a channel is currently recording and
someone attempts to add it to a bridge an "is recording" rule is
checked, fails, and a 409 conflict is returned. Also command
functions now return an integer value that can be descriptive of
what kind of problems, if any, occurred before or during
execution. (closes issue ASTERISK-22624) Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/2947/ ........ Merged
revisions 403749 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-13 05:00 +0000 [r403737] Matthew Jordan <mjordan@digium.com>
* channels/Makefile, /: channels/Makefile: clean pjsip directory
........ Merged revisions 403736 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-13 00:40 +0000 [r403726] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/app.h, tests/test_voicemail_api.c, main/app.c:
test_voicemail_api: Add check for a registered voicemail provider
before tests. It is much nicer diagnosing a test failure if
app_voicemail is actually loaded.
2013-12-12 19:46 +0000 [r403714] Scott Griepentrog <sgriepentrog@digium.com>
* contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
(added), /: realtime: Create extensions in alembic ast-db-manage
contribution When the alembic scripts were written for creating
Asterisk realtime databases the extensions table for dialplan
wasn't included. This update creates the extensions table.
(closes issue ASTERISK-22815) Reported by: Zone Conkle Review:
https://reviewboard.asterisk.org/r/3064/ ........ Merged
revisions 403713 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-12 19:18 +0000 [r403707] Jonathan Rose <jrose@digium.com>
* /, channels/chan_pjsip.c: chan_pjsip: Revert r403587 This patch
was intended to eliminate a deadlock that occurs when masquerades
occur in pjsip channels, but has some potential side effects.
Mark Michelson is currently working on addressing this problem
from another angle. (issue ASTERISK-22936) Reported by: Jonathan
Rose ........ Merged revisions 403705 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-11 20:24 +0000 [r403687] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c, /,
configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
res/res_pjsip_messaging.c: res_pjsip_messaging: send message to a
default outbound endpoint In some cases messages need to be sent
to a direct URI (sip:<ip address>). This patch adds in that
support by using a default outbound endpoint. When sending
messages, if no endpoint can be found then the default one is
used. To facilitate this a new default_outbound_endpoint option
was added to the globals section for pjsip.conf. Review:
https://reviewboard.asterisk.org/r/2944/ ........ Merged
revisions 403680 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-11 19:22 +0000 [r403652] Russell Bryant <russell@russellbryant.com>
* /, channels/chan_sip.c: Reset peer outboundproxy on sip.conf
reload If you set a peer's outboundproxy and then removed it from
the config, this would not get picked up in a config reload. This
patch fixes that by resetting it in set_peer_defaults(). Closes
ASTERISK-19454 Review: https://reviewboard.asterisk.org/r/3065/
........ Merged revisions 403634 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 403635 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 403639 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-11 19:19 +0000 [r403643] Richard Mudgett <rmudgett@digium.com>
* apps/app_voicemail.c, include/asterisk/app.h,
include/asterisk/doxyref.h, main/app.c: app_voicemail: Voicemail
callback registration/unregistration function improvements. * The
voicemail registration/unregistration functions now take a struct
of callbacks instead of a lengthy parameter list of callbacks. *
The voicemail registration/unregistration functions now prevent a
competing module from interfering with an already registered
callback supplying module.
2013-12-11 13:06 +0000 [r403617-403619] Matthew Jordan <mjordan@digium.com>
* main/xmldoc.c, channels/pjsip/dialplan_functions.c,
include/asterisk/res_pjsip_session.h, channels/pjsip (added), /,
funcs/func_channel.c, channels/pjsip/include,
channels/pjsip/include/dialplan_functions.h, res/res_pjsip_t38.c,
channels/pjsip/include/chan_pjsip.h, channels/Makefile,
channels/chan_pjsip.c: func_channel, chan_pjsip: Add CHANNEL read
function support for chan_pjsip This patch adds CHANNEL read
support for chan_pjsip. This allows the dialplan to use the
CHANNEL function on a chan_pjsip channel to obtain run-time
information about the channel from the PJSIP channel driver and
the PJSIP stack. This includes: * RTP information, including
source/destination media addresses, whether or not the media is
secure, held, and other properties. * RTCP information. This
includes sets of parseable information, as well as individual
statistic attriutes. * PJSIP information. This includes URIs,
local/remote signalling addresses, whether or not the signalling
is secure, and other properties. * The endpoint name. This can be
used in conjunction with the PJSIP_ENDPOINT function to obtain
more detailed endpoint information. Review:
https://reviewboard.asterisk.org/r/3038/ ........ Merged
revisions 403618 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/sorcery.c, Makefile, funcs/func_pjsip_endpoint.c (added),
doc/snapshots.xslt (removed), /, doc/appdocsxml.xslt (added),
doc/appdocsxml.dtd: func_pjsip_endpoint: Add PJSIP_ENDPOINT
function for querying endpoint details This patch adds a new
function, PJSIP_ENDPOINT, which lets the dialplan query, for any
endpoint, any property configured on an endpoint. This function
is a companion to the CHANNEL function, which can be used to
extract the endpoint name for a channel. Review:
https://reviewboard.asterisk.org/r/3035 ........ Merged revisions
403616 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-10 15:15 +0000 [r403605] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_authenticator_digest.c: Fix correct authentication
behavior for artificial endpoint. When switching to using a
vector for authentication, I initialized the vector for the
artificial endpoint to be of size 1. However, this does not
result in AST_VECTOR_SIZE() returning 1 since there isn't
actually anything in the vector. Rather than trifle with the
vector by putting unnecessary elements in, I simply changed the
callback in res_pjsip_authenticator_digest.c to explicitly report
that the artificial endpoint requires authentication. Thanks to
Joshua Colp for pointing this out.
2013-12-09 22:59 +0000 [r403576-403588] Jonathan Rose <jrose@digium.com>
* channels/chan_pjsip.c, /: chan_pjsip: Fix a sticking channel lock
caused by channel masquerades (closes issue ASTERISK-22936)
Reported by: Jonathan Rose Review:
https://reviewboard.asterisk.org/r/3042/ ........ Merged
revisions 403587 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/dial.h, CHANGES, main/dial.c, apps/app_page.c:
app_page: Add predial handlers for app_page. (closes issue
AFS-14) Review: https://reviewboard.asterisk.org/r/3045/
2013-12-09 19:24 +0000 [r403544-403560] Richard Mudgett <rmudgett@digium.com>
* res/res_sorcery_astdb.c, /: Reverting regex part of -r403545 at
request of file. res_sorcery_astdb.c: Fix get multiple records by
regex. * Fix sorcery_astdb_retrieve_regex() pattern matching. Let
the regexec() function match the stored key values instead of
having astdb prefilter them. Previoiusly you could only use a
simple regex pattern when the pattern began with '^'. ........
Merged revisions 403559 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_sorcery_astdb.c, /: res_sorcery_astdb.c: Fix get multiple
records by regex. * Fix sorcery_astdb_retrieve_regex() pattern
matching. Let the regexec() function match the stored key values
instead of having astdb prefilter them. Previoiusly you could
only use a simple regex pattern when the pattern began with '^'.
* Fix off nominal memory leak in sorcery_astdb_retrieve_regex().
........ Merged revisions 403545 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/sorcery.c, /: sorcery: Eliminate shadowing a varaible that
caused confusion. * Eliminated shadowing of the
__ast_sorcery_apply_config() name parameter causing confusion. *
Fix potential crash from sorcery.conf user input in
__ast_sorcery_apply_config() if the user supplied a malformed
config line that is missing the sorcery object type name. *
Remove redundant test in __ast_sorcery_apply_config(). !config
and config == CONFIGS_STATUS_FILEMISSING are identical. ........
Merged revisions 403541 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-09 18:32 +0000 [r403543] Joshua Colp <jcolp@digium.com>
* main/endpoints.c, /: endpoints: Keep a reference to channel ids
when creating snapshot. The snapshot process for endpoints uses
the channel ids present on the endpoint itself. Without keeping a
reference it was possible for the strings to be freed underneath
any consumer of an endpoint snapshot. A reference is now held by
the snapshot to the channel ids and released when the snapshot is
destroyed. (issue ASTERISK-22801) Reported by: Matt Jordan
........ Merged revisions 403542 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-09 18:14 +0000 [r403528] Richard Mudgett <rmudgett@digium.com>
* /, main/sorcery.c: sorcery: Whitespace You would think that a new
file would start off without any whitespace oddities. ........
Merged revisions 403527 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-09 17:29 +0000 [r403512-403526] Mark Michelson <mmichelson@digium.com>
* apps/app_confbridge.c, CHANGES,
apps/confbridge/conf_state_multi_marked.c: Add a
CONFBRIDGE_RESULT channel variable to discern why a channel left
a ConfBridge. Review: https://reviewboard.asterisk.org/r/3009
* CHANGES, apps/app_mixmonitor.c: Create function for retrieving
Mixmonitor instance data. For the time, this is only useful for
retrieving the filename. The purpose of this function is to
better facilitate multiple mixmonitors per channel. Setting a
MIXMONITOR_FILENAME channel variable is not conducive to such
behavior, so allowing finer grained access to individual
mixmonitor properties improves the situation. The
MIXMONITOR_FILENAME channel variable is still set, though, so
there is no worry about backwards compatibility. Review:
https://reviewboard.asterisk.org/r/3023
2013-12-09 16:41 +0000 [r403511] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_nat.c, /: res_pjsip_nat: Add NAT module to session
dialogs. Due to the way pjproject internally works it was
possible for the NAT module to not be invoked on messages with-in
a session dialog. This means that the various parts of the
message would not get rewritten with the source IP address and
port. This change uses a session supplement to add the NAT module
to the dialog on the first incoming or outgoing INVITE. (closes
issue ASTERISK-22941) Reported by: Leif Madsen ........ Merged
revisions 403510 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-09 16:10 +0000 [r403499] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip/pjsip_distributor.c, res/res_pjsip.c,
include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c,
res/res_pjsip_outbound_authenticator_digest.c,
res/res_pjsip_authenticator_digest.c,
res/res_pjsip_outbound_registration.c,
res/res_pjsip/pjsip_configuration.c: Switch PJSIP auth to use a
vector. Since Asterisk has a vector API now, places where arrays
are manually resized don't really make sense any more. Since the
auth work in PJSIP was freshly-written, it was easy to reform it
to use a vector. Review: https://reviewboard.asterisk.org/r/3044
2013-12-09 03:21 +0000 [r403436-403466] Matthew Jordan <mjordan@digium.com>
* res/res_fax_spandsp.c, /: res_fax_spandsp: Always init T.38
session to avoid crashes during state change Prior to this patch,
res_fax_spandsp was conservative with how it initialized the
spandsp T.38 context. It would only initialize it if the driver
thought the current state was a T.38 fax. While this works fine
in nominal situations, in certain off nominal situations,
res_fax_spandsp can believe that a T.38 fax will not occur when
in fact one has started. In particular, this was discovered when
res_fax would fall back to audio after timing out on a T.38
upgrade. The SIP channel driver would continue to retry the
re-INVITE and - if the remote end responded after res_fax timed
out with a 200 OK - a T.38 frame would be delivered to the
res_fax stack when it no longer expected it. As it turns out,
there does not appear to be any downside to always initializing
the T.38 context, other than the actual memory allocation. Since
that avoids this off nominal situation (and others which are
equally likely hard to predict), this is the safest way to avoid
this problem. Much thanks to Torrey as well for providing a
scenario that reproduces this issue. (closes issue
ASTERISK-21242) Reported by: Ashley Winters Tested by: Torrey
Searle patches: always-init-t38.patch uploaded by awinters
(License 6477) A_PARTY.xml uploaded by tsearle (License 5334)
........ Merged revisions 403449 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 403450 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 403458 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_config_sqlite.c, /: res_config_sqlite: Check for CDR
unregistration failures If the CDR unregistration fails due to an
inflight CDR, the res_config_sqlite module needs to bail on
unloading itself. Otherwise, the config could be unloaded
(including the CDR table name) while the CDR engine posts a CDR
to the still registered backend, resulting in a crash. ........
Merged revisions 403435 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-05 23:40 +0000 [r403414] Jonathan Rose <jrose@digium.com>
* apps/app_record.c: app_record: Add an option that allows DTMF '0'
to act as an additional terminator Using this terminator when
active results in ${RECORD_STATUS} being set to 'OPERATOR'
instead of 'DTMF' (closes issue AFS-7) Review:
https://reviewboard.asterisk.org/r/3041/
2013-12-05 22:10 +0000 [r403402-403404] David M. Lee <dlee@digium.com>
* channels/chan_h323.c, tests/test_cel.c, apps/app_confbridge.c,
res/res_stasis.c, res/res_pjsip_refer.c, apps/app_voicemail.c,
apps/app_dial.c, channels/chan_vpb.cc, addons/chan_ooh323.c,
channels/chan_sip.c, main/pickup.c, include/asterisk/aoc.h,
include/asterisk/stasis_bridges.h, apps/app_userevent.c,
apps/app_disa.c, main/core_local.c,
include/asterisk/channelstate.h, channels/chan_console.c,
channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
channels/chan_nbs.c, addons/chan_mobile.c, main/bridge_channel.c,
tests/test_cdr.c, channels/chan_pjsip.c,
res/parking/parking_manager.c, channels/chan_mgcp.c,
channels/chan_unistim.c, main/pbx.c, /, apps/app_meetme.c,
funcs/func_timeout.c, main/bridge.c,
tests/test_stasis_channels.c, main/core_unreal.c,
include/asterisk/channel.h, channels/chan_gtalk.c, main/cel.c,
apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
channels/chan_jingle.c, channels/chan_phone.c,
channels/chan_dahdi.c, main/dial.c, channels/sig_analog.c,
include/asterisk/stasis_channels.h, res/res_agi.c,
channels/chan_motif.c: Reverting r403311. It's causing ARI tests
to hang. ........ Merged revisions 403398 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/control.c: ari: Fix deadlock problem with functions
that use autoservice. The code for getting channel variables from
ARI assumed that you needed to lock the channel in order to
properly execute functions and read channel variables.
Apparently, this is not the case, since any dialplan function
that puts the channel into autoservice deadlocks when attempting
to remove the channel from autoservice. ........ Merged revisions
403342 from http://svn.asterisk.org/svn/asterisk/branches/12
* /: Multiple revisions 403304,403310 ........ r403304 | dlee |
2013-12-02 12:34:50 -0600 (Mon, 02 Dec 2013) | 1 line Fixed the
filename for the ari.conf docs ........ r403310 | file |
2013-12-03 10:32:12 -0600 (Tue, 03 Dec 2013) | 5 lines Revert
revision 403304: Fixed the filename for the ari.conf docs The
changed value refers to the name of the module. The name of the
configuration file is specified in the configFile section.
........ Merged revisions 403304,403310 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-04 21:42 +0000 [r403378] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip_registrar.c, /: res_pjsip_registrar: undefined
function pointer symbol Used a static wrapper around the
offending function to alleviate the issue. Reported by: rmudgett
........ Merged revisions 403377 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-04 20:54 +0000 [r403365] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_t38.c, /: res_pjsip_t38: Don't pass T.38 control
frames through to other hooks. This crept up during gateway
testing where the gateway would receive the request to negotiate
and assume it came from the remote side, causing the gateway
state machine to go a little, to a use a technical term, "wonky".
........ Merged revisions 403364 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-04 18:41 +0000 [r403350] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip.c, /: Initialize the hash value argument to
pj_hash_get() to 0. Passing a non-zero value causes PJLIB to use
the given input as the hash value. Passing zero causes the
parameter to become an output parameter that receives the hash
value that was computed based on the given key. This change
essentially makes ast_sip_dict_get() properly retrieve the
desired value. ........ Merged revisions 403349 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-03 18:01 +0000 [r403330] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_session.c, /, configure,
include/asterisk/autoconfig.h.in, configure.ac:
res_pjsip_session: Add support for
PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag. Newer versions of PJSIP
have changed to using a flag for the
PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds
a configure check to detect the presence of the flag and use it
if found. ........ Merged revisions 403329 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-03 17:35 +0000 [r403327] Richard Mudgett <rmudgett@digium.com>
* res/res_pjsip_registrar_expire.c, res/res_pjsip/pjsip_options.c,
tests/test_sorcery.c, include/asterisk/bucket.h, main/sorcery.c,
/, main/bucket.c, include/asterisk/sorcery.h,
res/res_pjsip/pjsip_configuration.c: sorcery, bucket: Change
observer remove calls to take const callbacks struct. * Make
ast_sorcery_observer_remove() accept a const callbacks struct. *
Make ast_sorcery_observer_remove() tolerant of the sorcery
parameter being NULL. Now it can be called within a module unload
routine if the sorcery initialization fails. * Fix
ast_sorcery_observer_add() to fail if the container link fails.
........ Merged revisions 403324 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-03 17:07 +0000 [r403314] Mark Michelson <mmichelson@digium.com>
* tests/test_cdr.c, channels/chan_pjsip.c,
res/parking/parking_manager.c, channels/chan_mgcp.c,
channels/chan_unistim.c, main/pbx.c, /, apps/app_meetme.c,
funcs/func_timeout.c, main/bridge.c,
tests/test_stasis_channels.c, main/core_unreal.c,
include/asterisk/channel.h, channels/chan_gtalk.c, main/cel.c,
apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
channels/chan_jingle.c, channels/chan_phone.c,
channels/chan_dahdi.c, main/dial.c, channels/sig_analog.c,
include/asterisk/stasis_channels.h, res/res_agi.c,
channels/chan_motif.c, channels/chan_h323.c, tests/test_cel.c,
apps/app_confbridge.c, res/res_stasis.c, res/res_pjsip_refer.c,
apps/app_voicemail.c, apps/app_dial.c, channels/chan_vpb.cc,
addons/chan_ooh323.c, channels/chan_sip.c, main/pickup.c,
include/asterisk/aoc.h, include/asterisk/stasis_bridges.h,
apps/app_userevent.c, apps/app_disa.c, main/core_local.c,
include/asterisk/channelstate.h, channels/chan_console.c,
channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
channels/chan_nbs.c, addons/chan_mobile.c, main/bridge_channel.c:
Add channel locking for channel snapshot creation. This adds
channel locks around calls to create channel snapshots as well as
other functions which operate on a channel and then end up
creating a channel snapshot. Functions that expect the channel to
be locked prior to being called have had their documentation
updated to indicate such. ........ Merged revisions 403311 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-03 16:39 +0000 [r403313] Joshua Colp <jcolp@digium.com>
* main/media_index.c, /: media_index: Make media indexing tolerable
of bad symlinks. Media indexing will now skip over files and
directories that stat will not return information about. This can
occur under normal conditions when a symbolic link points to a
location that no longer exists. ........ Merged revisions 403312
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-02 18:12 +0000 [r403292] Alexandr Anikin <may@telecom-service.ru>
* addons/chan_ooh323.c, /: Check and reject non-digits e164 values
on peers and general sections in ooh323.conf Regenerate e164
endpoint list on reload ooh323 (issue ASTERISK-22901) Reported
by: Cyril CONSTANTIN Patches: ASTERISK-22901.patch ........
Merged revisions 403288 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 403290 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-12-01 21:13 +0000 [r403257-403272] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_session.c, /: res_pjsip_session: Apply fromuser and
fromdomain to all requests as documented. ........ Merged
revisions 403271 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_t38.c: res_pjsip_t38: Add the framehook to the
channel only on first INVITE. The check for determining whether
the T.38 framehook should be added to the channel or not has now
been changed to guarantee adding only occurs on the first
incoming or outgoing INVITE. ........ Merged revisions 403258
from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip/security_events.c, res/res_pjsip/pjsip_options.c,
res/res_pjsip.c, res/res_pjsip_transport_websocket.c,
include/asterisk/res_pjsip.h, /, res/res_pjsip/location.c:
res_pjsip_transport_websocket: Fix security events and simplify
implementation. Transport type determination for security events
has been simplified to use the type present on the message itself
instead of searching through configured transports to find the
transport used. The actual WebSocket transport has also been
simplified. It now leverages the existing PJSIP transport manager
for finding the active WebSocket transport for outgoing messages.
This removes the need for res_pjsip_transport_websocket to store
a mapping itself. (closes issue ASTERISK-22897) Reported by: Max
E. Reyes Vera J. Review: https://reviewboard.asterisk.org/r/3036/
........ Merged revisions 403256 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-30 14:12 +0000 [r403241] Joshua Colp <jcolp@digium.com>
* res/ari/ari_model_validators.h, rest-api/api-docs/events.json, /,
res/ari/ari_model_validators.c: res_ari: Add Recording events to
the validator. ........ Merged revisions 403240 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-28 02:12 +0000 [r403208-403224] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_sdp_rtp.c, /: res_pjsip_sdp_rtp: Don't produce an
invalid media stream with no formats. Depending on configuration
it was possible for a media stream to be created without any
media formats. The produced SDP would fail internal validation
and cause a crash. The code will now no longer add media streams
with no formats to the SDP, allowing it to pass validation and
work. (closes issue ASTERISK-22858) Reported by: Anthony Messina
........ Merged revisions 403223 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_header_funcs.c: res_pjsip_header_funcs: Don't
add headers to re-INVITEs. When sending a re-INVITE to an
endpoint it was possible for received headers to be added as well
(since they are stored for retrieval using the PJSIP_HEADER
dialplan function). This caused a broken (and potentially large)
SIP INVITE to be produced and sent. This changes the module so it
will no longer add headers to re-INVITEs. (closes issue
ASTERISK-22882) Reported by: David M. Lee ........ Merged
revisions 403221 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_stasis_playback.c, /: res_stasis_playback: Add 'number',
'digits', and 'characters' URI scheme implementations. This
change adds new URI scheme implementations for playing numbers,
digits, and characters. This is done as part of the normal
playback mechanism and can be used with queueing to create a
combined sentence. Review:
https://reviewboard.asterisk.org/r/3028/ ........ Merged
revisions 403209 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c,
res/res_pjsip_session.c, include/asterisk/res_pjsip.h:
res_pjsip_session: Add configurable behavior for redirects. The
action taken when a redirect occurs is now configurable on a
per-endpoint basis. The redirect can either be treated as a
redirect to a local extension, to a URI that is dialed through
the Asterisk core, or to a URI that is dialed within PJSIP
itself. (closes issue ASTERISK-21710) Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2963/ ........ Merged
revisions 403207 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-27 17:32 +0000 [r403192] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/astdb.h: astdb: Tweak some doxygen comments.
2013-11-27 16:12 +0000 [r403180] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix crash when
reloading certain configurations. Certain options available that
specify a SIP URI perform validation on the provided URI using
the PJSIP URI parser. This operation requires that the thread
executing it be registered with the PJLIB library. During reloads
this was done on a thread which was NOT registered with it. This
fixes the problem by creating a task which reloads the
configuration on a PJSIP thread. (closes issue ASTERISK-22923)
Reported by: Anthony Messina ........ Merged revisions 403179
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-27 15:48 +0000 [r403177] David M. Lee <dlee@digium.com>
* res/res_ari_channels.c, include/asterisk/ari.h,
rest-api-templates/param_parsing.mustache,
include/asterisk/http.h, res/res_ari_recordings.c,
res/res_ari_endpoints.c, main/http.c,
rest-api-templates/swagger_model.py, res/res_ari_playbacks.c,
res/res_ari_sounds.c, rest-api-templates/asterisk_processor.py,
res/res_ari_bridges.c, tests/test_ari.c, res/res_ari.c, /,
res/res_ari_device_states.c, res/res_ari_asterisk.c,
rest-api-templates/res_ari_resource.c.mustache,
res/res_ari_applications.c: ari:Add application/json parameter
support The patch allows ARI to parse request parameters from an
incoming JSON request body, instead of requiring the request to
come in as query parameters (which is just weird for POST and
DELETE) or form parameters (which is okay, but a bit asymmetric
given that all of our responses are JSON). For any operation that
does _not_ have a parameter defined of type body (i.e.
"paramType": "body" in the API declaration), if a request
provides a request body with a Content type of
"application/json", the provided JSON document is parsed and
searched for parameters. The expected fields in the provided JSON
document should match the query parameters defined for the
operation. If the parameter has 'allowMultiple' set, then the
field in the JSON document may optionally be an array of values.
(closes issue ASTERISK-22685) Review:
https://reviewboard.asterisk.org/r/2994/
2013-11-27 15:31 +0000 [r403161-403174] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip/pjsip_configuration.c: res_pjsip: Update
handling of some options to work with new option names. Some
options (such as call_group and pickup_group) share the same
configuration handler and decide what logic to use based on the
name of the option. These handlers were not updated to check for
the new option names and were treating the options as invalid.
This change simply updates the handlers with the proper names of
the options. (closes issue ASTERISK-22922) Reported by: Anthony
Messina ........ Merged revisions 403173 from
http://svn.asterisk.org/svn/asterisk/branches/12
* configure.ac, /, configure, include/asterisk/autoconfig.h.in: Fix
a configure issue with PJSIP transaction group lock detection.
The configure check did not use the provided paths for pjproject
if provided when looking for transaction group lock support.
........ Merged revisions 403160 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-23 17:48 +0000 [r403133-403135] Kevin Harwell <kharwell@digium.com>
* main/devicestate.c, res/stasis/app.h, rest-api/resources.json,
res/res_stasis_device_state.c (added),
res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
res/ari/resource_device_states.c (added),
rest-api/api-docs/deviceStates.json (added),
rest-api-templates/ari.make.mustache, res/ari.make,
rest-api/api-docs/applications.json,
res/ari/resource_device_states.h (added),
include/asterisk/stasis_app_device_state.h (added),
res/ari/resource_applications.h, res/res_stasis.c,
include/asterisk/devicestate.h, rest-api/api-docs/events.json,
res/res_stasis_device_state.exports.in (added), res/stasis/app.c,
res/res_ari_device_states.c (added), /,
include/asterisk/stasis_app.h: ARI: Implement device state API
Created a data model and implemented functionality for an ARI
device state resource. The following operations have been added
that allow a user to manipulate an ARI controlled device:
Create/Change the state of an ARI controlled device PUT
/deviceStates/{deviceName}&{deviceState} Retrieve all ARI
controlled devices GET /deviceStates Retrieve the current state
of a device GET /deviceStates/{deviceName} Destroy a device-state
controlled by ARI DELETE /deviceStates/{deviceName} The ARI
controlled device must begin with 'Stasis:'. An example
controlled device name would be Stasis:Example. A
'DeviceStateChanged' event has also been added so that an
application can subscribe and receive device change events. Any
device state, ARI controlled or not, can be subscribed to. While
adding the event, the underlying subscription control mechanism
was refactored so that all current and future resource
subscriptions would be the same. Each event resource must now
register itself in order to be able to properly handle
[un]subscribes. (issue ASTERISK-22838) Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3025/ ........ Merged
revisions 403134 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/strings.h,
res/res_pjsip/include/res_pjsip_private.h,
res/res_pjsip_pubsub.c, res/res_pjsip/config_transport.c,
res/res_pjsip_registrar.c, main/sorcery.c,
include/asterisk/res_pjsip.h, include/asterisk/acl.h,
res/res_pjsip/config_auth.c, include/asterisk/utils.h,
res/res_pjsip.exports.in, /,
res/res_pjsip_endpoint_identifier_ip.c, main/acl.c, main/utils.c,
res/res_pjsip.c, res/res_pjsip_exten_state.c,
include/asterisk/res_pjsip_pubsub.h, res/res_pjsip/location.c,
res/res_pjsip_outbound_registration.c, res/res_pjsip_mwi.c,
res/res_pjsip/pjsip_configuration.c, include/asterisk/sorcery.h:
res_pjsip: AMI commands and events. Created the following AMI
commands and corresponding events for res_pjsip:
PJSIPShowEndpoints - Provides a listing of all pjsip endpoints
and a few select attributes on each. Events: EndpointList - for
each endpoint a few attributes. EndpointlistComplete - after all
endpoints have been listed. PJSIPShowEndpoint - Provides a detail
list of attributes for a specified endpoint. Events:
EndpointDetail - attributes on an endpoint. AorDetail - raised
for each AOR on an endpoint. AuthDetail - raised for each
associated inbound and outbound auth TransportDetail - transport
attributes. IdentifyDetail - attributes for the identify object
associated with the endpoint. EndpointDetailComplete - last event
raised after all detail events. PJSIPShowRegistrationsInbound -
Provides a detail listing of all inbound registrations. Events:
InboundRegistrationDetail - inbound registration attributes for
each registration. InboundRegistrationDetailComplete - raised
after all detail records have been listed.
PJSIPShowRegistrationsOutbound - Provides a detail listing of all
outbound registrations. Events: OutboundRegistrationDetail -
outbound registration attributes for each registration.
OutboundRegistrationDetailComplete - raised after all detail
records have been listed. PJSIPShowSubscriptionsInbound - A
detail listing of all inbound subscriptions and their attributes.
Events: SubscriptionDetail - on each subscription detailed
attributes SubscriptionDetailComplete - raised after all detail
records have been listed. PJSIPShowSubscriptionsOutbound - A
detail listing of all outboundbound subscriptions and their
attributes. Events: SubscriptionDetail - on each subscription
detailed attributes SubscriptionDetailComplete - raised after all
detail records have been listed. (issue ASTERISK-22609) Reported
by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2959/
........ Merged revisions 403131 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-23 12:52 +0000 [r403118-403120] Joshua Colp <jcolp@digium.com>
* res/res_stasis_recording.c, res/ari/ari_model_validators.c,
rest-api/api-docs/recordings.json,
res/ari/ari_model_validators.h, res/res_stasis_playback.c,
rest-api/api-docs/events.json, /: ari: Add events for playback
and recording. While there were events defined for playback and
recording these were not actually sent. This change implements
the to_json handlers which produces them. (closes issue
ASTERISK-22710) Reported by: Jonathan Rose Review:
https://reviewboard.asterisk.org/r/3026/ ........ Merged
revisions 403119 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/ari/resource_channels.h, res/res_stasis_snoop.exports.in
(added), /, include/asterisk/stasis_app_snoop.h (added),
rest-api/api-docs/channels.json, res/res_stasis_snoop.c (added),
main/audiohook.c, res/ari/resource_channels.c,
res/res_ari_channels.c: ari: Add Snoop operation for
spying/whispering on channels. The Snoop operation can be invoked
on a channel to spy or whisper on it. It returns a channel that
any channel operations can then be invoked on (such as record to
do monitoring). (closes issue ASTERISK-22780) Reported by: Matt
Jordan Review: https://reviewboard.asterisk.org/r/3003/ ........
Merged revisions 403117 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-23 00:22 +0000 [r403106] Rusty Newton <rnewton@digium.com>
* apps/app_voicemail.c: app_voicemail: when forwarding a message,
play vm-msgforwarded instead of vm-msgsaved In the last release
of sounds, 1.4.25 we added a vm-msgforwarded prompt for various
core languages. Now we use that prompt. (issue ASTERISK-21413)
(closes issue ASTERISK-21413) Reported by: netwrkr Tested by:
newtonr
2013-11-22 23:57 +0000 [r403095] Kinsey Moore <kmoore@digium.com>
* /, tests/test_stasis_channels.c, tests/test_stasis.c: Make sure
unit tests compile This fixes the unit tests that were broken by
r403069 and several functions requiring a new parameter for
sanitization of JSON messages generated from object snapshots.
........ Merged revisions 403094 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-22 22:37 +0000 [r403083] Kevin Harwell <kharwell@digium.com>
* /,
contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
configuration settings names to snake case some more Updated the
alembic script for pjsip. Also, the dtls config parsing stuff was
expecting strings with no underscores, so removed the underscores
from the option name before passing it to the parser. ........
Merged revisions 403082 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-22 20:10 +0000 [r403070] Kinsey Moore <kmoore@digium.com>
* main/stasis_endpoints.c, res/ari/resource_endpoints.c,
main/rtp_engine.c, /, res/stasis/app.c,
include/asterisk/stasis_bridges.h, include/asterisk/stasis.h,
include/asterisk/stasis_app.h, main/stasis_bridges.c,
res/ari/resource_bridges.c, main/json.c, main/stasis_message.c,
include/asterisk/stasis_channels.h, main/stasis_channels.c,
res/ari/resource_channels.c, include/asterisk/stasis_endpoints.h,
res/res_stasis.c: ARI: Don't leak implementation details This
change prevents channels used as implementation details from
leaking out to ARI. It does this by preventing creation of JSON
blobs of channel snapshots created from those channels and
sanitizing JSON blobs of bridge snapshots as they are created.
This introduces a framework for excluding information from output
targeted at Stasis applications on a consumer-by-consumer basis
using channel sanitization callbacks which could be extended to
bridges or endpoints if necessary. This prevents unhelpful error
messages from being generated by ast_json_pack. This also
corrects a bug where BridgeCreated events would not be created.
(closes issue ASTERISK-22744) Review:
https://reviewboard.asterisk.org/r/2987/ Reported by: David M.
Lee ........ Merged revisions 403069 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-22 17:27 +0000 [r403051] Kevin Harwell <kharwell@digium.com>
* /, configs/pjsip.conf.sample, res/res_pjsip/config_system.c,
contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
res/res_pjsip/pjsip_configuration.c, res/res_pjsip_acl.c,
res/res_pjsip.c, res/res_pjsip/config_transport.c,
res/res_pjsip/config_global.c: res_pjsip: convert configuration
settings names to snake case Renamed, where appropriate, the
configuration options for chan/res_pjsip to use snake case
(compound words separated by an underscore). For example,
faxdetect will become fax_detect, recordofffeature will become
record_off_feature, etc... Review:
https://reviewboard.asterisk.org/r/3002/ ........ Merged
revisions 403022 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-22 17:12 +0000 [r403017] Joshua Colp <jcolp@digium.com>
* /, main/translate.c: translate: Move freeing of frame to after it
is used. When translating from one format to another it is
possible to inform the translation function that the source frame
should be freed. This was previously done immediately but shortly
afterwards the frame that was freed was accessed and used again.
This change moves code around a bit so that the frame is now
freed after it has been completely used. (closes issue
ASTERISK-22788) Reported by: Corey Farrell Patches:
translate-access-after-free-11up.patch uploaded by coreyfarrell
(license 5909) translate-access-after-free-1.8.patch uploaded by
coreyfarrell (license 5909) ........ Merged revisions 403014 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 403015 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 403016 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-22 16:43 +0000 [r403013] Richard Mudgett <rmudgett@digium.com>
* CHANGES, apps/app_directed_pickup.c: PickupChan: Add ability to
specify channel uniqueids as well as channel names. * Made
PickupChan() search by channel uniqueids if the search could not
find a channel by name. * Ensured PickupChan() never considers
the picking channel for pickup. * Made PickupChan() option p use
a common search by name routine. The original search was
erroneously case sensitive. (issue AFS-42) Review:
https://reviewboard.asterisk.org/r/3017/
2013-11-21 22:38 +0000 [r402995] Jonathan Rose <jrose@digium.com>
* CHANGES, apps/app_directory.c: app_directory: Set variable
indicating reason directory exited By the time the directory
application exits, a channel variable DIRECTORY_RESULT will be
set for the channel that invoked it which can be used to
determine the reason for exit. The changes log and the
app_directory documentation contain specific details about each
of the possible values for DIRECTORY_RESULT. Review:
https://reviewboard.asterisk.org/r/3016/
2013-11-21 22:36 +0000 [r402982-402994] David M. Lee <dlee@digium.com>
* rest-api-templates/res_ari_resource.c.mustache,
rest-api-templates/ari_resource.c.mustache, /: ari: Fix #include
to match generated headers for snakeCase resource files ........
Merged revisions 402993 from
http://svn.asterisk.org/svn/asterisk/branches/12
* rest-api-templates/make_ari_stubs.py, /: ari: Fix generators for
resources with camelCase names. For the new deviceState resource,
we need to properly generate device_state.[ch] files. ........
Merged revisions 402981 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-21 19:22 +0000 [r402969] Matthew Jordan <mjordan@digium.com>
* res/res_pjsip_session.c, /: res_pjsip_session: Fix memory leak of
direct media format capabilities The direct media format
capabilities are always allocated in ast_sip_session_alloc and
were not freed in the session destructor. Whoops. (This being the
third whoops caught by Scott and Nitesh's valgrind work for the
Asterisk Test Suite. Nifty!) ........ Merged revisions 402968
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-21 19:09 +0000 [r402945-402957] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/app.h, /: voicemail: Fixup some doxygen
comments. ........ Merged revisions 402956 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/bucket.c: bucket: Fix scheme ref leak in
__ast_bucket_scheme_register(). ........ Merged revisions 402944
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-21 17:53 +0000 [r402942-402943] Matthew Jordan <mjordan@digium.com>
* /, res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix use of
uninitialized value in PJSIP In PJMEDIA,
pjmedia_sdp_rtpmap_to_attr will attempt to use the string
rtpmap.param regardless of its length value. Simply setting the
length to 0 does not prevent the garbage on the stack in
rtpmap.param.ptr from being formatted in a sprintf call. This
patch initializes the string to NULL so that at the very least,
something is provided to the function that is predictable.
........ Merged revisions 402941 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_mwi.c: res_pjsip_mwi: Fix memory leak of MWI
subscriptions container This patch fixes a reference counting
memory leak on the ao2_container created as part of
create_mwi_subscriptions. When we create the container in this
routine, the intent is to hand lifetime ownership over to the
global container unsolicited_mwi. When
ao2_global_obj_replace_unref is called, the reference count on
mwi_subscriptions (the container) will be bumped by 1; however,
the function does not decrement the reference count on
mwi_subscriptions when this occurs. This will prevent the
container from being fully disposed of when Asterisk exits (or on
any subsequent call to this operation, such as during a reload).
........ Merged revisions 402940 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-21 15:57 +0000 [r402928-402929] David M. Lee <dlee@digium.com>
* res/res_stasis.c, /: stasis: Fixed scoping problem with bridge
tracking. ........ Merged revisions 402817 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/control.c, include/asterisk/stasis_app.h,
rest-api/api-docs/channels.json, res/ari/resource_channels.c,
res/res_ari_channels.c, res/ari/resource_channels.h: ari: Add
silence generator controls This patch adds the ability to start a
silence generator on a channel via ARI. This generator will play
silence on the channel (avoiding audio timeouts on the peer)
until it is stopped, or some other media operation is started
(like playing media, starting music on hold, etc.). (closes issue
ASTERISK-22514) Review: https://reviewboard.asterisk.org/r/3019/
........ Merged revisions 402926 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-19 23:17 +0000 [r402892] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_caller_id.c: res_pjsip_caller_id: Don't
overwrite user portion of the From header when fromuser is set.
The fromuser option is used to explicitly set the user within the
From header. The res_pjsip_caller_id module did not take this
setting into account when determining if the From header could be
modified or not. (closes issue ASTERISK-22866) Reported by:
Anthony Messina ........ Merged revisions 402891 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-16 13:51 +0000 [r402865] Joshua Colp <jcolp@digium.com>
* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
res/res_pjsip/pjsip_distributor.c: res_pjsip: Add support for
building against pjproject with SIP transaction group lock
support. SIP transaction group lock support has been backported
into our pjproject. Since the code now internally uses a group
lock the code is now changed to unlock it if present. Note that
the act of finding the transaction is what actually returns it
locked. For further information about group locks check out the
wiki page at: http://trac.pjsip.org/repos/wiki/Group_Lock (issue
ASTERISK-22818) Reported by: Matt Jordan ........ Merged
revisions 402864 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-15 22:38 +0000 [r402854] Jonathan Rose <jrose@digium.com>
* apps/app_confbridge.c, CHANGES,
apps/confbridge/conf_config_parser.c,
configs/confbridge.conf.sample,
apps/confbridge/include/confbridge.h: Confbridge: Add option to
review the recording similar to announce_join_leave Review:
https://reviewboard.asterisk.org/r/3008/
2013-11-15 14:37 +0000 [r402839] Kinsey Moore <kmoore@digium.com>
* /, main/cel.c: CEL: Fix crash when using CELGenUserEvent This
fixes a crash when CELGenUserEvent is called from the dialplan
while CEL is disabled. Currently, CEL does not create its topics
and forwards if it is not enabled and external entities may
depend on these topics blindly since they should always be
available. This patch breaks up route creation and topic/forward
creation such that the CEL topics and forwards will always exist
while the router and its associated routes will be torn down and
recreated as necessary. (closes issue ASTERISK-22799) Review:
https://reviewboard.asterisk.org/r/3010/ Reported by: Matt Jordan
........ Merged revisions 402838 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-14 21:36 +0000 [r402820-402829] Richard Mudgett <rmudgett@digium.com>
* apps/app_directed_pickup.c: Pickup: Pickup() and PickupChan()
parameter parsing improvements. * Made Pickup() and PickupChan()
tollerate empty pickup values. i.e., You can now have
Pickup(&&exten@context). * Made PickupChan() use the standard
option flag parsing code.
* apps/app_directed_pickup.c: Pickup: Ensure using PICKUPMARK never
considers the picking channel.
2013-11-14 20:32 +0000 [r402819] Jonathan Rose <jrose@digium.com>
* CHANGES, main/pbx.c, apps/app_sayunixtime.c: Say: If
SAY_DTMF_INTERRUPT is set to an ast_true value, jump on DTMF
Similar to how background works, if a say application is called
with this variable set to 'true', 'yes', 'on', etc. then using
DTMF while the say action is in progress will result in the
channel jumping to that extension in the dialplan. Review:
https://reviewboard.asterisk.org/r/3011/
2013-11-13 23:11 +0000 [r402805] Joshua Colp <jcolp@digium.com>
* include/asterisk/stasis_app.h, rest-api/api-docs/channels.json,
res/ari/resource_channels.c, res/res_ari_channels.c,
res/ari/resource_channels.h, /, res/stasis/control.c:
res_ari_channels: Add the ability to stop locally generated
ringing on a channel. Using the 'ring' operation it is possible
to start locally generated ringback if the channel is answered.
This change adds the ability to stop it by using DELETE. ........
Merged revisions 402804 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-12 23:17 +0000 [r402788-402795] Kevin Harwell <kharwell@digium.com>
* res/ari/resource_endpoints.c, /: ari endpoints: GET
/ari/endpoints/{invalid-tech} should return a 404 Was returning a
404 on a valid technology with an empty list of endpoints. Now
checking against the channel tech to make sure the tech itself is
valid and not just an empty list of endpoints. (issue
ASTERISK-22803) Reported by: David M. Lee ........ Merged
revisions 402793 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_ari_endpoints.c, rest-api/api-docs/endpoints.json,
res/ari/resource_endpoints.c: ari endpoints: GET
/ari/endpoints/{invalid-tech} should return a 404 Implementation
listing endpoints by technology returned an empty array if no
matching endpoints were found. Fixed so a "404 Not Found" will be
returned instead. (closes issue ASTERISK-22803) Reported by:
David M. Lee ........ Merged revisions 402787 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-12 19:38 +0000 [r402768-402778] Mark Michelson <mmichelson@digium.com>
* main/channel.c, /: Switch to a scoped lock to avoid missing
unlocks in failure returns. ........ Merged revisions 402769 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/channel.c, /: Move a NULL check to a place that makes more
sense. Two variables were being checked for NULLity immediately
after being declared NULL. I moved the NULL check until after the
variables are allocated. This allows for the "channelvars" option
in manager.conf to work as intended again. ........ Merged
revisions 402767 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-12 16:49 +0000 [r402758] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_messaging.c, res/res_pjsip_header_funcs.c:
pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer
dereferences Both res_pjsip_messaging and res_pjsip_header_funcs
were causing asterisk to crash because they were trying to
dereference a NULL pointer. In the case of res_pjsip_messaging it
was attempting to "print" a contact header that did not exist. In
fact contact headers should not be part of a SIP MESSAGE, so the
offending code was simply removed. In the case of
res_pjsip_header_funcs a null private channel tech was being
passed to the function and then later dereferenced. Added null
checks (and error logging) to the read/write function handlers to
guard against crashing. (closes issue ASTERISK-22821) Reported
by: Anthony Messina ........ Merged revisions 402757 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-12 16:34 +0000 [r402756] Kinsey Moore <kmoore@digium.com>
* /, apps/app_celgenuserevent.c: CELGenUserEvent: Fix error message
from ast_json_pack This prevents NULL from being passed into an
ast_json_pack call when no extra information is passed to the
application which prevents an error message about NULL arguments
from being generated. ........ Merged revisions 402755 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-12 15:27 +0000 [r402741] David M. Lee <dlee@digium.com>
* rest-api/api-docs/events.json, /, res/ari/ari_model_validators.h:
Fixed a typ. ........ Merged revisions 402738 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-12 15:03 +0000 [r402711] Kinsey Moore <kmoore@digium.com>
* channels/chan_dahdi.c, /: chan_dahdi: Fix crash during caller ID
read Asterisk will sometimes core dump during caller id read on
analog channels due to a negative return value from the read() in
my_get_callerid that slips through as a negative length argument
to callerid_feed() if the errno returned by DAHDI is ELAST. This
change ensures that the negative return is treated properly even
when it is ELAST. (closes issue ASTERISK-22746) Reported by:
Michael Walton Patches: chan_dahdi_cid_crash_fix.r401410.patch
uploaded by Michael Walton (License 6502) ........ Merged
revisions 402708 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 402709 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402710 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-11 20:28 +0000 [r402698] Jonathan Rose <jrose@digium.com>
* apps/app_confbridge.c: Confbridge: add test events for dynamic
menus test Adds a couple of test events for conference menu
actions so that it's easy to discern when those menu actions have
been triggered. (issue ASTERISK-22760) Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2999/
2013-11-11 19:31 +0000 [r402688] Mark Michelson <mmichelson@digium.com>
* /, apps/app_confbridge.c: Get rid of some inaccurate comments.
I'm doing some unrelated work in app_confbridge and finding these
"invalid pin" comments to be annoying. Get out! ........ Merged
revisions 402686 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402687 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-11 15:37 +0000 [r402648] Kinsey Moore <kmoore@digium.com>
* /, apps/app_queue.c: app_queue: Honor penalty limits of 0 In the
current app_queue code from 1.8 up to trunk the upper and lower
penalties can be set to 0 but the value is interpreted to be
disabled instead of actually setting limits. This is especially
evident if min and max limits are set to 0 and members with
penalties of 0 and 1 are in the queue since the member with
penalty 1 will still receive calls. This patch adjusts the
special disabled value to be INT_MAX instead of 0. (closes issue
ASTERISK-20862) Review: https://reviewboard.asterisk.org/r/2995/
Reported by: Schmooze Com ........ Merged revisions 402645 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 402646 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402647 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 23:07 +0000 [r402607] Scott Griepentrog <sgriepentrog@digium.com>
* channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
keep same local (from) tag for outgoing register requests For
outbound register requests the tag on the From line was updated
every 20 seconds prior to a successful registration and also once
for each registration renewal. That behavior can possibly cause
the registration to be denied because of the different tag, and
is not aligned with the intention of RFC 3261 8.1.3.5 "...
request constitutes a new transaction and SHOULD have the same
value of the Call-ID, To, and From of the previous request...".
This updates chan_sip to have a field to keep the local tag in
the registration structure and use that tag for registration
requests where the callid is also unchanged. (closes issue
ASTERISK-12117) Reported by: Pawel Pierscionek Review:
https://reviewboard.asterisk.org/r/2988/ ........ Merged
revisions 402604 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 402605 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402606 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 20:37 +0000 [r402595] Richard Mudgett <rmudgett@digium.com>
* /, res/res_stasis.c: res_stasis.c: Fix locking issues with the
app_bridge_moh container. * Fix unlinking from the
app_bridges_moh container in remove_bridge_moh() without a lock
under normal circumstances. * Made check
ast_bridge_set_after_callback() return value in
bridge_moh_create() to handle failure. * Fixed SCOPED_AO2LOCK()
locking over too much scope in stasis_app_bridge_moh_channel()
and stasis_app_bridge_moh_stop(). * Fixed unusual usage of
ao2_unlink_flag() in control_unlink(). * Fixed orphaned bridge
from off nominal path in stasis_app_bridge_create(). * Fixed
strange construct in stasis_app_unsubscribe(). From a bad merge?
* Made load_module() cleanup on failure. Review:
https://reviewboard.asterisk.org/r/2962/ ........ Merged
revisions 402593 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 19:33 +0000 [r402585] Jonathan Rose <jrose@digium.com>
* configs/manager.conf.sample, CHANGES, include/asterisk/manager.h,
main/manager.c, /, main/security_events.c: security_events: Push
out security events over AMI events Security Events will now be
written to any listener of the new 'security' class Review:
https://reviewboard.asterisk.org/r/2998/ ........ Merged
revisions 402584 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 19:22 +0000 [r402583] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip.c, /: Clarify an ambiguous error message. ........
Merged revisions 402582 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 18:53 +0000 [r402571-402572] David M. Lee <dlee@digium.com>
* /, res/res_pjsip/config_system.c: res_pjsip: Print a helpful
error message if sorcery registration fails ........ Merged
revisions 402570 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/ari/resource_playbacks.h: Changes from make ari-stubs
after r402560 ........ Merged revisions 402561 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 17:59 +0000 [r402562] Kevin Harwell <kharwell@digium.com>
* res/ari/resource_playbacks.h (added), /, res/ari.make,
rest-api/api-docs/playback.json (removed),
res/ari/resource_playback.c (removed), res/res_ari_playback.c
(removed), rest-api/api-docs/playbacks.json (added),
res/ari/resource_playbacks.c (added), rest-api/resources.json,
res/ari/resource_playback.h (removed), res/res_ari_playbacks.c
(added): ARI playback: Rename ARI Playback to Playbacks Before
playback was the only non plural resource. It has been renamed to
playbacks for consistency. (closes issue ASTERISK-22737) Reported
by: Paul Belanger ........ Merged revisions 402560 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 17:29 +0000 [r402557] David M. Lee <dlee@digium.com>
* main/manager.c, /, main/http.c, res/res_ari.c: ari: Add
application/x-www-form-urlencoded parameter support ARI POST
calls only accept parameters via the URL's query string. While
this works, it's atypical for HTTP API's in general, and
specifically frowned upon with RESTful API's. This patch adds
parsing for application/x-www-form-urlencoded request bodies if
they are sent in with the request. Any variables parsed this way
are prepended to the variable list supplied by the query string.
(closes issue ASTERISK-22743) Review:
https://reviewboard.asterisk.org/r/2986/ ........ Merged
revisions 402555 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-08 14:58 +0000 [r402546] Kevin Harwell <kharwell@digium.com>
* main/asterisk.c, apps/app_dahdiras.c, utils/extconf.c:
app_dahdiras: Use waitpid instead of wait4. Several places in the
code were using wait4 while other places were using waitpid. This
change makes all places use waitpid in order to make things more
consistent and since the 'rusage' object passed in/out of wait4
was never used. (closes issue ASTERISK-22557) Reported by:
YvesGael Patches: asterisk-11.5.1-wait4.patch uploaded by hurdman
(license 6537)
2013-11-07 23:42 +0000 [r402538] Jonathan Rose <jrose@digium.com>
* /, res/res_pjsip_authenticator_digest.c: PJSIP: Improve error
handling in digest authenticator Previously, regardless of
whether failure to authenticate was due to lacking any
authentication or actually failing authentication, the Digest
Authenticator would simply return that a challenge was still
needed. It will continue to do that when no authentication
information is in the received SIP digest, but when
authentication information is present and does not pass
authentication, that will be treated as an authentication error.
This is to ensure that PJSIP will issue security events indicated
failed auths. ........ Merged revisions 402537 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-07 21:10 +0000 [r402529] David M. Lee <dlee@digium.com>
* rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
res/ari/resource_recordings.h, res/ari/resource_events.c,
res/res_ari_playback.c, res/res_ari_applications.c,
res/ari/resource_endpoints.h, res/ari/resource_events.h,
rest-api/api-docs/sounds.json, res/ari/resource_sounds.c,
res/res_ari_channels.c, rest-api/api-docs/bridges.json,
res/ari/resource_bridges.c, res/ari/resource_sounds.h,
res/res_ari_recordings.c, res/ari/resource_bridges.h,
rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c,
res/res_ari_endpoints.c, rest-api/api-docs/applications.json,
rest-api/api-docs/playback.json, res/res_ari_events.c,
res/ari/resource_asterisk.h, rest-api-templates/swagger_model.py,
res/res_ari_sounds.c, res/res_ari_bridges.c, /,
rest-api-templates/ari_resource.h.mustache,
rest-api-templates/rest_handler.mustache, res/res_ari_asterisk.c,
rest-api-templates/res_ari_resource.c.mustache,
res/ari/resource_applications.c, res/ari/resource_playback.c,
rest-api/api-docs/channels.json, res/ari/resource_applications.h,
res/ari/resource_channels.c, res/ari/resource_playback.h,
rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
rest-api-templates/ari_resource.c.mustache,
rest-api-templates/asterisk_processor.py,
res/ari/resource_channels.h: ari: User better nicknames for ARI
operations While working on building client libraries from the
Swagger API, I noticed a problem with the nicknames.
channel.deleteChannel() channel.answerChannel()
channel.muteChannel() Etc. We put the object name in the nickname
(since we were generating C code), but it makes OO generators
redundant. This patch makes the nicknames more OO friendly. This
resulted in a lot of name changing within the res_ari_*.so
modules, but not much else. There were a couple of other fixed I
made in the process. * When reversible operations (POST /hold,
POST /unhold) were made more RESTful (POST /hold, DELETE
/unhold), the path for the second operation was left in the API
declaration. This worked, but really the two operations should
have been on the same API. * The POST /unmute operation had still
not been REST-ified. Review:
https://reviewboard.asterisk.org/r/2940/ ........ Merged
revisions 402528 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-06 21:58 +0000 [r402518] Kevin Harwell <kharwell@digium.com>
* apps/app_queue.c, /: app_queue: crash if first agent is "busy" If
the first agent/member (via CLI "queue show") in a queue is
"busy" (dnd, circuit busy, etc...) and no agents answered then
app_queue would crash. This occurred because while the calling of
agent(s) remained valid the channel on "busy" agent would be set
to NULL and then later dereferenced upon a second "rna" function
call. The original intention of the code is to have only valid
"call attempt" objects (channels != NULL) checked while
attempting to call agent(s). It does this by building a
"call_next" list of valid "call attempt" objects. In the case of
the "busy" agent subsequent builds of the valid "call attempt"
list would sometimes include (the case mentioned above) an
invalid "call attempt" object. The fix was to make sure the "call
attempt" list was appropriately built on every iteration. A NULL
sanity check was also added at the original offending spot of the
crash just in case another one slipped by somehow. (closes issue
ASTERISK-22644) Reported by: Marco Signorini Review:
https://reviewboard.asterisk.org/r/2983/ ........ Merged
revisions 402517 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-05 21:17 +0000 [r402502-402508] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_sip.c: chan_sip: Use AST_AF* defined constant
when calling ast_get_ip While the structure passed to ast_get_ip
should be set memset to 0, thus initializing the ss_family member
to 0, explicitly setting it to AST_AF_UNSPEC is more portable.
........ Merged revisions 402507 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_iax2.c: chan_iax2: Fix incorrect usage of
ast_get_ip involving uninitialized struct This started off as a
fix for the failing IAX2 acl_call test in the Asterisk Test
Suite. When inspecting why that test was failing, it became clear
that all attempts to bind to any local loopback address was
failing: [Nov 2 15:56:28] VERBOSE[15787] chan_iax2.c: == Binding
IAX2 to address 127.0.0.1:4569 [Nov 2 15:56:28] DEBUG[15787]
netsock2.c: Splitting '127.0.0.1' into... [Nov 2 15:56:28]
DEBUG[15787] netsock2.c: ...host '127.0.0.1' and port ''. [Nov 2
15:56:28] ERROR[15787] netsock2.c: getaddrinfo("127.0.0.1",
"(null)", ...): ai_family not supported [Nov 2 15:56:28]
WARNING[15787] acl.c: Unable to lookup '127.0.0.1' While there's
conceivably other ways for getaddrino to return EAI_FAMILY, the
most common way is if AF_INET, AF_INET6, or AF_UNSPEC is not
provided as the desired family. The culprit was the call to
ast_get_ip, defined in acl.h. This function uses the family from
the passed in addr object (which it will also populate when it
returns!) when it eventually calls getaddrinfo. This patch fixes
the use of ast_get_ip that were not specifying the family in
chan_iax2. This prevents uninitialized use of the structure, so
that the addresses resolve correctly. Review:
https://reviewboard.asterisk.org/r/2991 ........ Merged revisions
402505 from http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/acl.h, /, include/asterisk/netsock2.h: netsock2:
Define AST_AF_* enum constants to their AF_* equivalents This
patch explicitly defines AST_AF_* enum constants to their
sys/socket.h defined equivalents. It is certainly unclear why
these constants actually have to exist, given that netsock2.h
includes sys/socket.h; however, since the code base is already
liberally sprinkled with the usage of AST_AF_* (as well as with
direct calls to AF_*), this will at least keep the semantics
consistent between their usage across systems. ........ Merged
revisions 402503 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/stasis_channels.c: stasis_channels: Don't give preference
to ANI info in channel snapshots When publishing channel
snapshots, we currently compute the caller ID name and number by
giving preference first to ani.{name|number}, then to
id.{name|number}. However, when a channel driver (such as
chan_sip) updates the caller ID, it typically only updates the
caller ID stored in id.{name|number}. This means that we are
currently giving preference to stale information. When looking at
the rest of the code base, the only other place where we appear
to use this same logic is in app_amd. Everywhere else, we treat
the party information in ani as being separate to the party
information in id. This patch publishes only the caller ID name
and number in the snapshot field for caller_name and caller_num.
Note that the information in ANI is still available in
caller_ani. Review: https://reviewboard.asterisk.org/r/2992/
........ Merged revisions 402501 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-04 21:02 +0000 [r402453] Kevin Harwell <kharwell@digium.com>
* /, channels/chan_sip.c: chan_sip: notify dialog info ignores
presentation indicator in callerid The presentation indicator in
a callerid (e.g. set by dialplan function
Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog
Info Notifies are generated during extension monitoring. Added a
check to make sure the name and/or number presentations on the
callee (remote identity) are set to allow. If they are restricted
then "anonymous" is used instead. (closes issue AST-1175)
Reported by: Thomas Arimont Review:
https://reviewboard.asterisk.org/r/2976/ ........ Merged
revisions 402450 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402452 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-02 04:30 +0000 [r402406-402439] Richard Mudgett <rmudgett@digium.com>
* main/stasis.c, main/stasis_message_router.c, /,
include/asterisk/vector.h: vector: Uppercase API to follow C
convention. C does not support templates like C++. ........
Merged revisions 402438 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/lock.h, main/stasis.c,
main/stasis_message_router.c, /, include/asterisk/vector.h:
vector: Update API to be more flexible. Made the vector macro API
be more like linked lists. 1) Added a name parameter to
ast_vector() to name the vector struct. 2) Made the API take a
pointer to the vector struct instead of the struct itself. 3)
Added an element cleanup macro/function parameter when removing
an element from the vector for ast_vector_remove_cmp_unordered()
and ast_vector_remove_elem_unordered(). 4) Added
ast_vector_get_addr() in case the vector element is not a simple
pointer. * Converted an inline vector usage in
stasis_message_router to use the vector API. It needed the API
improvements so it could be converted. * Fixed topic reference
leak in router_dtor() when the stasis_message_router is
destroyed. * Fixed deadlock potential in stasis_forward_all() and
stasis_forward_cancel(). Locking two topics at the same time
requires deadlock avoidance. * Made internal_stasis_subscribe()
tolerant of a NULL topic. * Made stasis_message_router_add(),
stasis_message_router_add_cache_update(),
stasis_message_router_remove(), and
stasis_message_router_remove_cache_update() tolerant of a NULL
message_type. * Promoted a LOG_DEBUG message to LOG_ERROR as
intended in dispatch_message(). Review:
https://reviewboard.asterisk.org/r/2903/ ........ Merged
revisions 402429 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/confbridge/conf_state_single_marked.c, /,
apps/confbridge/include/confbridge.h,
apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
apps/confbridge/conf_state_multi_marked.c,
apps/confbridge/conf_state.c,
apps/confbridge/conf_state_single.c,
apps/confbridge/conf_state_inactive.c: confbridge: Separate user
muting from system muting overrides. The system overrides the
user muting requests when MOH is playing or a waitmarked user is
waiting for a marked user to join. System muting overrides
interfere with what the user may wish the muting to be when the
system override ends. * User muting requests are now independent
of the system muting overrides. The effective muting is now the
logical or of the user request and system override. * Added a
Muted flag to the CLI "confbridge list <conference>" command. *
Added a Muted header to the AMI ConfbridgeList action
ConfbridgeList event. (closes issue AST-1102) Reported by: John
Bigelow Review: https://reviewboard.asterisk.org/r/2960/ ........
Merged revisions 402425 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402427 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/config.c, apps/confbridge/conf_config_parser.c,
configs/confbridge.conf.sample, /: config: Allow ConfBridge DTMF
menus to have '#' as the first digit. ConfBridge allows custom
DTMF menus to be created in the confbridge.conf file by assigning
a DTMF key sequence to a sequence of actions as follows:
DTMF-sequence = action,action... Unfortunately, the normal config
file processing code interprets an initial '#' character as
starting a directive such as #include. * Add the ability to
escape the first non-blank character in a config line so the '#'
character can be used without triggering the directive processing
code. (closes issue AFS-2) (closes issue ASTERISK-22478) Reported
by: Nicolas Tanski Patches: jira_asterisk_22478_v11.patch
(license #5621) patch uploaded by rmudgett (modified) Review:
https://reviewboard.asterisk.org/r/2969/ ........ Merged
revisions 402407 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402416 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/app.h, /, main/app.c: voicemail: Simplify
callback pointer declarations and add doxygen. * Typedefed and
added doxegen for the voicemail callback functions. * Simplified
the prototypes for ast_install_vm_functions() and
ast_install_vm_test_functions() to use the new function typedefs.
* Simplified the voicemail callback function pointer variable
declarations to use the new function typedefs. ........ Merged
revisions 402398 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-01 22:48 +0000 [r402397] Jonathan Rose <jrose@digium.com>
* apps/confbridge/include/confbridge.h, apps/app_confbridge.c,
CHANGES, apps/confbridge/conf_config_parser.c: app_confbridge:
Make the CONFBRIDGE function be able to create dynamic menus Also
adds the ability to clear all profile items and makes behavior
more consistent with documentation as when choosing whether to
use CONFBRIDGE datastore profiles or the application arguments to
the confbridge application. (closes issue ASTERISK-22760)
Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2971/
2013-11-01 21:51 +0000 [r402388] Scott Griepentrog <sgriepentrog@digium.com>
* include/asterisk/bridge.h, main/manager_bridges.c, /,
main/bridge.c: Manager: Add equivalent AMI actions for the bridge
CLI commands. Adds the following AMI events, closely following
their CLI counterparts: BridgeDestroy BridgeKick
BridgeTechnologyList BridgeTechnologySuspend
BridgeTechnologyUnsuspend BridgeDestroy kicks an entire bridge,
where BridgeKick kicks just one channel off the bridge. When
kicking a channel, specifying the bridge also (optional) insures
it is not removed from the wrong bridge. The BridgeTechnology
events allow viewing and changing suspension status, which
affects only subsequent not active bridging. (closes
ASTERISK-22356) Reported by: Richard Mudgett Review:
https://reviewboard.asterisk.org/r/2973/ ........ Merged
revisions 402387 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-01 16:31 +0000 [r402368] David M. Lee <dlee@digium.com>
* /, rest-api-templates/api.wiki.mustache: ari wiki docs: add notes
about allowMultiple parameters. This patch adds a note to any
parameter that has 'allowMultiple' set in the Swagger
documentation. (closes issue ASTERISK-22704) ........ Merged
revisions 402367 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-01 14:38 +0000 [r402359] Joshua Colp <jcolp@digium.com>
* include/asterisk/stasis_app.h, rest-api/api-docs/channels.json,
res/ari/resource_channels.c, res/res_ari_channels.c,
res/ari/resource_channels.h, res/res_stasis_playback.c, /,
res/stasis/control.c: res_ari_channels: Add ring operation, dtmf
operation, hangup reasons, and tweak early media. The ring
operation sends ringing to the specified channel it is invoked
on. The dtmf operation can be used to send DTMF digits to the
specified channel of a specific length with a wait time in
between. Finally hangup reasons allow you to specify why a
channel is being hung up (busy, congestion). Early media behavior
has also been tweaked slightly. When playing media to a channel
it will no longer automatically answer. If it has not been
answered a progress indication is sent instead. (closes issue
ASTERISK-22701) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2916/ ........ Merged
revisions 402358 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-01 12:40 +0000 [r402349] Kinsey Moore <kmoore@digium.com>
* /, channels/chan_sip.c, include/asterisk/rtp_engine.h,
res/res_rtp_asterisk.c: chan_sip: Fix RTCP port for SRFLX ICE
candidates This corrects one-way audio between Asterisk and
Chrome/jssip as a result of Asterisk inserting the incorrect RTCP
port into RTCP SRFLX ICE candidates. This also exposes an ICE
component enumeration to extract further details from candidates.
(closes issue ASTERISK-21383) Reported by: Shaun Clark Review:
https://reviewboard.asterisk.org/r/2967/ ........ Merged
revisions 402345 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402348 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-11-01 12:33 +0000 [r402337-402347] Joshua Colp <jcolp@digium.com>
* /, include/asterisk/stasis_app.h, res/ari/resource_channels.c:
res_ari_channels: Fix a deadlock when originating multiple
channels close to eachother. If a Stasis application is specified
an implicit subscription is done on the originated channel. This
was previously done with the channel lock held which is dangerous
as the underlying code locks the container and iterates items.
This change releases the lock on the originated channel before
subscribing occurs. (closes issue ASTERISK-22768) Reported by:
Matt Jordan Review: https://reviewboard.asterisk.org/r/2979/
........ Merged revisions 402346 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/control.c: res_stasis: Ensure the channel is always
departed from the bridge when it leaves. This change adds a
command to the command queue to explicitly depart the channel
from the bridge when it is told it has left. If the channel has
already been departed or has entered a different bridge this
command will become a no-op. (closes issue ASTERISK-22703)
Reported by: John Bigelow (closes issue ASTERISK-22634) Reported
by: Kevin Harwell Review:
https://reviewboard.asterisk.org/r/2965/ ........ Merged
revisions 402336 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-31 22:09 +0000 [r402328] Mark Michelson <mmichelson@digium.com>
* contrib/scripts/sip_to_res_sip (removed),
contrib/scripts/sip_to_pjsip (added),
contrib/scripts/sip_to_pjsip/astconfigparser.py,
contrib/scripts/sip_to_pjsip/astdicts.py, /,
contrib/scripts/sip_to_pjsip/sip_to_pjsip.py: Update the
conversion script from sip.conf to pjsip.conf (closes issue
ASTERISK-22374) Reported by Matt Jordan Review:
https://reviewboard.asterisk.org/r/2846 ........ Merged revisions
402327 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-31 16:06 +0000 [r402286-402290] Matthew Jordan <mjordan@digium.com>
* main/loader.c, /: core/loader: Don't call dlclose in a while loop
For awhile now, we've noticed continuous integration builds
hanging on CentOS 6 64-bit build agents. After resolving a number
of problems with symbols, strange locks, and other shenanigans,
the problem has persisted. In all cases, gdb shows the Asterisk
process stuck in loader.c on one of the infinite while loops that
calls dlclose repeatedly until success. The documentation of
dlclose states that it returns 0 on success; any other value on
error. It does not state that repeatedly calling it will
eventually clear those errors. Most likely, the repeated calls to
dlclose was to force a close by exhausting the references on the
library; however, that will never succeed if: (a) There is some
fundamental error at work in the loaded library that precludes
unloading it (b) Some other loaded module is referencing a symbol
in the currently loaded module This results in Asterisk sitting
forever. Since we have matching pairs of dlopen/dlclose, this
patch opts to only call dlclose once, and log out as an ERROR if
dlclose fails to return success. If nothing else, this might help
to determine why on the CentOS 6 64-bit build agent things are
not closing successfully. Review:
https://reviewboard.asterisk.org/r/2970 ........ Merged revisions
402287 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 402288 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402289 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/media_index.c, /: medix_index: Display errors when library
calls fail Based on feedback from ipengineer in #asterisk, when
the media indexer cannot access a sound file on the system (or
otherwise fails) Asterisk displays a "Cannot frob file" error but
fails to tell you why. This is especially problematic as the
media_indexer failing will rpevent Asterisk from starting, as it
is in the core. We now display the errno error messages so folks
can figure out what they've done wrong. ........ Merged revisions
402285 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-31 14:45 +0000 [r402277] David M. Lee <dlee@digium.com>
* /, res/stasis/app.c: stasis: add functions embarrassingly missing
from r400522 I neglected to implement two of the endpoint
subscription functions when I did the work. Normally, you'll only
hit that when you unsubscribe from a specific endpoint. ........
Merged revisions 402276 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-30 17:54 +0000 [r402266] Kevin Harwell <kharwell@digium.com>
* channels/chan_pjsip.c, /, res/res_pjsip_messaging.c:
pjsip_messaging: Added debug for in dialog messaging (issue
ASTERISK-22777) Reported by: Matt Jordan ........ Merged
revisions 402265 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-29 23:43 +0000 [r402227] Rusty Newton <rnewton@digium.com>
* sounds/Makefile, /: Updates for 1.4.25 core sounds and 1.4.14
extra sounds, plus new en_GB language set The new sound packages
relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413,
ASTERISK-20782 Modified sounds/Makefile for the new sound
versions and to account for the new en_GB language set. (issue
ASTERISK-22659) (closes issue ASTERISK-22659) (closes issue
ASTERISK-22411) (closes issue ASTERISK-22544) ........ Merged
revisions 402224 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 402225 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402226 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-29 12:57 +0000 [r402155] Matthew Jordan <mjordan@digium.com>
* main/xmldoc.c, main/channel.c, main/pbx.c, /, main/translate.c:
Remove some spammy debug messages; improve clarity of others
Debug messages aren't free. Even when the debug level is
sufficiently low such that the messages are never evaluated,
there is a cost to having to parse Asterisk logs that contain
debug messages that (a) fail to convey sufficient information or
(b) occur so frequently as to be next to meaningless. Based on
having to stare at lots of DEBUG messages, this patch makes the
following changes: * channel.c: When copying variables from a
parent channel to a child channel, specify the channels involved.
Do not log anything for a variable that is not inherited; the
fact that it doesn't have an _ or __ already signifies that it
won't be inherited. * pbx.c: Specify what function evaluation has
occurred that created the result. * translate.c: Bump up the
translator path messages to 10. I've never once had to use these
debug messages, and for each format that is registered (on
startup) and unregistered (on shutdown) the entire f^2 matrix is
logged out. For short tests in the Asterisk Test Suite, this
should make finding the actual test much easier. * xmldoc.c: The
debug message that 'blah' is not found in the tree is expected.
Often, description elements - which are not required - are not
provided. This debug message adds no additional value, as it is
not indicative of an error or helpful in debugging which element
did not contain a 'blah' element as a child. If an element is
supposed to contain a child element, then that XML tree should
have failed validation in the first place. Review:
https://reviewboard.asterisk.org/r/2966/ ........ Merged
revisions 402150 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 402151 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402154 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-29 12:51 +0000 [r402149-402153] Kinsey Moore <kmoore@digium.com>
* /, rest-api/api-docs/channels.json, res/ari/resource_channels.c,
res/res_ari_channels.c, res/ari/resource_channels.h: ARI: Remove
channels/{channelId}/dial This removes the
/ari/channels/{channelId}/dial URI since it is redundant, overly
complex, is likely to become more externally complex over time,
and is too high-level compared with other ARI operations. See the
following for further information:
http://lists.digium.com/pipermail/asterisk-app-dev/2013-October/000002.html
(closes issue ASTERISK-22784) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2968/ ........ Merged
revisions 402152 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, bridges/bridge_native_rtp.c: bridge_native_rtp: Ensure bridge
is torn down When a bridge transitions away from one tech to
another, the tech going away is provided a dummy bridge with no
channels in it to tear down. Currently this means that the
teardown code exits prematurely and does not tear anything down.
This change tears down RTP bridging for the channel provided in
the leave bridge tech callback. This also reverts the majority of
r400403 since it is now redundant. (closes issue ASTERISK-22628)
(closes issue ASTERISK-22676) Reported by: John Bigelow Reported
by: Kevin Harwell Tested by: John Bigelow Review:
https://reviewboard.asterisk.org/r/2905/ Patches:
native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)
........ Merged revisions 402148 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-29 11:15 +0000 [r402140] Joshua Colp <jcolp@digium.com>
* res/res_ari_playback.c, /, rest-api/api-docs/playback.json:
res_ari_playback: Add missing 404 error response for GET and
DELETE. (closes issue ASTERISK-22722) Reported by: Richard
Mudgett ........ Merged revisions 402139 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-28 22:10 +0000 [r402128-402130] David M. Lee <dlee@digium.com>
* /, doc: Ignore full docs ........ Merged revisions 402127 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /: Put back several merge revisions that were lost in r402054
* /: Put back several merge revisions that were lost in r401962
2013-10-28 15:08 +0000 [r402113-402117] Michael L. Young <elgueromexicano@gmail.com>
* /, UPGRADE-11.txt, UPGRADE-12.txt: Fix UPGRADE.txt Due To Merging
From Branch 11 When merging in the patch for ASTERISK-22728, the
UPGRADE.txt file was changed incorrectly. That change should have
gone into ASTERISK-11.txt. This commit is to fix that. Also,
another comment in the UPGRADE-11.txt was missing and this commit
adds that as well. ........ Merged revisions 402115 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c, UPGRADE-12.txt: chan_sip: Clarify
'Forcerport' Setting Displayed When Running "sip show peers"
While looking at ASTERISK-22236, Walter Doekes pointed out that
when running "sip show peers", the setting being displayed can be
confusing. The display of "N" used to mean NAT (i.e. yes). The
NAT setting has gone through many different changes resulting in
the display of different characters to try and convey what the
current setting is for 'Forcerport' (A for Auto and Forcerport is
currently on, a for Auto but Forcerport is off, Y for yes, and N
for no). During the initial code review to try and clarify these
settings (especially since "N" no longer meant what it used to
mean in prior versions of Asterisk), Mark Michelson suggested
using the full space available to display the settings which
helped to make the settings very clear. That was a great
suggestion. Therefore, this patch does the following: * The
column for 'Forcerport' now will show: Auto (Yes), Auto (No),
Yes, or No. * A column for the 'Comedia' setting has been added.
It too will display the setting in a non-cryptic way: Auto (Yes),
Auto (No), Yes, or No. * UPGRADE.txt has been updated to document
this change. (closes issue ASTERISK-22728) Reported by: Walter
Doekes Tested by: Michael L. Young Patches:
asterisk-forcerport-display-clarification_v3.diff uploaded by
Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2941 ........ Merged revisions
402111 from http://svn.asterisk.org/svn/asterisk/branches/11
........ Merged revisions 402112 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-27 23:22 +0000 [r402073-402091] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: Filter out internal channels from dial message
handling Surrogate channels would pop up from time to time in
dial message handling. This would cause a WARNING message to
appear, indicating that the Surrogate channel had no CDR. This
patch filters out those channels that have the internal
implementation flag set, such that the WARNING message isn't
displayed. ........ Merged revisions 402090 from
http://svn.asterisk.org/svn/asterisk/branches/12
* cdr/cdr_sqlite3_custom.c, /, cdr/cdr_syslog.c, cdr/cdr_sqlite.c,
cdr/cdr_adaptive_odbc.c, addons/cdr_mysql.c,
include/asterisk/cdr.h, cdr/cdr_pgsql.c, cdr/cdr_odbc.c,
cdr/cdr_radius.c, cdr/cdr_custom.c, cdr/cdr_manager.c,
cdr/cdr_tds.c, cdr/cdr_csv.c, main/cdr.c: Prevent CDR backends
from unregistering while billing data is in flight This patch
makes it so that CDR backends cannot be unregistered while active
CDR records exist. This helps to prevent billing data from being
lost during restarts and shutdowns. Review:
https://reviewboard.asterisk.org/r/2880/ ........ Merged
revisions 402081 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, contrib/ast-db-manage/config/env.py,
contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
contrib/ast-db-manage/voicemail/env.py: Update Alembic database
scripts for external scripting and PostgreSQL, Oracle This patch
does the following: 1) The env scripts have been updated to be
tolerant of a NULL configuration file. This occurs when
configuration is provided by an external script, such that the
actual config.ini file is not used. 2) Enum types have all been
given names. This is needed for PostgreSQL script generation. 3)
The identifier meetme_confno_starttime_endtime is greater than 30
characters, and hence invalid for Oracle databases. This has been
truncated down to meetme_confno_start_end. ........ Merged
revisions 400383 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-26 12:56 +0000 [r402065] Joshua Colp <jcolp@digium.com>
* channels/chan_pjsip.c, include/asterisk/res_pjsip_session.h, /:
chan_pjsip: Fix a crash when direct media is enabled and an ACK
is received after the channel is hung up. (closes issue
ASTERISK-22731) Reported by: Kinsey Moore ........ Merged
revisions 402064 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-26 00:36 +0000 [r402056] Richard Mudgett <rmudgett@digium.com>
* res/res_stasis.c, /: res_stasis.c: Made use the ao2_container
callback templates. * Made res_stasis.c use the OBJ_SEARCH_XXX
defines. ........ Merged revisions 402055 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-26 00:27 +0000 [r402054] Scott Griepentrog <sgriepentrog@digium.com>
* /, include/asterisk/rtp_engine.h, main/rtp_engine.c: rtp_engine:
fix rtp payloads copy and improve argument names In function
ast_rtp_instance_early _bridge_make_compatible the use of
instance 0/1 as arguments doesn't clearly communicate a direction
that the copying of payloads from the source channel to the
destination channel will occur, making it more probable to have
the arguments to ast_rtp_codecs_payloads_copy() put in the
reverse order. This patch renames the arguments with _dst and
_src suffixes and corrects the copy direction. (closes issue
ASTERISK-21464) Reported by: Kevin Stewart Review:
https://reviewboard.asterisk.org/r/2894/ ........ Merged
revisions 402000 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 Test shows
rtpmap:119 being copied per this change, but is not in sip invite
........ Merged revisions 402042 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 402043 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-25 23:58 +0000 [r402004-402045] Richard Mudgett <rmudgett@digium.com>
* main/taskprocessor.c, /: taskprocessor: Made use pthread_equal()
to compare thread ids. * Removed another silly use of RAII_VAR().
RAII_VAR() and SCOPED_LOCK() are not silver bullets that allow
you to turn off your brain. ........ Merged revisions 402044 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/app.c: You'd think that new files would be free of
whitespace issues. But you would be wrong. ........ Merged
revisions 402003 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-25 22:01 +0000 [r401999-402002] Jonathan Rose <jrose@digium.com>
* res/res_ari_channels.c, rest-api/api-docs/bridges.json,
res/ari/resource_bridges.c, res/res_ari_bridges.c, /,
rest-api/api-docs/channels.json, res/ari/resource_channels.c:
ARI: channel/bridge recording errors when invalid format
specified Asterisk will now issue 422 if recording is requested
against channels or bridges with an unknown format (closes issue
ASTERISK-22626) Reported by: Joshua Colp Review:
https://reviewboard.asterisk.org/r/2939/ ........ Merged
revisions 402001 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_stasis_recording.c, rest-api/api-docs/channels.json,
res/ari/resource_channels.c, res/ari/ari_model_validators.c,
res/res_ari_channels.c, rest-api/api-docs/bridges.json,
rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
res/ari/ari_model_validators.h, res/res_ari_bridges.c,
rest-api/api-docs/events.json: ARI recordings: Issue HTTP
failures for recording requests with file conflicts If a file
already exists in the recordings directory with the same name as
what we would record, issue a 422 instead of relying on the
internal failure and issuing success. (closes issue
ASTERISK-22623) Reported by: Joshua Colp Review:
https://reviewboard.asterisk.org/r/2922/ ........ Merged
revisions 401973 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-25 20:51 +0000 [r401962] Scott Griepentrog <sgriepentrog@digium.com>
* main/pbx.c, /, include/asterisk/pbx.h: pbx.c: fix confused match
caller id that deleted exten still in hash This fixes a bug where
a zero length callerid match adjacent to a no match callerid
extension entry would be deleted together, which then resulted in
hashtable references to free'd memory. A third state of the
matchcid value has been added to indicate match to any extension
which allows enforcing comparison of matchcid on/off without
errors. (closes issue AST-1235) Reported by: Guenther Kelleter
Review: https://reviewboard.asterisk.org/r/2930/ ........ Merged
revisions 401959 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401960 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401961 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-25 17:41 +0000 [r401898-401939] Jonathan Rose <jrose@digium.com>
* /, res/res_pjsip/pjsip_distributor.c,
res/res_pjsip_endpoint_identifier_user.c: PJSIP: Add log messages
when requests are received for non-existent endpoints (closes
issue ASTERISK-22552) Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/2934/ ........ Merged
revisions 401938 from
http://svn.asterisk.org/svn/asterisk/branches/12
* utils/clicompat.c, utils/refcounter.c, /: Put clicompat-r2.patch
back in We've figured out how to resolve the problems this was
causing in 12/trunk, so this can go back in now. (issue
ASTERISK-22467) Reported by: Corey Farrell Patches:
clicompat-r2.patch uploaded by coreyfarrell (license 5909)
........ Merged revisions 401914 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401935 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401936 from
http://svn.asterisk.org/svn/asterisk/branches/12
* utils/clicompat.c, /: revert clicompat-r2.patch from r401704
Patch caused the following build errors against testsuite
https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD4-244
(issue ASTERISK-22467) Reported by: Corey Farrell ........ Merged
revisions 401895 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401896 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401897 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-25 16:09 +0000 [r401886] Kevin Harwell <kharwell@digium.com>
* /, channels/chan_sip.c: chan_sip: Allow a sip peer to accept both
AVP and AVPF calls Adapts the behaviour of avpf to only impact
the format of outgoing calls. For inbound calls, both AVP and
AVPF calls will be accepted regardless of the value of avpf in
the configuration. (closes issue ASTERISK-22005) Reported by:
Torrey Searle Patches: optional_avpf_trunk.patch uploaded by
tsearle (license 5334) ........ Merged revisions 401884 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401885 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-25 13:49 +0000 [r401873] David M. Lee <dlee@digium.com>
* tests/test_json.c, /: test_json: Fix deprecation warnings After a
series of upgrades over recent weeks, I've discovered that
test_json.c won't compile in dev mode any more for me. One of
gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
tempnam. Which, in general, is a good thing. But for test code
that just needs a temporary file, it's just annoying. This patch
replaces usage of tempname with mkstemp, avoiding the deprecation
warning. It also removes the temporary files when the test is
complete, which apparently we weren't doing before (oops).
Review: https://reviewboard.asterisk.org/r/2957/ ........ Merged
revisions 401872 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-24 21:06 +0000 [r401836] Kevin Harwell <kharwell@digium.com>
* /, main/logger.c: Logging: Logging types ignored after specifying
a verbose level If one specified a verbose level within a logging
facility in logger.conf then any component after it was ignored.
Fixed so all values are correctly read. (closes issue
ASTERISK-22456) Reported by: Kevin Harwell ........ Merged
revisions 401833 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401835 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-24 20:48 +0000 [r401834] David M. Lee <dlee@digium.com>
* rest-api-templates/swagger_model.py,
rest-api-templates/ari_model_validators.c.mustache,
rest-api-templates/models.wiki.mustache,
rest-api/api-docs/events.json, /: The Swagger 1.2 specification
for type extension ended up being slightly different than my
proposal. Instead of putting an 'extends' field on the subtype,
the base type has a 'subTypes' field, which is a list of the
subTypes. Given that its a messaging model and not an object
model, kinda makes sense. This patch changes the events.json
api-doc, and the python translators to take the new format into
account. Other changes that are in Swagger 1.2 were not adopted,
since the spec is still in flux, and could change before it's
finalized. A summary of changes to the Swagger-1.2 spec can be
found at
https://github.com/wordnik/swagger-core/wiki/1.2-transition.
(closes issue ASTERISK-22440) Review:
https://reviewboard.asterisk.org/r/2909/ ........ Merged
revisions 401701 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-24 20:34 +0000 [r401622-401832] Jonathan Rose <jrose@digium.com>
* /, main/utils.c: utils: Fix memory leaks and missed
unregistration of CLI commands on shutdown Final set of patches
in a series of memory leak/cleanup patches by Corey Farrell
(closes issue ASTERISK-22467) Reported by: Corey Farrell Patches:
main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
main-utils-11.patch uploaded by coreyfarrell (license 5909)
main-utils-12up.patch uploaded by coreyfarrell (license 5909)
........ Merged revisions 401829 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401830 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401831 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, tests/test_linkedlists.c: test_linkedlists: Fix memory leak
(issue ASTERISK-22467) Reported by: Corey Farrell Patches:
test_linkedlists-1.8.patch uploaded by coreyfarrell (license
5909) test_linkedlists-11up.patch uploaded by coreyfarrell
(license 5909) ........ Merged revisions 401790 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401791 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401792 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/jitterbuf.c, /: jitterbuf: Fix memory leak on jitter buffer
reset (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
jitterbuf-jb_reset-leak-1.8.patch
jitterbuf-jb_reset-leak-11up.patch ........ Merged revisions
401786 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 401787 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401788 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/astobj2.c, /: astobj2: Unregister debug CLI commands at exit
(issue ASTERISK-22467) Reported by: Corey Farrell Patches:
astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell
(license 5909) astobj2-clean-debug-cli-12up.patch uploaded by
coreyfarrell (license 5909) ........ Merged revisions 401781 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401783 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401784 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_voicemail.c, /: app_voicemail: Memory Leaks against
tests (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)
........ Merged revisions 401743 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401744 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401745 from
http://svn.asterisk.org/svn/asterisk/branches/12
* utils/clicompat.c, channels/chan_dahdi.c, codecs/ilbc/doCPLC.c,
main/data.c, /, main/app.c, main/asterisk.c: memory leaks: Memory
leak cleanup patch by Corey Farrell (second set) Also covers
ast_app_parse_timelen-fail-zero-length.patch, but the patch was
replaced with one of my own. (issue ASTERISK-22467) Reported by:
Corey Farrell Patches: chan_dahdi-cleanup_push.patch uploaded by
coreyfarrell (license 5909) clicompat-r2.patch uploaded by
coreyfarrell (license 5909) codecs-ilbc-doCPLC.patch uploaded by
coreyfarrell (license 5909) data-cleanup-test-registration.patch
uploaded by coreyfarrell (license 5909)
main-asterisk-kill-listener.patch uploaded by coreyfarrell
(license 5909) ........ Merged revisions 401704 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401705 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401706 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, tests/test_dlinklists.c, funcs/func_math.c,
channels/sip/reqresp_parser.c, main/test.c,
main/editline/readline.c: memory leaks: Memory leak cleanup patch
by Corey Farrell (first set) (issue ASTERSIK-22467) Reported by:
Corey Farrell Patches:
chan_sip-parse_contact_header_test-free-contacts.patch uploaded
by coreyfarrell (license 5909) cli-filename-completion-leak.patch
uploaded by coreyfarrell (license 5909) func_math.patch uploaded
by corefarrell (license 5909) main-test-cleanup.patch uploaded by
coreyfarrell (license 5909) test_dlinklists.patch uploaded by
coreyfarrell (license 5909) ........ Merged revisions 401660 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401661 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401662 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_rtp_asterisk.c, /, main/translate.c: res_rtp_asterisk:
Address jittery DTMF events in RTP streams (closes issue
ASTERISK-21170) Reported by: NITESH BANSAL Patches:
dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)
Review: https://reviewboard.asterisk.org/r/2938/ ........ Merged
revisions 401619 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401620 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401621 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-23 16:52 +0000 [r401582] Richard Mudgett <rmudgett@digium.com>
* cdr/cdr_adaptive_odbc.c, /: cdr_adaptive_odbc: Also apply a
filter when the CDR value is empty. Extra CDR records are written
if a filtered CDR value is empty because the filter is not
checked. (closes issue ASTERISK-22272) Reported by: Jordi Llull
Chavarria ........ Merged revisions 401577 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401579 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401581 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-23 16:48 +0000 [r401580] John Bigelow <jbigelow@digium.com>
* /, main/bridge_channel.c: Add a test suite event to indicate when
the atxfer 3-way feature is detected This adds a test suite event
that indicates to tests when the attended transfer three-way call
feature is detected. Review:
https://reviewboard.asterisk.org/r/2912/ ........ Merged
revisions 401578 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-23 15:23 +0000 [r401540] Kinsey Moore <kmoore@digium.com>
* channels/chan_mgcp.c, /: chan_mgcp: Properly handle malformed
media lines This corrects a situation in which a media line was
not parsed properly and resulted in a crash. (closes issue
ASTERISK-21190) Reported by: adomjan Patches:
chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)
........ Merged revisions 401537 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401538 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401539 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-23 11:16 +0000 [r401500] Joshua Colp <jcolp@digium.com>
* /, channels/chan_sip.c: chan_sip: Fix an issue where an
incompatible audio format may be added to SDP. If preferred
codecs included any non-audio format the code would mistakenly
add the audio format, even if it was not a joint capability with
the remote side. (closes issue ASTERISK-21131) Reported by:
nbougues Patches: patch_unsupported_codec_1.8.patch uploaded by
nbougues (license 6470) ........ Merged revisions 401497 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401498 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401499 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-23 02:36 +0000 [r401489] Michael L. Young <elgueromexicano@gmail.com>
* /, channels/chan_iax2.c, configs/iax.conf.sample: chan_iax2: Fix
Binding To Multiple Addresses Again When reworking chan_iax2 for
IPv6, the ability to bind to multiple addresses was removed by
mistake. This patch restores this functionality and adds notes
about IPv6 addresses in the sample config. (closes issue
ASTERISK-22741) Reported by: Joshua Colp Tested by: Michael L.
Young Patches: asterisk-22741-fix-binding-multiple-addr.diff
uploaded by Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2945/ ........ Merged
revisions 401488 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-22 23:10 +0000 [r401450] Matthew Jordan <mjordan@digium.com>
* /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix crash when RTCP
is not available during SSRC change In r400089, a patch was put
in to correct erroneous RTCP statistic resets. Unfortunately,
ast_rtp_read can be called on an RTP instance that does not have
RTCP information. This patch prevents that crash by only
resetting the statistics if we do actually have an RTCP instance.
(issue AST-1174) (closes issue ASTERISK-22667) Reported by: John
Bigelow ........ Merged revisions 401445 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401446 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401447 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-22 19:04 +0000 [r401421-401435] Richard Mudgett <rmudgett@digium.com>
* /, apps/app_queue.c: app_queue: Fix CLI "queue remove member"
queue_log entry. The queue_log entry resulting from CLI "queue
remove member" when log_membername_as_agent is enabled is wrong.
It always uses the interface name instead of the member name in
the queue_log entry. * Get the queue member before removing it
from the queue so the member name is available for the queue_log
entry. (closes issue ASTERISK-21826) Reported by: Oscar Esteve
Patches: fix_membername.diff (license #6505) patch uploaded by
Oscar Esteve (modified to fix potential ref leak) ........ Merged
revisions 401433 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401434 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/bridge_channel.c,
include/asterisk/bridge_channel_internal.h, /, main/bridge.c:
Bridging: Fix orphaned bridge if neither of the joining channels
can join. The original issue noted that the bridge is orphaned
when res_parking.so is not loaded and a call uses the dial kK
flags. A similar issue happens when only one of the park flags is
used. In this case you have the bridge with one or the other
channel left in it. The channel and bridge will stay around until
the channel hangs up. * Fixed the initial bridge channel push
failure to act as if the channel were kicked out of the bridge.
The bridge then decides if it needs to be dissolved. (closes
issue ASTERISK-22629) Reported by: Kevin Harwell Review:
https://reviewboard.asterisk.org/r/2928/ ........ Merged
revisions 401424 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/parking/parking_bridge_features.c,
res/parking/parking_bridge.c, /: res_parking: Give parking
timeout comebacktoorigin channel DTMF features. Parking timeouts
did not set any DTMF features for the channel calling the parker
back. * Added code to set the parkedcalltransfers,
parkedcallreparking, parkedcallhangup, and parkedcallrecording
options appropriately for the channels when a parking timeout
occurs. The recall channel DTMF options are set using the
BRIDGE_FEATURES channel variable to allow the other timeout
options to have the DTMF features available. (closes issue
ASTERISK-22630) Reported by: Kevin Harwell Review:
https://reviewboard.asterisk.org/r/2942/ ........ Merged
revisions 401422 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_parking.c, /: res_parking: Update XML documention for
DTMF features after parking timeout. * Updated the XML
documentation to indicate that the parkedcalltransfers,
parkedcallreparking, parkedcallhangup, and parkedcallrecording
configuration options also apply to parking timeouts. (issue
ASTERISK-22630) Reported by: Kevin Harwell Review:
https://reviewboard.asterisk.org/r/2942/ ........ Merged
revisions 401420 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-22 15:17 +0000 [r401411] Joshua Colp <jcolp@digium.com>
* apps/app_dial.c: Add an 'R' option to Dial which sends ringing
until early media has been received. (closes issue
ASTERISK-10487) Reported by: Gaspar Zoltan Patches: 10487.patch
uploaded by n8ideas (license 6075)
2013-10-21 21:06 +0000 [r401365] Mark Michelson <mmichelson@digium.com>
* /, main/bridge_channel.c: Remove a noisy debug message from
bridging code. This particular debug message, during a stress
test, was logged so often that it appeared that there may be a
memory leak in the logger code. In actuality, there was no memory
leak, but the logger thread was having a hard time keeping up
with the demands of the rest of the system. Since this debug
message has no value at all, the best way to fix the problem was
to just remove the message. (closes issue AST-1225) reported by
John Bigelow Patches: spammy_log.diff uploaded by Mark Michelson
(License #5049) ........ Merged revisions 401364 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-21 19:50 +0000 [r401328] Kevin Harwell <kharwell@digium.com>
* main/editline/term.c, /: Segfault in LIBEDIT_INTERNAL after
tgetstr(), when libncurses5-dev isn't installed Include the
appropriate declarations when not using termcap, but term+curses
and [n]curses do not exist. (closes issue ASTERISK-22351)
Reported by: A. Iglesias Patches:
issueA22351_libedit_internal_without_ncurses_dev.patch uploaded
by wdoekes (license 5674) ........ Merged revisions 401325 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401326 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401327 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-21 18:59 +0000 [r401316-401317] David M. Lee <dlee@digium.com>
* rest-api/api-docs/channels.json, /: Fixing r401281; the model
name is Channel, with a capital C ........ Merged revisions
401315 from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_ari.c, /: Fixed malformed Access-Control-Allow-Methods
header. Was causing Safari to barf on POST and DELETE. ........
Merged revisions 401106 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-19 21:57 +0000 [r401292] Kinsey Moore <kmoore@digium.com>
* channels/chan_iax2.c, /: Fix IAX2 incoming call address lookups
This fixes address lookup for incoming calls without a peer
definition. The address family was unset instead of being set to
AST_AF_UNSPEC which was causing lookup failures on "127.0.0.1".
This is one of the causes of the current failure of the app_page
integration test. Review:
https://reviewboard.asterisk.org/r/2933/ ........ Merged
revisions 401291 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-19 14:45 +0000 [r401282] Joshua Colp <jcolp@digium.com>
* rest-api/api-docs/channels.json, res/ari/resource_channels.c,
res/res_ari_channels.c, res/ari/resource_channels.h, main/pbx.c,
/: Return a channel snapshot when originating using ARI, and
subscribe the Stasis application to it. This change allows a user
of ARI to know what channel it has originated and also follow any
progress. If a Stasis application is provided it will be
automatically subscribed to the originated channel immediately.
(closes issue ASTERISK-22485) Reported by: David Lee Review:
https://reviewboard.asterisk.org/r/2910/ ........ Merged
revisions 401281 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 22:52 +0000 [r401272] Richard Mudgett <rmudgett@digium.com>
* res/parking/parking_controller.c, /: res_parking: Remove setting
useless flag. ........ Merged revisions 401271 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 21:51 +0000 [r401263] David M. Lee <dlee@digium.com>
* /, static-http, contrib/scripts/get_swagger_ui.sh (added),
Makefile: This is just a quick script for dumping swagger-ui into
static-http, so that it can be served by the Asterisk web server.
I had to change the Makefile in order to recursively install
content from the static-http directory, hence the code review
instead of just putting it in. Review:
https://reviewboard.asterisk.org/r/2924/ ........ Merged
revisions 401261 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 18:44 +0000 [r401249] Mark Michelson <mmichelson@digium.com>
* main/sorcery.c, main/cli.c, main/manager.c, /, main/bridge.c,
main/bucket.c: Resolve some memory leaks due to incorrect for
loop / ao2 ref usage. A common idiom in Asterisk is to due
something like: for (ao2_obj = list_beginning; ao2_obj =
next_item; ao2_ref(ao2_obj, -1)) { ...do stuff... } This is nice
because it automatically takes care of the object references for
you. However, there is a pitfall here. If a break statement is in
the for loop, then the current reference is not cleaned up. In
some cases, this is on purpose, but in others there is a leak.
This commit fixes the leak cases. ........ Merged revisions
401248 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 16:59 +0000 [r401233-401240] Richard Mudgett <rmudgett@digium.com>
* apps/app_dial.c, main/channel.c, /, res/res_fax.c,
include/asterisk/channel.h: Add channel lock protection around
translation path setup. Most callers of
ast_channel_make_compatible() happen before the channels enter a
two party bridge. With the new bridging framework, two party
bridging technologies may also call ast_channel_make_compatible()
when there is more than one thread involved with the two
channels. * Added channel lock protection in set_format() and
ast_channel_make_compatible_helper() when dealing with the
channel's native formats while setting up a translation path. *
Fixed best_src_fmt and best_dst_fmt usage consistency in
ast_channel_make_compatible_helper(). The call to
ast_translator_best_choice() got them backwards. * Updated some
callers of ast_channel_make_compatible() and the function
documentation. There is actually a difference between the two
channels passed in. * Fixed the deadlock potential in res_fax.c
dealing with ast_channel_make_compatible(). The deadlock
potential was already there anyway because res_fax called
ast_channel_make_compatible() with chan locked. (closes issue
ASTERISK-22542) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2915/ ........ Merged
revisions 401239 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/bridge.h, /: Tweak ast_bridge_depart() doxygen.
........ Merged revisions 401232 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 16:06 +0000 [r401216-401224] Mark Michelson <mmichelson@digium.com>
* include/asterisk/bridge.h, /: Remove the bit about requiring
ast_bridge_depart() to be called before ast_bridge_destroy().
........ Merged revisions 401223 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/bridge.h, /: Clarify in ast_bridge_destroy()
about how departable channels must be handled. ........ Merged
revisions 401212 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 15:14 +0000 [r401184] Michael L. Young <elgueromexicano@gmail.com>
* /, channels/chan_sip.c: Remove Port Restriction When Checking For
NAT When trying to determine if a peer is behind NAT, we should
not be using the ports when comparing addresses. This patch
removes the port from being checked and just useds the addresses
now. (closes issue ASTERISK-22729) Reported by: Michael L. Young
Tested by: Michael L. Young Patches:
asterisk-remove-using-port-for-nat-check.diff uploaded by Michael
L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2927/ ........ Merged
revisions 401182 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401183 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-18 14:50 +0000 [r401181] Walter Doekes <walter+asterisk@wjd.nu>
* main/channel.c, /: Properly copy/remove the device state cache
flag over a masquerade. In r378303 the
AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the
devstate system to not cache states for non-real devices.
However, when optimizing away channels (ast_do_masquerade), that
flag wasn't copied. In my case, using Local devices as queue
members created a situation where the endpoint was considered in
use, but the state change of the device being available again was
ignored (not cached). The endpoint channel was optimized into the
(previously) Local channel, but kept the do-not-cache flag. The
end result being that the queue member apparently stayed in use
forever. (closes issue ASTERISK-22718) Reported by: Walter Doekes
Review: https://reviewboard.asterisk.org/r/2925/ ........ Merged
revisions 401178 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401179 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401180 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-17 20:39 +0000 [r401169] Michael L. Young <elgueromexicano@gmail.com>
* /, channels/chan_sip.c: Fix Setting A chan_sip Dialog's
SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix
ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was
set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the
dialog. This condition should not have been there since it
assumed that if Asterisk is in an environment where NAT is
involved, that the auto_* nat settings or force_rport setting
would be on in the global settings. If the nat setting in the
global setting is set to 'nat=no' and then turned on for peers
(which is not quite the recommended way, although it is allowed)
this flag is never copied to the dialog resulting in problems
like, REGISTER replies going to the wrong port. This patch
removes this conditional check and will now always use the peer's
flag which by this point in the code the checks on whether the
peer is behind NAT or not (if using auto_force_rport) have
already been run. (closes issue ASTERISK-22236) Reported by:
Filip Frank Tested by: Michael L. Young Patches:
asterisk-2236-always-set-rport.diff uploaded by Michael L. Young
(license 5026) Review: https://reviewboard.asterisk.org/r/2919/
........ Merged revisions 401167 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401168 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-17 18:25 +0000 [r401159] Jonathan Rose <jrose@digium.com>
* res/res_parking.c, /: res_parking: Fix bug where reloading
immediately wipes new parkpos extensions (closes issue
ASTERISK-22631) Reported by: Kevin Harwell ........ Merged
revisions 401158 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-17 15:41 +0000 [r401122] Kinsey Moore <kmoore@digium.com>
* res/res_jabber.c, /, res/res_xmpp.c: Reduce log level of a
non-pubsub error message Drop an error log message to debug level
1 since distributed device state functions correctly when
receiving this message and it spams the logs. (closes issue
ASTERISK-22410) Reported by: abelbeck Patches:
asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch
uploaded by abelbeck (License 5903)
asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded
by abelbeck (License 5903) ........ Merged revisions 401119 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401120 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401121 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-16 21:22 +0000 [r401108] Richard Mudgett <rmudgett@digium.com>
* /, res/ari/resource_playback.c: ARI: Fix crash when POST
/playback/{id}/control does not have an operation parameter.
(closes issue ASTERISK-22680) Reported by: John Bigelow ........
Merged revisions 401107 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-16 17:01 +0000 [r401097] David M. Lee <dlee@digium.com>
* rest-api/resources.json, /: Oops. Leftover /stasis reference
........ Merged revisions 401096 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-16 14:02 +0000 [r401088] Kinsey Moore <kmoore@digium.com>
* rest-api/api-docs/channels.json, rest-api/api-docs/bridges.json,
res/ari/resource_channels.h, /, res/ari/resource_bridges.h:
Clarify documentation for channel and bridge list This makes it
clear that the ARI API calls for listing channels and bridges
will list all channels or bridges in the system and not just
those that are in or are controlled by a Stasis application.
(closes issue ASTERISK-22635) Reported by: Kevin Harwell ........
Merged revisions 401087 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-16 12:19 +0000 [r401079] Walter Doekes <walter+asterisk@wjd.nu>
* /, apps/app_queue.c: Don't check all realtime queues when doing
"queue show some_queue". When using realtime queues, queues have
to be fetched from the database every now and then to see if any
info has been changed or to see if the queue has been removed.
When fetching info for an individual queue, the pruning of other
queues is unnecessarily costly. Review:
https://reviewboard.asterisk.org/r/2907/ ........ Merged
revisions 401049 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 401076 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401077 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-16 00:12 +0000 [r401041] Paul Belanger <paul.belanger@polybeacon.com>
* rest-api/api-docs/bridges.json, res/res_ari_bridges.c, /: Use
POST / DELETE to toggle ARI bridge moh Review:
https://reviewboard.asterisk.org/r/2911/ ........ Merged
revisions 401040 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-15 23:44 +0000 [r401020-401039] Richard Mudgett <rmudgett@digium.com>
* main/translate.c: translate.c: Some minor code tweaks. *
Consistently compare format2index() return value so matrix_get()
cannot get passed negative values. * Optimize
ast_translator_best_choice() to defer initializing things until
needed. Also cached the matrix_get() return value rather than
repeatedly calling it.
* /, channels/dahdi/bridge_native_dahdi.c: bridge_native_dahdi:
Return channel join failure if could not make the channels
compatible. ........ Merged revisions 401030 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_iax2.c, /: chan_iax2: Fix channel left locked in
off nominal code path. ........ Merged revisions 401016 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 401017 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-15 20:03 +0000 [r401019] Kinsey Moore <kmoore@digium.com>
* rest-api/api-docs/bridges.json, res/res_ari_bridges.c, /: Ensure
bridge record error responses validate This adds the list of
expected errors to the /bridges/{bridgeId}/record ARI
documentation so that outbound 4xx errors validate properly.
Previously, this would result in a response validation failure.
(closes issue ASTERISK-22627) Reported by: Joshua Colp ........
Merged revisions 401018 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-15 15:30 +0000 [r401007] Paul Belanger <paul.belanger@polybeacon.com>
* /, rest-api/api-docs/channels.json, res/res_ari_channels.c: Use
POST / DELETE to toggle hold / moh for ARI channels This change
updates how we handle toggle events, rather then create two
different function names, we'll just use POST / DELETE from HTTP
to handle it. Review: https://reviewboard.asterisk.org/r/2906/
........ Merged revisions 400999 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-15 15:26 +0000 [r400998] Mark Michelson <mmichelson@digium.com>
* /, channels/chan_sip.c: Prevent chan_sip from sending duplicate
BYEs. When a 200 OK for an initial INVITE is received, we were
doing the right thing by ACKing and sending an immediate BYE.
However, we also were doing the wrong thing and queuing an answer
frame, thus causing the call to be answered. This would cause the
call to be hung up by the channel thread, thus resulting in a
second BYE being sent out. In this fix, I also have set the
hangupcause to be correct since the initial BYE being sent by
Asterisk had an unknown hangup cause. I have changed to using
"Bearer capabilty not available" since the call was hung up due
to an SDP offer/answer error. (closes issue ASTERISK-22621)
reported by Kinsey Moore ........ Merged revisions 400970 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400971 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400984 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-15 13:44 +0000 [r400959] David M. Lee <dlee@digium.com>
* rest-api-templates/asterisk_processor.py, /: My doc correction in
r400842 had a silly bug. Because I added a wiki_description to
models and not their properties, the rendered wiki page had the
model description instead of the property descriptions, which
looks very silly indeed. (closes issue ASTERISK-22705) ........
Merged revisions 400958 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-14 22:52 +0000 [r400913-400950] Richard Mudgett <rmudgett@digium.com>
* channels/chan_dahdi.h, channels/chan_dahdi.c,
configs/chan_dahdi.conf.sample: chan_dahdi: Add config support
for hwgain settings. * Add hwtxgain and hwrxgain config options
to chan_dahdi.conf with documentation in chan_dahdi.conf.sample.
(closes issue ASTERISK-22429) Reported by: Jaco Kroon Patches:
jira_asterisk_22429_hwgain_trunk.patch (license #5621) patch
uploaded by rmudgett
* channels/chan_dahdi.c, /, channels/chan_dahdi.h: chan_dahdi:
Reflect the set software gain in the CLI "dahdi show channel"
output. * Remember the swgain setting from CLI "dahdi set swgain"
command so the CLI "dahdi show channel" output will reflect the
current setting. * Updated CLI "dahdi set hwgain" and "dahdi set
swgain" documentation. (issue ASTERISK-22429) Reported by: Jaco
Kroon Patches: jira_asterisk_22429_v1.8_v2.patch (license #5621)
patch uploaded by rmudgett ........ Merged revisions 400907 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400909 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400911 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-14 22:03 +0000 [r400912] Mark Michelson <mmichelson@digium.com>
* /, channels/chan_sip.c: chan_sip: Do not increment the SDP
version between 183 and 200 responses. Bumping the SDP version
number can cause interoperability problems since receivers of the
responses will expect that a 200 SDP will be identical to a
previous 183 SDP. (closes issue ASTERISK-21204) reported by
NITESH BANSAL Patches:
dont-increment-session-version-in-2xx-after-183.patch uploaded by
NITESH BANSAL (License #6418) ........ Merged revisions 400906
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 400908 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400910 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-14 15:54 +0000 [r400891] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_outbound_registration.c: pjsip outbound
registration: Log message says received a 408 when we didn't If
the server didn't exist that we are trying to register to the log
message would say that a 408 was received from that server when
in reality one wasn't. Added log messages stating no response was
received if the response does not exist. (closes issue
ASTERISK-22554) Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/2893/ ........ Merged
revisions 400890 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-14 15:01 +0000 [r400882] Matthew Jordan <mjordan@digium.com>
* res/res_pjsip_mwi.c, /: Remove duplicate module info block The
module info block was repeated twice. Once is sufficient.
........ Merged revisions 400881 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-13 15:42 +0000 [r400873] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_session.c, /: Fix a race condition in
res_pjsip_session with rapidly terminating the session. The
INVITE session state callback wrongly assumes that a session will
always exist, but when rapidly terminating the session this
assumption goes out the window. As all handler code for the
INVITE session state callback requires the session it will now
just exit immediately if no session exists. (closes issue
ASTERISK-22668) Reported by: John Bigelow ........ Merged
revisions 400872 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-12 16:53 +0000 [r400864] Kinsey Moore <kmoore@digium.com>
* /, res/res_pjsip_outbound_authenticator_digest.c: Fix realm
comparison for outbound auth When generating the list of
authentication credentials to pass to PJSIP, Asterisk was using
the raw pointer of a pj_str_t which is not always
NULL-terminated. This sometimes resulted in incorrect text for
the realm and a failure to match the realm for authentication
purposes which was causing the outbound nominal auth pjsip basic
call test to bounce. This now uses the pj_str_t that contains the
realm instead of generating a new one. Thanks to John Bigelow for
helping to narrow this down. ........ Merged revisions 400863
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-11 17:05 +0000 [r400855] Richard Mudgett <rmudgett@digium.com>
* /, include/asterisk/channel.h: channel.h: whitespace changes.
........ Merged revisions 400854 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-11 16:36 +0000 [r400851-400852] David M. Lee <dlee@digium.com>
* rest-api/api-docs/playback.json,
rest-api-templates/api.wiki.mustache, res/res_ari_playback.c,
rest-api/api-docs/channels.json, res/ari/resource_playback.h,
rest-api/api-docs/bridges.json,
rest-api-templates/asterisk_processor.py,
res/ari/resource_channels.h,
rest-api-templates/models.wiki.mustache, /,
res/ari/resource_bridges.h: Multiple revisions
400508,400842-400843,400848 ........ r400508 | dlee | 2013-10-03
23:54:51 -0500 (Thu, 03 Oct 2013) | 1 line Corrected response
class for stopPlayback ........ r400842 | dlee | 2013-10-10
14:23:24 -0500 (Thu, 10 Oct 2013) | 1 line Correct some ARI wiki
rendering errors ........ r400843 | dlee | 2013-10-10 14:26:19
-0500 (Thu, 10 Oct 2013) | 1 line Updated /play resource docs.
The playback of http: resources isn't implemented... yet ........
r400848 | dlee | 2013-10-11 11:18:46 -0500 (Fri, 11 Oct 2013) | 5
lines Fix a stupid copy/paste error in ARI docs. Patches:
ari-doc-patch.txt uploaded by jbigelow (license 5091) ........
Merged revisions 400508,400842-400843,400848 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /: Fixed merge tracking for r400360, which was somehow lost
2013-10-11 16:28 +0000 [r400850] Richard Mudgett <rmudgett@digium.com>
* /, bridges/bridge_softmix.c: Softmix: Fix crash when switching
from softmix to another bridge technology. The crash is caused by
a race condition when switching between native RTP and softmix
bridging technologies. In this situation, the bridging technology
is switched from native RTP to softmix, and then back to native
RTP fast enough that the softmix private data gets destroyed
before the softmix mixing thread gets started. Thanks to Kinsey
Moore for the crash analysis. * Fix race condition when starting
the softmix mixing thread and switching to another bridge
technology. (closes issue ASTERISK-22678) Reported by: John
Bigelow Patches: jira_asterisk_22678_v12.patch (license #5621)
patch uploaded by rmudgett Tested by: John Bigelow ........
Merged revisions 400849 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-10 18:21 +0000 [r400825-400834] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip/location.c: Perform validation of permanent
contacts on AORs in res_pjsip. ........ Merged revisions 400833
from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip.c, /, res/res_pjsip/pjsip_configuration.c: Fix an
assertion in res_pjsip when specifying an invalid outbound proxy.
This change fixes two issues when setting an outbound proxy: 1.
The outbound proxy URI was not parsed and validated during
configuration. 2. If an outgoing dialog was created and the
outbound proxy could not be set an assertion would occur because
the usage count on the dialog was not decremented. The
documentation has also been updated to specify that a full URI
must be specified for the outbound proxy. (closes issue
ASTERISK-22672) Reported by: Antti Yrjola ........ Merged
revisions 400824 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-09 11:02 +0000 [r400772-400813] Matthew Jordan <mjordan@digium.com>
* /, res/res_pjsip_header_funcs.c: Use 'z' as the format specifier
for size_t Using 'lu' will produce a compiler warning for some
versions of gcc and on some architectures. 'z' should be portable
as a format specifier for size_t. ........ Merged revisions
400812 from http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_header_funcs.c (added), /: Add PJSIP_HEADER
function for manipulation of SIP headers in the PJSIP stack This
patch adds support to the PJSIP stack in Asterisk for SIP header
manipulation. Note that this is analagous to
SIPAddHeader/SIPRemoveHeader. For PJSIP_HEADER, an incoming
supplemental session callback is registered that takes the
pjsip_hdrs from the incoming session and stores them in a linked
list in the session datastore. Calls to PJSIP_HEADER traverse
over the list and return the nth matching header where 'n' is the
'number' argument to the function. When adding a header, the
first call creates a datastore and linked list and adds the
datastore to the session. The header is then created as a
pjsip_hdr and added to the list. An outgoing supplemental session
callback then traverses the list and adds the headers to the
outgoing pjsip_msg. When removing a header, the list created with
PJSIP_HEADER(add,...) is traversed and all matching entries are
removed. (closes issue ASTERISK-22498) Reported by: George Joseph
patch: res_pjsip_header_funcs_v1.patch uploaded by george.joseph
(License 6322) ........ Merged revisions 400771 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 22:33 +0000 [r400770] Kinsey Moore <kmoore@digium.com>
* /, configure, configure.ac: Add warning when compiling with iODBC
support When running configure, libiodbc2 development headers
will fulfill the requirement for ODBC development headers, but
will not function properly. This adds a warning when libiodbc2
development headers are detected instead of unixodbc development
headers. (closes issue ASTERISK-22459) Reported by: Patrick
Maille Tested by: Walter Doekes Patches:
issueA22459_warn_when_using_iodbc.patch uploaded by Walter Doekes
(License 5674) ........ Merged revisions 400767 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400768 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400769 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 21:20 +0000 [r400759] Richard Mudgett <rmudgett@digium.com>
* apps/app_agent_pool.c, /: app_agent_pool: Fix AMI/CLI AgentLogoff
soft preventing agents from logging back in. * Clear the
deferred_logoff flag when an agent logs in. (closes issue
ASTERISK-22669) Reported by: John Bigelow ........ Merged
revisions 400754 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 20:52 +0000 [r400750] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip.c, res/res_pjsip/config_transport.c, /: Switch from
using pjsip_strerror to pj_strerror. pjsip_strerror is only aware
of PJSIP-specific error codes. pj_strerror() is aware of all
PJProject error codes and OS-specific error codes. This
specifically fixes an oft-seen error in transport configuration
code where EADDRINUSE would result in "Unknown PJSIP error
120098" instead of a useful message. ........ Merged revisions
400749 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 20:18 +0000 [r400728-400744] Richard Mudgett <rmudgett@digium.com>
* /, apps/confbridge/include/confbridge.h, apps/app_confbridge.c,
CHANGES, apps/confbridge/conf_config_parser.c,
configs/confbridge.conf.sample: app_confbridge: Can now set the
language used for announcements to the conference. ConfBridge now
has the ability to set the language of announcements to the
conference. The language can be set on a bridge profile in
confbridge.conf or by the dialplan function
CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983)
Reported by: Jonathan White Patches: M19983_rev2.diff (license
#5138) patch uploaded by junky (modified) Tested by: rmudgett
........ Merged revisions 400741 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400742 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
duplicate default_user profile. * Fixed looking in the wrong
profiles container to see if the default_user profile is already
created in verify_default_profiles(). The bridge profile
container is never going to hold user profiles. :) ........
Merged revisions 400723 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400724 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 18:19 +0000 [r400684-400704] Kinsey Moore <kmoore@digium.com>
* funcs/func_config.c, /: Fix func_config list entry allocation The
AST_CONFIG dialplan function defined in func_config.c allocates
its config file list entries using ast_malloc. List entry
allocations destined for use with Asterisk's linked list API must
be ast_calloc()d or otherwise initialized so that list pointers
are set to NULL. These uses of ast_malloc have been replaced by
ast_calloc to prevent dereferencing of uninitialized pointer
values when traversing the list. (closes issue ASTERISK-22483)
Reported by: Brian Scott ........ Merged revisions 400694 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400697 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400701 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_rtp_asterisk.c: Fix STUN crash when using IPv6 any
address Ensure that when chan_sip binds to the IPv6 any address
([::]), IPv4 candidates are also added. (closes issue
ASTERISK-21917) Reported by: Torrey Searle Patches:
0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License
5334) ........ Merged revisions 400681 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400682 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 15:44 +0000 [r400683] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip/pjsip_options.c, /: Push CLI qualify into the
threadpool. If you run Asterisk in the background and then
connect to it through a separate console, the thread that runs
CLI commands is not registered with PJLIB. Thus PJLIB does not
like it when you attempt to send OPTIONS requests from that
thread. So now we push the task into the threadpool, which we
know to be registered with PJLIB. Thanks to Antti Yrjola for
reporting this. ........ Merged revisions 400680 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-08 15:12 +0000 [r400662-400672] Richard Mudgett <rmudgett@digium.com>
* apps/app_queue.c, /, res/res_agi.c: Make app_queue and res_agi
independent of AMI being enabled. The
https://reviewboard.asterisk.org/r/2888/ review changes manager
to not subscribe to stasis when it is disabled for performance
reasons. When manager is disabled app_queue and res_agi decline
to load and fail to clean up what they have already allocated. *
Made app_queue and res_agi clean up allocated resources when they
decline to load. * Made app_queue and res_agi use their own
subscriptions to the stasis topics instead of borrowing manager's
message router structure inappropriately. (closes issue
ASTERISK-22604) Reported by: rmudgett Review:
https://reviewboard.asterisk.org/r/2902/ ........ Merged
revisions 400671 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/stasis.h, apps/app_queue.c,
include/asterisk/manager.h, /: Miscellaneous stand alone comment
cleanups. ........ Merged revisions 400661 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-06 17:13 +0000 [r400625] Michael L. Young <elgueromexicano@gmail.com>
* apps/app_queue.c, /: app_queue: Fix Queuelog EXITWITHKEY only
logging two of four fields Commit r62462 added two extra fields
for logging "the original position the caller entered the queue
at, and the amount of time the caller was waiting in the queue."
But when r75969 was merged from 1.4 into trunk (r75977), these
two fields disappeared. Those two extra fields were not logged in
1.4 and when the patch was merged, those fields went away.
Therefore, this is a regression and was caught by the reporter
because he was reading the awesome "Asterisk: The Definitive
Guide" book. (closes issue ASTERISK-22197) Reported by: Dalius M.
Tested by: Dalius M. Patches:
asterisk-22197-q-log-exitwithkey.diff uploaded by Michael L.
Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2901/ ........ Merged
revisions 400622 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400623 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400624 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-05 00:59 +0000 [r400593] Richard Mudgett <rmudgett@digium.com>
* channels/iax2/include/parser.h, /: chan_iax2: Fix compile error.
........ Merged revisions 400588 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-04 21:41 +0000 [r400568] Michael L. Young <elgueromexicano@gmail.com>
* main/netsock2.c, /, channels/iax2/include/parser.h, main/acl.c,
include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c,
channels/iax2/parser.c, main/netsock.c: Add IPv6 Support To
chan_iax2 This patch adds IPv6 support to chan_iax2. Yay! (closes
issue ASTERISK-22025) Patches: iax2-ipv6-v5-reviewboard.diff by
Michael L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2660/ ........ Merged
revisions 400567 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-04 19:32 +0000 [r400553] David M. Lee <dlee@digium.com>
* /, rest-api/api-docs/applications.json (added): Added missing
file from r400522 ........ Merged revisions 400552 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-04 19:11 +0000 [r400533-400543] Jonathan Rose <jrose@digium.com>
* res/res_pjsip_logger.c, /: chan_pjsip: Make logger togglable
without loading/unloading This patch makes the res_pjsip_logger
do a few things... First, it will be built and installed by
default now, so end users won't need to enable it in menuselect.
Second, while it is loaded, it no longer will immediately issue
log messages. Upon loading, it is in the disabled state and must
be turned on with the new CLI command. The CLI command 'pjsip set
logger <on/off/host> has been added and can be used to do the
following: pjsip set logger on: Enables logger for all PJSIP
traffic pjsip set logger off: Disables logger for all PJSIP
traffic pjsip set logger host <host>: Enables logger for the
specific host Review: https://reviewboard.asterisk.org/r/2900/
........ Merged revisions 400542 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /,
contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
(added), configs/extconfig.conf.sample,
configs/sorcery.conf.sample,
contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py:
chan_pjsip: Add alembic scripts for generating db tables for
PJSIP Also updates sample configurations for sorcery and
extconfig to demonstrate how to use databases created by that
alembic script. (closes issue ASTERISK-22133) Reported by: Matt
Jordan Review: https://reviewboard.asterisk.org/r/2892/ ........
Merged revisions 400532 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-04 16:01 +0000 [r400523] Matthew Jordan <mjordan@digium.com>
* rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
res/stasis/app.c, /,
rest-api-templates/ari_model_validators.h.mustache,
include/asterisk/endpoints.h, res/res_ari_applications.c (added),
res/ari/resource_endpoints.h, include/asterisk/stasis_app.h,
res/stasis/app.h, rest-api/resources.json,
include/asterisk/_private.h, res/ari/ari_model_validators.c,
main/endpoints.c, res/ari/ari_model_validators.h, main/json.c,
res/res_ari_model.c, res/ari.make,
res/ari/resource_applications.c (added),
res/ari/resource_applications.h (added), res/res_stasis.c,
main/asterisk.c: ARI: Add subscription support This patch adds an
/applications API to ARI, allowing explicit management of Stasis
applications. * GET /applications - list current applications *
GET /applications/{applicationName} - get details of a specific
application * POST /applications/{applicationName}/subscription -
explicitly subscribe to a channel, bridge or endpoint * DELETE
/applications/{applicationName}/subscription - explicitly
unsubscribe from a channel, bridge or endpoint Subscriptions work
by a reference counting mechanism: if you subscript to an event
source X number of times, you must unsubscribe X number of times
to stop receiveing events for that event source. Review:
https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451)
Reported by: Matt Jordan ........ Merged revisions 400522 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-04 15:49 +0000 [r400511-400521] Joshua Colp <jcolp@digium.com>
* res/res_pjsip.c, /: Enclose the To URI and update its user
portion if a request user has been specified. ........ Merged
revisions 400520 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_session.c, /: Replace the connection address at the
SDP level if altering the SDP with the external media address.
........ Merged revisions 400510 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 23:20 +0000 [r400482] Jonathan Rose <jrose@digium.com>
* /, channels/chan_sip.c: chan_sip: Don't ignore expires value in
contact header if it lacks semicolon (closes issue
ASTERISK-22574) Reported by: Filip Jenicek Patches:
chan_sip_expires.patch uploaded by Filip Jenicek (license 6277)
........ Merged revisions 400469 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400470 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400471 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 21:46 +0000 [r400461] Matthew Jordan <mjordan@digium.com>
* /, main/channel_internal_api.c: Remove publication of a channel
snapshot when the technology is set This patch removes said
publication for a few reasons: (1) It is unnecessary. Association
of the channel technology with a specific channel is an
implementation detail that should be assumed to "just happen",
and consumers of Stasis don't need to be informed about it. (2)
Publication of said message can now cause crashes, as the actual
creation of a channel in normal locations now stages its
messages. As a result, things that create dummy channels (such as
the SIP RTP QOS unit test) and associate them with a channel
technology were now crashing, as the channel itself was not known
by Stasis. ........ Merged revisions 400460 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 20:22 +0000 [r400452] Mark Michelson <mmichelson@digium.com>
* /, include/asterisk/bridge_technology.h,
bridges/bridge_native_rtp.c: Fix assumption in
bridge_native_rtp.c regarding number of participants in a bridge.
When a party leaves a bridge, there may be more participants in
the bridge than expected. As such, it is important not to make
assumptions regarding the list of channels in a bridge. This
change makes it so that when a party leaves a native RTP bridge,
we unbridge it and the party it was bridged with. Previously, the
first and last channels in the list were unbridged since it was
assumed that these were the two channels that had been bridged.
As previously stated, a new party had been inserted into the
bridge, so this logic did not work properly. (closes issue
ASTERISK-22615) reported by Matt Jordan Review:
https://reviewboard.asterisk.org/r/2899 ........ Merged revisions
400403 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 19:32 +0000 [r400443] Joshua Colp <jcolp@digium.com>
* main/cdr.c, /: When serializing CDR variables (like for "core
show channels") don't output an error if CDRs aren't enabled.
........ Merged revisions 400442 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 19:30 +0000 [r400441] Kinsey Moore <kmoore@digium.com>
* /, main/security_events.c: Fix security events for AMI invalid
password In r337595, additional security events were added for
chan_sip authentication failures. The new IEs added to the
existing invalid password event were defined as required IEs, but
existing users of the event did not set the new IEs and could not
since they didn't apply to existing uses. They are now marked as
optional IEs. (closes issue ASTERISK-22578) Reported by: Matt
Jordan ........ Merged revisions 400421 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400440 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 19:06 +0000 [r400402] Joshua Colp <jcolp@digium.com>
* res/ari/resource_channels.c, /: Fix a crash caused by muting and
unmuting a channel in ARI without specifying a direction. (closes
issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by
Matt Jordan, whose office I have taken over in the name of
Canada. ........ Merged revisions 400401 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 18:51 +0000 [r400399] Richard Mudgett <rmudgett@digium.com>
* /, main/cel.c: cel: Some whitespace cleanups ........ Merged
revisions 400398 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 18:32 +0000 [r400385-400397] Kinsey Moore <kmoore@digium.com>
* res/res_rtp_multicast.c, /: res_rtp_multicast: Ensure SSRC is set
properly This fixes a bug where the SSRC field on multicast RTP
can be stuck at 0 which can cause problems for endpoints trying
to make sense of incoming streams. (closes issue ASTERISK-22567)
Reported by: Simone Camporeale Patches:
22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale
(License 6536) ........ Merged revisions 400393 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400394 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400395 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, configure, include/asterisk/autoconfig.h.in, configure.ac,
main/xml.c: Detect and use xsltCleanupGlobals when available This
introduces usage of an additional libxslt cleanup function,
xsltCleanupGlobals, when the configure script detects that it is
available. Early versions of the library did not include this
function. (closes issue ASTERISK-22570) Reported by: Corey
Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey
Farrell (License 5909) ........ Merged revisions 400384 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 16:28 +0000 [r400374] Richard Mudgett <rmudgett@digium.com>
* channels/chan_vpb.cc, /: chan_vpb: Make compile again. ........
Merged revisions 400373 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 14:59 +0000 [r400363-400364] Mark Michelson <mmichelson@digium.com>
* /, tests/test_cel.c: Get rid of uses of stasis_topic_wait()
........ Merged revisions 400362 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip/pjsip_configuration.c, main/file.c,
channels/chan_h323.c, channels/chan_nbs.c,
bridges/bridge_native_rtp.c, tests/test_config.c,
res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c,
channels/chan_multicast_rtp.c, addons/chan_ooh323.c,
main/rtp_engine.c, /, main/ccss.c, apps/app_meetme.c,
bridges/bridge_holding.c, main/bridge_basic.c,
bridges/bridge_softmix.c, channels/chan_gtalk.c,
channels/chan_iax2.c, main/media_index.c, main/channel.c,
channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
pbx/pbx_spool.c, main/manager.c, main/format_cap.c,
channels/chan_skinny.c, res/res_agi.c, channels/chan_motif.c,
channels/chan_alsa.c, apps/app_confbridge.c,
addons/chan_mobile.c, channels/chan_mgcp.c,
res/res_clioriginate.c, channels/chan_bridge_media.c,
channels/chan_sip.c, tests/test_format_api.c,
res/res_pjsip_sdp_rtp.c, bridges/bridge_simple.c,
apps/app_originate.c, res/parking/parking_applications.c,
main/core_local.c, channels/chan_console.c, channels/chan_oss.c,
include/asterisk/format_cap.h, res/res_pjsip_session.c,
res/ari/resource_bridges.c, channels/chan_jingle.c,
channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c:
Cache string values of formats on ast_format_cap() to save
processing. Channel snapshots have string representations of the
channel's native formats. Prior to this change, the format
strings were re-created on ever channel snapshot creation. Since
channel native formats rarely change, this was very wasteful.
Now, string representations of formats may optionally be stored
on the ast_format_cap for cases where string representations may
be requested frequently. When formats are altered, the string
cache is marked as invalid. When strings are requested, the cache
validity is checked. If the cache is valid, then the cached
strings are copied. If the cache is invalid, then the string
cache is rebuilt and copied, and the cache is marked as being
valid again. Review: https://reviewboard.asterisk.org/r/2879
........ Merged revisions 400356 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-03 14:52 +0000 [r400361] Joshua Colp <jcolp@digium.com>
* res/res_pjsip_t38.c, /, res/res_pjsip_sdp_rtp.c: Fix crashes in
res_pjsip_sdp_rtp and res_pjsip_t38 when a stream is rejected and
external_media_address is set. The callback function for changing
the media address in streams wrongly assumes that a connection
line will always be present. This is false as no line is present
if a stream has been rejected. (closes issue ASTERISK-22645)
Reported by: Rusty Newton ........ Merged revisions 400360 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 22:22 +0000 [r400335] Mark Michelson <mmichelson@digium.com>
* include/asterisk/stasis_endpoints.h, channels/chan_pjsip.c,
main/stasis.c, main/stasis_endpoints.c, main/stasis_wait.c
(removed), res/ari/resource_endpoints.c, /,
include/asterisk/stasis.h, tests/test_cel.c: Multiple revisions
400318-400319 ........ r400318 | mmichelson | 2013-10-02 17:08:49
-0500 (Wed, 02 Oct 2013) | 12 lines Remove unnecessary waits from
stasis. Since caches are updated on publisher threads, there is
no need to wait for the cache updates to occur after a stasis
message is published. In the case of chan_pjsip device state
changes, this set of changes caused an improvement to
performance. Review: https://reviewboard.asterisk.org/r/2890
........ r400319 | mmichelson | 2013-10-02 17:10:54 -0500 (Wed,
02 Oct 2013) | 3 lines Remove svn:mergeinfo property. ........
Merged revisions 400318-400319 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 21:33 +0000 [r400317] Michael L. Young <elgueromexicano@gmail.com>
* /, channels/chan_iax2.c: Cast Integer Argument To Unsigned Char
The member reg in the peercnt structure is an unsigned char and
peercnt_modify() is expecting an unsigned char argument which
gets assigned to peercnt->reg. This patch fixes that by casting
the integer argument being passed to peercnt_modify to unsigned
char. ........ Merged revisions 400314 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400315 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400316 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 21:26 +0000 [r400313] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, main/manager.c, /, main/cel.c: Only create Stasis
subscriptions when enabled Subscribing to Stasis isn't free. As
such, this patch makes AMI, CDR, and CEL - the "big 3" - only
subscribe when enabled. Toggling their availability via a .conf
file will unsubscribe/subscribe as appropriate. Review:
https://reviewboard.asterisk.org/r/2888/ ........ Merged
revisions 400312 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 20:31 +0000 [r400304] Richard Mudgett <rmudgett@digium.com>
* main/pbx.c, /: Originate: Make setting caller id on outgoing call
use either name or number. Previous code was requiring both name
and number to be available. Also restored a comment block on why
caller id is also set on an outgoing call leg in addition to
connected line from earlier versions of Asterisk. ........ Merged
revisions 400303 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 19:20 +0000 [r400295] Kinsey Moore <kmoore@digium.com>
* /, rest-api/api-docs/asterisk.json: Correct allowable values for
ARI general information filter ........ Merged revisions 400291
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 19:17 +0000 [r400287] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: Fix the CDR CLI command 'cdr show active
{channel}' When the switch from channel names to channel unique
IDs happened, the poor CLI command got left in the dust. This
fixes the command so that users can once again see how Asterisk
is messing up your billing information. ........ Merged revisions
400286 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 18:44 +0000 [r400285] Joshua Colp <jcolp@digium.com>
* /, res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by
the wrong assumption that a session will always have a channel.
When starting up or shutting down this assumption is false.
........ Merged revisions 400284 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 18:28 +0000 [r400282] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.8
(added): man pages for astdb2bdb and astdb2sqlite3 Review:
https://reviewboard.asterisk.org/r/2898/ ........ Merged
revisions 400279 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400281 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 17:12 +0000 [r400269-400271] Richard Mudgett <rmudgett@digium.com>
* /, main/utils.c, apps/app_stack.c, res/stasis_recording/stored.c,
main/json.c, main/stasis_cache.c, res/res_ari.c: MALLOC_DEBUG:
Fix some misuses of free() when MALLOC_DEBUG is enabled. * There
were several places in ARI where an external library was
mallocing memory that must always be released with free(). When
MALLOC_DEBUG is enabled, free() is redirected to the MALLOC_DEBUG
version. Since the external library call still uses the normal
malloc(), MALLOC_DEBUG complains that the freed memory block is
not registered and will not free it. These cases must use
ast_std_free(). * Changed calls to asprintf() and vasprintf() to
the equivalent ast_asprintf() and ast_vasprintf() versions
respectively. ........ Merged revisions 400270 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/sig_ss7.c: sig_ss7: Fix compiler warnings. ........
Merged revisions 400268 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-02 16:23 +0000 [r400246-400266] Joshua Colp <jcolp@digium.com>
* channels/sig_ss7.c, channels/chan_pjsip.c, channels/chan_mgcp.c,
channels/chan_unistim.c, apps/app_dial.c, main/pbx.c, /,
channels/chan_sip.c, main/bridge.c, include/asterisk/channel.h,
channels/chan_gtalk.c, channels/chan_console.c,
channels/sig_pri.c, channels/chan_iax2.c, channels/chan_jingle.c,
main/channel.c, channels/chan_dahdi.c, main/dial.c,
include/asterisk/stasis_channels.h, channels/chan_skinny.c,
channels/chan_motif.c, channels/chan_alsa.c,
main/stasis_channels.c: Reduce channel snapshot creation and
publishing by up to 50%. This change introduces the ability to
stage channel snapshot creation and publishing by suppressing the
implicit creation and publishing that some functions have. Once
all operations are executed the staging is marked as done and a
single snapshot is created and published. Review:
https://reviewboard.asterisk.org/r/2889/ ........ Merged
revisions 400265 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_session.c, /: Fix a random one way audio issue in
PJSIP. Due to the asynchronous design of the PJMEDIA SDP
negotiator it was possible for the SDP to be negotiated *after* a
channel was created and after it was being wait on by an
application. It is only after negotiation occurs that the file
descriptors for RTP are placed on the channel. Since the channel
was already being waited on these file descriptors were not
monitored, causing incoming media to never be read. This change
wakes up any application waiting on the channel so that added
file descriptors end up being monitored. (closes issue AST-1227)
Reported by: John Bigelow ........ Merged revisions 400256 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/stasis/control.c, include/asterisk/stasis_app.h,
res/ari/resource_channels.c: Allow specifying a channel to dial
an extension and context in an ARI dial operation. (issue
ASTERISK-22625) Reported by: Scott Griepentrog ........ Merged
revisions 400254 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_session.c: Retrieve and store the hostname only
once so multiple threads do not potentially initialize it at the
same time. ........ Merged revisions 400245 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-01 21:19 +0000 [r400228-400237] Richard Mudgett <rmudgett@digium.com>
* channels/chan_dahdi.c, channels/sig_analog.c, /: chan_dahdi: Fix
analog parking using flash-hook. Transferring an analog call
using a flash-hook to parking would fail to park the call and
result in an invalid ao2 object unref. * Park the correct bridged
channel. ........ Merged revisions 400236 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/features_config.c, /: Features: Rearm the parking config
options have moved warning for each reload. ........ Merged
revisions 400227 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-10-01 15:54 +0000 [r400218] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: Filter out internal channels for bridge leave
messages and parked call messages Granted, if you manage to park
a Conference announcer channel, something has gone horrifically
wrong. ........ Merged revisions 400217 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-30 21:40 +0000 [r400206] Jonathan Rose <jrose@digium.com>
* /, configs/res_parking.conf.sample, configs/features.conf.sample:
configuration samples: Pull all parking related stuff out of
features.conf This patch also adds documentation for parking from
features.conf to res_parking.conf ........ Merged revisions
400205 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-30 19:58 +0000 [r400195-400197] Matthew Jordan <mjordan@digium.com>
* /, funcs/func_cdr.c: Parse arguments passed to the CDR_PROP
function correctly I can only blame this on a bad merge, because
this in no way worked properly the way it was written. Mea culpa.
The function should now parse its arguments correctly and
function properly. (Note that the API used by the CDR_PROP
function has working unit tests... this was merely bad coding of
the actual registered function) (closes issue ASTERISK-22613)
Reported by: Private Name ........ Merged revisions 400196 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: Remove spurious event raised when CDRs are
reloaded The Reload event is now raised by the module loading
core. As such, the Reload event in the CDR engine was a duplicate
and not needed. ........ Merged revisions 400194 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-30 18:55 +0000 [r400186] David M. Lee <dlee@digium.com>
* channels/chan_dahdi.c, funcs/func_presencestate.c,
main/stasis_message_router.c, configure,
apps/confbridge/confbridge_manager.c, res/res_agi.c,
main/manager_system.c, res/res_stasis_test.c, main/sem.c (added),
main/manager_channels.c, res/res_pjsip_refer.c,
main/manager_mwi.c, apps/app_voicemail.c, main/stasis_cache.c,
main/stasis_wait.c, main/stasis_config.c (removed),
include/asterisk/stasis_internal.h, res/stasis/app.c,
channels/chan_sip.c, include/asterisk/autoconfig.h.in,
main/manager_endpoints.c, main/channel_internal_api.c,
include/asterisk/stasis.h, main/devicestate.c,
main/taskprocessor.c, res/res_xmpp.c, main/sounds_index.c,
include/asterisk/stasis_message_router.h, channels/chan_iax2.c,
res/res_jabber.c, main/endpoints.c, main/astobj2.c,
res/res_chan_stats.c, res/parking/parking_bridge_features.c,
tests/test_stasis_endpoints.c, main/cdr.c, main/channel.c,
main/manager_bridges.c, main/manager.c, channels/chan_skinny.c,
tests/test_devicestate.c, include/asterisk/sem.h (added),
tests/test_taskprocessor.c, res/res_pjsip_mwi.c,
res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c,
res/parking/parking_manager.c, res/res_security_log.c,
channels/chan_mgcp.c, main/stasis_cache_pattern.c, main/pbx.c,
include/asterisk/vector.h (added), /, main/ccss.c,
apps/app_meetme.c, include/asterisk/taskprocessor.h,
configs/stasis.conf.sample (removed), configure.ac,
res/parking/parking_applications.c, channels/sig_pri.c,
apps/app_queue.c, main/cel.c, main/stasis.c: Multiple revisions
399887,400138,400178,400180-400181 ........ r399887 | dlee |
2013-09-26 10:41:47 -0500 (Thu, 26 Sep 2013) | 1 line Minor
performance bump by not allocate manager variable struct if we
don't need it ........ r400138 | dlee | 2013-09-30 10:24:00 -0500
(Mon, 30 Sep 2013) | 23 lines Stasis performance improvements
This patch addresses several performance problems that were found
in the initial performance testing of Asterisk 12. The Stasis
dispatch object was allocated as an AO2 object, even though it
has a very confined lifecycle. This was replaced with a straight
ast_malloc(). The Stasis message router was spending an
inordinate amount of time searching hash tables. In this case,
most of our routers had 6 or fewer routes in them to begin with.
This was replaced with an array that's searched linearly for the
route. We more heavily rely on AO2 objects in Asterisk 12, and
the memset() in ao2_ref() actually became noticeable on the
profile. This was #ifdef'ed to only run when AO2_DEBUG was
enabled. After being misled by an erroneous comment in
taskprocessor.c during profiling, the wrong comment was removed.
Review: https://reviewboard.asterisk.org/r/2873/ ........ r400178
| dlee | 2013-09-30 13:26:27 -0500 (Mon, 30 Sep 2013) | 24 lines
Taskprocessor optimization; switch Stasis to use taskprocessors
This patch optimizes taskprocessor to use a semaphore for
signaling, which the OS can do a better job at managing
contention and waiting that we can with a mutex and condition.
The taskprocessor execution was also slightly optimized to reduce
the number of locks taken. The only observable difference in the
taskprocessor implementation is that when the final reference to
the taskprocessor goes away, it will execute all tasks to
completion instead of discarding the unexecuted tasks. For
systems where unnamed semaphores are not supported, a really
simple semaphore implementation is provided. (Which gives
identical performance as the original taskprocessor
implementation). The way we ended up implementing Stasis caused
the threadpool to be a burden instead of a boost to performance.
This was switched to just use taskprocessors directly for
subscriptions. Review: https://reviewboard.asterisk.org/r/2881/
........ r400180 | dlee | 2013-09-30 13:39:34 -0500 (Mon, 30 Sep
2013) | 28 lines Optimize how Stasis forwards are dispatched This
patch optimizes how forwards are dispatched in Stasis.
Originally, forwards were dispatched as subscriptions that are
invoked on the publishing thread. This did not account for the
vast number of forwards we would end up having in the system, and
the amount of work it would take to walk though the forward
subscriptions. This patch modifies Stasis so that rather than
walking the tree of forwards on every dispatch, when forwards and
subscriptions are changed, the subscriber list for every topic in
the tree is changed. This has a couple of benefits. First, this
reduces the workload of dispatching messages. It also reduces
contention when dispatching to different topics that happen to
forward to the same aggregation topic (as happens with all of the
channel, bridge and endpoint topics). Since forwards are no
longer subscriptions, the bulk of this patch is simply changing
stasis_subscription objects to stasis_forward objects (which,
admittedly, I should have done in the first place.) Since this
required me to yet again put in a growing array, I finally
abstracted that out into a set of ast_vector macros in
asterisk/vector.h. Review:
https://reviewboard.asterisk.org/r/2883/ ........ r400181 | dlee
| 2013-09-30 13:48:57 -0500 (Mon, 30 Sep 2013) | 28 lines Remove
dispatch object allocation from Stasis publishing While looking
for areas for performance improvement, I realized that an unused
feature in Stasis was negatively impacting performance. When a
message is sent to a subscriber, a dispatch object is allocated
for the dispatch, containing the topic the message was published
to, the subscriber the message is being sent to, and the message
itself. The topic is actually unused by any subscriber in
Asterisk today. And the subscriber is associated with the
taskprocessor the message is being dispatched to. First, this
patch removes the unused topic parameter from Stasis subscription
callbacks. Second, this patch introduces the concept of
taskprocessor local data, data that may be set on a taskprocessor
and provided along with the data pointer when a task is pushed
using the ast_taskprocessor_push_local() call. This allows the
task to have both data specific to that taskprocessor, in
addition to data specific to that invocation. With those two
changes, the dispatch object can be removed completely, and the
message is simply refcounted and sent directly to the
taskprocessor. Review: https://reviewboard.asterisk.org/r/2884/
........ Merged revisions 399887,400138,400178,400180-400181 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-30 15:57 +0000 [r400142] Kinsey Moore <kmoore@digium.com>
* CHANGES, /, channels/chan_sip.c, configs/pjsip.conf.sample,
res/res_pjsip_outbound_registration.c, configs/sip.conf.sample:
chan_sip: Allow Asterisk to retry after 403 on register This adds
a global option in chan_sip to allow it to continue attempting
registration if a 403 is received, clearing the cached nonce and
treating it as a non-fatal response. Normally, this would cause
registration attempts to that endpoint to stop. This also adds a
similar per-outbound-registration option to chan_pjsip which
allows the retry interval to be altered for 403 responses to
REGISTER requests. (closes issue ASTERISK-17138) Review:
https://reviewboard.asterisk.org/r/2874/ Reported by: Rudi
........ Merged revisions 400137 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400140 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400141 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-28 22:57 +0000 [r400059-400122] Matthew Jordan <mjordan@digium.com>
* configs/pjsip_notify.conf.sample (added), /,
res/res_pjsip_notify.c: res_pjsip_notify: Add documentation We
forgot to add documentation for res_pjsip_notify, which would
prevent it from being loaded. Whoops. This patch also updates
res_pjsip_notify to use pjsip_notify.conf, which now has its own
sample file in the configs directory as well. Review:
https://reviewboard.asterisk.org/r/2835/ ........ Merged
revisions 400121 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous
lost packet information in RTCP reports RTCP's calculation of the
number of lost packets in an RTP stream is based on that stream's
sequence number count, the number of received packets, and how
many packets we expect to receive. When the SSRC for an RTP
stream changes, there can - and almost always will be - a large
jump in the next packet's timestamp and sequence number. If we
don't reset the number of received packets, sequence number
count, and other metrics used by RTCP, the next RR/SR report will
use the previous SSRC's values to calculate the lost packet count
for the new SSRC - resulting in a very large number of lost
packets. This patch modifies res_rtp_asterisk such that, if it
detects a SSRC change, it will reset the various values used by
the RTCP calculations. From the perspective of RTCP, this appears
as a new media stream - which is what it is. Review:
https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174)
Reported by: Thomas Arimont ........ Merged revisions 400089 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400093 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400108 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, configure, configure.ac: Add check for openSUSE when detecting
bfd library In ASTERISK-17842, some additional library checks
were added to the configure script so that the bfd library could
be found on CentOS and Fedora systems. As it turns out, openSUSE
requires an additional library. This patch adds another check to
the configure script for openSUSE that will add that library.
Review: https://reviewboard.asterisk.org/r/2885/ (closes issue
AST-1169) Reported by: Guenther Kelleter ........ Merged
revisions 400073 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400075 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400077 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: CDR: Improve handling of parking; resolve
assertion when originating into park This patch covers two
problems: 1) Currently, when a call is transferred into a parking
lot from a bridge (using either the blind transfer or one touch
parking mechanisms), the application fails to be set to "Park" in
the resulting CDR record for the parked channel. This is due to
the ParkedCall message arriving before the BridgeEnter for the
channel entering the parking bridge. The ParkedCall message isn't
handled as the CDR for the channel has already been finalized
(due to the channel having left its two party bridge), and the
BridgeEnter - which creates the new CDR - doesn't have the
parking information. This patch modifies the behavior so that
reception of a ParkedCall message will - if not handled by a CDR
chain - cause a new CDR to be created and put into the Parking
state. 2) It fixes a FRACK that occurred when a channel is
originated into a parking space. The DialedPending state - which
occurs for both Dialed and Originated channels - assumed that it
couldn't handle the parking transitions due to it having a Party
B; however, Originated channels don't have a Party B. As such,
the existing CDR needs to transition into the parking state -
this patch does that. Review:
https://reviewboard.asterisk.org/r/2877/ (closes issue
ASTERISK-22482) Reported by: Richard Mudgett ........ Merged
revisions 400062 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_queue.c, /: app_queue: Make manager events tolerant of
Local channel shenanigans app_queue currently attempts to handle
Local channel optimizations in an effort to provide accurate
information in Stasis messages (and their corresponding AMI
events) as well as the Queue log. Sometimes, however, things
don't go as planned. Consider the following scenario: SIP/foo <->
L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local
channel optimization. app_queue will normally do the following: *
Listen for the Local optimization events and update our agent
accordingly to SIP/agent in the queue log and messages * When we
get a hangup, publish the AgentComplete event based on our
information (SIP/foo and SIP/agent) However, as with all things
that depend on sanity from something as capricious as Local
channels, things can go wrong: (1) SIP/agent immediately hangs up
upon answering. This triggers a race condition between
termination messages coming from SIP/agent and the ongoing Local
channel optimization messages. (Note that this can also occur
with SIP/foo) (2) In a race condition, Asterisk can (rarely)
deliver the hangup messages prior to the Local channel
optimization. In that case, the messages *may* arrive to
app_queue in the following order: * Hangup SIP/Agent * Hangup
SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When
app_queue receives the hangup of the agent or the caller, it will
attempt to publish the AgentComplete event. However, it now has a
problem - it thinks its agent is the ;1 side of the Local
channel, as it never received the optimization event. At the same
time, that channel is already gone. This results in getting NULL
from the Stasis cache. What's more, we can't really wait for the
optimization message, as we are currently handling the hangup of
the channel that the optimization event would tell us to use.
This patch modifies the behavior in app_queue such that, since we
still have a lot of pertinent queue information (interface, queue
name, etc.), we now raise the event with what information we
know. The channels involved now may or may not be present. Users
will still at least get the "AgentComplete" event, which
"completes" the known Agent information. Review:
https://reviewboard.asterisk.org/r/2878/ (closes issue
ASTERISK-22507) Reported by: Richard Mudgett ........ Merged
revisions 400060 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/manager.c, /: manager: Fix crash when appending a manager
channel variable In r399887, a minor performance improvement was
introduced by not allocating the manager variable struct if it
wasn't used. Unfortunately, when directly accessing an
ast_channel struct, manager assumed that the struct was always
allocated. Since this was no longer the case, things got a bit
crashy. This fixes that problem by simply bypassing appending
variables if the manager channel variable struct isn't there.
........ Merged revisions 400058 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-27 21:58 +0000 [r400016-400021] Richard Mudgett <rmudgett@digium.com>
* apps/app_cdr.c, res/res_parking.c, /: app_cdr and res_parking:
Fix some resource leaks. * app_cdr left the ResetCDR application
registered. * res_parking leaked a ref to config global. (closes
issue ASTERISK-22566) Reported by: Corey Farrell Patches:
ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey
Farrell ........ Merged revisions 400020 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c, channels/sip/reqresp_parser.c: chan_sip:
Increase some scratch buffer sizes dealing with caller id. *
Eliminated an unnecessary initialization in check_user_full().
(closes issue ASTERISK-22477) Reported by: Michael Shepelev
........ Merged revisions 400013 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 400014 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 400015 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-27 19:18 +0000 [r400000] Sean Bright <sean@malleable.com>
* configs/sip.conf.sample: Remove some trailing whitespace and
steal revision 400000.
2013-09-27 18:28 +0000 [r399991] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip.c, res/res_pjsip_session.c,
include/asterisk/res_pjsip.h, res/res_pjsip.exports.in:
res_pjsip: crash when using localnet and
external_signaling_address options There was a collision of
mod_data use on the transaction between using a nat hook and an
session response callback. During state change it was assumed
what was in the mod_data was nothing or the response callback.
However, it was possible for it to also contain a nat hook thus
resulting in a bad cast and a crash. Added the ability to store
multiple data elements in mod_data via a hash table. In this
instance, mod_data now stores a hash table of the two values that
can be retrieved using an associated string key. (closes issue
ASTERISK-22394) Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/2843/ ........ Merged
revisions 399990 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-27 17:46 +0000 [r399978] Jonathan Rose <jrose@digium.com>
* channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
Reject calls on 200 OKs if no SDP has been received When Asterisk
receives a 200 OK in response to an invite, that peer should have
sent an SDP at some point by then. If the channel has never
received an SDP, media won't have been set and the remote address
won't be known. Endpoints in general should not be doing this.
This patch makes it so that Asterisk will simply hang up a call
if it sends a 200 OK at this point. So far this odd behavior for
endpoints has only been observed in tests which involved manually
created SIP transactions in SIPp. (closes issue ASTERISK-22424)
Reported by: Jonathan Rose Review:
https://reviewboard.asterisk.org/r/2827/ ........ Merged
revisions 399939 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399962 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399976 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-27 17:11 +0000 [r399938] Richard Mudgett <rmudgett@digium.com>
* /, include/asterisk/astobj2.h, tests/test_astobj2.c,
main/astobj2.c: astobj2: Remove OBJ_CONTINUE support.
OBJ_CONTINUE was a strange feature that came into the world under
suspicious circumstances to support an abuse of the ao2_container
by chan_iax2. Since chan_iax2 no longer uses OBJ_CONTINUE, it is
safe to remove it. The simplified code should help performance
slightly and make understanding the code easier. Review:
https://reviewboard.asterisk.org/r/2887/ ........ Merged
revisions 399937 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-27 14:35 +0000 [r399925] Mark Michelson <mmichelson@digium.com>
* bridges/bridge_native_rtp.c, /: Fix refleaks of ast_rtp_instance
structures. These refleaks were causing bridged calls not to
close their RTP ports. Thus a call would leave open 4 ports (RTP
for party A, RTCP for party A, RTP for party B, and RTCP for
party B). This led to an eventual depletion of available RTP
ports. ........ Merged revisions 399924 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-27 14:08 +0000 [r399913] Kinsey Moore <kmoore@digium.com>
* tests/test_cel.c, main/cel.c, /, include/asterisk/cel.h: Restore
usefulness of the CEL Peer field This change makes the CEL peer
field useful again for BRIDGE_ENTER and BRIDGE_EXIT events and
fills the field with a comma-separated list of all channels in
the bridge other than the channel that is entering or exiting the
bridge. Review: https://reviewboard.asterisk.org/r/2840/ (closes
issue ASTERISK-22393) ........ Merged revisions 399912 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-26 18:51 +0000 [r399898] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip/security_events.c, res/res_pjsip_registrar.c,
include/asterisk/res_pjsip.h, res/res_pjsip.exports.in, /: pjsip:
race condition in registrar While handling a registration request
a race condition could occur if/when two+ clients registered at
the same time. This happened when one request obtained a copy of
the current contacts for an AOR and another request did the same
before the first request updated. Thus the second would update
and overwrite the first (or vice-versa depending on which
actually updated first). In the case of it being the same contact
two "add" events would be raised. pjsip registration handling is
now serialized to alleviate this issue. (closes issue AST-1213)
Reported by: John Bigelow Review:
https://reviewboard.asterisk.org/r/2860/ ........ Merged
revisions 399897 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-26 14:13 +0000 [r399875] Rusty Newton <rnewton@digium.com>
* /, apps/app_dial.c: Adding a few words to the Dial option 'r'
help text to clarify its tone argument description ........
Merged revisions 399874 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-25 20:38 +0000 [r399844] Richard Mudgett <rmudgett@digium.com>
* channels/chan_dahdi.c, /, channels/sig_ss7.c: chan_dahdi: CLI
"core stop gracefully" has needless delay for PRI and SS7. The
PRI and SS7 link control threads are not stopped correctly when
the chan_dahdi.so module is unloaded. The link control threads
pri_dchannel() and ss7_linkset() are not awakened from a poll()
to cancel the thread. * Added a SIGURG signal after requesting
the thread cancel to break the link control thread poll()
immediately. For SS7 it was slightly worse, the link poll()
timeout would always be whatever was the last libss7 scheduled
event time used. If no libss7 scheduled event was pending, the
thread could run more often than necessary. * Set nextms to 60
seconds for the ss7_linkset() poll() if there is no other libss7
scheduled event. ........ Merged revisions 399818 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399834 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399842 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-25 19:43 +0000 [r399799] Rusty Newton <rnewton@digium.com>
* /, res/res_pjsip.c: Broke the build - Fixing XML DTD violation
added in r399782, missing <para> tags inside a <note> ........
Merged revisions 399798 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-25 19:29 +0000 [r399797] Michael L. Young <elgueromexicano@gmail.com>
* /, channels/chan_sip.c: chan_sip: Fix Realtime Peer Update
Problem When Un-registering And Expires Header In 200ok 1st Issue
When a realtime peer sends an un-REGISTER request, Asterisk
un-registers the peer but the database table record still has
regseconds and fullcontact for the peer. This results in calls
attempting to be routed to the peer which is no longer
registered. The expected behavior is to get busy/congested when
attempting to call an un-registered peer through the dialplan.
What was discovered is that we are clearing out the peer's
registration in the database in parse_register_contact() when
calling expire_register() but then upon returning from
parse_register_contact(), update_peer() is run which stores back
in the database table regseconds and fullcontact. 2nd Issue The
reporter pointed out that the 200 ok being returned by Asterisk
after un-registering a peer contains a Contact header with
;expires= and the Expires header is not set to 0. This is
actually a regression. Tests were created for this second issue
(ASTERISK-22548). The tests have been reviewed and a Ship It! was
received on those tests. This patch does the following: * Do not
ignore the Expires header value even when it is set to 0. The
patch sets the pvt->expiry earlier on in the function so that it
is set properly and used. * If pvt->expiry is 0, do not call
update_peer since that means the peer has already been
un-registered and there is no need to update the database record
again since nothing has changed. (closes issue ASTERISK-22428)
Reported by: Ben Smithurst Tested by: Ben Smithurst, Michael L.
Young Patches:
asterisk-22428-rt-peer-update-and-expires-header.diff by Michael
L. Young (license 5026) Review:
https://reviewboard.asterisk.org/r/2869/ ........ Merged
revisions 399794 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399795 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399796 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-25 18:38 +0000 [r399782] Rusty Newton <rnewton@digium.com>
* res/res_pjsip.c, /: Fixing documentation for the configOption
"external_media_address" of both Endpoints and Transports
Re-using some of Mark Michelson's text from an E-mail discussion
for: * Modifying synopsis for both options * Adding description
to both options * Changing name of "external_media_address" for
Endpoint configuration to "media_address" in anticipation of the
option name being changed. (As it is not really specific to
external destinations) (issue ASTERISK-22405) (closes issue
ASTERISK-22405) Reported by: Rusty Newton Review:
https://reviewboard.asterisk.org/r/2850/ ........ Merged
revisions 399781 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-24 22:55 +0000 [r399737-399750] Richard Mudgett <rmudgett@digium.com>
* main/astobj2.c, /: astobj2: Made use OBJ_SEARCH_xxx identifiers
as field enum values internally. * Made ao2_unlink to protect
itself from stray OBJ_SEARCH_xxx values passed in. ........
Merged revisions 399749 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_iax2.c, /: chan_iax2: Prevent some needless
breaking of the native IAX2 bridge. * Clean up some twisted code
in the iax2_bridge() loop. * Add AST_CONTROL_VIDUPDATE and
AST_CONTROL_SRCCHANGE to a list of frames to prevent the native
bridge loop from breaking. * Passing the
AST_CONTROL_T38_PARAMETERS frame should also allow FAX over a
native IAX2 bridge. (issue ABE-2912) Review:
https://reviewboard.asterisk.org/r/2870/ ........ Merged
revisions 399697 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399708 from
http://svn.asterisk.org/svn/asterisk/branches/11 For v12 and
above this is really just documentation until IAX2 native
bridging is restored. ........ Merged revisions 399736 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-24 19:22 +0000 [r399667-399696] Matthew Jordan <mjordan@digium.com>
* /, apps/app_queue.c: app_queue: Don't be quite so aggressive in
initializing the array We only need the first character. ........
Merged revisions 399695 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, apps/app_queue.c: app_queue: Initialize array holding
MixMonitor exec options If the channel variable MONITOR_EXEC is
set, app_queue will pass the specified execution parameters to
the MixMonitor application when a queue is recorded. If that
channel variable is not set, the buffer that holds the escaped
value was not being initialized to NULL, and so would be passed
to the MixMonitor application with garbage. Hilarity ensued as
app_mixmonitor attempted to execute gobeldy-gook. ........ Merged
revisions 399681 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/stasis_bridges.c, tests/test_cdr.c, main/cdr.c, /: Fix a
performance problem CDRs There is a large performance price
currently in the CDR engine. We currently perform two
ao2_callback calls on a container that has an entry for every
channel in the system. This is done to create matching pairs
between channels in a bridge. As such, the portion of the CDR
logic that this patch deals with is how we make pairings when a
channel enters a mixing bridge. In general, when a channel enters
such a bridge, we need to do two things: (1) Figure out if anyone
in the bridge can be this channel's Party B. (2) Make pairings
with every other channel in the bridge that is not already our
Party B. This is a two step process. In the first step, we look
through everyone in the bridge and see if they can be our Party B
(single_state_process_bridge_enter). If they can - yay! We mark
our CDR as having gotten a Party B. If not, we keep searching. If
we don't find one, we wait until someone joins who can be our
Party B. Step 2 is where we changed the logic
(handle_bridge_pairings and bridge_candidate_process).
Previously, we would first find candidates - those channels in
the bridge with us - from the active_cdrs_by_channel container.
Because a channel could be a candidate if it was Party B to an
item in the container, the code implemented multiple
ao2_container callbacks to get all the candidates. We also had to
store them in another container with some other meta information.
This was rather complex and costly, particularly if you have 300
Local channels (600 channels!) going at once. Luckily, none of it
is needed: when a channel enters a bridge (which is when we're
figuring all this stuff out), the bridge snapshot tells us the
unique IDs of everyone already in the bridge. All we need to do
is: For all channels in the bridge: If the channel is us or our
Party B that we got in step 1, skip it Compare us and the
candidate to figure out who is Party A (based on some specific
rules) If we are Party A: Make a new CDR for us, append it to our
chain, and set the candidate as Party B If they are Party A: If
they don't have a Party B: Make a new CDR for them, append us to
their chain, and us as Party B Otherwise: Copy us over as Party B
on their existing CDR. This patch does that. Because we now use
channel unique IDs to find the candidates during bridging,
active_cdrs_by_channel now looks up things using uniqueid instead
of channel name. This makes the more complex code simpler; it
does, however, have the drawback that dialplan applications and
functions will be slightly slower as they have to iterate through
the container looking for the CDR by name. That's a small price
to pay however as the bridging code will be called a lot more
often. This patch also does two other minor changes: (1) It
reduces the container size of the channels in a bridge snapshot
to 1. In order to be predictable for multi-party bridges, the
order of the channels in the container must be stable; that is,
it must always devolve to a linked list. (2) CDRs and the
multi-party test was updated to show the relationship between two
dialed channels. You still want to know if they talked -
previously, dialed channels were always ignored, which is wrong
when they have managed to get a Party B. (closes issue
ASTERISK-22488) Reported by: Richard Mudgett Review:
https://reviewboard.asterisk.org/r/2861/ ........ Merged
revisions 399666 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-23 12:03 +0000 [r399625] Joshua Colp <jcolp@digium.com>
* res/res_pjsip.c, res/res_pjsip_session.c, /: Fix crash in
res_pjsip on load if error occurs, and prevent unloading of
res_pjsip and res_pjsip_session. During load time in res_pjsip if
an error occurred the operation would attempt to rollback all
operations done during load. This is not permitted by PJSIP as it
will assert if the operation has not been done. This fix changes
the code so it will only rollback what has been initialized
already. Further changes also prevent res_pjsip and
res_pjsip_session from being unloaded. This is due to limitations
within PJSIP itself. The library environment can only be changed
to a certain extent and does not provide the ability, currently,
to deinitialize certain required functionality. (closes issue
ASTERISK-22474) Reported by: Corey Farrell ........ Merged
revisions 399624 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-21 04:49 +0000 [r399578-399608] Richard Mudgett <rmudgett@digium.com>
* res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix ref leaks in
ast_rtcp_read(). Moved rtcp_report RAII_VAR declaration into the
loop so it is unref'ed after every loop. Moved message_blob to
loop and switched it to a regular variable. The regular variable
was used since message_blob is used in a very contained way.
(closes issue ASTERISK-22565) Reported by: Corey Farrell Patches:
rtcp_report-leak.patch (license #5909) patch uploaded by Corey
Farrell Tested by: Corey Farrell ........ Merged revisions 399607
from http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/media_index.c: media_index: Fix
process_description_file() memory leak of file_id_persist.
........ Merged revisions 399596 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/features_config.c: features_config: Fix config ref leak
of parkinglots. This leak happend for just about every channel
created. ........ Merged revisions 399585 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, apps/app_queue.c: app_queue: Fix json blob ref leak. The json
ref from queue_member_blob_create() was never released. ........
Merged revisions 399583 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/json.c, /: json: Make it obvious that ast_json_unref() is
NULL safe. It looked like the safety check was done after the
NULL pointer was used. ........ Merged revisions 399576 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-20 22:44 +0000 [r399566] Kinsey Moore <kmoore@digium.com>
* /, main/config_options.c: Ensure global types in the config
framework are initialized If a config object was allocated but
one of its global objects was never encountered, then the global
object's defaults were never applied. Ensure that global objects
are initialized properly upon allocation instead of on
configuration. Review: https://reviewboard.asterisk.org/r/2866/
........ Merged revisions 399564 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399565 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-20 22:06 +0000 [r399554] Jonathan Rose <jrose@digium.com>
* main/dial.c, /: originate/call forwarding: Fix a crash when
forwarding a call from originate (closes issue ASTERISK-22487)
Reported by: David M. Lee Review:
https://reviewboard.asterisk.org/r/2868/ ........ Merged
revisions 399553 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-20 16:18 +0000 [r399533] Joshua Colp <jcolp@digium.com>
* /, channels/chan_pjsip.c: Add a missing session supplement
unregistration in chan_pjsip for ACKs. (closes issue
ASTERISK-22453) Reported by: Corey Farrell Patches:
chan_pjsip_session_unregister_supplement.patch uploaded by Corey
Farrell (license 5909) ........ Merged revisions 399531 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-20 14:26 +0000 [r399515] Kevin Harwell <kharwell@digium.com>
* main/logger.c, /: Fix memory leak in logger. Fixed a memory leak
discovered in the logger where a temporary string buffer was not
being freed. (closes issue ASTERISK-22540) Reported by: John
Hardin ........ Merged revisions 399513 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399514 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-19 23:20 +0000 [r399503] Richard Mudgett <rmudgett@digium.com>
* /, main/optional_api.c: optional_api: Make always use the
standard malloc functions even with MALLOC_DEBUG. ........ Merged
revisions 399501 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-19 17:01 +0000 [r399459] Jonathan Rose <jrose@digium.com>
* /, channels/chan_sip.c: chan_sip: Make direct media reinvites for
T38 put Asterisk in the media path Prior to this patch, Asterisk
would incorrectly use the previous endpoint addresses in SDP in
spite of providing its own port. T38 is never meant to be done
through directmedia and Asterisk should always be in the media
path for these streams. (closes issue ASTERISK-17273) Reported
by: Kevin Stewart (closes issue ASTERISK-18706) Reported by:
Jeremy Kister Review: https://reviewboard.asterisk.org/r/2853/
........ Merged revisions 399456 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399457 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399458 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-18 20:04 +0000 [r399405] Kinsey Moore <kmoore@digium.com>
* /, main/abstract_jb.c: Fix jitter buffer log file creation This
adjusts '/'-to-'#' replacement to replace all instances of '/'
instead of just the first to ensure that the jitter buffer log
file gets the correct name as per Richard Kenner's suggestion.
(closes issue ASTERISK-21036) Reported by: Richard Kenner
........ Merged revisions 399402 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399403 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399404 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-18 17:23 +0000 [r399368-399378] Matthew Jordan <mjordan@digium.com>
* build_tools/prep_tarball, /: Update prep_tarball with new
documentation files on the Asterisk wiki This will now pull both
a command reference for the version being prepared, as well as an
Admin Guide that applies to all versions of Asterisk. (issue
ASTERISK-22439) Reported by: Olle Johansson ........ Merged
revisions 399351 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399373 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399376 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, bridges/bridge_softmix.c: Add a WARNING in bridge_softmix when
a timing module isn't loaded If bridge_softmix fails to be
created because no timing source is present in Asterisk, this
will currently fail gracefully but with (most likely) a generic
error message by whatever module tried to create the softmix
bridge. This patch adds a more explicit warning so you can
actually diagnose and fix the problem. Review:
https://reviewboard.asterisk.org/r/2857/ ........ Merged
revisions 399353 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399365 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-18 17:15 +0000 [r399352] Richard Mudgett <rmudgett@digium.com>
* main/config_options.c: Make config framework able to reload
module configs with multiple config files. The config framework
is supposed to be able to load configs that come from multiple
config files. The principle example is chan_sip's sip.conf and
users.conf. Unfortunately, it only does this correctly on initial
load. This patch causes the module's config to be reloaded
entirely if any of the config files change. (closes issue
ASTERISK-22009) Reported by: Richard Mudgett Review:
https://reviewboard.asterisk.org/r/2859/
2013-09-18 14:56 +0000 [r399340] Kevin Harwell <kharwell@digium.com>
* res/res_pjsip_messaging.c, /: res_pjsip_messaging: Register
message technology as pjsip pjsip's message technology was being
registered as 'sip', which was causing it to not load due it
conflicting with chan_sip's registered 'sip' technology for
messaging. It now registers as 'pjsip'. However, due to this
change the "to" field for outgoing pjsip messages need to be
prefixed with 'pjsip:' instead of 'sip:'. Incoming messages to
res_pjsip_messaging will automatically have their "to" fields
altered in order to accommodate the change. Outgoing messages
also handle changing it back to 'sip' before being sent so the
pjsip library will properly handle it. (closes issue
ASTERISK-22445) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2833/ ........ Merged
revisions 399339 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-18 00:13 +0000 [r399295] Michael L. Young <elgueromexicano@gmail.com>
* /, main/features_config.c: Fix Segfault In features-config.c When
Application Has No Arguments Some applications do not require
arguments. Therefore, when parsing application maps in
features.conf, it is possible that app_data will be set to NULL.
* This patch sets app_data to "" if it is NULL. Review:
https://reviewboard.asterisk.org/r/2804 ........ Merged revisions
399294 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-17 23:10 +0000 [r399284] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_sdp_rtp.c, res/res_pjsip/pjsip_configuration.c,
res/res_pjsip_t38.c, include/asterisk/res_pjsip.h: Change the
"external_media_address" PJSIP endpoint option to
"media_address". The endpoint option does not apply to
communication with external entities. Rather, the option is
applied to all communications with the endpoint. The
external_media_address transport configuration option may
override the endpoint option if it turns out that we are going to
be communicating with an external entity. Two things of note: 1)
I have not updated the XML documentation. This is being taken
care of by Rusty as part of his work on issue ASTERISK-22405 2)
This commit is likely to cause testsuite failures since there are
tests that use the external_media_address endpoint option, and
they will need to be changed over. Well, I'm planning to get that
updated ASAP after this commit. (closes issue ASTERISK-22528)
reported by Rusty Newton ........ Merged revisions 399283 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-17 18:44 +0000 [r399269] Kevin Harwell <kharwell@digium.com>
* /, main/logger.c, main/asterisk.c: Remote console: more output
discrepancies The remote console continued to have issues with
its output. In this case CLI command output would either not show
up (if verbose level = 0) or would contain verbose prefixes (if
verbose level > 0) once log messages were sent to the remote
console. The fix now now adds verbose prefix data to all new
lines contained in a verbose log string. (closes issue
ASTERISK-22450) Reported by: David Brillert (closes issue
AST-1193) Reported by: Guenther Kelleter Review:
https://reviewboard.asterisk.org/r/2825/ ........ Merged
revisions 399267 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399268 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-17 17:55 +0000 [r399258] Richard Mudgett <rmudgett@digium.com>
* /, include/asterisk/features_config.h: Fix doxygen to use correct
units of features.conf options. ........ Merged revisions 399257
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-17 17:10 +0000 [r399238-399248] Mark Michelson <mmichelson@digium.com>
* main/features_config.c, /, main/bridge_basic.c: Fix other
timeouts (atxferloopdelay and atxfernoanswertimeout) to use
seconds instead of milliseconds. Thanks to Richard Mudgett for
pointing this out. ........ Merged revisions 399247 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, include/asterisk/features_config.h, main/bridge_basic.c,
main/features_config.c: Switch transferdigittimeout to be
configured as seconds instead of milliseconds. This was an
unintentional consequence of the update of features.conf to use
the config framework in Asterisk 12. Thanks to Marco Signorini on
the Asterisk developers list for pointing out the problem.
........ Merged revisions 399237 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-17 14:58 +0000 [r399226] Kevin Harwell <kharwell@digium.com>
* /, apps/confbridge/conf_state_multi_marked.c: Confbridge: empty
conference not being torn down Confbridge would not properly tear
down an empty conference bridge when all users were kicked via
end_marked=yes and at least one user was also set to wait_marked.
This occurred because while end_marked users were being kicked
and at least one was also set to wait_marked then the leave
wait_marked handler would be called on that user, but there would
be no waiting user (still considered active). The waiting users
would decrement and now be negative. The conference would remain,
but be put into an inactive state. The solution was to move from
the active list to the wait list, those users with wait_marked
set right before kicking. This allows both the active and wait
users to decrement correctly and the confbridge to tear down
properly. A crashed also occurred when trying to list the
specific conference from the CLI. This happened because the
conference specified was invalid. Since the conference properly
tears down now there is no way to reference it thus alleviating
the crash as well. (closes issue ASTERISK-21859) Reported by:
Chris Gentle Review: https://reviewboard.asterisk.org/r/2848/
........ Merged revisions 399222 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399225 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-16 18:36 +0000 [r399161-399208] Richard Mudgett <rmudgett@digium.com>
* tests/test_ari_model.c, /: Fix module load errors for
test_ari_model.so. You cannot use a function pointer variable
with an external function from another dynamically loaded module
because data variables are always resolved even with RTLD_LAZY. *
Added wrapper functions for ast_ari_validate_int() and
ast_ari_validate_string() to use instead for the function pointer
variable. (closes issue ASTERISK-22457) Reported by: David M. Lee
........ Merged revisions 399207 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_speech_utils.c, /, res/res_speech.exports.in:
app_speech_utils: Fix unresolved symbol ast_speech_get_setting().
Fixes regression introduced by -r374096. * Made
res_speech.export.in export ast_* symbols instead of specific
functions. * Made app_speech_utils.c declare that it is dependent
upon res_speech. (issue ASTERISK-17136) Reported by: Richard
Kenner ........ Merged revisions 399197 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_iax2.c: chan_iax2: Fix saving the wrong expiry
time in astdb. When a new IAX2 client registers, the astdb
database is updated with the value of minregexpire defined in
iax.conf instead of using the expiry time that is provided by the
client. The provided expiry time of the client is updated after
inserting the astdb entry. As a consequence, restarting or
reloading asterisk creates clients whose registration may expire
before they reregister. The clients are therefore unavailable
after minregexpire seconds until they reregister. * Move updating
of the expiry time to before inserting into the astdb. (closes
issue ASTERISK-22504) Reported by: Stefan Wachtler Patches:
chan_iax2.c.patch (license #6533) patch uploaded by Stefan
Wachtler ........ Merged revisions 399158 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399159 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399160 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-16 02:37 +0000 [r399147] Matthew Jordan <mjordan@digium.com>
* main/cdr.c, /: Filter internal channels out of bridge enter/leave
message handling Some channels exist merely as an implementation
detail in Asterisk, such as ConfBridge's announcer/recorder
channels. These channels should never be exposed to the outside
world, or to interfaces that report on Asterisk. We already
filter out such channels in snapshot processing; however, we
failed to filter out bridge related messages that involved these
channels. This patch filters out bridge related messages that are
for such channels. This prevents a spurious WARNING message from
being displayed when those channels move in and out of bridges.
........ Merged revisions 399146 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 22:19 +0000 [r399138] Richard Mudgett <rmudgett@digium.com>
* res/parking/parking_tests.c, include/asterisk/bridge_channel.h,
main/features.c, tests/test_cel.c, main/bridge_channel.c,
tests/test_cdr.c, apps/confbridge/conf_chan_announce.c,
include/asterisk/bridge.h, res/res_pjsip_refer.c, /,
channels/chan_sip.c, res/stasis/control.c, main/bridge.c,
main/bridge_basic.c, main/core_unreal.c,
res/parking/parking_applications.c, main/core_local.c,
res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
include/asterisk/features.h, main/channel.c: Restore Dial, Queue,
and FollowMe 'I' option support. The Dial, Queue, and FollowMe
applications need to inhibit the bridging initial connected line
exchange in order to support the 'I' option. * Replaced the
pass_reference flag on ast_bridge_join() with a flags parameter
to pass other flags defined by enum ast_bridge_join_flags. *
Replaced the independent flag on ast_bridge_impart() with a flags
parameter to pass other flags defined by enum
ast_bridge_impart_flags. * Since the Dial, Queue, and FollowMe
applications are now the only callers of ast_bridge_call() and
ast_bridge_call_with_flags(), changed the calling contract to
require the initial COLP exchange to already have been done by
the caller. * Made all callers of ast_bridge_impart() check the
return value. It is important. As a precaution, I also made the
compiler complain now if it is not checked. * Did some cleanup in
parking_tests.c as a result of checking the ast_bridge_impart()
return value. An independent, but associated change is: * Reduce
stack usage in ast_indicate_data() and add a dropping redundant
connected line verbose message. (closes issue ASTERISK-22072)
Reported by: Joshua Colp Review:
https://reviewboard.asterisk.org/r/2845/ ........ Merged
revisions 399136 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 20:55 +0000 [r399101] David M. Lee <dlee@digium.com>
* main/astobj2.c, /: Don't write to /tmp/refs when REF_DEBUG is not
defined. If MALLOC_DEBUG is enabled, then the debug destructor
for the container is used, which would erroneously write to
/tmp/refs. This patch only uses the debug destructor if ref_debug
is used. (closes issue ASTERISK-22536) ........ Merged revisions
399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 399099 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399100 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 14:50 +0000 [r399082-399084] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip.c, res/res_pjsip_pubsub.c,
res/res_pjsip_session.c, include/asterisk/res_pjsip.h,
res/res_pjsip.exports.in: Create more accurate Contact headers
for dialogs when we are the UAS. (closes issue AST-1207) reported
by John Bigelow Review: https://reviewboard.asterisk.org/r/2842
........ Merged revisions 399083 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip/config_auth.c, /,
res/res_pjsip_outbound_authenticator_digest.c,
res/res_pjsip_authenticator_digest.c: Change how realms are
handled for outbound authentication. With this change, if no
realm is specified in an outbound auth section, then we will
simply match the realm that was present in the 401/407 challenge.
(closes issue ASTERISK-22471) Reported by George Joseph (closes
issue ASTERISK-22386) Reported by Rusty Newton Patches:
outbound_auth_realm_v4.patch uploaded by George Joseph (License
#6322) ........ Merged revisions 399059 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 14:43 +0000 [r399080-399081] David M. Lee <dlee@digium.com>
* /: Recorded merge of revisions 399035,399049 from
http://svn.asterisk.org/svn/asterisk/branches/12 These were lost
in r399071
* /: Put merge tracking for r399039 back.
2013-09-13 14:27 +0000 [r399071] Rusty Newton <rnewton@digium.com>
* /, res/res_pjsip_endpoint_identifier_ip.c: Broke the build!
Forgot para tags within my description.
https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304
........ Merged revisions 399064 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 14:22 +0000 [r399042-399051] David M. Lee <dlee@digium.com>
* res/res_rtp_asterisk.c, /, res/res_pjsip_log_forwarder.c (added),
res/res_pjsip_logger.c: res_pjsip: Forward PJSIP logging to
Asterisk logging This patch uses PJSIP's pj_log_set_log_func() to
forward PJSIP's log messages to Asterisk's logger. This is done
in a new module: res_pjsip_log_forwarder.so. This patch sets
defaultenabled on the existing res_pjsip_logger.so to no, since
logging every SIP packet seems a bit odd to do by default, and is
(hopefully) less necessary with regular PJSIP logging. It also
removes res_rtp_asterisk's disabling of PJSIP logging. (closes
issue ASTERISK-22360) Reported by: Joshua Colp Review:
https://reviewboard.asterisk.org/r/2830/ ........ Merged
revisions 399049 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_http_websocket.c: ARI: Fix WebSocket response when
subprotocol isn't specified When I moved the ARI WebSocket from
/ws to /ari/events, I added code to allow a WebSocket to connect
without specifying the subprotocol if there's only one
subprotocol handler registered for the WebSocket. Naively, I
coded it to always respond with the subprotocol in use.
Unfortunately, according to RFC 6455, if the server's response
includes a subprotocol header field that "indicates the use of a
subprotocol that was not present in the client's handshake [...],
the client MUST _Fail the WebSocket Connection_.", emphasis
theirs. This patch correctly omits the Sec-WebSocket-Protocol if
one is not specified by the client. (closes issue ASTERISK-22441)
Review: https://reviewboard.asterisk.org/r/2828/ ........ Merged
revisions 399039 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 14:17 +0000 [r399036] Kinsey Moore <kmoore@digium.com>
* /, apps/app_meetme.c: Fix several crashes in MeetMeAdmin This
change ensures that MeetMeAdmin commands requiring a user
actually get a user and fixes another issue where an extra
dereference could occur for a last-entered user being ejected if
a user identifier was also provided. (closes issue
ASTERISK-21907) Reported by: Alex Epshteyn Review:
https://reviewboard.asterisk.org/r/2844/ ........ Merged
revisions 399033 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 399034 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 399035 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-13 13:28 +0000 [r399032] Rusty Newton <rnewton@digium.com>
* /, res/res_pjsip_endpoint_identifier_ip.c: 'identify'
configObject doesn't have a synopsis Add a straightforward
synopsis and description to the identify config object in XML
documentation. (issue ASTERISK-22311) (closes issue
ASTERISK-22311) Reported By: Rusty Newton ........ Merged
revisions 399031 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-12 23:42 +0000 [r399020-399022] Richard Mudgett <rmudgett@digium.com>
* /, main/bridge.c: CLI bridge: Fix "bridge destroy <id>" and
"bridge kick <id> <chan>" tab completion. These two commands must
deal with the live bridges container for tab completion and not
the stasis cache. ........ Merged revisions 399021 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/bridge.c: astobj2: Register the bridges container for
debug inspection. ........ Merged revisions 399019 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-12 23:23 +0000 [r399018] Rusty Newton <rnewton@digium.com>
* res/res_pjsip_acl.c, /: Documentation fix and improvements to XML
configuration help res_pjsip_acl * One bug fix. Made the synopsis
for "type" to accurate. * changing the usage of "IP-domains" to
"IP addresses" * clarifying the usage for the options, by adding
a relevant description for each * modified other areas of the XML
help for clarity, such as the module description and a few
synopsis changes here and there. See the patch. (issue
ASTERISK-22458) (closes issue ASTERISK-22458) Reported By: Rusty
Newton Review: https://reviewboard.asterisk.org/r/2823/ ........
Merged revisions 399017 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-12 20:27 +0000 [r399006] Jonathan Rose <jrose@digium.com>
* /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
Revert r398835 due to failing tests involving originate (issue
ASTERISK-22424) Reported by: Jonathan Rose ........ Merged
revisions 398977 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398986 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398991 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-12 16:44 +0000 [r398939] Richard Mudgett <rmudgett@digium.com>
* /, main/core_unreal.c: core_local: Fix memory corruption race
condition. The masquerade super test is failing on v12 with high
fence violations and crashing. The fence violations are showing
that party id allocated memory strings are somehow getting
corrupted in the bridge_reconfigured_connected_line_update()
function. The invalid string values happen to be the freed memory
fill pattern. After much puzzling, I deduced that the
bridge_reconfigured_connected_line_update() is copying a string
out of the source channel's caller party id struct just as
another thread is updating it with a new value. The copying
thread is using the old string pointer being freed by the
updating thread. A search of the code found the
unreal_colp_redirect_indicate() routine updating the caller party
id's without holding the channel lock. A latent bug in v1.8 and
v11 hatched in v12 because of the bridging and connected line
changes. :) (issue ASTERISK-22221) Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2839/ ........ Merged
revisions 398938 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-12 15:23 +0000 [r398928] David M. Lee <dlee@digium.com>
* /, res/res_pjsip.c: Fix symbol collision with pjsua. We shouldn't
be exporting any symbols that start with pjsip_. ........ Merged
revisions 398927 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-12 00:04 +0000 [r398883-398887] Rusty Newton <rnewton@digium.com>
* /, apps/app_queue.c: 'queue add member' help text correction You
are adding dial strings to the queue, not channels. An aribitrary
string could be used, but you are typically referencing a
channel. Correcting the command help text. (issue ASTERISK-22263)
(closes issue ASTERISK-22263) Reported By: Rusty Newton ........
Merged revisions 398884 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398885 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398886 from
http://svn.asterisk.org/svn/asterisk/branches/12
* configs/chan_dahdi.conf.sample, /: Documentation fix -
waitfordialtone is not boolean, it's time in milliseconds
Changing text in chan_dahdi.conf sample to be accurate. (issue
ASTERISK-22308) (closes issue ASTERISK-22308) Reported By:
Malcolm Davenport ........ Merged revisions 398880 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398881 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398882 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-11 20:03 +0000 [r398838] Jonathan Rose <jrose@digium.com>
* /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
Reject calls without prior SDP on 200 OK If we receive a 200 OK
without SDP, we will now check to see if the remote address has
been established for that channel's RTP session and if the to tag
for that channel has changed from the most recent to tag in a
response less than 200. If either a change has been made since
the last to-tag was received or the remote address is unset, then
we will drop the call. (closes issue ASTERISK-22424) Reported by:
Jonathan Rose Review:
https://reviewboard.asterisk.org/r/2827/diff/#index_header
........ Merged revisions 398835 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398836 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398837 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-11 18:03 +0000 [r398822] Russell Bryant <russell@russellbryant.com>
* configs/confbridge.conf.sample, /: Fix typo in
confbridge.conf.sample The denoise filter requires func_speex,
not codec_speex. Fix this in the description of the denoise=yes
option in confbridge.conf. ........ Merged revisions 398820 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398821 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-11 14:23 +0000 [r398808] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_caller_id.c, channels/chan_pjsip.c: pjsip:
reinvite for connected line updates occurs when it should not
Connected line updates are now only sent out if an actual update
needs to occur. This happens under the following conditions: 1.
The endpoint we are sending to is trusted. 2. Either a
P-Asserted-Identity or Remote Party-ID header needs to be
added/sent. 3. The connected id's number and name are valid. Also
added an SDP when an update is sent out. (closes issue AST-1212)
Reported by: John Bigelow Review:
https://reviewboard.asterisk.org/r/2831/ ........ Merged
revisions 398806 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-10 18:05 +0000 [r398760] Richard Mudgett <rmudgett@digium.com>
* /, funcs/func_dialgroup.c, main/heap.c,
res/res_pjsip/pjsip_configuration.c, main/event.c,
res/res_musiconhold.c, main/indications.c, main/asterisk.c,
main/xmldoc.c, main/cli.c: Fix incorrect usages of ast_realloc().
There are several locations in the code base where this is done:
buf = ast_realloc(buf, new_size); This is going to leak the
original buf contents if the realloc fails. Review:
https://reviewboard.asterisk.org/r/2832/ ........ Merged
revisions 398757 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398758 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398759 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-10 17:50 +0000 [r398751-398755] David M. Lee <dlee@digium.com>
* utils/check_expr.c, /: Fixed utils directory breakage from
r398748, this time with extra hate. ........ Merged revisions
398752 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 398753 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398754 from
http://svn.asterisk.org/svn/asterisk/branches/12
* utils/conf2ael.c, utils/check_expr.c, /, utils/ael_main.c: Fixed
utils directory breakage from r398648 ........ Merged revisions
398748 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 398749 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398750 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-09 23:29 +0000 [r398732] Richard Mudgett <rmudgett@digium.com>
* /, main/astmm.c: MALLOC_DEBUG: Change fence magic number to be
completely different from the freed magic number. Race conditions
between freeing a nul terminated string and ast_strdup()'ing it
are more likely to be detected if the fence and freed magic
numbers are completely different. ........ Merged revisions
398703 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 398721 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398726 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-09 22:00 +0000 [r398695] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_endpoint_identifier_ip.c: Add extra debugging to
res_pjsip_endpoint_identifier_ip ........ Merged revisions 398694
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-09 20:13 +0000 [r398641-398652] David M. Lee <dlee@digium.com>
* include/asterisk/lock.h, main/lock.c, /, main/utils.c: Fix
DEBUG_THREADS when lock is acquired in __constructor__ This patch
fixes some long-standing bugs in debug threads that were
exacerbated with recent Optional API work in Asterisk 12. With
debug threads enabled, on some systems, there's a lock ordering
problem between our mutex and glibc's mutex protecting its module
list (Ubuntu Lucid, glibc 2.11.1 in this instance). In one
thread, the module list will be locked before acquiring our
mutex. In another thread, our mutex will be locked before locking
the module list (which happens in the depths of calling
backtrace()). This patch fixes this issue by moving backtrace()
calls outside of critical sections that have the mutex acquired.
The bigger change was to reentrancy tracking for
ast_cond_{timed,}wait, which wrongly assumed that waiting on the
mutex was equivalent to a single unlock (it actually suspends all
recursive locks on the mutex). (closes issue ASTERISK-22455)
Review: https://reviewboard.asterisk.org/r/2824/ ........ Merged
revisions 398648 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398649 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398651 from
http://svn.asterisk.org/svn/asterisk/branches/12
* rest-api/api-docs/channels.json, res/ari/resource_channels.h, /:
Multiple revisions 398638-398639 ........ r398638 | dlee |
2013-09-09 14:01:54 -0500 (Mon, 09 Sep 2013) | 1 line Added note
about expected behavior of originate ........ r398639 | dlee |
2013-09-09 14:02:27 -0500 (Mon, 09 Sep 2013) | 1 line Added note
about expected behavior of originate (the rest of the commit)
........ Merged revisions 398638-398639 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-08 23:30 +0000 [r398629] Matthew Jordan <mjordan@digium.com>
* tests/test_cdr.c, /: Update CDR Unit tests to reflect container
changes in r398579 When a channel joins a multi-party bridge, the
ordering of the CDRs that is created is determined by the
ordering of the channels who happen to be in that bridge. When
r398579 changed the number of buckets in the container to
something sensible, it changed the ordering that the CDRs was
created in, causing one of the multiparty tests to fail. This
fixes the test with the now expected ordering. ........ Merged
revisions 398628 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-07 01:03 +0000 [r398603-398620] Kinsey Moore <kmoore@digium.com>
* res/res_xmpp.c, /: Prevent XMPP timeout on blank responses
Sometimes the Google Voice servers have a bad habit of sending
out 1 byte replies to the xmpp resource. When a blank 1 byte
reply is received from the socket the buffer attempts to wait
(endlessly) for the rest of the reply from google which
effectively blocks the socket and google voice calls will no
longer come into the server. This patch allows the xmpp module to
correctly detect empty packets and send out ping replies to
google. It also sets a socket timeout on the default socket which
prevents the xmpp socket from closing and preventing future
google voice calls from coming into the server. Furthermore
instead of sending an empty reply back to google we send a proper
xmpp ping reply back. This also adds several more socket
messages. (closes issue ASTERISK-22347) Reported by: Andrew Nagy
Review: https://reviewboard.asterisk.org/r/2771 Patches:
xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524) ........
Merged revisions 398618 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398619 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_xmpp.c, res/res_jabber.c, /: Multiple revisions
398558,398577 ........ r398558 | kmoore | 2013-09-06 14:28:16
-0500 (Fri, 06 Sep 2013) | 17 lines Fix Jabber/XMPP distributed
MWI The mailbox and context are swapped on the receiving end for
all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and
all more recent versions. This swaps those values to be correct
when publishing to the internal event system from Jabber/XMPP
distributed MWI state. (closes issue ASTERISK-22435) Reported by:
abelbeck Tested by: Michael Keuter Patches:
asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by
abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch
uploaded by abelbeck ........ Merged revisions 398523 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) |
10 lines Commit the remainder of r398523 This is a missing part
of the commit in revision 398523 that corrects the name of a
variable. (issue ASTERISK-22435) ........ Merged revisions 398576
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 398558,398577 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398580 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-06 21:17 +0000 [r398557-398583] Richard Mudgett <rmudgett@digium.com>
* main/cdr.c, /: cdr: Change the number of container buckets to be
similar to the channels container. * Fix the temporary cdr
candidate containers to use a prime number of buckets. ........
Merged revisions 398579 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, main/core_local.c: core_local: Fix LocalOptimizationBegin AMI
event missing Source channel snapshot. * Fix the
LocalOptimizationBegin AMI event by eliminating an artificial
buffer size limitation that is too small anyway. ........ Merged
revisions 398572 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: cdr: Fix some ref leaks. * Added missing
unregister of the cdr container in cdr_engine_shutdown(). * Fixed
ref leak in off nominal path of cdr_object_alloc(). * Removed
some unnecessary NULL checks in cdr_object_dtor(). ........
Merged revisions 398562 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cel.c, main/features_config.c, apps/app_agent_pool.c,
main/cdr.c, main/udptl.c, /, main/parking.c,
main/stasis_config.c, include/asterisk/astobj2.h: astobj2: Add
warn unused attribute to some functions. * Fixed resulting
warnings with improper use of ao2_global_obj_replace(). * Made a
couple uses of ao2_global_obj_replace_unref(x, NULL) into the
equivalent and more appropriate ao2_global_obj_release() call.
........ Merged revisions 398533 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-06 18:53 +0000 [r398512-398522] Kinsey Moore <kmoore@digium.com>
* /, res/stasis/app.c, main/http.c: Fix build warnings When
AST_DEVMODE is not defined, ast_asserts are not compiled into the
binary. In some cases, this means variables are not referenced or
are set but unused which causes warnings to show up. (closes
issue ASTERISK-22446) Reported by: Jason Parker (qwell) ........
Merged revisions 398521 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_h323.c: Fix chan_h323 compilation This fixes the
things in chan_h323 that were missed or ignored in the great
channel opaquification and gets chan_h323 back into a compiling
state. (closes issue ASTERISK-22365) Reported by: Dmitry Melekhov
Patches: chan_h323.patch uploaded by Dmitry Melekhov ........
Merged revisions 398510 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398511 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-05 21:48 +0000 [r398384-398499] Richard Mudgett <rmudgett@digium.com>
* main/astobj2.c, /: astobj2: Only define ao2_bt() once. * Make
ao2_bt() not use single char variable names. * Fix ao2_bt()
formatting. ........ Merged revisions 398498 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_iax2.c, /: chan_iax2: Reduce indentation in
__attempt_transmit(). * Reduce indentation in
__attempt_transmit(). * Don't update the static last error time
variable every time in __schedule_action() and socket_read().
........ Merged revisions 398456 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398457 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398458 from
http://svn.asterisk.org/svn/asterisk/branches/12
* channels/chan_iax2.c, /: chan_iax2: Fix stray reference to worker
thread idle_list. * Fix stray reference to idle_list in
cleanup_thread_list(). This may be the reason for the note in
iax2_process_thread() about threads not being removed from the
task lists. * Move cleanup_thread_list(&idle_list) to after the
other lists are cleaned up. ........ Merged revisions 398416 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398417 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398418 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_iax2.c: chan_iax2: Fix bridgecallno deadlock
avoidance. * Fix bridgecallno deadlock avoidance. When doing
deadlock avoidance, you need to retest the status of values for
each loop to see if you still need the lock for bridgecallno. *
As a safety check, after acquiring the bridgecallno lock you
should check if iaxs[bridgecallno] is NULL just like the current
callno checks. * Move setting thread->iostate to IAX_IOSTATE_IDLE
to after processing any deferred frames to ensure that the
iostate is IDLE when it is placed back into the idle list.
defer_full_frame() tries to ensure iax2_process_thread() wakes up
to process the frame. ........ Merged revisions 398379 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398380 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398381 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-05 14:10 +0000 [r398369] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_outbound_registration.c: Clarify server_uri and
client_uri registration settings. Used some of Rusty's suggested
language plus also included more SIPesque descriptions of where
the URIs are actually used in an outgoing REGISTER. (closes issue
ASTERISK-22390) reported by Rusty Newton ........ Merged
revisions 398368 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-04 23:07 +0000 [r398304] Richard Mudgett <rmudgett@digium.com>
* channels/iax2/parser.c, /: chan_iax2: Add missing control frame
names to debug frame decode output. ........ Merged revisions
398301 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........ Merged revisions 398302 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398303 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-04 22:49 +0000 [r398300] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_outbound_authenticator_digest.c: Give more
detail regarding failures to create request with auth
credentials. (issue ASTERISK-22386) ........ Merged revisions
398299 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-04 21:37 +0000 [r398284-398287] Jonathan Rose <jrose@digium.com>
* /, tests/test_voicemail_api.c: unit tests: test_voicemail_api
leaks stringfields from snapshots (closes issue ASTERISK-22414)
Reported by: Corey Farrell Patches:
test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
(license 5909) ........ Merged revisions 398285 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398286 from
http://svn.asterisk.org/svn/asterisk/branches/12
* apps/app_voicemail.c, /: app_voicemail: Fix leaking config
objects when msg_id doesn't match (issues ASTERISK-22414)
Reported by: Corey Farrell Patch:
test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
(license 5909) ........ Merged revisions 398281 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398283 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-04 16:03 +0000 [r398238] Richard Mudgett <rmudgett@digium.com>
* channels/chan_misdn.c, /: chan_misdn: Fix misdn debug output
printed with arbitrary verbose levels. Fix the misdn debug output
to remote consoles. chan_misdn uses ast_console_puts() which
doesn't know about verbose levels. Better to use ast_verbose()
instead. Without this patch the misdn debug messages are appended
to the verbose level which ever was set by the message sent to
the console before, i.e. any undefined level. (closes issue
AST-1218) Reported by: Guenther Kelleter Patches: misdnlog.patch
(license #6372) patch uploaded by Guenther Kelleter ........
Merged revisions 398235 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398236 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398237 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-04 14:32 +0000 [r398227] Kevin Harwell <kharwell@digium.com>
* /, res/res_pjsip_outbound_registration.c: Debug messages for
pjsip outbound registration Added debug messages indicating that
an outbound registration attempt was made and it was successful
in pjsip. (closes issue ASTERISK-22388) Reported by: Rusty Newton
........ Merged revisions 398226 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-03 20:28 +0000 [r398217] Alexandr Anikin <may@telecom-service.ru>
* /, addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling
on empty tcs received ........ Merged revisions 398214 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398215 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-03 18:09 +0000 [r398207] Kinsey Moore <kmoore@digium.com>
* res/res_pjsip_dtmf_info.c, /: Prevent a crash in
res_pjsip_dtmf_info.c This change makes sure that a content type
header exists before checking the contents of the header against
known SIP INFO DTMF content types. ........ Merged revisions
398206 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-03 17:19 +0000 [r398205] David M. Lee <dlee@digium.com>
* /, Makefile: Fixed 'make clean' for wiki docs ........ Merged
revisions 398198 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-09-03 14:29 +0000 [r398197] Walter Doekes <walter+asterisk@wjd.nu>
* /, cel/cel_custom.c: Be a little more verbose when loading
cel_custom.conf. Review: https://reviewboard.asterisk.org/r/2805/
........ Merged revisions 398167 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398168 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398196 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 20:58 +0000 [r398150] David M. Lee <dlee@digium.com>
* /, main/optional_api.c, main/asterisk.c,
include/asterisk/optional_api.h: Fix graceful shutdown crash. The
cleanup code for optional_api needs to happen after all of the
optional API users and providers have unused/unprovided.
Unfortunately, regsitering the atexit() handler at the beginning
of main() isn't soon enough, since module destructors run after
that. ........ Merged revisions 398149 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 20:37 +0000 [r398148] Rusty Newton <rnewton@digium.com>
* /, configs/pjsip.conf.sample: New pjsip.conf.sample (issue
ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
Jordan Review: https://reviewboard.asterisk.org/r/2811/ ........
Merged revisions 398147 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 19:55 +0000 [r398124-398140] Kevin Harwell <kharwell@digium.com>
* include/asterisk/sorcery.h, res/res_pjsip.c,
res/res_pjsip/config_transport.c, main/sorcery.c, /,
res/res_pjsip_outbound_registration.c: Add a reloadable option
for sorcery type objects Some configuration objects currently
won't place nice if reloaded. Specifically, in this case the
pjsip transport objects. Now when registering an object in
sorcery one may specify that the object is allowed to be reloaded
or not. If the object is set to not reload then upon reloading of
the configuration the objects of that type will not be reloaded.
The initially loaded objects of that type however will remain.
While the transport objects will not longer be reloaded it is
still possible for a user to configure an endpoint to an invalid
transport. A couple of log messages were added to help diagnose
this problem if it occurs. (closes issue ASTERISK-22382) Reported
by: Rusty Newton (closes issue ASTERISK-22384) Reported by: Rusty
Newton Review: https://reviewboard.asterisk.org/r/2807/ ........
Merged revisions 398139 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/indications.c, main/config.c, res/res_security_log.c, /,
channels/chan_sip.c, main/translate.c, main/named_acl.c: Fix
various memory leaks main/config.c - cleanup cache fie includes
res/res_security_log.c - unregister logger level
channesl/chan_sip.c - cleanup io context and notify_types
main/translator.c - cleanup at shutdown main/named_acl.c -
cleanup cli commands main/indications.c -
ast_get_indication_tone() unref default_tone_zone if used (closes
issues ASTERISK-22378) Reported by: Corey Farrell Patches:
config_shutdown.patch uploaded by coreyfarrell (license 5909)
res_security_log.patch uploaded by coreyfarrell (license 5909)
chan_sip-11.patch uploaded by coreyfarrell (license 5909)
indications_refleak.patch uploaded by coreyfarrell (license 5909)
named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
5909) translate_shutdown.patch uploaded by coreyfarrell (license
5909) ........ Merged revisions 398102 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398103 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398116 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 18:38 +0000 [r398101] Matthew Jordan <mjordan@digium.com>
* /, UPGRADE-12.txt (added), UPGRADE.txt: Update UPGRADE.txt file
for Asterisk 12 This simply pulls in the changes that were
breaking from the CHANGES file and updates a few other areas
accordingly. It also removes the 10 => 11 notes, which are
traditionally removed from each major version and stored in the
appropriate UPGRADE-X.txt file. ........ Merged revisions 398100
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 18:30 +0000 [r398064-398099] Jonathan Rose <jrose@digium.com>
* main/config_options.c, main/features_config.c, /:
features_config: Ignore parkinglots in features.conf instead of
failing to load Parkinglots are defined in res_features.conf now,
but this patch fixes features_config so that features don't fail
to load when parkinglots are present in features.conf Review:
https://reviewboard.asterisk.org/r/2801/ ........ Merged
revisions 398068 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/udptl.c, /, main/features_config.c: features_config: Don't
require features.conf to be present for Asterisk to load (closes
issue ASTERISK-22426) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2806/ ........ Merged
revisions 398020 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 17:59 +0000 [r398063] Kevin Harwell <kharwell@digium.com>
* /, res/res_agi.c, main/manager.c: Memory leak fix
ast_xmldoc_printable returns an allocated block that must be
freed by the caller. Fixed manager.c and res_agi.c to stop
leaking these results. (closes issue ASTERISK-22395) Reported by:
Corey Farrell Patches: manager-leaks-12.patch uploaded by
coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded
by coreyfarrell (license 5909) ........ Merged revisions 398060
from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
Merged revisions 398061 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398062 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 17:11 +0000 [r398024-398026] Richard Mudgett <rmudgett@digium.com>
* tests/test_substitution.c, /: test_substitution: Fix failing
test. Revert the -r392190 change. The original test was correct.
The CDR code was actually returning an unititialized buffer.
........ Merged revisions 398025 from
http://svn.asterisk.org/svn/asterisk/branches/12
* tests/test_substitution.c, /: test_substituition: Fix failed test
reporting to actually report failure. You cannot put the "Testing
<blah> pass/fail" on a single line before actually performing the
test. Now any additional failure information is logged before the
test pass/fail announcement. * Added an additional CDR(answer,u)
test. ........ Merged revisions 398018 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 398019 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398023 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 16:27 +0000 [r398003-398017] Kevin Harwell <kharwell@digium.com>
* /, apps/app_mixmonitor.c: Fix memory leaks (closes issue
ASTERISK-22368) Reported by: Corey Farrell Patches:
issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes
(license 5674) ........ Merged revisions 398004 from
http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
revisions 398011 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398016 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/asterisk.c, /: Check return value on fwrite ........ Merged
revisions 398000 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 398002 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 13:40 +0000 [r397987-397990] David M. Lee <dlee@digium.com>
* main/loader.c, include/asterisk/optional_api.h,
build_tools/cflags.xml, configure, res/res_ari_events.c,
include/asterisk/http_websocket.h, main/optional_api.c (added),
rest-api-templates/swagger_model.py, res/ari/ari_websockets.c,
channels/sip/include/sip.h, main/asterisk.c, res/res_ari.c,
tests/test_optional_api.c (added), /, channels/chan_sip.c,
include/asterisk/autoconfig.h.in, configure.ac,
rest-api-templates/res_ari_resource.c.mustache,
res/ari/internal.h, res/res_http_websocket.c, CHANGES,
include/asterisk/compiler.h, include/asterisk/ari.h:
optional_api: Fix linking problems between modules that export
global symbols With the new work in Asterisk 12, there are some
uses of the optional_api that are prone to failure. The details
are rather involved, and captured on [the wiki][1]. This patch
addresses the issue by removing almost all of the magic from the
optional API implementation. Instead of relying on weak symbol
resolution, a new optional_api.c module was added to Asterisk
core. For modules providing an optional API, the pointer to the
implementation function is registered with the core. For modules
that use an optional API, a pointer to a stub function, along
with a optional_ref function pointer are registered with the
core. The optional_ref function pointers is set to the
implementation function when it's provided, or the stub function
when it's now. Since the implementation no longer relies on
magic, it is now supported on all platforms. In the spirit of
choice, an OPTIONAL_API flag was added, so we can disable the
optional_api if needed (maybe it's buggy on some bizarre platform
I haven't tested on) The AST_OPTIONAL_API*() macros themselves
remained unchanged, so existing code could remain unchanged. But
to help with debugging the optional_api, the patch limits the
#include of optional API's to just the modules using the API.
This also reduces resource waste maintaining optional_ref
pointers that aren't used. Other changes made as a part of this
patch: * The stubs for http_websocket that wrap system calls set
errno to ENOSYS. * res_http_websocket now properly increments
module use count. * In loader.c, the while() wrappers around
dlclose() were removed. The while(!dlclose()) is actually an
anti-pattern, which can lead to infinite loops if the module
you're attempting to unload exports a symbol that was directly
linked to. * The special handling of nonoptreq on systems without
weak symbol support was removed, since we no longer rely on weak
symbols for optional_api. [1]:
https://wiki.asterisk.org/wiki/x/wACUAQ (closes issue
ASTERISK-22296) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2797/ ........ Merged
revisions 397989 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_stasis_recording.c, res/Makefile,
res/ari/ari_model_validators.c,
rest-api/api-docs/recordings.json, res/stasis_recording (added),
res/ari/resource_recordings.c, res/ari/ari_model_validators.h,
res/res_ari_recordings.c, res/res_stasis_playback.c, /,
include/asterisk/stasis_app_recording.h,
res/ari/resource_recordings.h: ARI: Implement /recordings/stored
API's his patch implements the ARI API's for stored recordings.
While the original task only specified deleting a recording, it
was simple enough to implement the GET for all recordings, and
for an individual recording. The recording playback operation was
modified to use the same code for accessing the recording as the
REST API, so that they will behave consistently. There were
several problems with the api-docs that were also fixed, bringing
the ARI spec in line with the implementation. There were some
'wishful thinking' fields on the stored recording model (duration
and timestamp) that were removed, because I ended up not
implementing a metadata file to go along with the recording to
store such information. The GET /recordings/live operation was
removed, since it's not really that useful to get a list of all
recordings that are currently going on in the system. (At least,
if we did that, we'd probably want to also list all of the
current playbacks. Which seems weird.) (closes issue
ASTERISK-21582) Review: https://reviewboard.asterisk.org/r/2693/
........ Merged revisions 397985 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /: Multiple revisions 397975-397976 ........ r397975 | rmudgett |
2013-08-29 20:00:00 -0500 (Thu, 29 Aug 2013) | 1 line pbx.c: Make
ast_str_substitute_variables_full() not mask variables. ........
r397976 | rmudgett | 2013-08-29 20:00:41 -0500 (Thu, 29 Aug 2013)
| 1 line Revert last commit. ........ Merged revisions
397975-397976 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 01:20 +0000 [r397978] Richard Mudgett <rmudgett@digium.com>
* /, main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full()
not mask variables. ........ Merged revisions 397977 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-30 00:11 +0000 [r397962-397969] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_pidf.c, /: Sanitize XML output for PIDF bodies.
PJSIP's PIDF API does not replace angle brackets with their
appropriate counterparts for XML. So we have to do it ourself. In
this particular case, the problem had to do with attempting to
place an unsanitized SIP URI into an XML node. Now we don't get a
488 from recipients of our PIDF NOTIFYs. ........ Merged
revisions 397968 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip_pidf.c: Fix method for creating activities
string in PIDF bodies. The previous method did not allocate
enough space to create the entire string, but adjusted the
string's slen value to be larger than the actual allocation. This
resulted in garbled text in NOTIFY requests from Asterisk. This
method allocates the proper amount of space first and then writes
the content into the buffer. ........ Merged revisions 397960
from http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 22:49 +0000 [r397959] Kevin Harwell <kharwell@digium.com>
* apps/app_verbose.c, main/asterisk.c, channels/chan_misdn.c, /,
apps/app_dumpchan.c, main/logger.c: Verbose logging discrepancies
Refactored cases where a combination of
ast_verbose/options_verbose were present. Also in general tried
to eliminate, in as many places as possible, where the
options_verbose global variable was being used. Refactored the
way local and remote consoles handle verbose message logging in
an attempt to solve the various discrepancies that sometimes
would show between the two. (closes issue AST-1193) Reported by:
Guenther Kelleter Review:
https://reviewboard.asterisk.org/r/2798/ ........ Merged
revisions 397948 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 397958 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 22:26 +0000 [r397956-397957] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip_pubsub.c: Fix when the subscription_terminated
callback is called for subscription handlers. The previous
placement would result in the resubscribe() callback called
instead of the subscription_terminated() callback being called
when a subscription was ended via a SUBSCRIBE request. This would
result in confusing PJSIP and having it throw an assertion.
........ Merged revisions 397955 from
http://svn.asterisk.org/svn/asterisk/branches/12
* res/res_pjsip_session.c, /: Fix a race condition where a canceled
call was answered. RFC 5407 section 3.1.2 details a scenario
where a UAC sends a CANCEL at the same time that a UAS sends a
200 OK for the INVITE that the UAC is canceling. When this
occurs, it is the role of the UAC to immediately send a BYE to
terminate the call. This scenario was reproducible by have a
Digium phone with two lines place a call to a second phone that
forwarded the call to the second line on the original phone. The
Digium phone, upon realizing that it was connecting to itself,
would attempt to cancel the call. The timing of this happened to
trigger the aforementioned race condition about 80% of the time.
Asterisk was not doing its job of sending a BYE when receiving a
200 OK on a cancelled INVITE. The result was that the ast_channel
structure was destroyed but the underlying SIP session, as well
as the PJSIP inv_session and dialog, were still alive. Attempting
to perform an action such as a transfer, once in this state,
would result in Asterisk crashing. The circumstances are now
detected properly and the session is ended as recommended in RFC
5407. (closes issue AST-1209) reported by John Bigelow ........
Merged revisions 397945 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 21:37 +0000 [r397947] Kevin Harwell <kharwell@digium.com>
* main/file.c, main/app.c, main/config_options.c, main/cel.c,
main/asterisk.c, main/cdr.c, main/manager.c, /,
main/stasis_config.c: Memory leaks fix (closes ASTERISK-22376)
Reported by: John Hardin Patches: memleak.patch uploaded by
jhardin (license 6512) memleak2.patch uploaded by jhardin
(license 6512) ........ Merged revisions 397946 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 20:22 +0000 [r397939] Matthew Jordan <mjordan@digium.com>
* configs/safe_asterisk.conf.sample (removed), /, CHANGES,
contrib/scripts/safe_asterisk, Makefile: Revert r394939 due to
(numerous) objections The patch from ASTERISK-21965 was committed
perhaps a bit too hastily. Walter and Tzafrir have pointed out
numerous issues with the approach and have propsed an alternative
in r/2757. Since it's not a time critical issue and is not worth
holding up the release of 12 for it, I've gone ahead and reverted
r394939 from 12/trunk and re-opened ASTERISK-21965. ........
Merged revisions 397938 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 16:21 +0000 [r397932] David M. Lee <dlee@digium.com>
* rest-api-templates/asterisk_processor.py,
rest-api-templates/make_ari_stubs.py, /,
rest-api-templates/api.wiki.mustache: Account for {} in Swagger
notes ........ Merged revisions 397927 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 16:05 +0000 [r397925] Matthew Jordan <mjordan@digium.com>
* Makefile, /: Recursively search for '.c' files when making
documentation with 'make full' Without this, documentation
defined in sub-folders is ignored. Since having properly
generated documentation is especially important in Asterisk 12 -
not having it can cause a module to not load - 'make full' needs
to look in all .c files. ........ Merged revisions 397924 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 15:43 +0000 [r397923] Mark Michelson <mmichelson@digium.com>
* /, apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Multiple
revisions 397921-397922 ........ r397921 | mmichelson |
2013-08-29 10:42:10 -0500 (Thu, 29 Aug 2013) | 6 lines Resolve
assumptions that bridge snapshots would be non-NULL for transfer
stasis events. Attempting to transfer an unbridged call would
result in crashes in either CEL code or in the conversion to AMI
messages. ........ r397922 | mmichelson | 2013-08-29 10:42:29
-0500 (Thu, 29 Aug 2013) | 3 lines Remove extra debug message.
........ Merged revisions 397921-397922 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-29 12:30 +0000 [r397912] Matthew Jordan <mjordan@digium.com>
* contrib/ast-db-manage/config.ini.sample,
contrib/ast-db-manage/config/env.py,
contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
contrib/ast-db-manage/config,
contrib/ast-db-manage/config/script.py.mako,
contrib/ast-db-manage/voicemail.ini.sample,
contrib/ast-db-manage/voicemail/env.py,
contrib/ast-db-manage/voicemail,
contrib/ast-db-manage/voicemail/script.py.mako,
contrib/ast-db-manage/README.md,
contrib/ast-db-manage/config/versions,
contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
contrib/ast-db-manage (added),
contrib/ast-db-manage/voicemail/versions, /: Actually *add* the
database schema management utilities In r397874, the scripts were
removed... but not replaced. Thanks to Michael Young for noticing
this! ........ Merged revisions 397911 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-28 23:15 +0000 [r397886-397903] Richard Mudgett <rmudgett@digium.com>
* main/stdtime/localtime.c, main/cdr.c, /, funcs/func_cdr.c: Fix
some uninitialized buffers for CDR handling valgrind found. *
Made ast_strftime_locale() ensure that the output buffer is
initialized. The std library strftime() returns 0 and does not
touch the buffer if it has an error. However, the function can
also return 0 without an error. (closes issue ASTERISK-22412)
Reported by: rmudgett ........ Merged revisions 397902 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: Fixed problems with ast_cdr_serialize_variables().
* Fixed return value of ast_cdr_serialize_variables() on error.
It needs to return 0 indicating no CDR variables found. * Made
ast_cdr_serialize_variables() check the return value of
cdr_object_format_property() and assert if nonzero. A member of
the cdr_readonly_vars[] was not handled. * Removed unused
elements from cdr_readonly_vars[]: total_duration, total_billsec,
first_start, and first_answer. ........ Merged revisions 397900
from http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: Made the on/off in CLI "cdr set debug [on|off]"
case insensitive. ........ Merged revisions 397898 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: Make CDR variable name chandling consistently case
insensitive. ........ Merged revisions 397896 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/cdr.c, /: Make CDR code deal with channel names case
insensitively. ........ Merged revisions 397894 from
http://svn.asterisk.org/svn/asterisk/branches/12
* funcs/func_cdr.c, main/cdr.c, /: Some CDR code optimization.
........ Merged revisions 397892 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, funcs/func_cdr.c: Whitespace and curly braces. ........ Merged
revisions 397885 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-28 21:09 +0000 [r397877] Mark Michelson <mmichelson@digium.com>
* res/res_pjsip_refer.c, /: Improve detection of answer on SIP
blind transfer. A problem encountered during testing was that
res_pjsip_refer would not ever send a NOTIFY with a 200 OK
sipfrag. This is because the framehook that was supposed to send
the NOTIFY would never be told that an answer had occurred. This
happened for two reasons: 1) The transferee channel on which the
framehook was on was already up. 2) Answers are rarely if ever
written to channels. Rather, the ast_answer() or ast_raw_answer()
function is used to answer channels. Thanks to a suggestion by
Matt Jordan, the best way to detect that the call had been
answered was to find out when the transferee channel joined a
bridge. With stasis this is an easy task. So now, in addition to
the framehook logic, there is a stasis subscription used to
determine when the transferee has entered a bridge. Once it has
entered, an appropriate NOTIFY is sent. ........ Merged revisions
397876 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-28 20:55 +0000 [r397872-397875] Matthew Jordan <mjordan@digium.com>
* CHANGES, contrib/realtime/mysql/musiconhold.sql,
contrib/realtime/mysql/queue_log.sql,
contrib/realtime/mysql/voicemail.sql,
contrib/realtime/mysql/sippeers.sql, /,
contrib/realtime/mysql/iaxfriends.sql,
contrib/realtime/mysql/meetme.sql,
contrib/realtime/mysql/voicemail_messages.sql,
contrib/realtime/postgresql/realtime.sql,
contrib/realtime/mysql/voicemail_data.sql: Add database schema
management using Alembic This patch replaces contrib/realtime/
with a new setup for managing the database schema required for
database integration with Asterisk. In addition to initializing a
database with the proper schema, alembic can do a database
migration to assist with upgrading Asterisk in the future.
Hopefully this helps make setting up and operating Asterisk with
a database easier. With this the schema only needs to be
maintained in one place instead of once per database. The schemas
I have added here have a bit of improvement over the examples
that were there before (some added consistency and added some
missing indexes). Managing the schema in one place here also
applies to all databases supported by SQLAlchemy. See
contrib/ast-db-manage/README.md for more details. Review:
https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
(license 6300) ........ Merged revisions 397874 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, CHANGES: Update CHANGES file for Asterisk 12 This updates the
Asterisk 12 CHANGES file with the things that were missed during
the development cycle. Review:
https://reviewboard.asterisk.org/r/2795/ ........ Merged
revisions 397870 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-28 16:13 +0000 [r397857-397860] Richard Mudgett <rmudgett@digium.com>
* main/pbx.c, /: pbx.c: Make ast_str_substitute_variables_full()
not mask variables. ........ Merged revisions 397859 from
http://svn.asterisk.org/svn/asterisk/branches/12
* main/chanvars.c: ast_free() is null tollerant.
* /, include/asterisk/threadstorage.h: Match use of ast_free() with
ast_calloc() and add some curly braces. ........ Merged revisions
397856 from http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-28 15:43 +0000 [r397855] Mark Michelson <mmichelson@digium.com>
* /, res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the
SIP distributor. Dialog matching is performed in the distributor
for the sole purpose of retrieving an associated serializer so
the request may be serialized. This patch fixes two problems.
First, incoming CANCEL requests that had no to-tag (which really
should be *all* CANCEL requests) would not match with a dialog.
An earlier bug fix to deal with early CANCEL requests would
result in the CANCEL being replied to with a 481. The fix for
this is to find the matching INVITE transaction and get the
dialog from that transaction. Second, no SIP responses were
matching dialogs. This is because we were inverting the tags that
we were passing into PJSIP's dialog finding function. This logic
has been corrected by setting local and remote tag variables
based on whether the incoming message is a request or response.
........ Merged revisions 397854 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-27 19:19 +0000 [r397820] David M. Lee <dlee@digium.com>
* res/res_stasis.c, main/stasis_bridges.c,
rest-api-templates/param_parsing.mustache, res/res_ari_bridges.c,
/, res/stasis/app.c, res/res_ari_events.c,
res/res_ari_asterisk.c,
rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h:
ARI: WebSocket event cleanup Stasis events (which get distributed
over the ARI WebSocket) are created by subscribing to the
channel_all_cached and bridge_all_cached topics, filtering out
events for channels/bridges currently subscribed to. There are
two issues with that. First was a race condition, where messages
in-flight to the master subscribe-to-all-things topic would get
sent out, even though the events happened before the channel was
put into Stasis. Secondly, as the number of channels and bridges
grow in the system, the work spent filtering messages becomes
excessive. Since r395954, individual channels and bridges have
caching topics, and can be subscribed to individually. This patch
takes advantage, so that channels and bridges are subscribed to
on demand, instead of filtering the global topics. The one case
where filtering is still required is handling BridgeMerge
messages, which are published directly to the bridge_all topic.
Other than the change to how subscriptions work, this patch
mostly just moves code around. Most of the work generating JSON
objects from messages was moved to .to_json handlers on the
message types. The callback functions handling app subscriptions
were moved from res_stasis (b/c they were global to the model) to
stasis/app.c (b/c they are local to the app now). (closes issue
ASTERISK-21969) Reported by: Matt Jordan Review:
https://reviewboard.asterisk.org/r/2754/ ........ Merged
revisions 397816 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-27 18:52 +0000 [r397811] Richard Mudgett <rmudgett@digium.com>
* main/astmm.c, /: Made MALLOC_DEBUG less CPU intensive by default.
Storing a backtrace for each allocation in anticipation of a
memory management problem is very CPU intensive. * Added the CLI
"memory backtrace {on|off}" command to request that the backtrace
be gathered only on request. The backtrace is off by default.
(issue ASTERISK-22221) Reported by: Matt Jordan ........ Merged
revisions 397809 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-27 18:10 +0000 [r397753-397760] Matthew Jordan <mjordan@digium.com>
* /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
SDP If the SIP channel driver processes an invalid SDP that
defines media descriptions before connection information, it may
attempt to reference the socket address information even though
that information has not yet been set. This will cause a crash.
This patch adds checks when handling the various media
descriptions that ensures the media descriptions are handled only
if we have connection information suitable for that media. Thanks
to Walter Doekes, OSSO B.V., for reporting, testing, and
providing the solution to this problem. (closes issue
ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
issueA22007_sdp_without_c_death.patch uploaded by wdoekes
(License 5674) ........ Merged revisions 397756 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 397757 from
http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
revisions 397758 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 397759 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
on dialog that has no channel A remote exploitable crash
vulnerability exists in the SIP channel driver if an ACK with SDP
is received after the channel has been terminated. The handling
code incorrectly assumed that the channel would always be
present. This patch adds a check such that the SDP will only be
parsed and applied if Asterisk has a channel present that is
associated with the dialog. Note that the patch being applied was
modified only slightly from the patch provided by Walter Doekes
of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
Merged revisions 397710 from
http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
revisions 397711 from
http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
revisions 397712 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 397713 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-27 16:51 +0000 [r397746] Richard Mudgett <rmudgett@digium.com>
* channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c,
channels/chan_dahdi.c, channels/sig_analog.c, /,
channels/chan_sip.c, channels/chan_motif.c: Fix uninitialized
value in struct ast_control_pvt_cause_code usage. ........ Merged
revisions 397744 from
http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged
revisions 397745 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-26 23:48 +0000 [r397691] Matthew Jordan <mjordan@digium.com>
* main/bridge_channel.c, /: Better handle clearing the OUTGOING
flag when a channel leaves a bridge When a channel with the
OUTGOING flag leaves a bridge, and it will survive being pulled
from the bridge (either because it will execute dialplan, go into
another bridge, or live in a friendly autoloop), we have to clear
the OUTGOING flag. This is the signal to the CDR engine that this
channel is no longer a second class citizen, i.e., it is not
"dialed". The soft hangup flags are only half the picture. If a
channel is being moved from one bridge to another, the soft
hangup flags aren't set; however, the state of the bridge_channel
will not be hung up. Since the channel does not have one of the
two hang up states, that implies that the channel is still
technically alive. This patch modifies the check so that it
checks both the soft hangup flags as well as the bridge_channel
state. If either suggests that the channel is going to persist,
we clear the OUTGOING flag. ........ Merged revisions 397690 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-26 21:32 +0000 [r397674] David M. Lee <dlee@digium.com>
* /, main/bucket.c: Fixed bucket.c for systems where tv_usec is not
an unsigned long. ........ Merged revisions 397673 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-26 16:25 +0000 [r397644-397651] Richard Mudgett <rmudgett@digium.com>
* include/asterisk/bridge_channel.h, main/bridge_channel.c, /:
bridging: Fix a livelock with local channel optimization. Use a
better means of waking up the bridge channel thread. ........
Merged revisions 397650 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, channels/Makefile: chan_dahdi: Add some missing build cleanup.
........ Merged revisions 397643 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-25 18:12 +0000 [r397622-397631] Matthew Jordan <mjordan@digium.com>
* tests/test_bucket.c, /: Fix bucket unit tests After the review
for buckets was completed (r2715), the handling of names in the
bucket core was deferred to the wizards. As such, the bucket unit
tests cannot expect that passing a URI with a scheme specified
but no actual resource name will automatically fail. The tests
have been updated to not make this check. ........ Merged
revisions 397630 from
http://svn.asterisk.org/svn/asterisk/branches/12
* include/asterisk/config_options.h, /, main/config_options.c,
tests/test_config.c: Fix the config_options_test The config
options test requires the entire configuration item to be
transparent from the documentation system. So we let it do that
too. As an aside, please do not use this power for evil.
Documentation is your friend, and you really should document your
configurations. Hiding your module's configuration information
from the system attempting to enforce some sanity in the universe
is something only a Bond villain would contemplate. ........
Merged revisions 397628 from
http://svn.asterisk.org/svn/asterisk/branches/12
* /, res/res_pjsip/pjsip_configuration.c: Add rtpengine
configuration parameter The rtpengine configuration parameter was
documented in the XML documentation, but it was not actually
registered with the sorcery object. This adds the parameter with
a default of "asterisk", such that res_rtp_asterisk is chosen as
the default RTP implementation. (closes issue ASTERISK-22380)
Reported by: Rusty Newton Tested by: Rusty Newton ........ Merged
revisions 397621 from
http://svn.asterisk.org/svn/asterisk/branches/12
2013-08-23 22:40 +0000 [r397615] Matthew Jordan <mjordan@digium.com>
* /: Set new merge properties on 12
2013-08-23 22:20 +0000 [r397613] Joshua Colp <jcolp@digium.com>
* main/bucket.c: Fix building of trunk. Note: This is why I commit
on the weekend.