asterisk/asterisk.git
6 years agoFixed up \example marker in lock.h Doxygen comment.
David M. Lee [Tue, 7 May 2013 18:32:34 +0000 (18:32 +0000)]
Fixed up \example marker in lock.h Doxygen comment.

The \example tags marks an entire file as an example, not a code snippet.

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

6 years agoMinor fixups to Doxygen comments.
David M. Lee [Tue, 7 May 2013 18:30:55 +0000 (18:30 +0000)]
Minor fixups to Doxygen comments.

The \example tags marks an entire file as an example, not a code snippet.
........

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

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

6 years agoBetter explained the depths of reference stealing.
David M. Lee [Tue, 7 May 2013 18:12:26 +0000 (18:12 +0000)]
Better explained the depths of reference stealing.

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

6 years agoFix build breakage, from LOW_MEMORY fix.
Jason Parker [Tue, 7 May 2013 17:53:50 +0000 (17:53 +0000)]
Fix build breakage, from LOW_MEMORY fix.

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

6 years agoUpdate ao2_destructor_fn doxygen.
Richard Mudgett [Mon, 6 May 2013 17:15:20 +0000 (17:15 +0000)]
Update ao2_destructor_fn doxygen.

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

6 years agoMake a log NOTICE more explicit that the event comes from DAHDI and not PRI.
Richard Mudgett [Mon, 6 May 2013 17:09:50 +0000 (17:09 +0000)]
Make a log NOTICE more explicit that the event comes from DAHDI and not PRI.

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

6 years agoFix building with LOW_MEMORY defined.
Jason Parker [Mon, 6 May 2013 17:01:41 +0000 (17:01 +0000)]
Fix building with LOW_MEMORY defined.

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

6 years agoMake SLA reload more paranoid.
Russell Bryant [Mon, 6 May 2013 15:58:32 +0000 (15:58 +0000)]
Make SLA reload more paranoid.

Reload support was originally not included for SLA.  It was added later,
but in a fairly non-traditional way.  It basically sets a flag
indicating that a reload is pending, and then waits for a time where it
thinks everything SLA related is idle and unused, and *then* executes
the reload.  It does this because the reload process is destructive.  It
starts by throwing everything away and starting over.

There are a number of problems with this approach.  One of them is that
the check to see if anything in use was incomplete.  This patch makes it
more complete and thus less likely for a crash to occur during reload
processing.  However, this approach still has problems so some much more
significant reworking of this code will need to come in as a next step.

Patch credit and testing by CoreDial, LLC.
........

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

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

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

6 years agoAdd support for observers and JSON objectset creation to sorcery.
Joshua Colp [Mon, 6 May 2013 13:04:08 +0000 (13:04 +0000)]
Add support for observers and JSON objectset creation to sorcery.

This change adds the ability for modules to add themselves as observers
to sorcery object types. Observers can be notified when objects are
created, updated, or deleted as well as when the object type is loaded or
reloaded. Observer notifications are done using a thread pool in a serialized
fashion so the caller of the sorcery API calls is minimally impacted.

This also adds the ability to create JSON changesets of a sorcery object.

Tests are also present to confirm all of the above functionality.

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

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

6 years agoClean up documentation; prevent ref leak on exit
Matthew Jordan [Sat, 4 May 2013 16:00:46 +0000 (16:00 +0000)]
Clean up documentation; prevent ref leak on exit

This patch:
 * Cleans up some doxygen
 * Prevents leaking the system level Stasis topics and messages
   on exit (users of valgrind will be happier)

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

6 years agoMigrate SHARED's use of the VarSet AMI event to Stasis-Core
Matthew Jordan [Sat, 4 May 2013 15:24:31 +0000 (15:24 +0000)]
Migrate SHARED's use of the VarSet AMI event to Stasis-Core

This patch removes the direct call to AMI from the SHARED function
and instead call Stasis-Core. Stasis-Core delivers the notification
that a shared variable has changed on a channel to all interested
consumers.

(issue ASTERISK-21462)

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

6 years agoStasis: Convert network change events into network change stasis messages
Jonathan Rose [Fri, 3 May 2013 18:03:26 +0000 (18:03 +0000)]
Stasis: Convert network change events into network change stasis messages

(issue ASTERISK-21103)
Review: https://reviewboard.asterisk.org/r/2490/

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

6 years agoUse the configured formats for Gulp sessions if there are no joint formats between...
Joshua Colp [Fri, 3 May 2013 11:35:14 +0000 (11:35 +0000)]
Use the configured formats for Gulp sessions if there are no joint formats between requested formats and configured formats.

(closes issue ASTERISK-21756)

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

6 years agoMigrate AMI VarSet events raised by GoSub local variables
Matthew Jordan [Thu, 2 May 2013 20:59:20 +0000 (20:59 +0000)]
Migrate AMI VarSet events raised by GoSub local variables

This patch moves VarSet events for local variables raised by GoSub
over to Stasis-Core. It also tweaks up the post-processing documentation
scripts to not combine parameters if both parameters are already documented.

(issue ASTERISK-21462)

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

6 years agoRemove the ABI compatability ast_channel_alloc(). It is no longer needed.
Richard Mudgett [Thu, 2 May 2013 19:06:53 +0000 (19:06 +0000)]
Remove the ABI compatability ast_channel_alloc().  It is no longer needed.

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

6 years agoUpdate utils Makefile to handle r387294
Matthew Jordan [Thu, 2 May 2013 17:15:46 +0000 (17:15 +0000)]
Update utils Makefile to handle r387294

Alec's patch that added the Asterisk version to 'core show locks' angered the
items in utils, as they exist somewhat outside of the Asterisk build system.
Some day, this Makefile should get nuked from high orbit, but for now, include
version.c in its list of stuff to pile in.
........

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

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

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

6 years agoPutting all event defs and names back for now due to res_corosync dependency
Jonathan Rose [Thu, 2 May 2013 16:39:28 +0000 (16:39 +0000)]
Putting all event defs and names back for now due to res_corosync dependency

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

6 years agochan_sip: Session-Expires: Set timer to correctly expire at (~2/3) of the interval...
Alec L Davis [Thu, 2 May 2013 08:24:31 +0000 (08:24 +0000)]
chan_sip: Session-Expires: Set timer to correctly expire at (~2/3) of the interval when not the refresher

RFC 4028 Section 10
if the side not performing refreshes does not receive a
session refresh request before the session expiration, it SHOULD send
a BYE to terminate the session, slightly before the session
expiration.  The minimum of 32 seconds and one third of the session
interval is RECOMMENDED.

Prior to this asterisk would refresh at 1/2 the Session-Expires interval,
or if the remote device was the refresher, asterisk would timeout at interval end.

Now, when not refresher, timeout as per RFC noted above.

(closes issue ASTERISK-21742)

Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)

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

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

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

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

6 years agochan_sip: Honor Session-Expires in 200OK response when it's a RE-INVITE when asterisk...
Alec L Davis [Thu, 2 May 2013 07:25:33 +0000 (07:25 +0000)]
chan_sip: Honor Session-Expires in 200OK response when it's a RE-INVITE when asterisk is the refresher.

RFC 4028 Section 7.2
 "UACs MUST be prepared to receive a Session-Expires header field in a
 response, even if none were present in the request."

What changed
  After ASTERISK-20787, inbound calls to asterisk with no Session-Expires in the INVITE are now are offered
  a Session-Expires (1800 asterisk default) in the response, with asterisk as the refresher.

Symptom:
  After 900 seconds (asterisk default refresher period 1800), asterisk RE-INVITEs the device, the device
   may respond with a much lower Session-Expires (180 in our case) value that it is now using.

  Asterisk ignores this response, as it's deemed both an INBOUND CALL, and a RE-INVITE.

  After 180 seconds the device times out and sends BYE (hangs up), asterisk is still working with the
  refresher period of 1800 as it ignored the 'Session Expires: 180' in the previous 200OK response.

Fix:
handle_response_invite() when 200OK, remove check for outbound and reinvite.

(closes issue ASTERISK-21664)

Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)

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

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

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

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

6 years agochan_dahdi: fix lower bound check with -ve integer conversion from a float
Alec L Davis [Thu, 2 May 2013 06:57:04 +0000 (06:57 +0000)]
chan_dahdi: fix lower bound check with -ve integer conversion from a float

Lower bound of a 16bit signed int is -32768 not -32767

(closes issue ASTERISK-21744)

Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)
........

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

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

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

6 years agoAdd Asterisk Version to core show locks
Alec L Davis [Thu, 2 May 2013 06:47:16 +0000 (06:47 +0000)]
Add Asterisk Version to core show locks

Assist with reporting 'core show locks' when submitting bug reports.

Example below:

===========================
== SVN-branch-1.8-...
== Currently Held Locks
===========================

(closes issue ASTERISK-21743)

Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)
........

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

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

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

6 years agoSimplify chan_local.c:manager_optimize_away() using ao2_find().
Richard Mudgett [Wed, 1 May 2013 21:55:53 +0000 (21:55 +0000)]
Simplify chan_local.c:manager_optimize_away() using ao2_find().

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

6 years agoCleanup chan_local.c:local_new().
Richard Mudgett [Wed, 1 May 2013 21:35:53 +0000 (21:35 +0000)]
Cleanup chan_local.c:local_new().

* Remove t and ama local variables.  There is no way they could be
anything other than default because p->owner can only be NULL at this
point.

* Rename tmp and tmp2 to owner and chan respectively.

* Remove redundant initialization of channel context, exten, priority.

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

6 years agoClear the DTMF sending digit tracking on off nominal paths
Matthew Jordan [Wed, 1 May 2013 21:18:24 +0000 (21:18 +0000)]
Clear the DTMF sending digit tracking on off nominal paths

In certain situations, when the RTP engine goes to send a DTMF end digit
it may be in a situation where the remote address is no longer available,
or the digit that was supposed to be sent is invalid. In such cases, we
need to clear the RTP counters appropriately. Otherwise, when the RTP
source is set again, we'll continue to think that we're in the middle of
sending a DTMF digit, which can confuse the remote party (signficantly).

(closes issue ASTERISK-21522)
Reported by: Corey Farrell
patches:
  rtp_dtmf_process_end.patch uploaded by Corey Farrell (License 5909)
........

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

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

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

6 years agoTrivial changes. Comments, parentheses, spelling, wording.
Richard Mudgett [Wed, 1 May 2013 21:09:14 +0000 (21:09 +0000)]
Trivial changes. Comments, parentheses, spelling, wording.

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

6 years agoMake chan_local locals container an explicit list container.
Richard Mudgett [Wed, 1 May 2013 20:59:29 +0000 (20:59 +0000)]
Make chan_local locals container an explicit list container.

Pretending that chan_local locals container can have more than one bucket
is silly.  The container has no key to help search.

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

6 years agoWhitespace changes.
Richard Mudgett [Wed, 1 May 2013 20:53:30 +0000 (20:53 +0000)]
Whitespace changes.

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

6 years agoMake mod_load_cmp() not as klunky.
Richard Mudgett [Wed, 1 May 2013 20:35:25 +0000 (20:35 +0000)]
Make mod_load_cmp() not as klunky.

There is a reason the heap comparison functions like qsort(), and other
comparison functions specify <0, >0, and =0 for the return values.

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

6 years agoRemove some unnecessary calls to ast_bridged_channel() in chan_unistim.c
Richard Mudgett [Wed, 1 May 2013 20:01:43 +0000 (20:01 +0000)]
Remove some unnecessary calls to ast_bridged_channel() in chan_unistim.c

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

6 years agoRemove some unnecessary calls to ast_bridged_channel() in chan_mgcp.c
Richard Mudgett [Wed, 1 May 2013 20:01:27 +0000 (20:01 +0000)]
Remove some unnecessary calls to ast_bridged_channel() in chan_mgcp.c

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

6 years agoRemove some unnecessary calls to ast_bridged_channel() in chan_skinny.c
Richard Mudgett [Wed, 1 May 2013 20:01:10 +0000 (20:01 +0000)]
Remove some unnecessary calls to ast_bridged_channel() in chan_skinny.c

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

6 years agoRemove some unnecessary calls to ast_bridged_channel() in chan_iax2.c
Richard Mudgett [Wed, 1 May 2013 20:00:53 +0000 (20:00 +0000)]
Remove some unnecessary calls to ast_bridged_channel() in chan_iax2.c

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

6 years agoRemove some unnecessary calls to ast_bridged_channel() in chan_dahdi.c/sig_analog.c
Richard Mudgett [Wed, 1 May 2013 20:00:31 +0000 (20:00 +0000)]
Remove some unnecessary calls to ast_bridged_channel() in chan_dahdi.c/sig_analog.c

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

6 years agoPrevent crash in 'sip show peers' when the number of peers on a system is large
Matthew Jordan [Wed, 1 May 2013 18:38:40 +0000 (18:38 +0000)]
Prevent crash in 'sip show peers' when the number of peers on a system is large

When you have lots of SIP peers (according to the issue reporter, around 3500),
the 'sip show peers' CLI command or AMI action can crash due to a poorly placed
string duplication that occurs on the stack. This patch refactors the command
to not allocate the string on the stack, and handles the formatting of a single
peer in a separate function call.

(closes issue ASTERISK-21466)
Reported by: Guillaume Knispel
patches:
  fix_sip_show_peers_stack_overflow_asterisk_11.3.0-v2.patch uploaded by gknispel (License 6492)
........

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

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

6 years agoMove some annoying chan_dahdi debug messages to level 5.
Richard Mudgett [Wed, 1 May 2013 17:15:26 +0000 (17:15 +0000)]
Move some annoying chan_dahdi debug messages to level 5.

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

6 years agoFix CDR not being created during an externally initiated blind transfer
Matthew Jordan [Tue, 30 Apr 2013 22:50:40 +0000 (22:50 +0000)]
Fix CDR not being created during an externally initiated blind transfer

Way back when in the dark days of Asterisk 1.8.9, blind transferring a call
in a context that included the 'h' extension would inadvertently execute the
hangup code logic on the transferred channel. This was a "bad thing". The fix
was to properly check for the softhangup flags on the channel and only execute
the 'h' extension logic (and, in later versions, hangup handler logic) if the
channel was well and truly dead (Jim).

Unfortunately, CDRs are fickle. Setting the softhangup flag when we detected
that the channel was leaving the bridge (but not to die) caused some crucial
snippet of CDR code, lying in ambush in the middle of the bridging code, to
not get executed. This had the effect of blowing away one of the CDRs that is
typically created during a blind transfer.

While we live and die by the adage "don't touch CDRs in release branches", this
was our bad. The attached patch restores the CDR behavior, and still manages to
not run the 'h' extension during a blind transfer (at least not when it's
supposed to).

Thanks to Steve Davies for diagnosing this and providing a fix.

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

(closes issue ASTERISK-21394)
Reported by: Ishfaq Malik
Tested by: Ishfaq Malik, mjordan
patches:
  fix_missing_blindXfer_cdr2 uploaded by one47 (License 5012)
........

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

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

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

6 years agoStasis Core: Refactor ACL Change events to go out over the stasis core msg bus
Jonathan Rose [Tue, 30 Apr 2013 22:37:24 +0000 (22:37 +0000)]
Stasis Core: Refactor ACL Change events to go out over the stasis core msg bus

(issue ASTERISK-21103)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2481/

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

6 years agoAdd forgotten event types to event_names array
Jonathan Rose [Tue, 30 Apr 2013 22:20:55 +0000 (22:20 +0000)]
Add forgotten event types to event_names array
........

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

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

6 years agoFix a log message.
Jason Parker [Tue, 30 Apr 2013 18:12:36 +0000 (18:12 +0000)]
Fix a log message.

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

6 years agoUse the proper lower bound when doing saturation arithmetic.
Sean Bright [Tue, 30 Apr 2013 13:48:12 +0000 (13:48 +0000)]
Use the proper lower bound when doing saturation arithmetic.

16 bit signed integers have a range of [-32768, 32768).  The existing code
was using the interval (-32768, 32768) instead.  This patch fixes that.

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

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

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

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

6 years agoJust a couple of Stasis-HTTP nitpick fixes.
David M. Lee [Tue, 30 Apr 2013 13:37:09 +0000 (13:37 +0000)]
Just a couple of Stasis-HTTP nitpick fixes.

* Fixed crash when res_stasis_http is unloaded before the
  implementation modules.
* Cleaned up test initialization for test_stasis_http.so.

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

6 years agoModifying sounds/Makefile to pull down 1.4.24 core sounds
Rusty Newton [Mon, 29 Apr 2013 23:36:42 +0000 (23:36 +0000)]
Modifying sounds/Makefile to pull down 1.4.24 core sounds

1.4.24 core sounds includes a full set of Italian prompts for core sounds and a fix for the missing voicemail prompts in the Russian language.

(closes issue ASTERISK-19431)
(closes issue ASTERISK-19721)
........

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

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

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

6 years agoPlay periodic prompts for first call in a call queue
Olle Johansson [Mon, 29 Apr 2013 13:38:59 +0000 (13:38 +0000)]
Play periodic prompts for first call in a call queue

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

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

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

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

6 years agoChange pointer to existing wiki page instead of non-existing page
Olle Johansson [Mon, 29 Apr 2013 08:40:16 +0000 (08:40 +0000)]
Change pointer to existing wiki page instead of non-existing page

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

6 years agoFix spelling error in python doc
Kinsey Moore [Sun, 28 Apr 2013 03:32:35 +0000 (03:32 +0000)]
Fix spelling error in python doc

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

6 years agoTweak res_sip priority so it gets loaded first before all other SIP stuff.
Joshua Colp [Sat, 27 Apr 2013 19:03:39 +0000 (19:03 +0000)]
Tweak res_sip priority so it gets loaded first before all other SIP stuff.

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

6 years agoUpdate res_config_sqlite to use the ast_variable lists.
Joshua Colp [Sat, 27 Apr 2013 16:17:01 +0000 (16:17 +0000)]
Update res_config_sqlite to use the ast_variable lists.

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

6 years agoAdd support for a realtime sorcery module.
Joshua Colp [Sat, 27 Apr 2013 12:01:29 +0000 (12:01 +0000)]
Add support for a realtime sorcery module.

This change does the following:

1. Adds the sorcery realtime module
2. Adds unit tests for the sorcery realtime module
3. Changes the realtime core to use an ast_variable list instead of variadic arguments
4. Changes all realtime drivers to accept an ast_variable list

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

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

6 years agoAdd missing module dependencies to various res_sip* modules
Matthew Jordan [Fri, 26 Apr 2013 21:52:06 +0000 (21:52 +0000)]
Add missing module dependencies to various res_sip* modules

This patch updates the various res_sip modules with their proper menuselect
options and proper dependencies, such that Asterisk still has a snowball's
chance in hell of compiling without pjproject.

Much thanks to snuffy(-home|-work) for making everyone's life
easier with this patch.

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

(closes issue ASTERISK-21669)
Reported by: snuffy
patches:
  xml-depends.diff uploaded by snuffy (license 5024)

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

6 years agoClean up memory leak in config file on off nominal paths when glob is allowed
Matthew Jordan [Fri, 26 Apr 2013 21:34:16 +0000 (21:34 +0000)]
Clean up memory leak in config file on off nominal paths when glob is allowed

If a system allows for its usage, Asterisk will use glob to help parse
Asterisk .conf files. The config file loading routine was leaking the memory
allocated by the glob() routine when the config file was in an unmodified
or invalid state.

This patch properly calls globfree in those off nominal paths.

(closes issue ASTERISK-21412)
Reported by: Corey Farrell
patches:
  config_glob_leak.patch uploaded by Corey Farrell (license 5909)
........

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

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

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

6 years agoBy popular demand, putting the about-to-load-module printf back.
David M. Lee [Fri, 26 Apr 2013 21:31:39 +0000 (21:31 +0000)]
By popular demand, putting the about-to-load-module printf back.

But now it only prints during the initial startup, and prints at verbose 1
level.

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

6 years agoClean up resources in features on exit
Matthew Jordan [Fri, 26 Apr 2013 21:27:24 +0000 (21:27 +0000)]
Clean up resources in features on exit

This patch cleans up two things features:
* It properly unregisters the CLI commands that features registered
* It cancels and performs a pthread_join on the created parking thread. This
  not only properly joins a non-detached thread, but also prevents disposing
  of the parking lots prior to the parking thread completely exiting.

(closes issue ASTERISK-21407)
Reported by: Corey Farrell
patches:
  features_shutdown-r2.patch uploaded by Corey Farrell (License 5909)
........

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

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

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

6 years agoRemoving stray printf from r386540
David M. Lee [Fri, 26 Apr 2013 21:00:45 +0000 (21:00 +0000)]
Removing stray printf from r386540

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

6 years agoAdd an \extref doxygen pointer for libuuid.
Mark Michelson [Fri, 26 Apr 2013 20:32:11 +0000 (20:32 +0000)]
Add an \extref doxygen pointer for libuuid.

Thanks to Olle Johansson for suggesting this.

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

6 years agoExample of how to use the Stasis message bus
David M. Lee [Fri, 26 Apr 2013 20:05:15 +0000 (20:05 +0000)]
Example of how to use the Stasis message bus

In order to get people familiar with the Stasis message bus, it would
be useful to have something of a tutorial. Since I'm not clever enough
to think of some cool integration we could do with Twitter, I settled
for something that might actually be useful.

This patch adds a res_statsd.so module, which implements a basic
statsd[1] client. Statsd is a very simple statistics gathering server,
which can publish its results to a backend graphing engine, like
Graphite[2]. There are several different Statsd server
implementations[3], so you can pick what works best for your
environment.

The actual example of how to use the Stasis message bus is in
res_chan_stats.so. This module demonstrates how to use subscriptions
and the message router by monitoring messages and posting channels
stats to the statsd server.

A wiki page walking through res_chan_stats.so is forthcoming.

 [1]: https://github.com/etsy/statsd/
 [2]: http://graphite.readthedocs.org/en/latest/
 [3]: http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/

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

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

6 years agoIgnore *.[oi] files in res/res_sip
David M. Lee [Fri, 26 Apr 2013 20:03:32 +0000 (20:03 +0000)]
Ignore *.[oi] files in res/res_sip

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

6 years agoDon't bind to anything in the sample configuration so we don't clash with chan_sip...
Joshua Colp [Thu, 25 Apr 2013 21:32:48 +0000 (21:32 +0000)]
Don't bind to anything in the sample configuration so we don't clash with chan_sip on a "make samples" right now.

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

6 years agoREmove automerge properties.
Mark Michelson [Thu, 25 Apr 2013 18:28:37 +0000 (18:28 +0000)]
REmove automerge properties.

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

6 years agoMerge the pimp_my_sip branch into trunk.
Mark Michelson [Thu, 25 Apr 2013 18:25:31 +0000 (18:25 +0000)]
Merge the pimp_my_sip branch into trunk.

The pimp_my_sip branch is being merged at this point because
it offers basic functionality, and from an API standpoint, things
are complete.

SIP work is *not* feature-complete; however, with the completion
of the SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have
been created, and thus it is possible for developers to attempt
to create new SIP work.

API documentation can be found in the doxygen in the code, but
usability documentation is still lacking.

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

6 years agoFix Displaying Symmetric RTP Global Setting
Michael L. Young [Thu, 25 Apr 2013 03:04:21 +0000 (03:04 +0000)]
Fix Displaying Symmetric RTP Global Setting

* Use comedia_string() to display correctly the symmetric rtp setting when
  running "sip show settings"
........

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

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

6 years agoChange Case On Forcerport For Consistency
Michael L. Young [Thu, 25 Apr 2013 02:48:44 +0000 (02:48 +0000)]
Change Case On Forcerport For Consistency

* Change "ForcerPort" to "Forcerport" to match everywhere else it is displayed
........

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

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

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

6 years agoDocument JSON models in resource_*.h
David M. Lee [Wed, 24 Apr 2013 21:47:03 +0000 (21:47 +0000)]
Document JSON models in resource_*.h

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

6 years agoOops. Mustache doesn't like dictionaries
David M. Lee [Wed, 24 Apr 2013 21:43:16 +0000 (21:43 +0000)]
Oops. Mustache doesn't like dictionaries

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

6 years agoconfbridge: Make search the conference bridges container using OBJ_KEY.
Richard Mudgett [Tue, 23 Apr 2013 20:18:44 +0000 (20:18 +0000)]
confbridge: Make search the conference bridges container using OBJ_KEY.

* Make confbridge config parsing user profile, bridge profile, and menu
container hash/cmp functions correctly check the OBJ_POINTER, OBJ_KEY, and
OBJ_PARTIAL_KEY flags.

* Made confbridge load_module()/unload_module() free all resources on
failure conditions.

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

6 years agoFix some bad whitespace
Kinsey Moore [Tue, 23 Apr 2013 18:57:00 +0000 (18:57 +0000)]
Fix some bad whitespace

This crept in with the RESTful HTTP interface merge.

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

6 years agoFix crash when AMI redirect action redirects two channels out of a bridge.
Richard Mudgett [Mon, 22 Apr 2013 16:44:21 +0000 (16:44 +0000)]
Fix crash when AMI redirect action redirects two channels out of a bridge.

The two party bridging loops were changing the bridge peer pointers
without the channel locks held.  Thus when ast_channel_massquerade()
tested and used the pointer there is a small window of opportunity for the
pointers to become NULL even though the masquerade code has the channels
locked.

(closes issue ASTERISK-21356)
Reported by: William luke
Patches:
      jira_asterisk_21356_v11.patch (license #5621) patch uploaded by rmudgett
Tested by: William luke
........

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

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

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

6 years agoDoxygen - Markup Guidelines
Andrew Latham [Mon, 22 Apr 2013 16:22:00 +0000 (16:22 +0000)]
Doxygen - Markup Guidelines

Expand on a commit by OEJ to use the Coding-Guidelines

(issue ASTERISK-20259)

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

6 years agoThis patch adds a RESTful HTTP interface to Asterisk.
David M. Lee [Mon, 22 Apr 2013 14:58:53 +0000 (14:58 +0000)]
This patch adds a RESTful HTTP interface to Asterisk.

The API itself is documented using Swagger, a lightweight mechanism for
documenting RESTful API's using JSON. This allows us to use swagger-ui
to provide executable documentation for the API, generate client
bindings in different languages, and generate a lot of the boilerplate
code for implementing the RESTful bindings. The API docs live in the
rest-api/ directory.

The RESTful bindings are generated from the Swagger API docs using a set
of Mustache templates.  The code generator is written in Python, and
uses Pystache. Pystache has no dependencies, and be installed easily
using pip. Code generation code lives in rest-api-templates/.

The generated code reduces a lot of boilerplate when it comes to
handling HTTP requests. It also helps us have greater consistency in the
REST API.

(closes issue ASTERISK-20891)
Review: https://reviewboard.asterisk.org/r/2376/

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

6 years agoFix mistake in Doxygen.
Olle Johansson [Mon, 22 Apr 2013 12:45:26 +0000 (12:45 +0000)]
Fix mistake in Doxygen.

Doxygen is only *ONE* comment that applies to the NEXT piece of code.

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

6 years agosla: remove redundant locking.
Russell Bryant [Mon, 22 Apr 2013 01:05:43 +0000 (01:05 +0000)]
sla: remove redundant locking.

sla.lock was already locked in the only place that sla_check_reload() was called.
Remove the redundant locking of sla.lock done in this function.  Less recursive
locking is A Good Thing.

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

6 years agoPrevent res_timing_pthread from blocking callers
Matthew Jordan [Fri, 19 Apr 2013 22:27:08 +0000 (22:27 +0000)]
Prevent res_timing_pthread from blocking callers

There were several reports of deadlock when using
res_timing_pthread. Backtraces indicated that one thread was blocked
waiting for the write to the pipe to complete and this thread held
the container lock for the timers.  Therefore any thread that wanted
to create a new timer or read an existing timer would block waiting
for either the timer lock or the container lock and deadlock ensued.

This patch changes the way the pipe is used to eliminate this source
of deadlocks:

1) The pipe is placed in non-blocking mode so that it would never
block even if the following changes someone fail...

2) Instead of writing bytes into the pipe for each "tick" that's
fired the pipe now has two states--signaled and unsignaled. If
signaled, the pipe is hot and any pollers of the read side
filedescriptor will be woken up. If unsigned the pipe is idle. This
eliminates even the chance of filling up the pipe and reduces the
potential overhead of calling unnecessary writes.

3) Since we're tracking the signaled / unsignaled state, we can
eliminate the exta poll system call for every firing because we know
that there is data to be read.

(closes issue ASTERISK-21389)
Reported by: Matt Jordan
Tested by: Shaun Ruffell, Matt Jordan, Tony Lewis
patches:
  0001-res_timing_pthread-Reduce-probability-of-deadlocking.patch uploaded by sruffell (License 5417)

(closes issue ASTERISK-19754)
Reported by: Nikola Ciprich

(closes issue ASTERISK-20577)
Reported by: Kien Kennedy

(closes issue ASTERISK-17436)
Reported by: Henry Fernandes

(closes issue ASTERISK-17467)
Reported by: isrl

(closes issue ASTERISK-17458)
Reported by: isrl

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

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

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

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

6 years agocli.c: Properly initialize debug_modules and verbose_modules.
David M. Lee [Fri, 19 Apr 2013 05:20:02 +0000 (05:20 +0000)]
cli.c: Properly initialize debug_modules and verbose_modules.

This avoids some lock errors on the core set {debug,verbose} commands.
........

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

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

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

6 years agoAllow WebSocket connections on more URL's
David M. Lee [Thu, 18 Apr 2013 17:30:28 +0000 (17:30 +0000)]
Allow WebSocket connections on more URL's

This patch adds the concept of ast_websocket_server to
res_http_websocket, allowing WebSocket connections on URL's more more
than /ws.

The existing funcitons for managing the WebSocket subprotocols on /ws
still work, so this patch should be completely backward compatible.

(closes issue ASTERISK-21279)
Review: https://reviewboard.asterisk.org/r/2453/

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

6 years agoFix lock errors on startup.
David M. Lee [Thu, 18 Apr 2013 17:26:29 +0000 (17:26 +0000)]
Fix lock errors on startup.

In messages.c, there are several places in the code where we create a
tmp_tech_holder and pass that into an ao2_find call. Unfortunately, we
weren't initializing the rwlock on the tmp_tech_holder, which the hash
function was locking. It's apparently harmless, but still not the best
code.

This patch extracts all that copy/pasted code into two functions,
msg_find_by_tech and msg_find_by_tech_name, which properly initialize
and destroy the rwlock on the tmp_tech_holder.

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

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

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

6 years agores_xmpp and res_jabber need to search 'cachable' in the attrib section of the receiv...
Alec L Davis [Tue, 16 Apr 2013 23:44:18 +0000 (23:44 +0000)]
res_xmpp and res_jabber need to search 'cachable' in the attrib section of the received IE, not data.

(issue ASTERISK-20175)
(closes issue ASTERISK-21429)
(closes issue ASTERISK-21069)
(closes issue ASTERISK-21164)

Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)

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

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

6 years agoAllow res_corosync to build
Kinsey Moore [Tue, 16 Apr 2013 17:50:14 +0000 (17:50 +0000)]
Allow res_corosync to build

ast_enable_distributed_devstate is no longer applicable to how the
distributed device state system works and is no longer necessary.

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

6 years agoMove presence state distribution to Stasis-core
Kinsey Moore [Tue, 16 Apr 2013 15:48:16 +0000 (15:48 +0000)]
Move presence state distribution to Stasis-core

Convert presence state events to Stasis-core messages and remove
redundant serializers where possible.

Review: https://reviewboard.asterisk.org/r/2410/
(closes issue ASTERISK-21102)
Patch-by: Kinsey Moore <kmoore@digium.com>

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

6 years agoMove device state distribution to Stasis-core
Kinsey Moore [Tue, 16 Apr 2013 15:33:59 +0000 (15:33 +0000)]
Move device state distribution to Stasis-core

In the move from Asterisk's event system to Stasis, this makes
distributed device state aggregation always-on, removes unnecessary
task processors where possible, and collapses aggregate and
non-aggregate states into a single cache for ease of retrieval. This
also removes an intermediary step in device state aggregation.

Review: https://reviewboard.asterisk.org/r/2389/
(closes issue ASTERISK-21101)
Patch-by: Kinsey Moore <kmoore@digium.com>

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

6 years agoFixed a typo
David M. Lee [Tue, 16 Apr 2013 14:09:25 +0000 (14:09 +0000)]
Fixed a typo

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

6 years agoDon't unnecessarily rebuild things on every run of 'make'.
Jason Parker [Mon, 15 Apr 2013 17:26:49 +0000 (17:26 +0000)]
Don't unnecessarily rebuild things on every run of 'make'.

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

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

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

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

6 years agoAvoid unused variable warning when not in devmode
David M. Lee [Mon, 15 Apr 2013 16:47:25 +0000 (16:47 +0000)]
Avoid unused variable warning when not in devmode

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

6 years agoMoved core logic from app_stasis to res_stasis
David M. Lee [Mon, 15 Apr 2013 16:43:47 +0000 (16:43 +0000)]
Moved core logic from app_stasis to res_stasis

After some discussion on asterisk-dev, it was decided that the bulk of
the logic in app_stasis actually belongs in a resource module instead
of the application module.

This patch does that, leaves the app specific stuff in app_stasis, and
fixes up everything else to be consistent with that change.

 * Renamed test_app_stasis to test_res_stasis
 * Renamed app_stasis.h to stasis_app.h
   * This is still stasis application support, even though it's no
     longer in an app_ module. The name should never have been tied to
     the type of module, anyways.
 * Now that json isn't a resource module anymore, moved the
   ast_channel_snapshot_to_json function to main/stasis_channels.c,
   where it makes more sense.

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

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

6 years agoDTMF events are now published on a channel's stasis_topic. AMI was
David M. Lee [Mon, 15 Apr 2013 16:22:03 +0000 (16:22 +0000)]
DTMF events are now published on a channel's stasis_topic. AMI was
refactored to use these events rather than producing the events directly
in channel.c. Finally, the code was added to app_stasis to produce
DTMF events on the WebSocket.

The AMI events are completely backward compatible, including sending
events on transmitted DTMF, and sending DTMF start events.

The Stasis-HTTP events are somewhat simplified. Since DTMF start and
DTMF send events are generally less useful, Stasis-HTTP will only send
events on received DTMF end.

(closes issue ASTERISK-21282)
(closes issue ASTERISK-21359)
Review: https://reviewboard.asterisk.org/r/2439

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

6 years agoFix the svn:keywords property on several files.
David M. Lee [Mon, 15 Apr 2013 16:10:10 +0000 (16:10 +0000)]
Fix the svn:keywords property on several files.

Normally I think keyword expansion is silly, but the one time it would have
been good, it didn't work because the property had quotes in it. This patch
fixes obviously busted svn:keywords properties.
........

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

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

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

6 years agoCalculate the timestamp for outbound RTP if we don't have timing information
Matthew Jordan [Sun, 14 Apr 2013 03:01:33 +0000 (03:01 +0000)]
Calculate the timestamp for outbound RTP if we don't have timing information

This patch calculates the timestamp for outbound RTP when we don't have timing
information. This uses the same approach in res_rtp_asterisk. Thanks to both
Pietro and Tzafrir for providing patches.

(closes issue ASTERISK-19883)
Reported by: Giacomo Trovato
Tested by: Pietro Bertera, Tzafrir Cohen
patches:
  rtp-timestamp-1.8.patch uploaded by tzafrir (License 5035)
  rtp-timestamp.patch uploaded by pbertera (License 5943)
........

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

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

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

6 years agoDon't attempt to create a voice frame on a read error
Matthew Jordan [Sun, 14 Apr 2013 02:35:04 +0000 (02:35 +0000)]
Don't attempt to create a voice frame on a read error

Prior to this patch, a read error in snd_pcm_readi would still be treated as a
nominal result when constructing a voice frame from the expected data. Since
the value returned is negative, as opposed to the number of samples read,
this could result in a crash. With this patch, we now return a null frame
when a read error is detected.

Note that the patch on ASTERISK-21329 was modified slightly for this commit,
in that we bail immediately on detecting the read error, rather than bypassing
the construction of the voice frame.

(closes issue ASTERISK-21329)
Reported by: Keiichiro Kawasaki
patches:
  chan_alsa.diff uploaded by kawasaki (License 6489)
........

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

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

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

6 years agoFix Manager Segfault When app_queue Is Unloaded
Michael L. Young [Fri, 12 Apr 2013 22:38:56 +0000 (22:38 +0000)]
Fix Manager Segfault When app_queue Is Unloaded

When app_queue is unloaded, some manager commands are not being unregistered
which result in a segfault.  This patch corrects this.

(closes issue ASTERISK-21397)
Reported by: Peter Katzmann, Corey Farrell
Tested by: Corey Farrell
Patches:
    asterisk-21397-missing-unreg-manager-cmd_1.8.diff
                                                 Michael L. Young (license 5026)
    asterisk-21397-missing-unreg-manager-cmd_11.diff
                                                 Michael L. Young (license 5026)

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

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

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

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

6 years agoAllow codec_resample to be unloaded
Kinsey Moore [Fri, 12 Apr 2013 22:26:17 +0000 (22:26 +0000)]
Allow codec_resample to be unloaded

Ensure that trans_size is correct to prevent uninitialized entries from
preventing reload.

(closes issue ASTERISK-21401)
Reported by: Corey Farrell
Tested by: Corey Farrell
Patches:
    codec_resample-unload.patch uploaded by Corey Farrell
........

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

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

6 years agoFix app_voicemail Segfault And A Few Memory Leaks
Michael L. Young [Fri, 12 Apr 2013 22:22:58 +0000 (22:22 +0000)]
Fix app_voicemail Segfault And A Few Memory Leaks

The original report was that app_voicemail would crash.  This was caused by
ast_config_load() returning CONFIG_STATUS_FILEINVALID but no checks being
performed for that return status.  After adding the initial patch to fix this
issue, Jaco Kroon (jkroon) added some fixes to memory leaks he had discovered.

During review, Walter Doekes (wdoekes) suggested adding a helper function in
order to determine if we had a valid configuration or not.

This patch does the following:

* Creates a helper function to check if the configuration is valid

* Adds calls to the new helper function where appropiate

* Fixes memory leaks where the code returned without running
  ast_config_destroy() on the configuration that was loaded

(closes issue ASTERISK-21302)
Reported by: Jaco Kroon
Tested by: Jaco Kroon, Michael L. Young
Patches:
    asterisk-11.3.0-app_voicemail-ast_config-fixes.patch
                                                       Jaco Kroon (license 5671)
    asterisk-21302-valid_cfg_and_mem_leaks_v3-1.8.diff
                                                 Michael L. Young (license 5026)

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

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

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

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

6 years agoFix documentation.
Jason Parker [Fri, 12 Apr 2013 21:48:10 +0000 (21:48 +0000)]
Fix documentation.

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

6 years agoExpose channel snapshot manager blob generation
Kinsey Moore [Fri, 12 Apr 2013 21:11:02 +0000 (21:11 +0000)]
Expose channel snapshot manager blob generation

These functions are already used in one branch (jrose's parking branch)
and will soon be used in other branches as well.

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

6 years agoFix One-Way Audio With auto_* NAT Settings When SIP Calls Initiated By PBX
Michael L. Young [Fri, 12 Apr 2013 15:06:09 +0000 (15:06 +0000)]
Fix One-Way Audio With auto_* NAT Settings When SIP Calls Initiated By PBX

When we reload Asterisk or chan_sip, the flags force_rport and comedia that are
turned on and off when using the auto_force_rport and auto_comedia nat settings
go back to the default setting off.  These flags are turned on when needed or
off when not needed at the time that a peer registers, re-registers or initiates
a call.  This would apply even when only the default global setting
"nat=auto_force_rport" is being used, which in this case would only affect the
force_rport flag.

Everything is good except for the following:  The nat setting is set to
auto_force_rport and auto_comedia.  We reload Asterisk and the peer's
registration has not expired.  We load in the settings for the peer which turns
force_rport and comedia back to off.  Since the peer has not re-registered or
placed a call yet, those flags remain off.  We then initiate a call to the peer
from the PBX.  The force_rport and comedia flags stay off.  If NAT is involved,
we end up with one-way audio since we never checked to see if the peer is behind
NAT or not.

This patch does the following:

* Moves the checking of whether a peer is behind NAT into its own function

* Create a function to set the peer's NAT flags if they are using the auto_* NAT
  settings

* Adds calls in sip_request_call() to these new functions in order to setup the
  dialog according to the peer's settings

(closes issue ASTERISK-21374)
Reported by: Michael L. Young
Tested by: Michael L. Young
Patches:
    asterisk-21374-auto-nat-outgoing-fix_v2.diff Michael L. Young (license 5026)

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

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

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

6 years agoIAX2 defer_full_frames fail to get sent
Alec L Davis [Fri, 12 Apr 2013 08:52:44 +0000 (08:52 +0000)]
IAX2 defer_full_frames fail to get sent

Ensure iax2_process_thread is signalled when a deferred frame is queued to it.

(closes issue ASTERISK-18827)
Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)

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

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

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

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

6 years agoIAX2, prevent network thread starting before all helper threads are ready
Alec L Davis [Fri, 12 Apr 2013 08:18:20 +0000 (08:18 +0000)]
IAX2, prevent network thread starting before all helper threads are ready

On startup, it's possible for a frame to arrive before the processing threads were ready.

In iax2_process_thread() the first pass through falls into ast_cond_wait, should a frame arrive
before we are at ast_cond_wait, the signal will be ignored.
The result iax2_process_thread stays at ast_cond_wait forever, with deferred frames being queued.

Fix: When creating initial idle iax2_process_threads, wait for init_cond to be signalled
after each thread is started.

(issue ASTERISK-18827)
Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)

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

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

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

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

6 years agoBlocked revisions 385356
Jason Parker [Thu, 11 Apr 2013 20:00:46 +0000 (20:00 +0000)]
Blocked revisions 385356

........
Add dependency on libuuid, for res_rtp_asterisk

pjproject is what actually requires libuuid.

(closes issue ASTERISK-21125)
reported by Private Name

(Ed. note: Really?  Private Name?  I am rolling my eyes so hard right now.)

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

6 years agoFix 'pri intense debug span' alias.
Richard Mudgett [Thu, 11 Apr 2013 16:53:21 +0000 (16:53 +0000)]
Fix 'pri intense debug span' alias.
........

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

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

6 years agoEliminated dial_features_destroy() since it is equivalent to ast_free_ptr()
Richard Mudgett [Wed, 10 Apr 2013 23:08:02 +0000 (23:08 +0000)]
Eliminated dial_features_destroy() since it is equivalent to ast_free_ptr()

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

6 years ago* Fix unlocked accesses to feature_list. The feature_list is now also
Richard Mudgett [Wed, 10 Apr 2013 23:03:30 +0000 (23:03 +0000)]
* Fix unlocked accesses to feature_list.  The feature_list is now also
protected by the features_lock.

* Made all calls to ast_find_call_feature() have the features_lock held.

* Fixed set_config_flags() to actually use find_group() to look for
feature groups in DYNAMIC_FEATURES.  The code originally assumed all
feature groups were listed in DYNAMIC_FEATURES.

* Make everyone use ast_rdlock_call_features(),
ast_unlock_call_features(), and new ast_wrlock_call_features() instead of
directly calling the rwlock API on features_lock.

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

6 years agoFixed manager channelvars support.
David M. Lee [Wed, 10 Apr 2013 15:34:47 +0000 (15:34 +0000)]
Fixed manager channelvars support.

For the events that have been ported to Stasis, this was broken in
r384910, when a couple of lines of code was lost in a merge.

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

6 years agoUse LDAP memory management functions instead of Asterisk's
Matthew Jordan [Wed, 10 Apr 2013 14:26:22 +0000 (14:26 +0000)]
Use LDAP memory management functions instead of Asterisk's

When MALLOC_DEBUG is enabled with res_config_ldap, issues (munmap_chunk:
invalid pointer errors) can occur as the memory is being allocated with
Asterisk's wrappers around malloc/calloc/free/strdup, as opposed to the
LDAP library's wrappers.

This patch uses the LDAP library's wrappers where appropriate, so that
compiling with MALLOC_DEBUG doesn't cause more problems than it solves.

Note that the patch listed below was modified slightly for this commit
to account for some additional memory allocation/deallocations.

(closes issue ASTERISK-17386)
Reported by: John Covert
Tested by: Andrew Latham
patches:
  issue18789-1.8-r316873.patch uploaded by seanbright (License 5060)
........

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

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

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