Steve Murphy
e189ffe5b5
This is the fix for bug 8386, wherein the time-limit args to dial didn't work correctly
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-22 02:19:09 +00:00
Kevin P. Fleming
ad0f8df528
backport proper channel_find_locked behavior from 1.4 branch (noted by Steve Davies on asterisk-dev list)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 19:02:09 +00:00
Steve Murphy
e301bc352f
This mod for bug_7506, to make the manager code output the proper event
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-07 18:22:01 +00:00
Russell Bryant
0d9ea31f3a
Fix a problem that occurred if a user entered a digit that matched a bridge
...
feature that was configured using multiple digits, and the digit that was
pressed timed out in the feature digit timeout period. For example, if blind
transfer is configured as '##', and a user presses just '#'. In this situation,
the call would lock up and no longer pass any frames.
(issue #7977 reported by festr, and issue #7982 reported by michaels and
valuable input provided by mneuhauser and kuj. Fixed by me, with testing help
and peer review from Joshua Colp).
There are a couple of issues involved in this fix:
1) When ast_generic_bridge determines that there has been a timeout, it returned
AST_BRIDGE_RETRY. Then, when ast_channel_bridge gets this result, it calls
ast_generic_bridge over again with the same timestamp for the next event.
This results in an endless loop of nothing until the call is terminated.
This is resolved by simply changing ast_generic_bridge to return
AST_BRIDGE_COMPLETE when it sees a timeout.
2) I also changed ast_channel_bridge such that if in the process of calculating
the time until the next event, it knows a timeout has already occured, to
immediately return AST_BRIDGE_COMPLETE instead of attempting to bridge the
channels anyway.
3) In the process of testing the previous two changes, I ran into a problem in
res_features where ast_channel_bridge would return because it determined
that there was a timeout. However, ast_bridge_call in res_features would
then determine by its own calculation that there was still 1 ms before the
timeout really occurs. It would then proceed, and since the bridge broke
out and did *not* return a frame, it interpreted this as the call was over
and hung up the channels.
The reason for this was because ast_bridge_call in res_features and
ast_channel_bridge in channel.c were using different times for their
calculations. channel.c uses the start_time on the bridge config, which
is the time that the feature digit was recieved. However, res_features
had another time, 'start', which was set right before calling
ast_channel_bridge. 'start' will always be slightly after start_time in the
bridge config, and sometimes enough to round up to one ms.
This is fixed by making ast_bridge_call use the same time as
ast_channel_bridge for the timeout calculation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@43778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-27 16:54:30 +00:00
Joshua Colp
c6e25717b4
Yay another 'round of spy fixes! This fixes a small logic flaw with the cleanup function and a memory allocation issue. (issue #7960 reported by jojo & issue #7999 reported by aster1) Special thanks to csum77 for letting me into a box where this issue was happening.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@43509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-22 21:53:51 +00:00
Joshua Colp
cc0f191aab
Only truly consider the channel in the same format if the format matches the raw format OR if a translation path already exists to translate between them. (issue #7887 reported by softins & issue #7803 reported by alvaro_palma_aste). Thanks goes to stubert for giving me access to a box and showing me a scenario where this occured.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@42600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-09 20:24:19 +00:00
Joshua Colp
25c493ffdc
Swap spies during masquerading
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@42452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-08 18:50:43 +00:00
Joshua Colp
68de3c0b29
Merge in last round of spy fixes. This should hopefully eliminate all the issues people have been seeing by distinctly separating what each component (core/spy) is responsible for. Core is responsible for adding a spy to a channel, feeding frames to the spy, removing the spy from a channel, and telling the spy to stop. Spy is responsible for reading frames in, and cleaning up after itself.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@42054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-05 20:02:48 +00:00
Joshua Colp
c42a8d9b99
Finish up the last commit (was worse then originally reported)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@41691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:33:00 +00:00
Joshua Colp
a5641b46de
Don't treat an unexpected control subclass as voice (issue #7858 reported by PCadach)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@41690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:28:08 +00:00
Russell Bryant
034a919e1f
Fix a few issues related to the handling of channel variables
...
- in pbx_builtin_serialize_variables(), the variable list traversal would stop
on a variables with empty name/values, which is not appropriate
- When removing the GROUP variables, use AST_LIST_REMOVE_CURRENT instead of
AST_LIST_REMOVE
- During masquerading, when copying the variables list from one channel to the
other, using AST_LIST_INSERT_TAIL is not valid for appending a whole list.
It leaves the tail pointer of the list invalid. Introduce a new macro,
AST_LIST_APPEND_LIST that appends a list properly.
(issue #7802 , softins)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@40994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-24 19:41:26 +00:00
Russell Bryant
2f5c21ded7
revert bogus change to attempt to fix bug 7506 which actually causes half of
...
the channels not to get "Newchannel" events at all (issue #7745 )
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@40227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-17 16:36:21 +00:00
Joshua Colp
1204f825d7
Reset our stream and vstream pointers back to NULL so that any generator that uses them (file based MOH) will not try to close them again. (issue #7668 reported by jmls)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@39056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07 00:15:51 +00:00
Russell Bryant
f4c24d5d62
Always generate a Newstate event in ast_setstate() instead of making it a
...
Newchannel event if the state was AST_STATE_DOWN. The Newchannel event will
always be generated in ast_request(), so this just causes a duplicated
Newchannel event in some cases.
(issue #7506 , repoted by capouch, fixed by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-05 09:01:37 +00:00
Russell Bryant
5e3b7eec7d
suppress a compiler warning about the usage of a potentially uninitialized variable
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-05 05:07:39 +00:00
Kevin P. Fleming
4f3b40fe79
ensure that the 'feature digit timeout' value is taken into account when deciding how long the bridge should run (this fixes a problem report where a digit press that did not invoke a feature is never passed across the bridge)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-01 23:07:06 +00:00
Kevin P. Fleming
6afc9c6c8f
do a better job avoiding translation path teardown/setup when not needed
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27 15:40:03 +00:00
Kevin P. Fleming
0b6aa9cd29
don't do useless translation destroy/build when the channel is already in the correct format
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27 02:43:49 +00:00
Kevin P. Fleming
152df40d57
do masquerade-behind-proxy checking with better control over locks
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@37361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10 21:01:35 +00:00
Matt O'Gorman
84881a0662
patch resolves issue with when to decide if its right time
...
to native bridge, feature redirect was not being checked.
patch from bug #7296
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@37224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 21:41:23 +00:00
Joshua Colp
d1afe5c64f
Greatly simply the mixmonitor thread, and move channel reference directly to spy structure so that the core can modify it.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@33724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-12 21:34:38 +00:00
Kevin P. Fleming
84c0989323
handle Zap transfers behind chan_agent properly so the agent doesn't get stuck waiting for the call to hang up
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@31520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-01 20:27:50 +00:00
Kevin P. Fleming
e6254eeb34
don't leak frames when deferring DTMF or dropping duplicate ANSWER frames (issue #7041 , slightly different fix, reported/patched by clausf)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@27468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-16 20:05:17 +00:00
Tilghman Lesher
891c6d599e
Rolling back change until kpfleming is comfy
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@22113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 22:39:10 +00:00
Tilghman Lesher
f2dc4f491d
Bug 7004 - release all threads waiting on a condition prior to freeing it
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@22112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 22:12:26 +00:00
Kevin P. Fleming
58c3bdc8f1
simplify spy queue flushing logic, and always force a flush when one side gets full, even if the other side is not empty (issue #6457 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@19347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 21:35:52 +00:00
Olle Johansson
ac9f562712
Revert earlier change
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@12072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-06 14:23:14 +00:00
Olle Johansson
b3af62dc4f
Fix for astmm compilation
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@12036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-06 11:03:46 +00:00
Russell Bryant
799247b4d5
don't hang up the channel if its state is set to UP before we return from ast_call (issue #6569 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@11250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-27 02:50:09 +00:00
Kevin P. Fleming
5fbe407b98
ensure that spy frame queueing is able to deal with translation failing for any reason (issue #6546 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@11058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-25 04:23:48 +00:00
Russell Bryant
e27d844918
now that CDR is a loadable module, don't depend on it elsewhere (issue #6460 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@9581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-11 18:15:00 +00:00
Olle Johansson
dc08bd8501
Issue #6439 - the "timebomb" bug. Patch by Markster over GPRS
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-25 09:46:43 +00:00
Kevin P. Fleming
05fed23d06
ensure that channel cannot become zombie after we check but before we try to start indications
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-24 22:32:09 +00:00
Russell Bryant
696922defe
fix MixMonitor crash (issue #6321 , probably others)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-22 17:47:13 +00:00
Matt O'Gorman
b0609b29aa
Minor typo refrenced in 6191
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 04:38:07 +00:00
Kevin P. Fleming
2f4783a770
eliminate rounding errors that caused call time limits to be inaccurate (issue #5913 )
...
round 'time left' reported during call limit warnings up to sound more accurate
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 23:49:50 +00:00
Kevin P. Fleming
229b778b0b
make monitoring more tolerant of peers that deliver frames in bursts
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:02:38 +00:00
Kevin P. Fleming
73ef559240
revert incorrect fix for bug #6048 from revision 7709
...
put in correct (simpler) fix
add doxygen docs for channel spy 'state' values
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 17:24:56 +00:00
Tilghman Lesher
89de6c9df6
Bug 6091 - Fix race condition around uniqueid
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30 14:54:19 +00:00
BJ Weschke
5a06af4d57
Bug #6003 - Don't free the channel structure until after having sent the manager event.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-15 02:51:54 +00:00
Kevin P. Fleming
0d3fc8d103
ensure channel's scheduling context is freed (issue #5788 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 23:34:58 +00:00
Kevin P. Fleming
463ebe8b4b
port memory leak fix from rev 7223 in trunk
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 03:20:42 +00:00
Kevin P. Fleming
a563eab49a
remove extraneous svn:executable properties
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Kevin P. Fleming
60ebbb5744
issue #5770
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 18:11:28 +00:00
Kevin P. Fleming
c6e7b2a333
issue #5590
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 03:48:28 +00:00
Kevin P. Fleming
5f50e4cb93
native bridging changes
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 17:20:35 +00:00
Kevin P. Fleming
b05e64ed12
issue #5564
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 21:11:57 +00:00
Kevin P. Fleming
cfced0420e
use a writeable frame (some channel drivers/transcoders may modify the frame after it has been passed to ast_write())
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 18:48:05 +00:00
Kevin P. Fleming
03ceef35ac
optionally send silence during recording (issue #5135 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 17:22:25 +00:00
Kevin P. Fleming
8fb55e2478
fix various bugs related to list handling of channel variables (issue #5548 )
...
use nolock lists for channel variables, since no locks are needed (these lists are either temporary or protected by the channel's own lock)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 15:34:11 +00:00