Russell Bryant [Mon, 28 Jan 2013 01:50:54 +0000 (01:50 +0000)]
Add queue_log_realtime_use_gmt option to logger.conf
Add an option that lets you specify that the timestamps going into the realtime
queue log should be in GMT instead of local time.
Review: https://reviewboard.asterisk.org/r/2287/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380209
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Sun, 27 Jan 2013 20:33:38 +0000 (20:33 +0000)]
Fix Some Configured Conference Bridge Sounds Not Being Set
The "sound_only_one" sound was not being set even though it was configured. In
looking into this, I found that the "join" and "leave" prompts were not being
set either.
(closes issue ASTERISK-20898)
Reported by: Stephan
Tested by: Stephan
Patches:
asterisk-20898-custom-sounds-ignored.diff uploaded by
Michael L. Young (license 5026)
Review: https://reviewboard.asterisk.org/r/2289/
........
Merged revisions 380193 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380194
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Sun, 27 Jan 2013 18:40:15 +0000 (18:40 +0000)]
Add a unit test which confirms the apply handler callback is called when it should be.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380178
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Sun, 27 Jan 2013 17:13:22 +0000 (17:13 +0000)]
Fix a bug where the apply function was not getting called.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380165
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 25 Jan 2013 23:23:26 +0000 (23:23 +0000)]
bridge_multiplexed: Rename variables so they are not the same as the struct name.
* Rename multiplexed_thread variables to muxed_thread. It is shorter and
my editer tagging works much better. Struct names and variable names have
different purposes and therefore should have different names.
* Renamed the multiplexed_threads container to muxed_threads for
consistency.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380142
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Fri, 25 Jan 2013 20:46:09 +0000 (20:46 +0000)]
Make sorcery modules global, since they are required by other modules that are global.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380121
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 25 Jan 2013 20:00:21 +0000 (20:00 +0000)]
Misc bridge code improvements
* Made multiplexed_bridge_destroy() check if anything to destroy and
cleared bridge_pvt pointer after destruction.
* Made multiplexed_add_or_remove() handling of the chans array simpler.
* Extracted bridge_channel_poke().
* Simplified bridge_array_remove() handling of the bridge->array[]. The
array does not have a NULL sentinel pointer.
* Made ast_bridge_new() not create a temporary bridge just to see if it
can be done. Only need to check if there is an appropriate bridge tech
available.
* Made ast_bridge_new() clean up on allocation failures.
* Made destroy_bridge() free resources in the opposite order of creation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380109
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 25 Jan 2013 19:29:04 +0000 (19:29 +0000)]
More trivial bridge code cleanup.
* Breaking long lines
* Word wrapping comment blocks.
* Removing redundant initializers.
* Debug message wording.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380108
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Fri, 25 Jan 2013 14:23:46 +0000 (14:23 +0000)]
Add a missing '\' to a log message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380082
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Fri, 25 Jan 2013 14:01:04 +0000 (14:01 +0000)]
Merge the sorcery data access layer API.
Sorcery is a unifying data access layer which provides a pluggable mechanism to allow
object creation, retrieval, updating, and deletion using different backends (or wizards).
This is a fancy way of saying "one interface to rule them all" where them is configuration,
realtime, and anything else that comes along.
Review: https://reviewboard.asterisk.org/r/2259/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380069
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Damien Wedhorn [Fri, 25 Jan 2013 05:49:54 +0000 (05:49 +0000)]
Add force dial keys to skinny.
Adds a dial softkey when the device is in DAFD. The softkey is greyed (unusable)
until a possible dialplan match is entered. Code includes updating
transmit_selectsoftkeys to allow the use of a button mask. Also add option
to use # or * as a dial now button. Original patch by snuffy cleaned up by myself.
Review: https://reviewboard.asterisk.org/r/2277/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380057
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Thu, 24 Jan 2013 16:40:42 +0000 (16:40 +0000)]
Corrected crypto tag in SDP ANSWER for SRTP.
When Asterisk responds with an SDP ANSWER for SRTP, it had the code to
correctly fill in the crypto data, which was overwritten by a call to
sdp_crypto_offer. Corrected the situation by changing sdp_crypto_offer
to not replacing crypto data if it already exists.
(closes issue ASTERISK-20849)
Reported by: José Luis Millán
Tested by: Iñaki Baz Castillo
Patches:
fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407)
........
Merged revisions 380043 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380044
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 24 Jan 2013 04:02:47 +0000 (04:02 +0000)]
Correct documentation for ConfbridgeList AMI action
The documentation for ConfbridgeList states that the Conference field is
optional. That's not really the case: if you fail to provide a Conference
number, the command will kick back an error.
(closes issue AST-1090)
Reported by: John Bigelow
........
Merged revisions 380028 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380029
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 23 Jan 2013 16:50:00 +0000 (16:50 +0000)]
Add support for DPMA to autosupport
This adds the ability to get the DPMA version, a listing of the local
firmware directory, and indexes of configured remote directories.
(closes issue AST-1070)
Reported By: Malcolm Davenport
Tested By: Kinsey Moore <kmoore@digium.com>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380004
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 23 Jan 2013 00:30:00 +0000 (00:30 +0000)]
Attempt to be more helpful when using a bad ao2 object pointer.
Put the external obj pointer in the message instead of the internal version.
........
Merged revisions 379963 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379964 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379966
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Tue, 22 Jan 2013 22:19:02 +0000 (22:19 +0000)]
res_fax_spandsp: fix t38 transmission bug caused by not returning success
This patch fixes the problem, but the issue includes a test which is still
being considered for the automated test suite.
(issue ASTERISK-20919)
Reported by: NITESH BANSAL
Patches:
patch_ast_fax_spandsp.patch uploaded by NITESH BANSAL (license 6418)
........
Merged revisions 379949 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379950
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Sean Bright [Tue, 22 Jan 2013 20:58:08 +0000 (20:58 +0000)]
Remove a large block of commented out code from chan_iax2.
During the conversion to the newer CLI command structure the old definitions were
commented out. I think it's safe to remove them completely now.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379936
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Tue, 22 Jan 2013 19:29:50 +0000 (19:29 +0000)]
app_meetme: Use new prompts for administrator menu
The old prompts for the administrator menu were inadequate. They didn't mention
that the menu had additional options through the 8 key and pressing the 8 key
wouldn't reveal what those options were. This patch fixes all of that while
also organizing code pertaining to each individual menu type which was
previously all stored in one gigantic function along with many of the basic
conference functions.
(closes issue AST-996)
Reported by: John Bigelow
Review: http://reviewboard.digium.internal/r/360/
........
Merged revisions 379885 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379892 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379912
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Tue, 22 Jan 2013 16:48:36 +0000 (16:48 +0000)]
Remove stray property.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379864
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 22 Jan 2013 15:16:20 +0000 (15:16 +0000)]
Add ControlPlayback manager action
This patch adds the capability for asynchronous manipulation of audio being
played back to a channel though a new AMI action "ControlPlayback". The
ControlPlayback action supports a number of operations, the availability of
which depend on the application being used to send audio to the channel.
When the audio playback was initiated using the ControlPlayback application
or CONTROL STREAM FILE AGI command, the audio can be paused, stopped,
restarted, reversed, or skipped forward. When initiated by other mechanisms
(such as the Playback application), the audio can be stopped, reversed, or
skipped forward.
Review: https://reviewboard.asterisk.org/r/2265/
(closes issue ASTERISK-20882)
Reported by: mjordan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379830
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 22 Jan 2013 15:15:04 +0000 (15:15 +0000)]
Fix station ringback; trunk hangup issues in SLA
This patch fixes two bugs:
* If an outbound call is made from a SLA phone using SLAStation, then there is
no ringtone audible to the phone that originates the call. The indication of
the ringing was not being passed to the SLA station; this patch fixes that
by passing through the progress indications.
* If an SLA station hangs up before the called party answers, then the channel
to the called party continues to ring until a timeout occurs. If the called
party manages to answer, Asterisk attempts to connect the called party to
a non-existant MeetMe room. This patch corrects the behavior by abandoning
the call attempt if it detects that the SLA station is no longer in use
while attempting to call the called party.
Review: https://reviewboard.asterisk.org/r/2275/
(closes issue ASTERISK-20462)
Reported by: dkerr
patches:
asterisk-11-bugid20440+20462.patch uploaded by dkerr (license 5558)
asterisk-11-bugid20462.patch uploaded by dkerr (license 5558)
(closes issue ASTERISK-20440)
Reported by: dkerr
patches:
asterisk-11-bugid20440.patch uploaded by dkerr (license 5558)
asterisk-11-bugid20440+20462.patch uploaded by dkerr (license 5558)
........
Merged revisions 379825 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379826 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379828
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Tue, 22 Jan 2013 00:36:52 +0000 (00:36 +0000)]
confbridge: Minor fixes playing user counts to the conference.
* Generate a warning message if sound files do not exist when trying to
play the user count to the conference. Use the new helper routine
sound_file_exists() for consistency.
* Put the new user into autoservice when playing user counts to the
conference.
* Check the return value of ast_bridge_impart().
........
Merged revisions 379808 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379809
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 21 Jan 2013 20:41:12 +0000 (20:41 +0000)]
Update init.d scripts to handle stderr; readd splash screen for remote consoles
When r376428 was commited to re-order start up sequences to be more tolerant of
forking with thread primitives, a few items were changed that caused changes
in behavior on some distros. This includes:
* Not displaying the splash screen on a remote console.
* Displaying an error message on stderr when a remote console cannot connect
to a running instance of Asterisk.
In the first case, the splash screen was re-added (thanks to Michael L. Young).
In the second case, the various init.d scripts were modified to pipe stderr
to /dev/null, as the error message is useful - if you execute a remote
console or a remote console command execution and it fail, it should tell
you. Note that the error message was always present, it just failed to be
printed prior to r376428.
Much thanks to the folks who quickly reported this problem, provided solutions,
and promptly tested the various init.d scripts on a variety of distros.
(closes issue ASTERISK-20945)
Reported by: Warren Selby
Tested by: Michael L. Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan
patches:
asterisk-20945-remote-intro-msg.diff uploaded by elguero (license 5026)
ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan (license 6283)
........
Merged revisions 379760 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379777 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 379790 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379791
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 21 Jan 2013 20:35:12 +0000 (20:35 +0000)]
Better protect bridge_channel state from other threads.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379789
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 21 Jan 2013 20:24:23 +0000 (20:24 +0000)]
Extract common bridging code into bridge_stop() and bridge_force_out_all().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379776
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 21 Jan 2013 20:15:57 +0000 (20:15 +0000)]
Made some bridging API calls void. Some bridging comments updated.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379753
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Mon, 21 Jan 2013 18:47:47 +0000 (18:47 +0000)]
Prevent segfault for interpolated iLBC frames
When iLBC is being used with a jitter buffer and the jb has to
interpolate frames, it generates frames with a null pointer and a
non-zero datalen. This is now handled properly.
(closes issue ASTERISK-20914)
Reported By: John McEleney
Patches:
ASTERISK-20914-1.8.diff uploaded by Matt Jordan (license 6283)
........
Merged revisions 379718 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379719 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379721
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 21 Jan 2013 18:45:17 +0000 (18:45 +0000)]
Trivial bridge code cleanup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379720
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 21 Jan 2013 17:55:48 +0000 (17:55 +0000)]
Bridge API comment tweaks.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379703
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Damien Wedhorn [Mon, 21 Jan 2013 07:26:04 +0000 (07:26 +0000)]
Fix device call logging issues in skinny
Skinny device call logging (ie missed, place and received calls) has issues
because the incorrect sequence of callstates is/can be sent to the device.
This patch removes some extra callstate updates driven by forces external
to skinny and ensures the needed intermediary callstate messages are sent.
(closes issue ASTERISK-20964)
Reported by: wedhorn
Tested by: snuffy, myself
Patches:
ast11-skinny-calllog01.diff uploaded by wedhorn (license 5019)
........
Merged revisions 379677 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379678
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Andrew Latham [Mon, 21 Jan 2013 04:50:09 +0000 (04:50 +0000)]
Add LDAP libraries to install script
Add LDAP dev package to Debian/Ubuntu install list. Existed in Redhat already.
(issue ASTERISK-20886)
........
Merged revisions 379643 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379644
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 21 Jan 2013 04:17:28 +0000 (04:17 +0000)]
Fix crash in app_minivm when mime encoding string
An incorrect string initializations was left in ast_str_encode_mime from the
patch that converted string manipulations to use ast_str strings (r191140).
The string initialization causes a crash when ast_str_set is called on
the string later on in the function.
(closes issue ASTERISK-18697)
Reported by: Chris Boot
patches:
minivm-null-pointer-dereference-fix.patch uploaded by bootc (license 6309)
(issue ASTERISK-20854)
Reported by: Chris Warr
Tested by: Chris Warr
........
Merged revisions 379608 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379609 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379612
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 21 Jan 2013 04:16:31 +0000 (04:16 +0000)]
Re-add merge properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379610
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Damien Wedhorn [Sun, 20 Jan 2013 03:06:28 +0000 (03:06 +0000)]
Fix issues with skinny sessions
Fixes a couple of issues with the way skinny handles sessions by ensuring
sessions aren't used after being freed. Some other minor changes.
Review: https://reviewboard.asterisk.org/r/2272/
........
Merged revisions 379582 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379583
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Walter Doekes [Sat, 19 Jan 2013 20:54:07 +0000 (20:54 +0000)]
Add builtin roundf() for systems lacking it.
(closes issue ASTERISK-16854)
Review: https://reviewboard.asterisk.org/r/2276
Reported-by: Ovidiu Sas
........
Merged revisions 379547 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379548 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379549
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 19 Jan 2013 00:19:19 +0000 (00:19 +0000)]
Fix astcanary startup problem due to wrong pid value from before daemon call
When Asterisk forks itself into the background via a call to daemon, it must
re-set the pid value of the new process. Otherwise, astcanary gets the pid
value of the process before the fork, which prevents it from running. Asterisk
eventually starts lowering its priority, as it can no longer communicate
with the proverbial canary in the coal mine.
This patch ensures that the correct process identifier is used by astcanary.
Note that this is getting committed to 10 as a regression fix.
(closes issue ASTERISK-20947)
Reported by: Jakob Hirsch
Tested by: mjordan
patches:
asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch (license 6113)
........
Merged revisions 379509 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379510 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 379513 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379518
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 18 Jan 2013 22:42:38 +0000 (22:42 +0000)]
Up the minimum OS X version to 10.6.
* This allows us to remove some special-case build logic.
* 10.5 is down to less that 8% of the OS X market share. 10.4 is down to
under 2%.
* Apple is no longer releasing security updates for 10.5 and earlier.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379495
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Fri, 18 Jan 2013 21:52:18 +0000 (21:52 +0000)]
Fix regression in Confbridge user count
When the restructuring work got committed to Confbridge in r375470 to
fix many open issues, it caused a regression in the reported count of
users when conference information was requested via CLI or manager.
This corrects the user count and user information displayed when
listing conference information from the CLI and manager.
(closes issue ASTERISK-20938)
Reported By: Timo Teras
Patches:
confbridge-list.patch uploaded by Timo Teras (license 5409)
........
Merged revisions 379478 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379479
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 18 Jan 2013 21:35:09 +0000 (21:35 +0000)]
Specify the -rpath linker flag when prefix != /usr.
This allows Asterisk to start without having to specify the
LD_LIBRARY_PATH. This can be disabled by passing --disable-rpath to
configure.
(closes issue ASTERISK-20407)
Reported by: David M. Lee
Review: https://reviewboard.asterisk.org/r/2132/
........
Merged revisions 379475 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379477
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Fri, 18 Jan 2013 18:25:56 +0000 (18:25 +0000)]
app_voicemail: Improve msg_id handling
app_voicemail will no longer issue error messages when it retrieves an msg_id
with a NULL value from realtime and will instead simply populate the msg_id
field with a newly generated msg_id. In addition, this patch changes the way
msg_ids are generated to eliminate certain causes of duplicate IDs appearing
within a single system. In addition, when messages are copied, they will now
receive a new msg_id.
(closes issue ASTERISK-20717)
Reported by: Alec Davis
Review: https://reviewboard.asterisk.org/r/2220/
........
Merged revisions 379460 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379461
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Fri, 18 Jan 2013 15:42:10 +0000 (15:42 +0000)]
Add threadpool support to Asterisk.
This commit consists of two parts.
Part one changes the taskprocessor API to be less self-contained.
Instead, the taskprocessor is now more of a task queue that informs
a listener of changes to the queue. The listener then has the responsibility
of executing the tasks as it pleases. There is a default listener implementation
that functions the same way as "classic" taskprocessors, in that it creates
a single thread for tasks to execute in. Old users of taskprocessors have
not been altered and still function the same way.
Part two introduces the threadpool API. A threadpool is a special type of
taskprocessor listener that has multiple threads associated with it. The threadpool
also has an optional listener that can adjust the threadpool as conditions change.
In addition the threadpool has a set of options that can allow for the threadpool
to grow and shrink on its own as tasks are added and executed.
Both set of changes contain accompanying unit tests.
(closes issue ASTERISK-20691)
Reported By: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2242
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379432
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 18 Jan 2013 05:31:23 +0000 (05:31 +0000)]
Fix Record-Route parsing for large headers.
Record-Route parsing copied the header into a char[256] array, which can
be a problem if the header is longer than that. This patch parses the
header in place, without the copy, avoiding the issue.
In addition to the original patch, I added a unit test for the new
get_in_brackets_const function.
(closes issue ASTERISK-20837)
Reported by: Corey Farrell
Patches:
chan_sip-build_route-optimized-rev1.patch uploaded by Corey Farrell (license 5909)
(with minor changes by dlee)
........
Merged revisions 379392 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379393 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379394
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Thu, 17 Jan 2013 16:04:10 +0000 (16:04 +0000)]
Address David's latest feedback on reviewboard:
* Add a max_size option for threadpools. Also added a test for this option.
* Fixed comments to be more accurate and have fewer typos.
* Updated copyright dates on new files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379375
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Thu, 17 Jan 2013 03:20:22 +0000 (03:20 +0000)]
Merged revisions 379344 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379344 | mjordan | 2013-01-16 20:32:34 -0600 (Wed, 16 Jan 2013) | 23 lines
Fix issue where chan_mobile fails to bind to first available port
Per the bluez API, in order to bind to the first available port, the rc_channel
field of the socket addressing structure used to bind the socket should be set
to 0. Previously, Asterisk had set the rc_channel field set to 1, causing it
to connect to whatever happens to be on port 1.
We could probably not explicitly set rc_channel to 0 since we memset the struct
earlier, but explicitly setting it will hopefully prevent someone from coming
in and setting it to some explicit port in the future.
(closes issue ASTERISK-16357)
Reported by: challado
Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin, eliafino, David van Geyn
patches:
ASTERISK-16357.diff uploaded by Nikolay Ilduganov (license 6253)
........
Merged revisions 379342 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379343 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379353
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 17 Jan 2013 02:32:34 +0000 (02:32 +0000)]
Fix issue where chan_mobile fails to bind to first available port
Per the bluez API, in order to bind to the first available port, the rc_channel
field of the socket addressing structure used to bind the socket should be set
to 0. Previously, Asterisk had set the rc_channel field set to 1, causing it
to connect to whatever happens to be on port 1.
We could probably not explicitly set rc_channel to 0 since we memset the struct
earlier, but explicitly setting it will hopefully prevent someone from coming
in and setting it to some explicit port in the future.
(closes issue ASTERISK-16357)
Reported by: challado
Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin, eliafino, David van Geyn
patches:
ASTERISK-16357.diff uploaded by Nikolay Ilduganov (license 6253)
........
Merged revisions 379342 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379343 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379344
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 16 Jan 2013 23:20:22 +0000 (23:20 +0000)]
Merged revisions 379312 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379312 | mmichelson | 2013-01-16 16:51:32 -0600 (Wed, 16 Jan 2013) | 11 lines
Further fix misinformation in the description of manager MailboxStatus command.
The description still claimed that it returned the number of messages rather than
whether there were messages waiting.
........
Merged revisions 379310 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379311 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379321
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Wed, 16 Jan 2013 22:51:32 +0000 (22:51 +0000)]
Further fix misinformation in the description of manager MailboxStatus command.
The description still claimed that it returned the number of messages rather than
whether there were messages waiting.
........
Merged revisions 379310 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379311 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379312
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 16 Jan 2013 21:20:23 +0000 (21:20 +0000)]
Merged revisions 379278 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379278 | qwell | 2013-01-16 15:13:53 -0600 (Wed, 16 Jan 2013) | 11 lines
Reduce number of packages install_prereq installs on Debian systems.
'search' will look for any package containing the name provided, so we need to
force a more exact search.
........
Merged revisions 379276 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379277 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379288
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Wed, 16 Jan 2013 21:13:53 +0000 (21:13 +0000)]
Reduce number of packages install_prereq installs on Debian systems.
'search' will look for any package containing the name provided, so we need to
force a more exact search.
........
Merged revisions 379276 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379277 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379278
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 16 Jan 2013 18:20:38 +0000 (18:20 +0000)]
Merged revisions 379229,379231,379233 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379229 | mjordan | 2013-01-16 11:46:15 -0600 (Wed, 16 Jan 2013) | 10 lines
Let documentation reference links specify which module they're linking to
Again, since res_jabber/res_xmpp have duplicate APIs, their documentation ref
links have to specify which reference they're referring to. The various
documentation parsers can interpret the module attribute however they want
in order to construct the appropriate links.
........
Merged revisions 379228 from http://svn.asterisk.org/svn/asterisk/branches/11
................
r379231 | rmudgett | 2013-01-16 11:49:52 -0600 (Wed, 16 Jan 2013) | 10 lines
chan_misdn: Fix compile error.
(issue ASTERISK-15456)
........
Merged revisions 379226 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379230 from http://svn.asterisk.org/svn/asterisk/branches/11
................
r379233 | rmudgett | 2013-01-16 12:09:28 -0600 (Wed, 16 Jan 2013) | 8 lines
Reduce call-id logging resource usage.
Since there is no need for the call-id logging ao2 object to have a lock,
don't create it with one.
........
Merged revisions 379232 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379243
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 16 Jan 2013 18:09:28 +0000 (18:09 +0000)]
Reduce call-id logging resource usage.
Since there is no need for the call-id logging ao2 object to have a lock,
don't create it with one.
........
Merged revisions 379232 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379233
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 16 Jan 2013 17:49:52 +0000 (17:49 +0000)]
chan_misdn: Fix compile error.
(issue ASTERISK-15456)
........
Merged revisions 379226 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379230 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379231
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 16 Jan 2013 17:46:15 +0000 (17:46 +0000)]
Let documentation reference links specify which module they're linking to
Again, since res_jabber/res_xmpp have duplicate APIs, their documentation ref
links have to specify which reference they're referring to. The various
documentation parsers can interpret the module attribute however they want
in order to construct the appropriate links.
........
Merged revisions 379228 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379229
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 16 Jan 2013 16:20:52 +0000 (16:20 +0000)]
Merged revisions 379211 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379211 | mjordan | 2013-01-16 09:33:05 -0600 (Wed, 16 Jan 2013) | 21 lines
Multiple revisions 379209-379210
........
r379209 | mjordan | 2013-01-16 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines
Add module tags to documentation for res_jabber/res_xmpp
Since res_jabber/res_xmpp provide the same APIs (app/func/manager/etc.),
the XML documentation for each needs to call out which module is providing
the documentation. The module attribute has been added to the various XML
fragments for this purpose.
........
r379210 | mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines
Update the dtd to actually *support* the module attribute in all elements
Mea culpa.
........
Merged revisions 379209-379210 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379218
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 16 Jan 2013 15:33:05 +0000 (15:33 +0000)]
Multiple revisions 379209-379210
........
r379209 | mjordan | 2013-01-16 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines
Add module tags to documentation for res_jabber/res_xmpp
Since res_jabber/res_xmpp provide the same APIs (app/func/manager/etc.),
the XML documentation for each needs to call out which module is providing
the documentation. The module attribute has been added to the various XML
fragments for this purpose.
........
r379210 | mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines
Update the dtd to actually *support* the module attribute in all elements
Mea culpa.
........
Merged revisions 379209-379210 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379211
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 16 Jan 2013 04:20:29 +0000 (04:20 +0000)]
Merged revisions 379180 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379180 | mjordan | 2013-01-15 22:14:38 -0600 (Tue, 15 Jan 2013) | 27 lines
Fix parsing SMSSRC for SMS messages
The parser for SMS messages would incorrectly parse out the from number.
The parsing would incorrectly start scanning for the from number at the
same index as the first double quote ("); this would inadvertently cause
it to treat the first double quote as the terminating double quote for
the from number as well.
The SMSSRC should now populate correctly.
(closes issue ASTERISK-16822)
Reported by: menschentier
Tested by: Jonas Falck
patches:
fixSMSSRC.patch uploaded by jonax (license 6320)
(closes issue ASTERISK-19153)
Reported by: Panos Gkikakis
patches:
sms-sender-fix.diff uploaded by roeften (license 5884)
........
Merged revisions 379178 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379179 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379189
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 16 Jan 2013 04:14:38 +0000 (04:14 +0000)]
Fix parsing SMSSRC for SMS messages
The parser for SMS messages would incorrectly parse out the from number.
The parsing would incorrectly start scanning for the from number at the
same index as the first double quote ("); this would inadvertently cause
it to treat the first double quote as the terminating double quote for
the from number as well.
The SMSSRC should now populate correctly.
(closes issue ASTERISK-16822)
Reported by: menschentier
Tested by: Jonas Falck
patches:
fixSMSSRC.patch uploaded by jonax (license 6320)
(closes issue ASTERISK-19153)
Reported by: Panos Gkikakis
patches:
sms-sender-fix.diff uploaded by roeften (license 5884)
........
Merged revisions 379178 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379179 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379180
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 16 Jan 2013 00:20:45 +0000 (00:20 +0000)]
Merged revisions 379144,379147 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379144 | mjordan | 2013-01-15 17:54:34 -0600 (Tue, 15 Jan 2013) | 17 lines
Add busy detection to chan_mobile
From the patch author:
"First this patch adds general support for busy detection. It also adds support
for the ECAM command at Sony Ericsson phones and also signals busy when only
early media was received but the call got not answered."
Review: https://reviewboard.asterisk.org/r/323
(closes issue ASTERISK-14527)
Reported by: Artem Makhutov
Tested by: Artem Makhutov
patches:
busy-full5.patch uploaded by artem (license 5757)
................
r379147 | mjordan | 2013-01-15 18:16:22 -0600 (Tue, 15 Jan 2013) | 25 lines
Set the INVALID_EXTEN channel variable when chan_misdn forces the 'i' extension
The chan_misdn channel driver will send a channel with an invalid destination
to the 'i' extension itself if said extension can be reached. It forgot,
however, to set the INVALID_EXTEN channel variable when it bounces the channel
to this extension. Dialplan writers everywhere moaned at yet another
inconsistency.
This is yet another example of why duplicating logic in multiple places results
in bugs that stick around in Jira for just under three years.
Yes: ASTERISK-15456 was created on January 18th, 2010. Patch committed on
January 15th, 2013. Ouch.
(closes issue ASTERISK-15456)
Reported by: Thomas Omerzu
patches:
chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license 5927)
........
Merged revisions 379145 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379146 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379156
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 16 Jan 2013 00:16:22 +0000 (00:16 +0000)]
Set the INVALID_EXTEN channel variable when chan_misdn forces the 'i' extension
The chan_misdn channel driver will send a channel with an invalid destination
to the 'i' extension itself if said extension can be reached. It forgot,
however, to set the INVALID_EXTEN channel variable when it bounces the channel
to this extension. Dialplan writers everywhere moaned at yet another
inconsistency.
This is yet another example of why duplicating logic in multiple places results
in bugs that stick around in Jira for just under three years.
Yes: ASTERISK-15456 was created on January 18th, 2010. Patch committed on
January 15th, 2013. Ouch.
(closes issue ASTERISK-15456)
Reported by: Thomas Omerzu
patches:
chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license 5927)
........
Merged revisions 379145 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379146 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379147
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 15 Jan 2013 23:54:34 +0000 (23:54 +0000)]
Add busy detection to chan_mobile
From the patch author:
"First this patch adds general support for busy detection. It also adds support
for the ECAM command at Sony Ericsson phones and also signals busy when only
early media was received but the call got not answered."
Review: https://reviewboard.asterisk.org/r/323
(closes issue ASTERISK-14527)
Reported by: Artem Makhutov
Tested by: Artem Makhutov
patches:
busy-full5.patch uploaded by artem (license 5757)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379144
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Tue, 15 Jan 2013 23:20:18 +0000 (23:20 +0000)]
Merged revisions 379128 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r379128 | rmudgett | 2013-01-15 16:23:49 -0600 (Tue, 15 Jan 2013) | 1 line
Fix ast_bridge_features_register() not registering builtin features. I broke. Ooops.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379138
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Tue, 15 Jan 2013 22:23:49 +0000 (22:23 +0000)]
Fix ast_bridge_features_register() not registering builtin features. I broke. Ooops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379128
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 21:15:04 +0000 (21:15 +0000)]
Add doxygen to accessors and increase refcount of taskprocessor before returning.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379127
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 21:09:55 +0000 (21:09 +0000)]
Make the threadpool listener opaque.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379126
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 20:48:45 +0000 (20:48 +0000)]
Make ast_taskprocessor_listener opaque.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379125
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 20:15:00 +0000 (20:15 +0000)]
Address further review feedback from David Lee.
* Clarify some documentation
* Change copyright date of taskprocessor files
* Address potential issue of creating taskprocessor with listener if
taskprocessor with that name exists already
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379124
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 19:44:25 +0000 (19:44 +0000)]
Make the initial size of the threadpool part of the options passed in.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379123
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 19:36:33 +0000 (19:36 +0000)]
Remove threadpool listener alloc and destroy callbacks.
This replaces the destroy callback with a shutdown callback
instead.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379122
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 15 Jan 2013 18:40:36 +0000 (18:40 +0000)]
Remove alloc and destroy callbacks from the taskprocessor.
Now user data is allocated by the creator of the taskprocessor
listener and that user data is passed into ast_taskprocessor_listener_alloc().
Similarly, freeing of the user data is left up to the user himself. He can
free the data when the taskprocessor shuts down, or he can choose to hold
onto it if it makes sense to do so.
This, unsurprisingly, makes threadpool allocation a LOT cleaner now.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379120
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Mon, 14 Jan 2013 22:19:58 +0000 (22:19 +0000)]
Merged revisions 379070 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r379070 | dlee | 2013-01-14 15:47:31 -0600 (Mon, 14 Jan 2013) | 1 line
Fixed doc comment for ast_test_validate
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379081
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 14 Jan 2013 21:47:31 +0000 (21:47 +0000)]
Fixed doc comment for ast_test_validate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379070
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Mon, 14 Jan 2013 16:20:46 +0000 (16:20 +0000)]
Merged revisions 379021,379023 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r379021 | dlee | 2013-01-14 09:29:22 -0600 (Mon, 14 Jan 2013) | 15 lines
Fix XML encoding of 'identity display' in NOTIFY messages, continued.
When r378933 was merged into 1.8, it should have also escaped
remote_display, since it will have the same XML encoding problem when
the caller/callee roles are reversed.
(closes issue ABE-2902)
Reported by: Guenther Kelleter
........
Merged revisions 379001 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379020 from http://svn.asterisk.org/svn/asterisk/branches/11
................
r379023 | dlee | 2013-01-14 09:58:01 -0600 (Mon, 14 Jan 2013) | 20 lines
Masquerades are an insane implementation detail within Asterisk. It generates
a number of useless and confusing events, and manipulates channels in a way
that semantically doesn't make sense. I've given a fairly thorough review of
masquerade code and its usage on the wiki at
https://wiki.asterisk.org/wiki/x/IwBRAQ.
While ultimately it makes the most sense to abandon masquerades altogether,
it will take some time to completely irradicate. Even then, there may always
be code that's not worth rewriting to get rid of the masquerade.
This patch does two things to make masquerades slightly less insane:
* When swapping the names of the original and clone channel, only emit a
single rename event of original -> original<ZOMBIE>. The original code
issued three rename events to accomplish the same end.
* In addition to swapping the names of the channels, also swap their
uniqueid's. This allows the 'Uniqueid' field to be used as a stable
identifier for a channel from and external interface, such as AMI.
Review: https://reviewboard.asterisk.org/r/2266/
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379032
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 14 Jan 2013 15:58:01 +0000 (15:58 +0000)]
Gently reduce masquerade insanity
Masquerades are an insane implementation detail within Asterisk. It generates
a number of useless and confusing events, and manipulates channels in a way
that semantically doesn't make sense. I've given a fairly thorough review of
masquerade code and its usage on the wiki at
https://wiki.asterisk.org/wiki/x/IwBRAQ.
While ultimately it makes the most sense to abandon masquerades altogether,
it will take some time to completely irradicate. Even then, there may always
be code that's not worth rewriting to get rid of the masquerade.
This patch does two things to make masquerades slightly less insane:
* When swapping the names of the original and clone channel, only emit a
single rename event of original -> original<ZOMBIE>. The original code
issued three rename events to accomplish the same end.
* In addition to swapping the names of the channels, also swap their
uniqueid's. This allows the 'Uniqueid' field to be used as a stable
identifier for a channel from and external interface, such as AMI.
Review: https://reviewboard.asterisk.org/r/2266/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379023
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 14 Jan 2013 15:29:22 +0000 (15:29 +0000)]
Fix XML encoding of 'identity display' in NOTIFY messages, continued.
When r378933 was merged into 1.8, it should have also escaped
remote_display, since it will have the same XML encoding problem when
the caller/callee roles are reversed.
(closes issue ABE-2902)
Reported by: Guenther Kelleter
........
Merged revisions 379001 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 379020 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379021
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Sun, 13 Jan 2013 22:20:48 +0000 (22:20 +0000)]
Merged revisions 378985 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r378985 | mjordan | 2013-01-13 16:07:00 -0600 (Sun, 13 Jan 2013) | 20 lines
Reset RTP timestamp; sequence number on SSRC change
In r370252 for ASTERISK-18404, Asterisk's handling of RTP was modified to
better account for out of order RTP packets. This was accomplished by using the
RTP timestamp and sequence number to check for out of order packets. However,
when a SSRC change occurs, the timestamp and sequence number will no longer
have any relation to the previously received packets. The variables tracking
the timestamp and sequence number therefore have to be reset.
(closes issue ASTERISK-20906)
Reported by: Eelco Brolman
patches:
dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442)
........
Merged revisions 378967 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378984 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378993
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sun, 13 Jan 2013 22:07:00 +0000 (22:07 +0000)]
Reset RTP timestamp; sequence number on SSRC change
In r370252 for ASTERISK-18404, Asterisk's handling of RTP was modified to
better account for out of order RTP packets. This was accomplished by using the
RTP timestamp and sequence number to check for out of order packets. However,
when a SSRC change occurs, the timestamp and sequence number will no longer
have any relation to the previously received packets. The variables tracking
the timestamp and sequence number therefore have to be reset.
(closes issue ASTERISK-20906)
Reported by: Eelco Brolman
patches:
dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442)
........
Merged revisions 378967 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378984 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378985
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Sat, 12 Jan 2013 07:21:01 +0000 (07:21 +0000)]
Merged revisions 378935 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r378935 | dlee | 2013-01-12 00:43:37 -0600 (Sat, 12 Jan 2013) | 41 lines
Fix XML encoding of 'identity display' in NOTIFY messages.
XML encoding in chan_sip is accomplished by naively building the XML
directly from strings. While this usually works, it fails to take into
account escaping the reserved characters in XML.
This patch adds an 'ast_xml_escape' function, which works similarly to
'ast_uri_encode'. This is used to properly escape the local_display
attribute in XML formatted NOTIFY messages.
Several things to note:
* The Right Thing(TM) to do would probably be to replace the
ast_build_string stuff with building an ast_xml_doc. That's a much
bigger change, and out of scope for the original ticket, so I
refrained myself.
* It is with great sadness that I wrote my own ast_xml_escape
function. There's one in libxml2, but it's knee-deep in
libxml2-ness, and not easily used to one-off escape a
string.
* I only escaped the string we know is causing problems
(local_display). At least some of the other strings are
URI-encoded, which should be XML safe. Rather than figuring out
what's safe and escaping what's not, it would be much cleaner to
simply build an ast_xml_doc for the messages and let the XML
library do the XML escaping. Like I said, that's out of scope.
(closes issue ABE-2902)
Reported by: Guenther Kelleter
Tested by: Guenther Kelleter
Review: http://reviewboard.digium.internal/r/365/
........
Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........
Merged revisions 378933 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378934 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378946
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Sat, 12 Jan 2013 06:43:37 +0000 (06:43 +0000)]
Fix XML encoding of 'identity display' in NOTIFY messages.
XML encoding in chan_sip is accomplished by naively building the XML
directly from strings. While this usually works, it fails to take into
account escaping the reserved characters in XML.
This patch adds an 'ast_xml_escape' function, which works similarly to
'ast_uri_encode'. This is used to properly escape the local_display
attribute in XML formatted NOTIFY messages.
Several things to note:
* The Right Thing(TM) to do would probably be to replace the
ast_build_string stuff with building an ast_xml_doc. That's a much
bigger change, and out of scope for the original ticket, so I
refrained myself.
* It is with great sadness that I wrote my own ast_xml_escape
function. There's one in libxml2, but it's knee-deep in
libxml2-ness, and not easily used to one-off escape a
string.
* I only escaped the string we know is causing problems
(local_display). At least some of the other strings are
URI-encoded, which should be XML safe. Rather than figuring out
what's safe and escaping what's not, it would be much cleaner to
simply build an ast_xml_doc for the messages and let the XML
library do the XML escaping. Like I said, that's out of scope.
(closes issue ABE-2902)
Reported by: Guenther Kelleter
Tested by: Guenther Kelleter
Review: http://reviewboard.digium.internal/r/365/
........
Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........
Merged revisions 378933 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378934 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378935
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Fri, 11 Jan 2013 23:20:57 +0000 (23:20 +0000)]
Merged revisions 378915,378918 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r378915 | dlee | 2013-01-11 16:31:42 -0600 (Fri, 11 Jan 2013) | 21 lines
Add JSON API for Asterisk.
This provides a JSON API by pulling in and wrapping the Jansson JSON
library[1]. The Asterisk API basically mirrors the Jansson
functionality, with a few minor tweaks.
* Some names have been asteriskified to protect the innocent.
* Jansson provides both reference-stealing and reference-borrowing
versions of several API's. The Asterisk API is exclusively
reference-stealing for operations that put elements into arrays and
objects.
* No support for doubles, since we usually don't need that.
* Coming along for the ride is the ast_test_validate macro, which made
the unit tests much easier to write.
[1]: http://www.digip.org/jansson/
(issue ASTERISK-20887)
(closes issue ASTERISK-20888)
Review: https://reviewboard.asterisk.org/r/2264/
................
r378918 | file | 2013-01-11 17:05:38 -0600 (Fri, 11 Jan 2013) | 11 lines
Retain XMPP filters across reconnections so external modules continue to function as expected.
Previously if an XMPP client reconnected any filters added by an external module were lost.
This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.
(closes issue ASTERISK-20916)
Reported by: kuj
........
Merged revisions 378917 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378927
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Fri, 11 Jan 2013 23:05:38 +0000 (23:05 +0000)]
Retain XMPP filters across reconnections so external modules continue to function as expected.
Previously if an XMPP client reconnected any filters added by an external module were lost.
This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.
(closes issue ASTERISK-20916)
Reported by: kuj
........
Merged revisions 378917 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378918
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 11 Jan 2013 22:31:42 +0000 (22:31 +0000)]
Add JSON API for Asterisk.
This provides a JSON API by pulling in and wrapping the Jansson JSON
library[1]. The Asterisk API basically mirrors the Jansson
functionality, with a few minor tweaks.
* Some names have been asteriskified to protect the innocent.
* Jansson provides both reference-stealing and reference-borrowing
versions of several API's. The Asterisk API is exclusively
reference-stealing for operations that put elements into arrays and
objects.
* No support for doubles, since we usually don't need that.
* Coming along for the ride is the ast_test_validate macro, which made
the unit tests much easier to write.
[1]: http://www.digip.org/jansson/
(issue ASTERISK-20887)
(closes issue ASTERISK-20888)
Review: https://reviewboard.asterisk.org/r/2264/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378915
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Thu, 10 Jan 2013 03:20:47 +0000 (03:20 +0000)]
Merged revisions 378889 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r378889 | rmudgett | 2013-01-09 20:40:50 -0600 (Wed, 09 Jan 2013) | 8 lines
* Simplify native bridge code in ast_channel_bridge().
* Fix an unbalanced manager_bridge_event(unlink) call if
AST_SOFTHANGUP_UNBRIDGE is set in ast_channel_bridge().
* Make ast_channel_bridge() use common cleanup code when leaving the
bridge.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378898
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 10 Jan 2013 02:40:50 +0000 (02:40 +0000)]
* Simplify native bridge code in ast_channel_bridge().
* Fix an unbalanced manager_bridge_event(unlink) call if
AST_SOFTHANGUP_UNBRIDGE is set in ast_channel_bridge().
* Make ast_channel_bridge() use common cleanup code when leaving the
bridge.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378889
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Thu, 10 Jan 2013 02:20:50 +0000 (02:20 +0000)]
Merged revisions 378874 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r378874 | rmudgett | 2013-01-09 19:43:27 -0600 (Wed, 09 Jan 2013) | 4 lines
* Removed some noop code and restructured an else-if ladder in ast_generic_bridge().
* Trivial changes in ast_channel_bridge().
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378883
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 10 Jan 2013 01:43:27 +0000 (01:43 +0000)]
* Removed some noop code and restructured an else-if ladder in ast_generic_bridge().
* Trivial changes in ast_channel_bridge().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378874
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Thu, 10 Jan 2013 00:20:46 +0000 (00:20 +0000)]
Merged revisions 378854,378858-378859 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r378854 | rmudgett | 2013-01-09 17:22:00 -0600 (Wed, 09 Jan 2013) | 1 line
Fix logger.c function definition.
........
r378858 | rmudgett | 2013-01-09 17:23:41 -0600 (Wed, 09 Jan 2013) | 6 lines
Trivial misc bridge code changes.
* softmix_bridge_thread() was redundantly initializing an 8K buffer.
* Promoted a debug message to a warning in multiplexed_add_or_remove().
........
r378859 | rmudgett | 2013-01-09 17:51:45 -0600 (Wed, 09 Jan 2013) | 6 lines
* Simple optimization of bridge_playfile().
* Squeezed some redundancy out of update_bridge_vars().
* Wrapped long line in __ast_change_name_nolink().
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378868
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 23:51:45 +0000 (23:51 +0000)]
* Simple optimization of bridge_playfile().
* Squeezed some redundancy out of update_bridge_vars().
* Wrapped long line in __ast_change_name_nolink().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378859
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 23:23:41 +0000 (23:23 +0000)]
Trivial misc bridge code changes.
* softmix_bridge_thread() was redundantly initializing an 8K buffer.
* Promoted a debug message to a warning in multiplexed_add_or_remove().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378858
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 23:22:00 +0000 (23:22 +0000)]
Fix logger.c function definition.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378854
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 9 Jan 2013 23:20:35 +0000 (23:20 +0000)]
Merged revisions 378840 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r378840 | rmudgett | 2013-01-09 16:56:08 -0600 (Wed, 09 Jan 2013) | 2 lines
Trivial misc bridge code changes.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378851
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 22:56:08 +0000 (22:56 +0000)]
Trivial misc bridge code changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378840
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 9 Jan 2013 22:20:40 +0000 (22:20 +0000)]
Merged revisions 378823 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r378823 | rmudgett | 2013-01-09 16:15:41 -0600 (Wed, 09 Jan 2013) | 2 lines
Tweaked __ast_test_suite_assert_notify() and __ast_test_suite_event_notify() to be void functions.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378833
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 22:15:41 +0000 (22:15 +0000)]
Tweaked __ast_test_suite_assert_notify() and __ast_test_suite_event_notify() to be void functions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378823
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 9 Jan 2013 21:21:11 +0000 (21:21 +0000)]
Merged revisions 378783,378789-378790 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r378783 | dlee | 2013-01-09 14:30:33 -0600 (Wed, 09 Jan 2013) | 14 lines
Fix end condition in ast_rtp_lookup_mime_multiple2.
The erroneous end condition would never include the AST_RTP_CISCO_DTMF flag
in the debug output.
(closes issue ASTERISK-20772)
Reported by: Xavier Hienne
........
Merged revisions 378776 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378780 from http://svn.asterisk.org/svn/asterisk/branches/11
................
r378789 | rmudgett | 2013-01-09 14:56:23 -0600 (Wed, 09 Jan 2013) | 4 lines
* Found some more places to use ast_channel_lock_both().
* Minor optimization in ast_rtp_instance_early_bridge().
................
r378790 | rmudgett | 2013-01-09 15:14:39 -0600 (Wed, 09 Jan 2013) | 4 lines
* Whitespace changes.
* Made ast_test_init() match its prototype.
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378801
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 21:14:39 +0000 (21:14 +0000)]
* Whitespace changes.
* Made ast_test_init() match its prototype.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378790
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 9 Jan 2013 20:56:23 +0000 (20:56 +0000)]
* Found some more places to use ast_channel_lock_both().
* Minor optimization in ast_rtp_instance_early_bridge().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378789
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Wed, 9 Jan 2013 20:30:33 +0000 (20:30 +0000)]
Fix end condition in ast_rtp_lookup_mime_multiple2.
The erroneous end condition would never include the AST_RTP_CISCO_DTMF flag
in the debug output.
(closes issue ASTERISK-20772)
Reported by: Xavier Hienne
........
Merged revisions 378776 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378780 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378783
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Automerge script [Wed, 9 Jan 2013 20:21:33 +0000 (20:21 +0000)]
Merged revisions 378735,378748 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r378735 | dlee | 2013-01-09 13:38:53 -0600 (Wed, 09 Jan 2013) | 13 lines
Replace errant tabs with spaces in causes.h.
(closes issue ASTERISK-20826)
Reported by: snuffy
Patches:
notabs.dif uploaded by snuffy (license 5024)
........
Merged revisions 378733 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378734 from http://svn.asterisk.org/svn/asterisk/branches/11
................
r378748 | dlee | 2013-01-09 14:12:00 -0600 (Wed, 09 Jan 2013) | 13 lines
Move declaration of ast_regex_string_to_regex_pattern futher down strings.h.
The prior location is before the declaration of struct ast_str, which causes
compiler warnings.
(closes issue ASTERISK-20852)
Reported by: Pavel Troller
Patches:
strings.diff uploaded by Pavel Troller (license 6302)
........
Merged revisions 378747 from http://svn.asterisk.org/svn/asterisk/branches/11
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378759
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Wed, 9 Jan 2013 20:12:00 +0000 (20:12 +0000)]
Move declaration of ast_regex_string_to_regex_pattern futher down strings.h.
The prior location is before the declaration of struct ast_str, which causes
compiler warnings.
(closes issue ASTERISK-20852)
Reported by: Pavel Troller
Patches:
strings.diff uploaded by Pavel Troller (license 6302)
........
Merged revisions 378747 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378748
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Wed, 9 Jan 2013 19:38:53 +0000 (19:38 +0000)]
Replace errant tabs with spaces in causes.h.
(closes issue ASTERISK-20826)
Reported by: snuffy
Patches:
notabs.dif uploaded by snuffy (license 5024)
........
Merged revisions 378733 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 378734 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378735
65c4cc65-6c06-0410-ace0-
fbb531ad65f3