[asterisk-commits] kmoore: branch kmoore/stasis-bridging-channel_events r387797 - in /team/kmoor...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue May 7 08:38:57 CDT 2013


Author: kmoore
Date: Tue May  7 08:38:32 2013
New Revision: 387797

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=387797
Log:
Multiple revisions 386747,386761,386776,386795,386844,386880,386939,386992,387023,387040,387042,387085,387109,387137,387187,387214,387217,387265,387300,387347,387392,387424,387467,387477,387486,387508,387520,387546,387595,387634,387664,387692,387744

........
  r386747 | root | 2013-04-27 11:17:22 -0500 (Sat, 27 Apr 2013) | 5 lines
  
  Update res_config_sqlite to use the ast_variable lists.
  ........
  
  Merged revisions 386746 from file:///srv/subversion/repos/asterisk/trunk
........
  r386761 | root | 2013-04-27 14:17:20 -0500 (Sat, 27 Apr 2013) | 5 lines
  
  Tweak res_sip priority so it gets loaded first before all other SIP stuff.
  ........
  
  Merged revisions 386760 from file:///srv/subversion/repos/asterisk/trunk
........
  r386776 | root | 2013-04-27 23:17:20 -0500 (Sat, 27 Apr 2013) | 5 lines
  
  Fix spelling error in python doc
  ........
  
  Merged revisions 386774 from file:///srv/subversion/repos/asterisk/trunk
........
  r386795 | root | 2013-04-29 04:18:09 -0500 (Mon, 29 Apr 2013) | 5 lines
  
  Change pointer to existing wiki page instead of non-existing page
  ........
  
  Merged revisions 386793 from file:///srv/subversion/repos/asterisk/trunk
........
  r386844 | root | 2013-04-29 09:17:23 -0500 (Mon, 29 Apr 2013) | 13 lines
  
  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
  ........
  
  Merged revisions 386841 from file:///srv/subversion/repos/asterisk/trunk
........
  r386880 | root | 2013-04-29 19:17:21 -0500 (Mon, 29 Apr 2013) | 16 lines
  
  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
  ........
  
  Merged revisions 386879 from file:///srv/subversion/repos/asterisk/trunk
........
  r386939 | root | 2013-04-30 09:17:21 -0500 (Tue, 30 Apr 2013) | 29 lines
  
  Multiple revisions 386928,386931
  
  ........
    r386928 | dlee | 2013-04-30 08:37:09 -0500 (Tue, 30 Apr 2013) | 6 lines
    
    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.
  ........
    r386931 | seanbright | 2013-04-30 08:48:12 -0500 (Tue, 30 Apr 2013) | 13 lines
    
    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
  ........
  
  Merged revisions 386928,386931 from file:///srv/subversion/repos/asterisk/trunk
........
  r386992 | root | 2013-04-30 13:17:21 -0500 (Tue, 30 Apr 2013) | 5 lines
  
  Fix a log message.
  ........
  
  Merged revisions 386990 from file:///srv/subversion/repos/asterisk/trunk
........
  r387023 | rmudgett | 2013-04-30 16:17:11 -0500 (Tue, 30 Apr 2013) | 2 lines
  
  Fix set but not used compiler warning in check_swap_optimize_out().
........
  r387040 | rmudgett | 2013-04-30 17:59:54 -0500 (Tue, 30 Apr 2013) | 2 lines
  
  Fix inverted test in AMI BridgeInfo action.
........
  r387042 | root | 2013-04-30 18:17:40 -0500 (Tue, 30 Apr 2013) | 1 line
  
  automerge cancel
........
  r387085 | rmudgett | 2013-04-30 18:41:03 -0500 (Tue, 30 Apr 2013) | 1 line
  
  Fix automerge conflict.
........
  r387109 | root | 2013-05-01 12:17:21 -0500 (Wed, 01 May 2013) | 5 lines
  
  Move some annoying chan_dahdi debug messages to level 5.
  ........
  
  Merged revisions 387108 from file:///srv/subversion/repos/asterisk/trunk
........
  r387137 | root | 2013-05-01 14:17:20 -0500 (Wed, 01 May 2013) | 19 lines
  
  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
  ........
  
  Merged revisions 387135 from file:///srv/subversion/repos/asterisk/trunk
........
  r387187 | root | 2013-05-01 15:17:39 -0500 (Wed, 01 May 2013) | 26 lines
  
  Multiple revisions 387181-387185
  
  ........
    r387181 | rmudgett | 2013-05-01 15:00:31 -0500 (Wed, 01 May 2013) | 1 line
    
    Remove some unnecessary calls to ast_bridged_channel() in chan_dahdi.c/sig_analog.c
  ........
    r387182 | rmudgett | 2013-05-01 15:00:53 -0500 (Wed, 01 May 2013) | 1 line
    
    Remove some unnecessary calls to ast_bridged_channel() in chan_iax2.c
  ........
    r387183 | rmudgett | 2013-05-01 15:01:10 -0500 (Wed, 01 May 2013) | 1 line
    
    Remove some unnecessary calls to ast_bridged_channel() in chan_skinny.c
  ........
    r387184 | rmudgett | 2013-05-01 15:01:27 -0500 (Wed, 01 May 2013) | 1 line
    
    Remove some unnecessary calls to ast_bridged_channel() in chan_mgcp.c
  ........
    r387185 | rmudgett | 2013-05-01 15:01:43 -0500 (Wed, 01 May 2013) | 1 line
    
    Remove some unnecessary calls to ast_bridged_channel() in chan_unistim.c
  ........
  
  Merged revisions 387181-387185 from file:///srv/subversion/repos/asterisk/trunk
........
  r387214 | kmoore | 2013-05-01 16:16:14 -0500 (Wed, 01 May 2013) | 2 lines
  
  Ensure the bridge list command sends a response before the list of bridges
........
  r387217 | root | 2013-05-01 16:17:40 -0500 (Wed, 01 May 2013) | 28 lines
  
  Multiple revisions 387209-387212
  
  ........
    r387209 | rmudgett | 2013-05-01 15:35:25 -0500 (Wed, 01 May 2013) | 5 lines
    
    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.
  ........
    r387210 | rmudgett | 2013-05-01 15:53:30 -0500 (Wed, 01 May 2013) | 1 line
    
    Whitespace changes.
  ........
    r387211 | rmudgett | 2013-05-01 15:59:29 -0500 (Wed, 01 May 2013) | 5 lines
    
    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.
  ........
    r387212 | rmudgett | 2013-05-01 16:09:14 -0500 (Wed, 01 May 2013) | 1 line
    
    Trivial changes. Comments, parentheses, spelling, wording.
  ........
  
  Merged revisions 387209-387212 from file:///srv/subversion/repos/asterisk/trunk
........
  r387265 | root | 2013-05-01 17:17:37 -0500 (Wed, 01 May 2013) | 44 lines
  
  Multiple revisions 387220,387260-387261
  
  ........
    r387220 | mjordan | 2013-05-01 16:18:24 -0500 (Wed, 01 May 2013) | 20 lines
    
    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
  ........
    r387260 | rmudgett | 2013-05-01 16:35:53 -0500 (Wed, 01 May 2013) | 10 lines
    
    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.
  ........
    r387261 | rmudgett | 2013-05-01 16:55:53 -0500 (Wed, 01 May 2013) | 2 lines
    
    Simplify chan_local.c:manager_optimize_away() using ao2_find().
  ........
  
  Merged revisions 387220,387260-387261 from file:///srv/subversion/repos/asterisk/trunk
........
  r387300 | root | 2013-05-02 02:17:21 -0500 (Thu, 02 May 2013) | 50 lines
  
  Multiple revisions 387296,387299
  
  ........
    r387296 | alecdavis | 2013-05-02 01:47:16 -0500 (Thu, 02 May 2013) | 24 lines
    
    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
  ........
    r387299 | alecdavis | 2013-05-02 01:57:04 -0500 (Thu, 02 May 2013) | 16 lines
    
    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
  ........
  
  Merged revisions 387296,387299 from file:///srv/subversion/repos/asterisk/trunk
........
  r387347 | root | 2013-05-02 03:17:38 -0500 (Thu, 02 May 2013) | 39 lines
  
  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
  ........
  
  Merged revisions 387327 from file:///srv/subversion/repos/asterisk/trunk
........
  r387392 | root | 2013-05-02 04:18:41 -0500 (Thu, 02 May 2013) | 31 lines
  
  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
  ........
  
  Merged revisions 387369 from file:///srv/subversion/repos/asterisk/trunk
........
  r387424 | root | 2013-05-02 12:17:23 -0500 (Thu, 02 May 2013) | 25 lines
  
  Multiple revisions 387420,387423
  
  ........
    r387420 | jrose | 2013-05-02 11:39:28 -0500 (Thu, 02 May 2013) | 2 lines
    
    Putting all event defs and names back for now due to res_corosync dependency
  ........
    r387423 | mjordan | 2013-05-02 12:15:46 -0500 (Thu, 02 May 2013) | 13 lines
    
    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
  ........
  
  Merged revisions 387420,387423 from file:///srv/subversion/repos/asterisk/trunk
........
  r387467 | kmoore | 2013-05-02 13:03:06 -0500 (Thu, 02 May 2013) | 1 line
  
  Make sure the BridgeInfo AMI action gets an ack as well
........
  r387477 | rmudgett | 2013-05-02 13:58:16 -0500 (Thu, 02 May 2013) | 16 lines
  
  Make it safe for a channel to get the bridge it is currently in.
  
  Change the bridge pointer returned/set by
  ast_channel_internal_bridge()/ast_channel_internal_bridge_set() with the
  channel locked so getting the pointer when the channel is locked is safe
  and you can get a reference to the bridge object.
  
  * Added the following API calls:
  ast_channel_get_bridge()
  ast_channel_is_bridged()
  ast_channel_bridge_peer()
  ast_bridge_peer_nolock()
  ast_bridge_peer()
  
  * Changed how ast_bridge_channel_peer() gets the peer because I could.
........
  r387486 | root | 2013-05-02 14:17:38 -0500 (Thu, 02 May 2013) | 5 lines
  
  Remove the ABI compatability ast_channel_alloc().  It is no longer needed.
  ........
  
  Merged revisions 387482 from file:///srv/subversion/repos/asterisk/trunk
........
  r387508 | rmudgett | 2013-05-02 14:25:49 -0500 (Thu, 02 May 2013) | 2 lines
  
  Fix local_queryoption() and local_fixup() to work in the new bridging environment.
........
  r387520 | root | 2013-05-02 16:17:20 -0500 (Thu, 02 May 2013) | 11 lines
  
  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)
  ........
  
  Merged revisions 387519 from file:///srv/subversion/repos/asterisk/trunk
........
  r387546 | root | 2013-05-03 07:17:44 -0500 (Fri, 03 May 2013) | 7 lines
  
  Use the configured formats for Gulp sessions if there are no joint formats between requested formats and configured formats.
  
  (closes issue ASTERISK-21756)
  ........
  
  Merged revisions 387545 from file:///srv/subversion/repos/asterisk/trunk
........
  r387595 | root | 2013-05-03 13:17:22 -0500 (Fri, 03 May 2013) | 8 lines
  
  Stasis: Convert network change events into network change stasis messages
  
  (issue ASTERISK-21103)
  Review: https://reviewboard.asterisk.org/r/2490/
  ........
  
  Merged revisions 387594 from file:///srv/subversion/repos/asterisk/trunk
........
  r387634 | root | 2013-05-04 11:17:53 -0500 (Sat, 04 May 2013) | 26 lines
  
  Multiple revisions 387630,387633
  
  ........
    r387630 | mjordan | 2013-05-04 10:24:31 -0500 (Sat, 04 May 2013) | 8 lines
    
    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)
  ........
    r387633 | mjordan | 2013-05-04 11:00:46 -0500 (Sat, 04 May 2013) | 7 lines
    
    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)
  ........
  
  Merged revisions 387630,387633 from file:///srv/subversion/repos/asterisk/trunk
........
  r387664 | root | 2013-05-06 08:17:51 -0500 (Mon, 06 May 2013) | 17 lines
  
  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/
  ........
  
  Merged revisions 387662 from file:///srv/subversion/repos/asterisk/trunk
........
  r387692 | root | 2013-05-06 11:17:22 -0500 (Mon, 06 May 2013) | 26 lines
  
  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
  ........
  
  Merged revisions 387690 from file:///srv/subversion/repos/asterisk/trunk
........
  r387744 | root | 2013-05-06 12:17:51 -0500 (Mon, 06 May 2013) | 18 lines
  
  Multiple revisions 387738,387740-387741
  
  ........
    r387738 | qwell | 2013-05-06 12:01:41 -0500 (Mon, 06 May 2013) | 1 line
    
    Fix building with LOW_MEMORY defined.
  ........
    r387740 | rmudgett | 2013-05-06 12:09:50 -0500 (Mon, 06 May 2013) | 2 lines
    
    Make a log NOTICE more explicit that the event comes from DAHDI and not PRI.
  ........
    r387741 | rmudgett | 2013-05-06 12:15:20 -0500 (Mon, 06 May 2013) | 1 line
    
    Update ao2_destructor_fn doxygen.
  ........
  
  Merged revisions 387738,387740-387741 from file:///srv/subversion/repos/asterisk/trunk
........

Merged revisions 386747,386761,386776,386795,386844,386880,386939,386992,387023,387040,387042,387085,387109,387137,387187,387214,387217,387265,387300,387347,387392,387424,387467,387477,387486,387508,387520,387546,387595,387634,387664,387692,387744 from http://svn.asterisk.org/svn/asterisk/team/group/bridge_construction

Modified:
    team/kmoore/stasis-bridging-channel_events/   (props changed)
    team/kmoore/stasis-bridging-channel_events/CHANGES
    team/kmoore/stasis-bridging-channel_events/apps/app_meetme.c
    team/kmoore/stasis-bridging-channel_events/apps/app_queue.c
    team/kmoore/stasis-bridging-channel_events/apps/app_stack.c
    team/kmoore/stasis-bridging-channel_events/bridges/bridge_builtin_features.c
    team/kmoore/stasis-bridging-channel_events/build_tools/post_process_documentation.py
    team/kmoore/stasis-bridging-channel_events/channels/chan_dahdi.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_gulp.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_iax2.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_local.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_mgcp.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_sip.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_skinny.c
    team/kmoore/stasis-bridging-channel_events/channels/chan_unistim.c
    team/kmoore/stasis-bridging-channel_events/channels/sig_analog.c
    team/kmoore/stasis-bridging-channel_events/channels/sip/include/sip.h
    team/kmoore/stasis-bridging-channel_events/funcs/func_global.c
    team/kmoore/stasis-bridging-channel_events/include/asterisk.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/acl.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/astobj2.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/bridging.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/channel.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/doxygen/commits.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/event_defs.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/json.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/sorcery.h
    team/kmoore/stasis-bridging-channel_events/include/asterisk/utils.h
    team/kmoore/stasis-bridging-channel_events/main/asterisk.c
    team/kmoore/stasis-bridging-channel_events/main/bridging.c
    team/kmoore/stasis-bridging-channel_events/main/channel.c
    team/kmoore/stasis-bridging-channel_events/main/event.c
    team/kmoore/stasis-bridging-channel_events/main/json.c
    team/kmoore/stasis-bridging-channel_events/main/loader.c
    team/kmoore/stasis-bridging-channel_events/main/manager.c
    team/kmoore/stasis-bridging-channel_events/main/manager_bridging.c
    team/kmoore/stasis-bridging-channel_events/main/named_acl.c
    team/kmoore/stasis-bridging-channel_events/main/sorcery.c
    team/kmoore/stasis-bridging-channel_events/main/utils.c
    team/kmoore/stasis-bridging-channel_events/res/res_config_sqlite.c
    team/kmoore/stasis-bridging-channel_events/res/res_rtp_asterisk.c
    team/kmoore/stasis-bridging-channel_events/res/res_sip.c
    team/kmoore/stasis-bridging-channel_events/res/res_sip_sdp_rtp.c
    team/kmoore/stasis-bridging-channel_events/res/res_sorcery_astdb.c
    team/kmoore/stasis-bridging-channel_events/res/res_stasis_http.c
    team/kmoore/stasis-bridging-channel_events/res/res_stun_monitor.c
    team/kmoore/stasis-bridging-channel_events/sounds/Makefile
    team/kmoore/stasis-bridging-channel_events/tests/test_sorcery.c
    team/kmoore/stasis-bridging-channel_events/tests/test_stasis_http.c
    team/kmoore/stasis-bridging-channel_events/utils/Makefile

Propchange: team/kmoore/stasis-bridging-channel_events/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Propchange: team/kmoore/stasis-bridging-channel_events/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue May  7 08:38:32 2013
@@ -1,1 +1,1 @@
-/team/group/bridge_construction:1-386744
+/team/group/bridge_construction:1-387796

Modified: team/kmoore/stasis-bridging-channel_events/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/CHANGES?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/CHANGES (original)
+++ team/kmoore/stasis-bridging-channel_events/CHANGES Tue May  7 08:38:32 2013
@@ -172,6 +172,8 @@
 --- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
 ------------------------------------------------------------------------------
 
+
+
 Build System
 -------------------
  * The Asterisk build system will now build and install a shared library
@@ -315,6 +317,9 @@
    state_interface has been set.
 
  * Add queue monitoring hints.  exten => 8501,hint,Queue:markq.
+
+ * App_queue will now play periodic announcements for the caller that
+   holds the first position in the queue while waiting for answer.
 
 SayUnixTime
 ------------------

Modified: team/kmoore/stasis-bridging-channel_events/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/apps/app_meetme.c?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/apps/app_meetme.c (original)
+++ team/kmoore/stasis-bridging-channel_events/apps/app_meetme.c Tue May  7 08:38:32 2013
@@ -6447,8 +6447,8 @@
 	struct sla_station *station;
 	struct sla_trunk *trunk;
 
-	if (!AST_LIST_EMPTY(&sla.event_q) || !AST_LIST_EMPTY(&sla.ringing_trunks) 
-		|| !AST_LIST_EMPTY(&sla.ringing_stations)) {
+	if (!AST_LIST_EMPTY(&sla.event_q) || !AST_LIST_EMPTY(&sla.ringing_trunks)
+		|| !AST_LIST_EMPTY(&sla.ringing_stations) || !AST_LIST_EMPTY(&sla.failed_stations)) {
 		return;
 	}
 
@@ -6464,8 +6464,9 @@
 
 	AST_RWLIST_RDLOCK(&sla_trunks);
 	AST_RWLIST_TRAVERSE(&sla_trunks, trunk, entry) {
-		if (trunk->ref_count)
+		if (trunk->ref_count || trunk->chan || trunk->active_stations || trunk->hold_stations) {
 			break;
+		}
 	}
 	AST_RWLIST_UNLOCK(&sla_trunks);
 	if (trunk) {
@@ -6718,7 +6719,7 @@
 		return 0;
 	}
 
-	AST_RWLIST_RDLOCK(&sla_stations);
+	AST_RWLIST_WRLOCK(&sla_stations);
 	station = sla_find_station(station_name);
 	if (station)
 		ast_atomic_fetchadd_int((int *) &station->ref_count, 1);
@@ -6930,7 +6931,7 @@
 		}
 	}
 
-	AST_RWLIST_RDLOCK(&sla_trunks);
+	AST_RWLIST_WRLOCK(&sla_trunks);
 	trunk = sla_find_trunk(args.trunk_name);
 	if (trunk)
 		ast_atomic_fetchadd_int((int *) &trunk->ref_count, 1);

Modified: team/kmoore/stasis-bridging-channel_events/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/apps/app_queue.c?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/apps/app_queue.c (original)
+++ team/kmoore/stasis-bridging-channel_events/apps/app_queue.c Tue May  7 08:38:32 2013
@@ -4072,7 +4072,7 @@
  *
  * \todo eventually all call forward logic should be intergerated into and replaced by ast_call_forward()
  */
-static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callattempt *outgoing, int *to, char *digit, int prebusies, int caller_disconnect, int forwardsallowed)
+static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callattempt *outgoing, int *to, char *digit, int prebusies, int caller_disconnect, int forwardsallowed, int ringing)
 {
 	const char *queue = qe->parent->name;
 	struct callattempt *o, *start = NULL, *prev = NULL;
@@ -4583,6 +4583,16 @@
 		}
 	}
 
+	/* Make a position announcement, if enabled */
+ 	if (qe->parent->announcefrequency) {
+		say_position(qe, ringing);
+	}
+
+ 	/* Make a periodic announcement, if enabled */
+ 	if (qe->parent->periodicannouncefrequency) {
+ 		say_periodic_announcement(qe, ringing);
+ 	}
+ 
 	if (!*to) {
 		for (o = start; o; o = o->call_next) {
 			rna(orig, qe, o->interface, o->member->membername, 1);
@@ -5409,7 +5419,7 @@
 	ring_one(qe, outgoing, &numbusies);
 	lpeer = wait_for_answer(qe, outgoing, &to, &digit, numbusies,
 		ast_test_flag(&(bridge_config.features_caller), AST_FEATURE_DISCONNECT),
-		forwardsallowed);
+		forwardsallowed, ringing);
 	/* The ast_channel_datastore_remove() function could fail here if the
 	 * datastore was moved to another channel during a masquerade. If this is
 	 * the case, don't free the datastore here because later, when the channel

Modified: team/kmoore/stasis-bridging-channel_events/apps/app_stack.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/apps/app_stack.c?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/apps/app_stack.c (original)
+++ team/kmoore/stasis-bridging-channel_events/apps/app_stack.c Tue May  7 08:38:32 2013
@@ -40,6 +40,7 @@
 #include "asterisk/manager.h"
 #include "asterisk/channel.h"
 #include "asterisk/agi.h"
+#include "asterisk/stasis_channels.h"
 
 /*** DOCUMENTATION
 	<application name="Gosub" language="en_US">
@@ -202,7 +203,32 @@
 			<para>Cause the channel to execute the specified dialplan subroutine,
 			returning to the dialplan with execution of a Return().</para>
 		</description>
+		<see-also>
+			<ref type="application">GoSub</ref>
+		</see-also>
 	</agi>
+	<managerEvent language="en_US" name="VarSet">
+		<managerEventInstance class="EVENT_FLAG_DIALPLAN">
+			<synopsis>Raised when a variable local to the gosub stack frame is set due to a subroutine call.</synopsis>
+			<syntax>
+				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<parameter name="Variable">
+					<para>The LOCAL variable being set.</para>
+					<note><para>The variable name will always be enclosed with
+					<literal>LOCAL()</literal></para></note>
+				</parameter>
+				<parameter name="Value">
+					<para>The new value of the variable.</para>
+				</parameter>
+			</syntax>
+			<see-also>
+				<ref type="application">GoSub</ref>
+				<ref type="agi">gosub</ref>
+				<ref type="function">LOCAL</ref>
+				<ref type="function">LOCAL_PEEK</ref>
+			</see-also>
+		</managerEventInstance>
+	</managerEvent>
  ***/
 
 static const char app_gosub[] = "Gosub";
@@ -235,6 +261,8 @@
 {
 	struct ast_var_t *variables;
 	int found = 0;
+	int len;
+	RAII_VAR(char *, local_buffer, NULL, ast_free);
 
 	/* Does this variable already exist? */
 	AST_LIST_TRAVERSE(&frame->varshead, variables, entries) {
@@ -252,20 +280,13 @@
 		pbx_builtin_setvar_helper(chan, var, value);
 	}
 
-	/*** DOCUMENTATION
-	<managerEventInstance>
-		<synopsis>Raised when a LOCAL channel variable is set due to a subroutine call.</synopsis>
-		<see-also>
-			<ref type="application">GoSub</ref>
-		</see-also>
-	</managerEventInstance>
-	***/
-	manager_event(EVENT_FLAG_DIALPLAN, "VarSet",
-		"Channel: %s\r\n"
-		"Variable: LOCAL(%s)\r\n"
-		"Value: %s\r\n"
-		"Uniqueid: %s\r\n",
-		ast_channel_name(chan), var, value, ast_channel_uniqueid(chan));
+	len = 8 + strlen(var); /* LOCAL() + var */
+	local_buffer = ast_malloc(len);
+	if (!local_buffer) {
+		return 0;
+	}
+	sprintf(local_buffer, "LOCAL(%s)", var);
+	ast_channel_publish_varset(chan, local_buffer, value);
 	return 0;
 }
 

Modified: team/kmoore/stasis-bridging-channel_events/bridges/bridge_builtin_features.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/bridges/bridge_builtin_features.c?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/bridges/bridge_builtin_features.c (original)
+++ team/kmoore/stasis-bridging-channel_events/bridges/bridge_builtin_features.c Tue May  7 08:38:32 2013
@@ -349,10 +349,13 @@
  * to fully support existing functionality.  There will be one
  * and only one ast_bridge_channel structure per channel.
  */
-	/* Point the channel back to the original bridge_channel. */
+	/* Point the channel back to the original bridge and bridge_channel. */
+	ast_bridge_channel_lock(bridge_channel);
 	ast_channel_lock(bridge_channel->chan);
 	ast_channel_internal_bridge_channel_set(bridge_channel->chan, bridge_channel);
+	ast_channel_internal_bridge_set(bridge_channel->chan, bridge_channel->bridge);
 	ast_channel_unlock(bridge_channel->chan);
+	ast_bridge_channel_unlock(bridge_channel);
 
 	/* Wait for peer thread to exit bridge and die. */
 	if (!ast_autoservice_start(bridge_channel->chan)) {

Modified: team/kmoore/stasis-bridging-channel_events/build_tools/post_process_documentation.py
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/build_tools/post_process_documentation.py?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/build_tools/post_process_documentation.py (original)
+++ team/kmoore/stasis-bridging-channel_events/build_tools/post_process_documentation.py Tue May  7 08:38:32 2013
@@ -22,9 +22,9 @@
 
     def __swap_parameter_documentation(one, two):
         # See who has the better documentation and use it
-        if (one.hasChildNodes()):
+        if (one.hasChildNodes() and not two.hasChildNodes()):
             two.parentNode.replaceChild(one.cloneNode(True), two)
-        elif (two.hasChildNodes()):
+        elif (two.hasChildNodes() and not one.hasChildNodes()):
             one.parentNode.replaceChild(two.cloneNode(True), one)
 
     def __merge_parameter(param, other_instances):

Modified: team/kmoore/stasis-bridging-channel_events/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/channels/chan_dahdi.c?view=diff&rev=387797&r1=387796&r2=387797
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/channels/chan_dahdi.c (original)
+++ team/kmoore/stasis-bridging-channel_events/channels/chan_dahdi.c Tue May  7 08:38:32 2013
@@ -3271,7 +3271,7 @@
 		}
 		/* Fall through */
 	default:
-		ast_log(LOG_NOTICE, "PRI got event: %s (%d) on D-channel of span %d\n",
+		ast_log(LOG_NOTICE, "Got DAHDI event: %s (%d) on D-channel of span %d\n",
 			event2str(x), x, pri->span);
 		break;
 	}
@@ -5150,9 +5150,12 @@
 				if (drc) {
 					k = drc_sample(k, drc);
 				}
-				k = (float)k*linear_gain;
-				if (k > 32767) k = 32767;
-				if (k < -32767) k = -32767;
+				k = (float)k * linear_gain;
+				if (k > 32767) {
+					k = 32767;
+				} else if (k < -32768) {
+					k = -32768;
+				}
 				g->txgain[j] = AST_LIN2A(k);
 			} else {
 				g->txgain[j] = j;
@@ -5166,9 +5169,12 @@
 				if (drc) {
 					k = drc_sample(k, drc);
 				}
-				k = (float)k*linear_gain;
-				if (k > 32767) k = 32767;
-				if (k < -32767) k = -32767;
+				k = (float)k * linear_gain;
+				if (k > 32767) {
+					k = 32767;
+				} else if (k < -32768) {
+					k = -32768;
+				}
 				g->txgain[j] = AST_LIN2MU(k);
 
 			} else {
@@ -5193,9 +5199,12 @@
 				if (drc) {
 					k = drc_sample(k, drc);
 				}
-				k = (float)k*linear_gain;
-				if (k > 32767) k = 32767;
-				if (k < -32767) k = -32767;
+				k = (float)k * linear_gain;
+				if (k > 32767) {
+					k = 32767;
+				} else if (k < -32768) {
+					k = -32768;
+				}
 				g->rxgain[j] = AST_LIN2A(k);
 			} else {
 				g->rxgain[j] = j;
@@ -5209,9 +5218,12 @@
 				if (drc) {
 					k = drc_sample(k, drc);
 				}
-				k = (float)k*linear_gain;
-				if (k > 32767) k = 32767;
-				if (k < -32767) k = -32767;
+				k = (float)k * linear_gain;
+				if (k > 32767) {
+					k = 32767;
+				} else if (k < -32768) {
+					k = -32768;
+				}
 				g->rxgain[j] = AST_LIN2MU(k);
 			} else {
 				g->rxgain[j] = j;
@@ -6547,8 +6559,7 @@
 				p->owner = p->subs[SUB_REAL].owner;
 				if (ast_channel_state(p->owner) != AST_STATE_UP)
 					p->subs[SUB_REAL].needanswer = 1;
-				if (ast_bridged_channel(p->subs[SUB_REAL].owner))
-					ast_queue_control(p->subs[SUB_REAL].owner, AST_CONTROL_UNHOLD);
+				ast_queue_control(p->subs[SUB_REAL].owner, AST_CONTROL_UNHOLD);
 			} else if (p->subs[SUB_THREEWAY].dfd > -1) {
 				swap_subs(p, SUB_THREEWAY, SUB_REAL);
 				unalloc_sub(p, SUB_THREEWAY);
@@ -6569,7 +6580,7 @@
 			if (p->subs[SUB_CALLWAIT].inthreeway) {
 				/* This is actually part of a three way, placed on hold.  Place the third part
 				   on music on hold now */
-				if (p->subs[SUB_THREEWAY].owner && ast_bridged_channel(p->subs[SUB_THREEWAY].owner)) {
+				if (p->subs[SUB_THREEWAY].owner) {
 					ast_queue_control_data(p->subs[SUB_THREEWAY].owner, AST_CONTROL_HOLD,
 						S_OR(p->mohsuggest, NULL),
 						!ast_strlen_zero(p->mohsuggest) ? strlen(p->mohsuggest) + 1 : 0);
@@ -6584,7 +6595,7 @@
 			if (p->subs[SUB_CALLWAIT].inthreeway) {
 				/* The other party of the three way call is currently in a call-wait state.
 				   Start music on hold for them, and take the main guy out of the third call */
-				if (p->subs[SUB_CALLWAIT].owner && ast_bridged_channel(p->subs[SUB_CALLWAIT].owner)) {
+				if (p->subs[SUB_CALLWAIT].owner) {
 					ast_queue_control_data(p->subs[SUB_CALLWAIT].owner, AST_CONTROL_HOLD,
 						S_OR(p->mohsuggest, NULL),
 						!ast_strlen_zero(p->mohsuggest) ? strlen(p->mohsuggest) + 1 : 0);
@@ -7838,11 +7849,10 @@
 	   together (but then, why would we want to?) */
 	if (ast_bridged_channel(p->subs[SUB_REAL].owner)) {
 		/* The three-way person we're about to transfer to could still be in MOH, so
-		   stop if now if appropriate */
-		if (ast_bridged_channel(p->subs[SUB_THREEWAY].owner))
-			ast_queue_control(p->subs[SUB_THREEWAY].owner, AST_CONTROL_UNHOLD);
+		   stop it now */
+		ast_queue_control(p->subs[SUB_THREEWAY].owner, AST_CONTROL_UNHOLD);
 		if (ast_channel_state(p->subs[SUB_REAL].owner) == AST_STATE_RINGING) {
-			ast_indicate(ast_bridged_channel(p->subs[SUB_REAL].owner), AST_CONTROL_RINGING);
+			ast_queue_control(p->subs[SUB_REAL].owner, AST_CONTROL_RINGING);
 		}
 		if (ast_channel_state(p->subs[SUB_THREEWAY].owner) == AST_STATE_RING) {
 			tone_zone_play_tone(p->subs[SUB_THREEWAY].dfd, DAHDI_TONE_RINGTONE);
@@ -7858,7 +7868,7 @@
 	} else if (ast_bridged_channel(p->subs[SUB_THREEWAY].owner)) {
 		ast_queue_control(p->subs[SUB_REAL].owner, AST_CONTROL_UNHOLD);
 		if (ast_channel_state(p->subs[SUB_THREEWAY].owner) == AST_STATE_RINGING) {
-			ast_indicate(ast_bridged_channel(p->subs[SUB_THREEWAY].owner), AST_CONTROL_RINGING);
+			ast_queue_control(p->subs[SUB_THREEWAY].owner, AST_CONTROL_RINGING);
 		}

[... 6054 lines stripped ...]



More information about the asterisk-commits mailing list