rmudgett: Author Summary
| Build | Completed | Code Changes | Tests |
|---|---|---|---|
| TESTING › ASTERISKTRUNK › #281 | 17 hours ago | No tests found | |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #337 | 17 hours ago |
The predial routine must be run on the local;1 channel.
When ast_call() operates on a local channel, it copies a lot of things from the local;1 channel to the local;2 channel. This includes among other things, channel variables and party id information. Other reasons it was a bad idea to run predial on the local;2 channel: 1) The channel has not been completely setup. The ast_call() completes the setup. 2) The local;2 caller and connected line party information is opposite to any other channels predial runs on. (And it hasn't been setup yet.) * Partially back out -r366183 by removing the chan_local implementation of the struct ast_channel_tech.pre_call callback. |
No tests found |
| TESTING › ASTERISKTRUNK › #280 | 19 hours ago |
Add predial support to FollowMe.
Like the new predial feature for Dial. This adds the same b/B options to FollowMe. Review: https://reviewboard.asterisk.org/r/1910/ |
No tests found |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #336 | 19 hours ago |
Add predial support to FollowMe.
Like the new predial feature for Dial. This adds the same b/B options to FollowMe. Review: https://reviewboard.asterisk.org/r/1910/ |
No tests found |
| TESTING › ASTERISKTRUNK › #279 | 1 day ago |
Make chan_local use the API call instead of inlining its own version.
|
No tests found |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #335 | 1 day ago |
Make chan_local use the API call instead of inlining its own version.
|
No tests found |
| PRI › 14 › #62 | 1 day ago |
Make pri_pres2str() return correct string.
* Fix pri_pres2str() mask creation. (closes issue PRI-139) Reported by: Pavel Troller Patches: q931.c.diff (license #5621) patch uploaded by Pavel Troller |
1 passed |
| TESTING › ASTERISKTRUNK › #273 | 4 days ago |
* Made ast_change_name() hold the channels container lock while changing the channel name.
* Eliminate redundant list not empty check in clone_variables(). ........ Merged revisions 366240 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366241 from http://svn.asterisk.org/svn/asterisk/branches/10 |
232 passed |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #329 | 4 days ago |
* Made ast_change_name() hold the channels container lock while changing the channel name.
* Eliminate redundant list not empty check in clone_variables(). ........ Merged revisions 366240 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366241 from http://svn.asterisk.org/svn/asterisk/branches/10 |
232 passed |
| TESTING › ASTERISK10BRANCH › #202 | 4 days ago |
* Made ast_change_name() hold the channels container lock while changing the channel name.
* Eliminate redundant list not empty check in clone_variables(). ........ Merged revisions 366240 from http://svn.asterisk.org/svn/asterisk/branches/1.8 |
1 of 210 failed |
| Build | Completed | Code Changes | Tests |
|---|---|---|---|
| TESTING › ASTERISK10BRANCH › #202 | 4 days ago |
* Made ast_change_name() hold the channels container lock while changing the channel name.
* Eliminate redundant list not empty check in clone_variables(). ........ Merged revisions 366240 from http://svn.asterisk.org/svn/asterisk/branches/1.8 |
1 of 210 failed |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #322 | 5 days ago |
Improve FollowMe accept/decline DTMF string matching.
If you hit the wrong DTMF digit trying to accept/decline a FollowMe call, you had to wait for the prompt to repeat to try again. * Make FollowMe compare the last DTMF digits received to the accept/decline matching strings. |
1 of 232 failed |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #319 | 6 days ago |
Make FollowMe findmeexec() put the list head on the stack instead of mallocing it.
Why this tiny struct was malloced instead of the 28k struct in the last change is beyond me. Just doing my part to help stamp out sillyness. |
No tests found |
| TESTING › ASTERISK10BRANCH › #135 | 2 weeks ago |
Clear ISDN channel resetting state if the peer continues to use it.
Some ISDN switches occasionally fail to send a RESTART ACKNOWLEDGE in response to a RESTART request. * Made the second SETUP received after sending a RESTART request clear the channel resetting state as if the peer had sent the expected RESTART ACKNOWLEDGE before continuing to process the SETUP. The peer may not be sending the expected RESTART ACKNOWLEDGE. (issue ASTERISK-19608) (issue AST-844) (issue AST-815) Patches: jira_ast_815_v1.8.patch (license #5621) patch uploaded by rmudgett (modified) ........ Merged revisions 363687 from http://svn.asterisk.org/svn/asterisk/branches/1.8 |
1 of 208 failed |
| TESTING › ASTERISK18BRANCH › #127 | 3 weeks ago |
Update app_dial M and U option GOTO return value documentation.
|
1 of 177 failed |
| TESTING › ASTERISKTRUNK › #176 | 3 weeks ago |
Fix connected-line/redirecting interception gosubs executing more than intended.
* Redo ast_app_run_sub()/ast_app_exec_sub() to use a known return point so execution will stop after the routine returns there. (s@gosub_virtual_context:1) * Create ast_app_exec_macro() and ast_app_exec_sub() to run the macro and gosub application respectively with the parameter string already created. |
1 of 230 failed |
| TESTING › ASTERISK18BRANCH › #122 | 3 weeks ago |
Update membermacro and membergosub documentation in queues.conf.sample.
|
1 of 177 failed |
| TESTING › ASTERISK10BRANCH › #82 | 1 month ago |
Fix logger deadlock on Asterisk shutdown.
The logger_thread() had an exit path that failed to release the logmsgs list lock. * Make logger_thread() exit path unlock the logmsgs list lock. * Made ast_log() not queue any messages to the logmsgs list if the close_logger_thread flag is set. (issue ASTERISK-19463) Reported by: Matt Jordan ........ Merged revisions 360933 from http://svn.asterisk.org/svn/asterisk/branches/1.8 |
22 of 206 failed |
| TESTING › ASTERISK18BRANCH › #83 | 1 month ago |
Fix logger deadlock on Asterisk shutdown.
The logger_thread() had an exit path that failed to release the logmsgs list lock. * Make logger_thread() exit path unlock the logmsgs list lock. * Made ast_log() not queue any messages to the logmsgs list if the close_logger_thread flag is set. (issue ASTERISK-19463) Reported by: Matt Jordan |
22 of 175 failed |
| TESTING › ASTERISKTRUNK › #91 | 1 month ago |
Allow AMI action callback to be reentrant.
Fix AMI module reload deadlock regression from ASTERISK-18479 when it tried to fix the race between calling an AMI action callback and unregistering that action. Refixes ASTERISK-13784 broken by ASTERISK-17785 change. Locking the ao2 object guaranteed that there were no active callbacks that mattered when ast_manager_unregister() was called. Unfortunately, this causes the deadlock situation. The patch stops locking the ao2 object to allow multiple threads to invoke the callback re-entrantly. There is no way to guarantee a module unload will not crash because of an active callback. The code attempts to minimize the chance with the registered flag and the maximum 5 second delay before ast_manager_unregister() returns. The trunk version of the patch changes the API to fix the race condition correctly to prevent the module code from unloading from memory while an action callback is active. * Don't hold the lock while calling the AMI action callback. (closes issue ASTERISK-19487) Reported by: Philippe Lindheimer Review: https://reviewboard.asterisk.org/r/1818/ Review: https://reviewboard.asterisk.org/r/1820/ ........ Merged revisions 359979 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359980 from http://svn.asterisk.org/svn/asterisk/branches/10 |
91 passed |
| Build | Completed | Code Changes | Tests |
|---|---|---|---|
| TESTING › ASTERISKTRUNK › #271 | 4 days ago |
Run predial routine on local;2 channel where you would expect.
Before this patch, the predial routine executes on the ;1 channel of a local channel pair. Executing predial on the ;1 channel of a local channel pair is of limited utility. Any channel variables set by the predial routine executing on the ;1 channel will not be available when the local channel executes dialplan on the ;2 channel. * Create ast_pre_call() and an associated pre_call() technology callback to handle running the predial routine. If a channel technology does not provide the callback, the predial routine is simply run on the channel. Review: https://reviewboard.asterisk.org/r/1903/ |
232 passed |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #320 | 6 days ago |
Restructure how the FollowMe outgoing channel list is handled.
Keep answered FollowMe calls until call accepted or last step times out.
Put winning FollowMe outgoing call on hold if the caller put it on hold.
The FollowMe caller call leg is usually answered and listening to MOH. The caller could put the call on hold while FollowMe is looking for a winner. The winning outgoing call is now immediately placed on hold if the caller has put the call on hold before the winning call was selected. Addendum to -r365766. Since it is no longer allocated.
|
232 passed |
| TESTING › ASTERISKTRUNK › #261 | 6 days ago |
Restructure how the FollowMe outgoing channel list is handled.
Keep answered FollowMe calls until call accepted or last step times out.
* Fix FollowMe memory leak on error paths in app_exec().
* Fix FollowMe leaving recorded caller name file on error paths in app_exec(). * Use correct buffer dimension define in struct fm_args.namerecloc[]. This fixes unexpected namerecloc filename length restriction. ........ Merged revisions 365692 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365701 from http://svn.asterisk.org/svn/asterisk/branches/10 Change comment to use local channel name designators in features.c
Fix type punned compiler warning in test_config.c
........ Merged revisions 365476 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365478 from http://svn.asterisk.org/svn/asterisk/branches/10 Fix local channel chains optimizing themselves out of a call.
* Made chan_local.c:check_bridge() check the return value of ast_channel_masquerade(). In long chains of local channels, the masquerade occasionally fails to get setup because there is another masquerade already setup on an adjacent local channel in the chain. * Made the outgoing local channel (the ;2 channel) flush one voice or video frame per optimization attempt. * Made sure that the outgoing local channel also does not have any frames in its queue before the masquerade. * Made do the masquerade immediately to minimize the chance that the outgoing channel queue does not get any new frames added and thus unconditionally flushed. * Made block indication -1 (Stop tones) event when the local channel is going to optimize itself out. When the call is answered, a chain of local channels pass down a -1 indication for each bridge. This blizzard of -1 events really slows down the optimization process. (closes issue ASTERISK-16711) Reported by: Alec Davis Tested by: rmudgett, Alec Davis Review: https://reviewboard.asterisk.org/r/1894/ ........ Merged revisions 365313 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365320 from http://svn.asterisk.org/svn/asterisk/branches/10 Addendum to -r365766. Since it is no longer allocated.
* Fix accept/decline DTMF buffer overwrite in FollowMe.
* Made use MAX_YN_STRING define to make all accept/decline DTMF buffers the same size. Just using 20 isn't good enough when someone didn't get the memo. * Fix stupid use of a global variable in FollowMe. (ynlongest) * Fix bit field declarations in FollowMe. ........ Merged revisions 365631 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365632 from http://svn.asterisk.org/svn/asterisk/branches/10 Make FollowMe app_exec() not declare a 28k struct on the stack.
Helping to stamp out stack abuse. Simplify findmeexec() parameter passing.
Make FollowMe findmeexec() put the list head on the stack instead of mallocing it.
Why this tiny struct was malloced instead of the 28k struct in the last change is beyond me. Just doing my part to help stamp out sillyness. Put winning FollowMe outgoing call on hold if the caller put it on hold.
The FollowMe caller call leg is usually answered and listening to MOH. The caller could put the call on hold while FollowMe is looking for a winner. The winning outgoing call is now immediately placed on hold if the caller has put the call on hold before the winning call was selected. |
232 passed |
| ASTTEAM › ASTERISKTRUNKDIGIUMPHONES › #315 | 6 days ago |
* Fix FollowMe memory leak on error paths in app_exec().
* Fix FollowMe leaving recorded caller name file on error paths in app_exec(). * Use correct buffer dimension define in struct fm_args.namerecloc[]. This fixes unexpected namerecloc filename length restriction. ........ Merged revisions 365692 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365701 from http://svn.asterisk.org/svn/asterisk/branches/10 |
232 passed |
| TESTING › ASTERISK10BRANCH › #137 | 2 weeks ago |
Update Pickup application documentation.
........ Merged revisions 363788 from http://svn.asterisk.org/svn/asterisk/branches/1.8 |
208 passed |
| TESTING › ASTERISKTRUNK › #177 | 3 weeks ago |
Update app_dial M and U option GOTO return value documentation.
........ Merged revisions 362997 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362998 from http://svn.asterisk.org/svn/asterisk/branches/10 |
230 passed |
| TESTING › ASTERISKTRUNK › #119 | 1 month ago |
Misc changes to make astobj2 enhancement diffs easier to follow.
* Rename astobj2 API parameter funcname to func. * Rename astobj2 API iterator parameter to iter. * Update some documentation for OBJ_MULTIPLE. |
228 passed |
| TESTING › ASTERISKTRUNK › #36 | 2 months ago |
Remove ISDN hold restriction for non-bridged calls.
The check if an ISDN call is bridged before it could be placed on hold is not necessary and is overly restrictive. The check was originally done to prevent problems with call transfers in case a user tried to transfer a call connected to an application to another call connected to an application. The ISDN transfer code has not required this restriction for quite some time because ECT could transfer any two active calls to each other. * Remove ISDN hold restriction for calls connected to applications. * Made ast_waitfordigit_full() ignore AST_CONTROL_HOLD and AST_CONTROL_UNHOLD instead of generating a warning message. (closes issue ASTERISK-19388) Reported by: Birger Harzenetter Tested by: rmudgett ........ Merged revisions 357894 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357895 from http://svn.asterisk.org/svn/asterisk/branches/10 Remove bad usage of goto in ChanSpy next_channel().
|
208 passed |
| TESTING › ASTERISKTRUNK › #23 | 2 months ago |
Use more reasonable cause code when rejecting incoming call waiting calls.
(closes issue ASTERISK-19397) Reported by: Birger Harzenetter Patches: nochannel-cause.patch (license #5870) patch uploaded by Birger Harzenetter ........ Merged revisions 357407 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357408 from http://svn.asterisk.org/svn/asterisk/branches/10 Fix REF_DEBUG compile errors.
|
206 passed |
| TESTING › ASTERISKTRUNK › #18 | 2 months ago |
Astobj2 locking enhancement.
Add the ability to specify what kind of locking an ao2 object has when it is allocated. The locking could be one of: MUTEX, RWLOCK, or none. New API: ao2_t_alloc_options() ao2_alloc_options() ao2_t_container_alloc_options() ao2_container_alloc_options() ao2_rdlock() ao2_wrlock() ao2_tryrdlock() ao2_trywrlock() The OBJ_NOLOCK and AO2_ITERATOR_DONTLOCK flags have a slight meaning change. They no longer mean that the object is protected by an external mechanism. They mean the lock associated with the object has already been manually obtained by one of the ao2_lock calls. This change is necessary for RWLOCK support since they are not reentrant. Also an operation on an ao2 container may require promoting a read lock to a write lock by releasing the already held read lock to re-acquire as a write lock. Replaced API calls: ao2_t_link_nolock() ao2_link_nolock() ao2_t_unlink_nolock() ao2_unlink_nolock() with the respective ao2_t_link_flags() ao2_link_flags() ao2_t_unlink_flags() ao2_unlink_flags() API calls to be more flexible and to allow an anticipated enhancement to control linking duplicate objects into a container. The changes to format.c and format_cap.c are taking advantange of the new ao2 locking options to simplify the use of the format capabilities containers. Review: https://reviewboard.asterisk.org/r/1554/ |
206 passed |
When ast_call() operates on a local channel, it copies a lot of things
from the local;1 channel to the local;2 channel. This includes among
other things, channel variables and party id information.
Other reasons it was a bad idea to run predial on the local;2 channel:
1) The channel has not been completely setup. The ast_call() completes
the setup.
2) The local;2 caller and connected line party information is opposite to
any other channels predial runs on. (And it hasn't been setup yet.)
* Partially back out -r366183 by removing the chan_local implementation of
the struct ast_channel_tech.pre_call callback.