Commit Graph

227 Commits

Author SHA1 Message Date
Mark Michelson
eec3edde9f Merged revisions 166092,166095 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r166092 | mmichelson | 2008-12-19 16:26:16 -0600 (Fri, 19 Dec 2008) | 28 lines

Adding a new dialplan function AUDIOHOOK_INHERIT

This function is being added as a method to allow for
an audiohook to move to a new channel during a channel
masquerade. The most obvious use for such a facility is
for MixMonitor when a transfer is performed. Prior to
the addition of this functionality, if a channel 
running MixMonitor was transferred by another party, then
the recording would stop once the transfer had completed.
By using AUDIOHOOK_INHERIT, you can make MixMonitor 
continue recording the call even after the transfer
has completed.

It has also been determined that since this is seen
by most as a bug fix and is not an invasive change,
this functionality will also be backported to 1.4 and
merged into the 1.6.0 branches, even though they are
feature-frozen.

(closes issue #13538)
Reported by: mbit
Patches:
      13538.patch uploaded by putnopvut (license 60)
	  Tested by: putnopvut

Review: http://reviewboard.digium.com/r/102/


........
r166095 | mmichelson | 2008-12-19 16:40:57 -0600 (Fri, 19 Dec 2008) | 5 lines

Remove the verbatim tag from the author line

I could have sworn I already did that before, though...


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@166097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 23:04:07 +00:00
Russell Bryant
28a97c18ee Merged revisions 164203 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r164203 | russell | 2008-12-15 08:40:24 -0600 (Mon, 15 Dec 2008) | 39 lines

Merged revisions 164201 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164201 | russell | 2008-12-15 08:31:37 -0600 (Mon, 15 Dec 2008) | 31 lines

Handle a case where a call can be bridged to a channel that is still ringing.

The issue that was reported was about a case where a RINGING channel got 
redirected to an extension to pick up a call from parking.  Once the parked 
call got taken out of parking, it heard silence until the other side answered.  
Ideally, the caller that was parked would get a ringing indication.  This patch
fixes this case so that the caller receives ringback once it comes out of 
parking until the other side answers.

The fixes are:

 - Make sure we remember that a channel was an outgoing channel when doing 
   a masquerade.  This prevents an erroneous ast_answer() call on the channel,
   which causes a bogus 200 OK to be sent in the case of SIP.

 - Add some additional comments to explain related parts of code.

 - Update the handling of the ast_channel visible_indication field.  Storing 
   values that are not stateful is pointless.  Control frames that are events 
   or commands should be ignored.

 - When a bridge first starts, check to see if the peer channel needs to be 
   given ringing indication because the calling side is still ringing.

 - Rework ast_indicate_data() a bit for the sake of readability.

(closes issue #13747)
Reported by: davidw
Tested by: russell
Review: http://reviewboard.digium.com/r/90/

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@164279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 16:26:09 +00:00
Russell Bryant
d94b6eeeaf Merged revisions 163449 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r163449 | russell | 2008-12-12 07:55:30 -0600 (Fri, 12 Dec 2008) | 34 lines

Merged revisions 163448 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r163448 | russell | 2008-12-12 07:44:08 -0600 (Fri, 12 Dec 2008) | 26 lines

Resolve issues that could cause DTMF to be processed out of order.

These changes come from team/russell/issue_12658

1) Change autoservice to put digits on the head of the channel's frame readq 
   instead of the tail.  If there were frames on the readq that autoservice 
   had not yet read, the previous code would have resulted in out of order 
   processing.  This required a new API call to queue a frame to the head 
   of the queue instead of the tail.

2) Change up the processing of DTMF in ast_read().  Some of the problems 
   were the result of having two sources of pending DTMF frames.  There 
   was the dtmfq and the more generic readq.  Both were used for pending 
   DTMF in various scenarios.  Simplifying things to only use the frame 
   readq avoids some of the problems.

3) Fix a bug where a DTMF END frame could get passed through when it 
   shouldn't have.  If code set END_DTMF_ONLY in the middle of digit emulation,
   and a digit arrived before emulation was complete, digits would get 
   processed out of order.

(closes issue #12658)
Reported by: dimas
Tested by: russell, file
Review: http://reviewboard.digium.com/r/85/

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@163450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 14:05:01 +00:00
Russell Bryant
668ac35844 Merged revisions 163171 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r163171 | russell | 2008-12-11 14:07:47 -0600 (Thu, 11 Dec 2008) | 16 lines

Fix the "failed" extension for outgoing calls.  

The conversion to use ast_check_hangup() everywhere instead of checking the softhangup
flag directly introduced this problem.  The issue is that ast_check_hangup() checked
for tech_pvt to be NULL.  Unfortunately, this will be NULL is some valid circumstances,
such as with a dummy channel.

The fix is simple.  Don't check tech_pvt.  It's pointless, because the code path that
sets this to NULL is when the channel hangup callback gets called.  This happens inside
of ast_hangup(), which is the same function responsible for freeing the channel.  Any
code calling ast_check_hangup() better not be calling it after that point, and if so,
we have a bigger problem at hand.

(closes issue #14035)
Reported by: erogoza

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@163172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 20:09:10 +00:00
Mark Michelson
0ecfb8e29e I don't care what anyone says, this change is going into 1.6.0.
Otherwise, the simple act of logging an agent in spams the CLI
with warning messages about failed reads of the alertpipe.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@159314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 22:28:48 +00:00
Kevin P. Fleming
fa635ea4b0 port gcc 4.3.x warning fixes from trunk to this branch
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@153743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-03 00:39:04 +00:00
Russell Bryant
449cf2d24a Merged revisions 141949 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r141949 | russell | 2008-09-08 20:47:56 -0500 (Mon, 08 Sep 2008) | 9 lines

Modify ast_answer() to not hold the channel lock while calling ast_safe_sleep()
or when calling ast_waitfor().  These are inappropriate times to hold the channel
lock.  This is what has caused "could not get the channel lock" messages from
chan_sip and has likely caused a negative impact on performance results of SIP
in Asterisk 1.6.  Thanks to file for pointing out this section of code.

(closes issue #13287)
(closes issue #13115)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@141950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-09 01:49:25 +00:00
Steve Murphy
90d877b2da Merged revisions 141157 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r141157 | murf | 2008-09-05 08:18:43 -0600 (Fri, 05 Sep 2008) | 9 lines

Merged revisions 141156 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r141156 | murf | 2008-09-05 08:15:43 -0600 (Fri, 05 Sep 2008) | 1 line

A small change to prevent double-posting of CDR's; thanks to Daniel Ferrer for bringing it to our attention
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@141158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-05 14:24:10 +00:00
Steve Murphy
a3b41b28b6 Merged revisions 140692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r140692 | murf | 2008-09-02 16:55:12 -0600 (Tue, 02 Sep 2008) | 13 lines

Merged revisions 140690 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r140690 | murf | 2008-09-02 16:40:13 -0600 (Tue, 02 Sep 2008) | 1 line

After reconsidering, with respect to 13409, ast_cdr_detach should be OK, better in fact, than ast_cdr_free, which generates lots of useless warnings that will undoubtably generate complaints.

Hmmm. It doesn't hush the useless warnings, but it does allow control of posting via the detach and post routines, for those possible situations,
where you'd want to post single-channel cdrs.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@140826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-03 14:16:02 +00:00
Steve Murphy
a561485ccf Merged revisions 140691 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r140691 | murf | 2008-09-02 16:50:59 -0600 (Tue, 02 Sep 2008) | 22 lines

Merged revisions 140670 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r140670 | murf | 2008-09-02 16:15:57 -0600 (Tue, 02 Sep 2008) | 14 lines

(closes issue #13409)
Reported by: tomaso
Patches:
      asterisk-1.6.0-rc2-cdrmemleak.patch uploaded by tomaso (license 564)

I basically spent the day, verifying that this patch 
solves the problem, and doesn't hurt in non-problem 
cases. Why valgrind did not plainly reveal this leak
absolutely mystifies and stuns me. 

Many, many thanks to tomaso for finding and providing the fix.



........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@140825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-03 14:13:50 +00:00
Mark Michelson
23bcd9b4a1 Merged revisions 136633 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r136633 | mmichelson | 2008-08-07 14:54:27 -0500 (Thu, 07 Aug 2008) | 7 lines

Fix a calculation error I had made in the poll. The poll
would reset to 500 ms every time a non-voice frame
was received. The total time we poll should be 500 ms, so
now we save the amount of time left after the poll returned
and use that as our argument for the next call to poll


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@136634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 19:54:47 +00:00
Mark Michelson
4ff12eb20c Merged revisions 136631 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r136631 | mmichelson | 2008-08-07 14:36:46 -0500 (Thu, 07 Aug 2008) | 13 lines

Scrap the 500 ms delay when Asterisk auto-answers a channel.
Instead, poll the channel until receiving a voice frame. The
cap on this poll is 500 ms.

The optional delay is still allowable in the Answer() application,
but the delay has been moved back to its original position, after
the call to the channel's answer callback. The poll for the voice
frame will not happen if a delay is specified when calling Answer().

(closes issue #12708)
Reported by: kactus


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@136632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 19:37:48 +00:00
Tilghman Lesher
d645fe1754 Merged revisions 135950 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r135950 | tilghman | 2008-08-05 22:55:49 -0500 (Tue, 05 Aug 2008) | 12 lines

Merged revisions 135949 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r135949 | tilghman | 2008-08-05 22:53:36 -0500 (Tue, 05 Aug 2008) | 4 lines

Fix a longstanding bug in channel walking logic, and fix the explanation to
make sense.
(Closes issue #13124)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 03:56:30 +00:00
Mark Michelson
8417f7bfb1 Merged revisions 135851 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r135851 | mmichelson | 2008-08-05 19:30:53 -0500 (Tue, 05 Aug 2008) | 48 lines

Merged revisions 135841,135847,135850 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r135841 | mmichelson | 2008-08-05 19:25:10 -0500 (Tue, 05 Aug 2008) | 27 lines

Merging the issue11259 branch.

The purpose of this branch was to take into account
"burps" which could cause jitterbuffers to misbehave.
One such example is if the L option to Dial() were used
to inject audio into a bridged conversation at regular
intervals. Since the audio here was not passed through
the jitterbuffer, it would cause a gap in the jitterbuffer's
timestamps which would cause a frames to be dropped for a 
brief period.

Now ast_generic_bridge will empty and reset the jitterbuffer
each time it is called. This causes injected audio to be handled
properly.

ast_generic_bridge also will empty and reset the jitterbuffer
if it receives an AST_CONTROL_SRCUPDATE frame since the change
in audio source could negatively affect the jitterbuffer.

All of this was made possible by adding a new public API call
to the abstract_jb called ast_jb_empty_and_reset.

(closes issue #11259)
Reported by: plack
Tested by: putnopvut


........
r135847 | mmichelson | 2008-08-05 19:27:54 -0500 (Tue, 05 Aug 2008) | 4 lines

Revert inadvertent changes to app_skel that occurred when
I was testing for a memory leak


........
r135850 | mmichelson | 2008-08-05 19:29:54 -0500 (Tue, 05 Aug 2008) | 3 lines

Remove properties that should not be here


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 00:31:28 +00:00
Steve Murphy
638711f573 Merged revisions 135821 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r135821 | murf | 2008-08-05 17:45:32 -0600 (Tue, 05 Aug 2008) | 42 lines

Merged revisions 135799 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r135799 | murf | 2008-08-05 17:13:20 -0600 (Tue, 05 Aug 2008) | 34 lines

(closes issue #12982)
Reported by: bcnit
Tested by: murf

I discovered that also, in the previous bug fixes and changes,
the cdr.conf 'unanswered' option is not being obeyed, so
I fixed this.

And, yes, there are two 'answer' times involved in this
scenario, and I would agree with you, that the first 
answer time is the time that should appear in the CDR.
(the second 'answer' time is the time that the bridge
was begun).

I made the necessary adjustments, recording the first
answer time into the peer cdr, and then using that to
override the bridge cdr's value.

To get the 'unanswered' CDRs to appear, I purposely
output them, using the dial cmd to mark them as
DIALED (with a new flag), and outputting them if
they bear that flag, and you are in the right mode.

I also corrected one small mention of the Zap device
to equally consider the dahdi device.

I heavily tested 10-sec-wait macros in dial, and
without the macro call; I tested hangups while the
macro was running vs. letting the macro complete
and the bridge form. Looks OK. Removed all the
instrumentation and debug.



........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-05 23:52:14 +00:00
Kevin P. Fleming
261a4972f6 Merged revisions 134086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r134086 | kpfleming | 2008-07-28 11:42:00 -0500 (Mon, 28 Jul 2008) | 3 lines

remove remaining Zaptel references in various places


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-28 16:49:18 +00:00
Tilghman Lesher
e680b3734f Merged revisions 133665 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r133665 | tilghman | 2008-07-25 12:24:43 -0500 (Fri, 25 Jul 2008) | 16 lines

Merged revisions 133649 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r133649 | tilghman | 2008-07-25 12:19:39 -0500 (Fri, 25 Jul 2008) | 8 lines

Fix some errant device states by making the devicestate API more strict in
terms of the device argument (only without the unique identifier appended).
(closes issue #12771)
 Reported by: davidw
 Patches: 
       20080717__bug12771.diff.txt uploaded by Corydon76 (license 14)
 Tested by: davidw, jvandal, murf

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@133671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 17:26:38 +00:00
Brett Bryant
b065565bd4 Merged revisions 129045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r129045 | bbryant | 2008-07-08 11:40:28 -0500 (Tue, 08 Jul 2008) | 7 lines

Janitor project to convert sizeof to ARRAY_LEN macro.

(closes issue #13002)
Reported by: caio1982
Patches:
      janitor_arraylen5.diff uploaded by caio1982 (license 22)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@129046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-08 16:41:31 +00:00
Steve Murphy
b8002ee93e Merged revisions 127793 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r127793 | murf | 2008-07-03 11:16:44 -0600 (Thu, 03 Jul 2008) | 38 lines

Merged revisions 127663 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r127663 | murf | 2008-07-02 18:16:25 -0600 (Wed, 02 Jul 2008) | 30 lines

The CDRfix4/5/6 omnibus cdr fixes.

(closes issue #10927)
Reported by: murf
Tested by: murf, deeperror

(closes issue #12907)
Reported by: falves11
Tested by: murf, falves11


(closes issue #11849)
Reported by: greyvoip

As to 11849, I think these changes fix the core problems 
brought up in that bug, but perhaps not the more global
problems created by the limitations of CDR's themselves
not being oriented around transfers.

Reopen if necc, but bug reports are not the best
medium for enhancement discussions. We need to start
a second-generation CDR standardization effort to cover
transfers.

(closes issue #11093)
Reported by: rossbeer
Tested by: greyvoip, murf



........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@127830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-03 19:12:14 +00:00
Mark Michelson
d3caa53777 Merged revisions 127157 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r127157 | mmichelson | 2008-07-01 16:16:00 -0500 (Tue, 01 Jul 2008) | 8 lines

Place the delay in __ast_answer prior to the channel-specific answer
callback. This change differs from commit 127113 in that now the 
channel is not set to AST_STATE_UP until after the answer callback.

(closes issue #12924)
Reported by: snyfer


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@127158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-01 21:16:33 +00:00
Mark Michelson
647d2c800a Merging Revision 127113 from trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@127156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-01 21:13:32 +00:00
Mark Michelson
307dc9d032 Make sure to only include dahdi/user.h if we have
installed DAHDI. 



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@125852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-27 14:57:28 +00:00
Kevin P. Fleming
0b30f14b33 Merged revisions 125138 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r125138 | kpfleming | 2008-06-25 18:05:28 -0500 (Wed, 25 Jun 2008) | 18 lines

Merged revisions 125132 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r125132 | kpfleming | 2008-06-25 17:21:30 -0500 (Wed, 25 Jun 2008) | 10 lines

allow tonezone to live in a different place than DAHDI/Zaptel, since dahdi-tools and dahdi-linux are now separate packages and can be installed in different places

don't include tonezone.h in dahdi_compat.h, because only a couple of modules need it

get app_rpt building again after the DAHDI changes

(closes issue #12911)
Reported by: tzafrir


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@125146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 23:20:35 +00:00
Tilghman Lesher
b717d74470 Merged revisions 123931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r123931 | tilghman | 2008-06-19 12:02:54 -0500 (Thu, 19 Jun 2008) | 13 lines

Merged revisions 123930 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r123930 | tilghman | 2008-06-19 11:58:19 -0500 (Thu, 19 Jun 2008) | 5 lines

Change informative messages to use the _multiple variant when multiple formats
are possible.
(Closes issue #12848)
Reported by klaus3000

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@123932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-19 17:04:42 +00:00
Jeff Peeler
f089bbf663 Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@123332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17 18:08:09 +00:00
Tilghman Lesher
24df44d002 Merged revisions 122131 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r122131 | tilghman | 2008-06-12 10:14:37 -0500 (Thu, 12 Jun 2008) | 12 lines

Merged revisions 122130 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r122130 | tilghman | 2008-06-12 10:11:30 -0500 (Thu, 12 Jun 2008) | 4 lines

Occasionally, the alertpipe loses its nonblocking status, so detect and correct
that situation before it causes a deadlock.  (Reported and tested by ctooley
via #asterisk-dev)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@122132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 15:15:25 +00:00
Tilghman Lesher
ec5a235672 Merged revisions 121867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r121867 | tilghman | 2008-06-11 13:19:24 -0500 (Wed, 11 Jun 2008) | 11 lines

Merged revisions 121861 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r121861 | tilghman | 2008-06-11 13:18:16 -0500 (Wed, 11 Jun 2008) | 3 lines

Make calls to ast_assert() actually test something, so that the error message
printed is not nonsensical (reported by mvanbaak via #asterisk-bugs).

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@121872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-11 18:20:18 +00:00
Joshua Colp
3c7c23d269 Merged revisions 121444 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r121444 | file | 2008-06-10 09:54:39 -0300 (Tue, 10 Jun 2008) | 12 lines

Merged revisions 121442 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r121442 | file | 2008-06-10 09:52:06 -0300 (Tue, 10 Jun 2008) | 4 lines

Update BRIDGEPEER variable before we do a generic bridge in case we just broke out of a native bridge and fell through to generic.
(closes issue #12815)
Reported by: ramonpeek

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@121445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 12:55:24 +00:00
Russell Bryant
3abaf28d74 Merged revisions 121282 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r121282 | russell | 2008-06-09 11:37:08 -0500 (Mon, 09 Jun 2008) | 18 lines

Merged revisions 121280 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r121280 | russell | 2008-06-09 11:35:40 -0500 (Mon, 09 Jun 2008) | 10 lines

Do not attempt to do emulation if an END digit is received and the length is
less than the defined minimum digit length, and the other end only wants END
digits (SIP INFO, for example).

(closes issue #12778)
Reported by: tsearle
Patches:
      12778.rev1.txt uploaded by russell (license 2)
Tested by: tsearle

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@121283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-09 16:37:36 +00:00
Russell Bryant
8b3150e282 Merged revisions 116469 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r116469 | russell | 2008-05-14 16:40:43 -0500 (Wed, 14 May 2008) | 12 lines

Merged revisions 116463 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116463 | russell | 2008-05-14 16:32:00 -0500 (Wed, 14 May 2008) | 4 lines

Add ast_assert(), which can be used to handle fatal errors.  It is only compiled
in if dev-mode is enabled, and only aborts if DO_CRASH is defined.
(inspired by issue #12650)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@116470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 21:41:09 +00:00
Mark Michelson
0ea1c980a0 Merged revisions 116089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r116089 | mmichelson | 2008-05-13 18:54:01 -0500 (Tue, 13 May 2008) | 20 lines

Merged revisions 116088 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116088 | mmichelson | 2008-05-13 18:47:49 -0500 (Tue, 13 May 2008) | 12 lines

A change to the way channel locks are handled when DEBUG_CHANNEL_LOCKS is defined.

After debugging a deadlock, it was noticed that when DEBUG_CHANNEL_LOCKS
is enabled in menuselect, the actual origin of channel locks is obscured
by the fact that all channel locks appear to happen in the function
ast_channel_lock(). This code change redefines ast_channel_lock to be a
macro which maps to __ast_channel_lock(), which then relays the proper
file name, line number, and function name information to the core lock
functions so that this information will be displayed in the case that
there is some sort of locking error or core show locks is issued.


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@116096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 23:58:34 +00:00
Russell Bryant
2a69116229 Merged revisions 114548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r114548 | russell | 2008-04-22 15:25:56 -0500 (Tue, 22 Apr 2008) | 2 lines

re-add a fix that got lost with a recent change

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 20:27:09 +00:00
Mark Michelson
128e5426c4 Merged revisions 114118 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114118 | mmichelson | 2008-04-14 12:42:20 -0500 (Mon, 14 Apr 2008) | 19 lines

Merged revisions 114117 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114117 | mmichelson | 2008-04-14 12:41:03 -0500 (Mon, 14 Apr 2008) | 11 lines

Increase the retry count when attempting to show channels. This apparently
cleared an issue someone was seeing when attempting to show channels when
the load was high.

(closes issue #11667)
Reported by: falves11
Patches:
      11677.txt uploaded by russell (license 2)
Tested by: falves11


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-14 17:42:55 +00:00
Mark Michelson
c243c96214 Merged revisions 114107 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114107 | mmichelson | 2008-04-14 10:01:36 -0500 (Mon, 14 Apr 2008) | 13 lines

Merged revisions 114106 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114106 | mmichelson | 2008-04-14 09:58:02 -0500 (Mon, 14 Apr 2008) | 5 lines

Save a local copy of the generate callback prior to unlocking the channel in
case the generate callback goes NULL on us after the channel is unlocked. Thanks
to Russell for pointing this need out to me.


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-14 15:02:43 +00:00
Mark Michelson
a0d427bd18 Merged revisions 113066 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r113066 | mmichelson | 2008-04-07 11:12:30 -0500 (Mon, 07 Apr 2008) | 21 lines

Merged revisions 113065 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113065 | mmichelson | 2008-04-07 11:08:45 -0500 (Mon, 07 Apr 2008) | 13 lines

This fix prevents a deadlock that was experienced in chan_local. There was
deadlock prevention in place in chan_local, but it would not work in a specific
case because the channel was recursively locked. By unlocking the channel prior
to calling the generator's generate callback in ast_read_generator_actions(), we
prevent the recursive locking, and therefore the deadlock.

(closes issue #12307)
Reported by: callguy
Patches:
      12307.patch uploaded by putnopvut (license 60)
Tested by: callguy


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@113067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-07 16:13:23 +00:00
Russell Bryant
30f7c61f66 Merged revisions 110268 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r110268 | russell | 2008-03-20 12:41:22 -0500 (Thu, 20 Mar 2008) | 27 lines

Add some fixes that I made in regards to wideband codec handling to get
G.722 music on hold working for me.

(issue #12164, reported by milazzo and jsmith, patches by me)

res/res_musiconhold.c:
 - I moved a single line so that the sample queue update happened before
   ast_write().  The reason that this was a bug is that the G.722 frame
   originally says it has 320 samples in it (which is correct).  However,
   when the frame is written to a channel that uses RTP, main/rtp.c modifies
   the frame to cut the number of samples in half before it sends it on
   the wire.  This is to account for the stupid incorrect G.722 spec that
   makes it so we have to lie about the number of samples with RTP.  I should
   probably go and re-work the RTP code so it doesn't modify the frame so
   that a bug like this won't happen in the future.  However, this change to
   MOH is harmless.

main/channel.c:
 - I made two fixes in regards to generator timing.  Generators use samples
   for timing.  However, this code assumed 8 kHz samples.  In one case, it was
   a hard coded 160 samples, that is now written as the sample rate / 50.  The
   other place was dealing with timing a generator based on frames coming from
   the other direction.  However, that would have only worked if the sample
   rates for the formats in both directions were the same.  The code now takes
   into account that the sample rates may differ, and scales the generator
   samples accordingly.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@110269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-20 17:41:45 +00:00
Russell Bryant
e2d7bed99a Merged revisions 108584 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r108584 | russell | 2008-03-13 16:40:43 -0500 (Thu, 13 Mar 2008) | 19 lines

Merged revisions 108583 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108583 | russell | 2008-03-13 16:38:16 -0500 (Thu, 13 Mar 2008) | 11 lines

Fix another issue that was causing crashes in chanspy.  This introduces a new
datastore callback, called chan_fixup().  The concept is exactly like the
fixup callback that is used in the channel technology interface.  This callback
gets called when the owning channel changes due to a masquerade.  Before this
was introduced, if a masquerade happened on a channel being spyed on, the
channel pointer in the datastore became invalid.

(closes issue #12187)
(reported by, and lots of testing from atis)
(props to file for the help with ideas)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@108585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13 21:41:14 +00:00
Russell Bryant
45de934e14 Merged revisions 108137 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r108137 | russell | 2008-03-12 14:59:05 -0500 (Wed, 12 Mar 2008) | 48 lines

Merged revisions 108135 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108135 | russell | 2008-03-12 14:57:42 -0500 (Wed, 12 Mar 2008) | 40 lines

(closes issue #12187, reported by atis, fixed by me after some brainstorming
 on the issue with mmichelson)

- Update copyright info on app_chanspy.

- Fix a race condition that caused app_chanspy to crash.  The issue was that
  the chanspy datastore magic that was used to ensure that spyee channels did
  not disappear out from under the code did not completely solve the problem.
  It was actually possible for chanspy to acquire a channel reference out of
  its datastore to a channel that was in the middle of being destroyed.  That
  was because datastore destruction in ast_channel_free() was done near the
  end.  So, this left the code in app_chanspy accessing a channel that was
  partially, or completely invalid because it was in the process of being free'd
  by another thread.  The following sort of shows the code path where the race 
  occurred:

  =============================================================================
  Thread 1 (PBX thread for spyee chan)  ||   Thread 2 (chanspy)
  --------------------------------------||-------------------------------------
  ast_channel_free()                    ||
    - remove channel from channel list  ||
    - lock/unlock the channel to ensure ||
      that no references retrieved from ||
      the channel list exist.           ||
  --------------------------------------||-------------------------------------
                                        || channel_spy()
    - destroy some channel data         ||  - Lock chanspy datastore
                                        ||  - Retrieve reference to channel
                                        ||  - lock channel
                                        ||  - Unlock chanspy datastore
  --------------------------------------||-------------------------------------
     - destroy channel datastores       ||
        - call chanspy datastore d'tor  ||  
          which NULL's out the ds'      ||  - Operate on the channel ...
          reference to the channel      ||     
                                        ||
    - free the channel                  || 
                                        ||
                                        ||  - unlock the channel
  --------------------------------------||-------------------------------------
  =============================================================================

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@108138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 19:59:24 +00:00
Russell Bryant
3e717dce36 Merged revisions 108032 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r108032 | russell | 2008-03-12 12:02:57 -0500 (Wed, 12 Mar 2008) | 12 lines

Merged revisions 108031 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108031 | russell | 2008-03-12 11:59:07 -0500 (Wed, 12 Mar 2008) | 4 lines

Destroy the channel lock after the channel datastores.

(inspired by issue #12187)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@108033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 17:03:18 +00:00
Russell Bryant
9d24a5691f Merged revisions 107103 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r107103 | russell | 2008-03-10 12:13:34 -0500 (Mon, 10 Mar 2008) | 10 lines

Merged revisions 107102 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107102 | russell | 2008-03-10 12:13:17 -0500 (Mon, 10 Mar 2008) | 2 lines

Resolve a compiler warning.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@107104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10 17:13:54 +00:00
Russell Bryant
8d28aa58f6 Merged revisions 107100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r107100 | russell | 2008-03-10 11:59:13 -0500 (Mon, 10 Mar 2008) | 11 lines

Merged revisions 107099 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107099 | russell | 2008-03-10 11:58:57 -0500 (Mon, 10 Mar 2008) | 3 lines

Fix a race condition where the generator can go away
(closes issue #12175, reported by edantie, patched by me)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@107101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10 16:59:33 +00:00
Joshua Colp
254ea518ef Merged revisions 106789 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r106789 | file | 2008-03-07 15:33:09 -0400 (Fri, 07 Mar 2008) | 12 lines

Merged revisions 106788 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106788 | file | 2008-03-07 15:32:00 -0400 (Fri, 07 Mar 2008) | 4 lines

Ignore source update control frame.
(closes issue #12168)
Reported by: plack

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@106790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 19:34:45 +00:00
Tilghman Lesher
fd382738e3 Merged revisions 106553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r106553 | tilghman | 2008-03-07 00:54:47 -0600 (Fri, 07 Mar 2008) | 14 lines

Merged revisions 106552 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106552 | tilghman | 2008-03-07 00:36:33 -0600 (Fri, 07 Mar 2008) | 6 lines

Safely use the strncat() function.
(closes issue #11958)
 Reported by: norman
 Patches: 
       20080209__bug11958.diff.txt uploaded by Corydon76 (license 14)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@106554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 06:57:44 +00:00
Russell Bryant
90046983f7 Merged revisions 106239 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r106239 | file | 2008-03-05 16:43:22 -0600 (Wed, 05 Mar 2008) | 12 lines

Merged revisions 106235 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines

Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things.
(closes issue #12148)
Reported by: jcomellas

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@106318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06 00:22:20 +00:00
Russell Bryant
9c09333526 Merged revisions 105840 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r105840 | tilghman | 2008-03-04 17:04:29 -0600 (Tue, 04 Mar 2008) | 2 lines

Whitespace changes only

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@106306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06 00:14:32 +00:00
Russell Bryant
8372a9bf08 3) In addition to merging the changes below, change trunk back to a regular
LIST instead of an RWLIST.  The way this list works makes it such that
   a RWLIST provides no additional benefit.  Also, a mutex is needed for
   use with the thread condition.


Merged revisions 105563 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105563 | russell | 2008-03-03 09:50:43 -0600 (Mon, 03 Mar 2008) | 24 lines

Merge in some changes from team/russell/autoservice-nochans-1.4

These changes fix up some dubious code that I came across while auditing what
happens in the autoservice thread when there are no channels currently in
autoservice.

1) Change it so that autoservice thread doesn't keep looping around calling
   ast_waitfor_n() on 0 channels twice a second.  Instead, use a thread condition
   so that the thread properly goes to sleep and does not wake up until a
   channel is put into autoservice.

   This actually fixes an interesting bug, as well.  If the autoservice thread
   is already running (almost always is the case), then when the thread goes
   from having 0 channels to have 1 channel to autoservice, that channel would
   have to wait for up to 1/2 of a second to have the first frame read from it.

2) Fix up the code in ast_waitfor_nandfds() for when it gets called with no
   channels and no fds to poll() on, such as was the case with the previous code
   for the autoservice thread.  In this case, the code would call alloca(0), and
   pass the result as the first argument to poll().  In this case, the 2nd
   argument to poll() specified that there were no fds, so this invalid pointer
   shouldn't actually get dereferenced, but, this code makes it explicit and
   ensures the pointers are NULL unless we have valid data to put there.

(related to issue #12116)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03 15:59:50 +00:00
Joshua Colp
b21ca22fb0 Merged revisions 105560 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105560 | file | 2008-03-03 11:28:59 -0400 (Mon, 03 Mar 2008) | 7 lines

It is possible for no audio to pass between the current digit and next digit so expand logic that clears emulation to AST_FRAME_NULL.
(closes issue #11911)
Reported by: edgreenberg
Patches:
      v1-11911.patch uploaded by dimas (license 88)
Tested by: tbsky

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03 15:30:29 +00:00
Jason Parker
63ab8ad66c Make sure to mask out non-audio first as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-19 22:35:23 +00:00
Jason Parker
59bdc278be Maybe we should set the value before we test it? Fixes an issue people have been seeing (unreported?) with file playback not working.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-19 22:23:04 +00:00
Joshua Colp
227112138e Merged revisions 103801 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r103801 | file | 2008-02-18 19:56:48 -0400 (Mon, 18 Feb 2008) | 10 lines

Ensure that emulated DTMFs do not get interrupted by another begin frame.
(closes issue #11740)
Reported by: gserra
Patches:
      v1-11740.patch uploaded by dimas (license 88)
(closes issue #11955)
Reported by: tsearle
(closes issue #10530)
Reported by: xmarksthespot

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-18 23:58:38 +00:00