asterisk/asterisk.git
6 years agoapp_meetme: Use new prompts for administrator menu
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

6 years agoRemove stray property.
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

6 years agoAdd ControlPlayback manager action
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

6 years agoFix station ringback; trunk hangup issues in SLA
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

6 years agoconfbridge: Minor fixes playing user counts to the conference.
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

6 years agoUpdate init.d scripts to handle stderr; readd splash screen for remote consoles
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

6 years agoBetter protect bridge_channel state from other threads.
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

6 years agoExtract common bridging code into bridge_stop() and bridge_force_out_all().
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

6 years agoMade some bridging API calls void. Some bridging comments updated.
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

6 years agoPrevent segfault for interpolated iLBC frames
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

6 years agoTrivial bridge code cleanup.
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

6 years agoBridge API comment tweaks.
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

6 years agoFix device call logging issues in skinny
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

6 years agoAdd LDAP libraries to install script
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

6 years agoFix crash in app_minivm when mime encoding string
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

6 years agoRe-add merge properties
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

6 years agoFix issues with skinny sessions
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

6 years agoAdd builtin roundf() for systems lacking it.
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

6 years agoFix astcanary startup problem due to wrong pid value from before daemon call
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

6 years agoUp the minimum OS X version to 10.6.
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

6 years agoFix regression in Confbridge user count
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

6 years agoSpecify the -rpath linker flag when prefix != /usr.
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

6 years agoapp_voicemail: Improve msg_id handling
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

6 years agoAdd threadpool support to Asterisk.
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

6 years agoFix Record-Route parsing for large headers.
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

6 years agoAddress David's latest feedback on reviewboard:
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

6 years agoMerged revisions 379344 via svnmerge from
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

6 years agoFix issue where chan_mobile fails to bind to first available port
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

6 years agoMerged revisions 379312 via svnmerge from
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

6 years agoFurther fix misinformation in the description of manager MailboxStatus command.
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

6 years agoMerged revisions 379278 via svnmerge from
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

6 years agoReduce number of packages install_prereq installs on Debian systems.
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

6 years agoMerged revisions 379229,379231,379233 via svnmerge from
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

6 years agoReduce call-id logging resource usage.
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

6 years agochan_misdn: Fix compile error.
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

6 years agoLet documentation reference links specify which module they're linking to
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

6 years agoMerged revisions 379211 via svnmerge from
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

6 years agoMultiple revisions 379209-379210
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

6 years agoMerged revisions 379180 via svnmerge from
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

6 years agoFix parsing SMSSRC for SMS messages
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

6 years agoMerged revisions 379144,379147 via svnmerge from
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

6 years agoSet the INVALID_EXTEN channel variable when chan_misdn forces the 'i' extension
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

6 years agoAdd busy detection to chan_mobile
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

6 years agoMerged revisions 379128 via svnmerge from
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

6 years agoFix ast_bridge_features_register() not registering builtin features. I broke. Ooops.
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

6 years agoAdd doxygen to accessors and increase refcount of taskprocessor before returning.
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

6 years agoMake the threadpool listener opaque.
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

6 years agoMake ast_taskprocessor_listener opaque.
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

6 years agoAddress further review feedback from David Lee.
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

6 years agoMake the initial size of the threadpool part of the options passed in.
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

6 years agoRemove threadpool listener alloc and destroy callbacks.
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

6 years agoRemove alloc and destroy callbacks from the taskprocessor.
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

6 years agoMerged revisions 379070 via svnmerge from
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

6 years agoFixed doc comment for ast_test_validate
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

6 years agoMerged revisions 379021,379023 via svnmerge from
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

6 years agoGently reduce masquerade insanity
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

6 years agoFix XML encoding of 'identity display' in NOTIFY messages, continued.
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

6 years agoMerged revisions 378985 via svnmerge from
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

6 years agoReset RTP timestamp; sequence number on SSRC change
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

6 years agoMerged revisions 378935 via svnmerge from
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

6 years agoFix XML encoding of 'identity display' in NOTIFY messages.
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

6 years agoMerged revisions 378915,378918 via svnmerge from
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

6 years agoRetain XMPP filters across reconnections so external modules continue to function...
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

6 years agoAdd JSON API for Asterisk.
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

6 years agoMerged revisions 378889 via svnmerge from
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

6 years ago* Simplify native bridge code in ast_channel_bridge().
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

6 years agoMerged revisions 378874 via svnmerge from
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

6 years ago* Removed some noop code and restructured an else-if ladder in ast_generic_bridge().
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

6 years agoMerged revisions 378854,378858-378859 via svnmerge from
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

6 years ago* Simple optimization of bridge_playfile().
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

6 years agoTrivial misc bridge code changes.
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

6 years agoFix logger.c function definition.
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

6 years agoMerged revisions 378840 via svnmerge from
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

6 years agoTrivial misc bridge code changes.
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

6 years agoMerged revisions 378823 via svnmerge from
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

6 years agoTweaked __ast_test_suite_assert_notify() and __ast_test_suite_event_notify() to be...
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

6 years agoMerged revisions 378783,378789-378790 via svnmerge from
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

6 years ago* Whitespace changes.
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

6 years ago* Found some more places to use ast_channel_lock_both().
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

6 years agoFix end condition in ast_rtp_lookup_mime_multiple2.
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

6 years agoMerged revisions 378735,378748 via svnmerge from
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

6 years agoMove declaration of ast_regex_string_to_regex_pattern futher down strings.h.
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

6 years agoReplace errant tabs with spaces in causes.h.
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

6 years agoMerged revisions 378688,378691 via svnmerge from
Automerge script [Wed, 9 Jan 2013 00:20:35 +0000 (00:20 +0000)]
Merged revisions 378688,378691 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378688 | rmudgett | 2013-01-08 17:44:26 -0600 (Tue, 08 Jan 2013) | 35 lines

  app_queue: Fix multiple calls to a queue member that is in only one queue.

  When ringinuse=no queue members can receive more than one call if these
  calls happen at nearly the same time.

  * Fix so a queue member does not receive more than one call from a queue.

  NOTE: This fix does not prevent multiple calls to a member if the member
  is in more than one queue.

  * Did some refactoring to eliminate some code redundancy.

  (issue ASTERISK-16115)
  Reported by: nik600
  Patches:
        jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch uploaded by rmudgett
        Modified

  * Revert the -r341580 and -r341599 changes adding the queues.conf
  check_state_unknown option as it was added in an attempt to fix this
  problem.  The fix did not need to be optional.  The fix should not have
  tried to explicitly set the device state.  Setting the device state by
  something other than the device introduces a race condition.  I also could
  not see how the change would be effective other than delaying the
  app_queue code long enough for the device state to propagate to app_queue.
  ........

  Merged revisions 378663 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........

  Merged revisions 378683 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........

  Merged revisions 378687 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378691 | rmudgett | 2013-01-08 18:05:35 -0600 (Tue, 08 Jan 2013) | 10 lines

  app_queue: Fix incorrect assertion.

  (issue ASTERISK-16115)
  ........

  Merged revisions 378689 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........

  Merged revisions 378690 from http://svn.asterisk.org/svn/asterisk/branches/11
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378699 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoapp_queue: Fix incorrect assertion.
Richard Mudgett [Wed, 9 Jan 2013 00:05:35 +0000 (00:05 +0000)]
app_queue: Fix incorrect assertion.

(issue ASTERISK-16115)
........

Merged revisions 378689 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 378690 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378691 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoapp_queue: Fix multiple calls to a queue member that is in only one queue.
Richard Mudgett [Tue, 8 Jan 2013 23:44:26 +0000 (23:44 +0000)]
app_queue: Fix multiple calls to a queue member that is in only one queue.

When ringinuse=no queue members can receive more than one call if these
calls happen at nearly the same time.

* Fix so a queue member does not receive more than one call from a queue.

NOTE: This fix does not prevent multiple calls to a member if the member
is in more than one queue.

* Did some refactoring to eliminate some code redundancy.

(issue ASTERISK-16115)
Reported by: nik600
Patches:
      jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch uploaded by rmudgett
      Modified

* Revert the -r341580 and -r341599 changes adding the queues.conf
check_state_unknown option as it was added in an attempt to fix this
problem.  The fix did not need to be optional.  The fix should not have
tried to explicitly set the device state.  Setting the device state by
something other than the device introduces a race condition.  I also could
not see how the change would be effective other than delaying the
app_queue code long enough for the device state to propagate to app_queue.
........

Merged revisions 378663 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 378683 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 378687 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378688 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoRemove tasks from the taskprocessor and free them when taskprocessor is destroyed.
Mark Michelson [Mon, 7 Jan 2013 23:11:41 +0000 (23:11 +0000)]
Remove tasks from the taskprocessor and free them when taskprocessor is destroyed.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378654 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoAdd some doxygen and remove an unnecessary unlock.
Mark Michelson [Mon, 7 Jan 2013 22:56:37 +0000 (22:56 +0000)]
Add some doxygen and remove an unnecessary unlock.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378653 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoAddress review board feedback from Matt and Richard
Mark Michelson [Mon, 7 Jan 2013 22:16:06 +0000 (22:16 +0000)]
Address review board feedback from Matt and Richard

* Remove extraneous whitespace
* Bump up debug levels of messages and add identifying info to messages.
* Account for potential failures of ao2_link()
* Add additional test and some more test data
* Add some comments in places where they could be useful
* Make threadpool listeners and their callbacks optional

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378652 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoMerged revisions 378634 via svnmerge from
Automerge script [Sun, 6 Jan 2013 22:19:17 +0000 (22:19 +0000)]
Merged revisions 378634 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378634 | wedhorn | 2013-01-06 15:37:59 -0600 (Sun, 06 Jan 2013) | 6 lines

  Skinny blob cleanup

  Cleanup of red blobs in chan_skinny and possible other small formatting issues.

  Review: https://reviewboard.asterisk.org/r/2262/
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378639 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoSkinny blob cleanup
Damien Wedhorn [Sun, 6 Jan 2013 21:37:59 +0000 (21:37 +0000)]
Skinny blob cleanup

Cleanup of red blobs in chan_skinny and possible other small formatting issues.

Review: https://reviewboard.asterisk.org/r/2262/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378634 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoMerged revisions 378623-378624 via svnmerge from
Automerge script [Sun, 6 Jan 2013 21:20:13 +0000 (21:20 +0000)]
Merged revisions 378623-378624 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378623 | wedhorn | 2013-01-06 14:45:12 -0600 (Sun, 06 Jan 2013) | 12 lines

  Rewrite skinny dialing to remove threaded simpleswitch

  This rewrite changes skinny dialing from the threaded simpleswitch
  to a scheduled timeout approach. There were some underlying issues
  with the threaded simple switch with occasional corruption and
  possible segfaults.

  Review: https://reviewboard.asterisk.org/r/2240/
  ........

  Merged revisions 378622 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378624 | wedhorn | 2013-01-06 15:09:43 -0600 (Sun, 06 Jan 2013) | 6 lines

  Add group and namedgroup pickup to skinny

  Above says it all. Code by snuff, cleaned up by me.

  Review: https://reviewboard.asterisk.org/r/2246/
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378629 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoAdd group and namedgroup pickup to skinny
Damien Wedhorn [Sun, 6 Jan 2013 21:09:43 +0000 (21:09 +0000)]
Add group and namedgroup pickup to skinny

Above says it all. Code by snuff, cleaned up by me.

Review: https://reviewboard.asterisk.org/r/2246/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378624 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoRewrite skinny dialing to remove threaded simpleswitch
Damien Wedhorn [Sun, 6 Jan 2013 20:45:12 +0000 (20:45 +0000)]
Rewrite skinny dialing to remove threaded simpleswitch

This rewrite changes skinny dialing from the threaded simpleswitch
to a scheduled timeout approach. There were some underlying issues
with the threaded simple switch with occasional corruption and
possible segfaults.

Review: https://reviewboard.asterisk.org/r/2240/
........

Merged revisions 378622 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378623 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoMerged revisions 378593 via svnmerge from
Automerge script [Fri, 4 Jan 2013 23:19:39 +0000 (23:19 +0000)]
Merged revisions 378593 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378593 | jrose | 2013-01-04 17:14:54 -0600 (Fri, 04 Jan 2013) | 23 lines

  res_srtp: Prevent a crash from occurring due to srtp_create failures in srtp_create

  Under some circumstances, libsrtp's srtp_create function deallocates memory that
  it wasn't initially responsible for allocating. Because we weren't initially
  aware of this behavior, this memory was still used in spite of being unallocated
  during the course of the srtp_unprotect function. A while back I made a patch
  which would set this value to NULL, but that exposed a possible condition where
  we would then try to check a member of the struct which would cause a segfault.
  In order to address these problems, ast_srtp_unprotect will now set an error value
  when it ends without a valid SRTP session which will result in the caller of
  srtp_unprotect observing this error and hanging up the relevant channel instead of
  trying to keep using the invalid session address.

  (closes issue ASTERISK-20499)
  Reported by: Tootai
  Review: https://reviewboard.asterisk.org/r/2228/diff/#index_header
  ........

  Merged revisions 378591 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........

  Merged revisions 378592 from http://svn.asterisk.org/svn/asterisk/branches/11
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378600 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agores_srtp: Prevent a crash from occurring due to srtp_create failures in srtp_create
Jonathan Rose [Fri, 4 Jan 2013 23:14:54 +0000 (23:14 +0000)]
res_srtp: Prevent a crash from occurring due to srtp_create failures in srtp_create

Under some circumstances, libsrtp's srtp_create function deallocates memory that
it wasn't initially responsible for allocating. Because we weren't initially
aware of this behavior, this memory was still used in spite of being unallocated
during the course of the srtp_unprotect function. A while back I made a patch
which would set this value to NULL, but that exposed a possible condition where
we would then try to check a member of the struct which would cause a segfault.
In order to address these problems, ast_srtp_unprotect will now set an error value
when it ends without a valid SRTP session which will result in the caller of
srtp_unprotect observing this error and hanging up the relevant channel instead of
trying to keep using the invalid session address.

(closes issue ASTERISK-20499)
Reported by: Tootai
Review: https://reviewboard.asterisk.org/r/2228/diff/#index_header
........

Merged revisions 378591 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 378592 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378593 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoMerged revisions 378565,378585 via svnmerge from
Automerge script [Fri, 4 Jan 2013 22:19:35 +0000 (22:19 +0000)]
Merged revisions 378565,378585 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378565 | elguero | 2013-01-04 15:20:12 -0600 (Fri, 04 Jan 2013) | 27 lines

  Fix SIP Notify Messages To Have The Proper IP Address In The FROM Field

  On a multihomed server when sending a NOTIFY message, we were not figuring out
  which network should be used to contact the peer.

  This patch fixes the problem by calling ast_sip_ouraddrfor() and then
  build_via() so that our NOTIFY message contains the correct IP address.

  Also, a debug message is being added to help follow the call-id changes that
  occur.  This was helpful for confirming that the IP address was set properly
  since the call-id contains the IP address.  It also will be helpful for
  troubleshooting purposes when following a call in the debug logs.

  (closes issue ASTERISK-20805)
  Reported by: Bryan Hunt
  Tested by: Bryan Hunt, Michael L. Young
  Patches:
      asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young (license 5026)

  Review: https://reviewboard.asterisk.org/r/2255/
  ........

  Merged revisions 378554 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........

  Merged revisions 378559 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378585 | kmoore | 2013-01-04 16:19:16 -0600 (Fri, 04 Jan 2013) | 13 lines

  Fix pjproject compilation in certain circumstances

  On a fresh checkout of Asterisk 11, running make before ./configure
  could cause the pjproject subdirectory to get in an odd state that
  would prevent compilation. This patch by Tilghman prevents that from
  occurring.

  (closes issue ASTERISK-20681)
  Patch-by: Tilghman Lesher
  ........

  Merged revisions 378582 from http://svn.asterisk.org/svn/asterisk/branches/11
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378586 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoFix pjproject compilation in certain circumstances
Kinsey Moore [Fri, 4 Jan 2013 22:19:16 +0000 (22:19 +0000)]
Fix pjproject compilation in certain circumstances

On a fresh checkout of Asterisk 11, running make before ./configure
could cause the pjproject subdirectory to get in an odd state that
would prevent compilation. This patch by Tilghman prevents that from
occurring.

(closes issue ASTERISK-20681)
Reported by: Dinesh Ramjuttun
Tested by: danilo borges, Steve Lang
patches:
  20121208__ccar_solved.diff.txt uploaded by Tilghman Lesher (license 5003)
........

Merged revisions 378582 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378585 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoFix SIP Notify Messages To Have The Proper IP Address In The FROM Field
Michael L. Young [Fri, 4 Jan 2013 21:20:12 +0000 (21:20 +0000)]
Fix SIP Notify Messages To Have The Proper IP Address In The FROM Field

On a multihomed server when sending a NOTIFY message, we were not figuring out
which network should be used to contact the peer.

This patch fixes the problem by calling ast_sip_ouraddrfor() and then
build_via() so that our NOTIFY message contains the correct IP address.

Also, a debug message is being added to help follow the call-id changes that
occur.  This was helpful for confirming that the IP address was set properly
since the call-id contains the IP address.  It also will be helpful for
troubleshooting purposes when following a call in the debug logs.

(closes issue ASTERISK-20805)
Reported by: Bryan Hunt
Tested by: Bryan Hunt, Michael L. Young
Patches:
    asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young (license 5026)

Review: https://reviewboard.asterisk.org/r/2255/
........

Merged revisions 378554 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 378559 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378565 65c4cc65-6c06-0410-ace0-fbb531ad65f3

6 years agoMerged revisions 378557 via svnmerge from
Automerge script [Fri, 4 Jan 2013 21:18:39 +0000 (21:18 +0000)]
Merged revisions 378557 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378557 | file | 2013-01-04 15:18:07 -0600 (Fri, 04 Jan 2013) | 11 lines

  Don't pass STUN packets through the SRTP unprotect function.

  (closes issue AST-1036)
  Reported by: jbigelow
  ........

  Merged revisions 378553 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........

  Merged revisions 378555 from http://svn.asterisk.org/svn/asterisk/branches/11
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378560 65c4cc65-6c06-0410-ace0-fbb531ad65f3