[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