Commit Graph

13713 Commits

Author SHA1 Message Date
Kevin P. Fleming
dd9837bba0 Correct timestamp calculations when RTP sample rates over 8kHz are used.
While testing some endpoints that support 16kHz and 32kHz sample rates, some
log messages were generated due to calc_rxstamp() computing timestamps in a way
that produced odd results, so this patch sanitizes the result of the
computations.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-19 23:44:07 +00:00
Joshua Colp
926a033bf9 Do not attempt early media bridging (ie: direct RTP setup) if options are enabled that should prevent it.
(closes issue #14763)
Reported by: cupotka


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-19 19:47:50 +00:00
Jeff Peeler
7f84021814 Fix stale caller id data from being reported in AMI NewChannel event
The problem here is that chan_dahdi is designed in such a way to set
certain values in the dahdi_pvt only once. One of those such values
is the configured caller id data in chan_dahdi.conf. For PRI, the
configured caller id data could be overwritten during a call. Instead
of saving the data and restoring, it was decided that for all non-analog
channels it was simply best to not set the configured caller id in the
first place and also clear it at the end of the call.

(closes issue #15883)
Reported by: jsmith


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-17 01:32:47 +00:00
Richard Mudgett
c3501b93e1 Never released PRI channels when using Busy() or Congestion() dialplan apps.
When the Busy() or Congestion() application is used towards ISDN (an ISDN
progress is sent), the responding ISDN Disconnect or Release may contain
the ISDN cause user busy or one of the congestion causes.  In chan_dahdi.c
these causes will only set the needbusy or needcongestion flags and not
activate the softhangup procedure.  Unfortunately only the latter can
interrupt the endless wait loop of Busy()/Congestion().

Result: PRI channels staying in state busy for the rest of asterisk life
or until the other end times out and forces the call to clear.

(in issue 0014292)
Reported by: tomaso
Patches:
      disc_rel_userbusy.patch uploaded by tomaso (license 564)
      (This patch is unrelated to the issue.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-16 20:25:23 +00:00
Jean Galarneau
7499289537 Fix PRI timer T309 operation
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-13 20:58:17 +00:00
Jeff Peeler
e3464ac40a Ensure ringing continues for branched calls after progress is received
While waiting for an answer, don't send progress for branched calls
for which ringing was sent.

(closes issue #15028)
Reported by: fnordian


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-12 23:12:50 +00:00
Kevin P. Fleming
0a226d933f Remove automatic switching from T.38 to voice mode in chan_sip.
chan_sip has some code to automatically switch from T.38 mode to voice mode when
a voice frame is written to the channel while it is in T.38 mode; this was
intended to handle the situation when a FAX transmission has ended and the channel
is not yet hung up, but is causing problems at the beginning of FAX sessions as
well when there are still voice frames 'in flight' at the time the T.38 negotiation
completes. This patch removes the automatic switchover.
  
(issue #16025)
Reported by: jamicque



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-12 15:30:40 +00:00
Russell Bryant
6429db49ba Remove a duplicate ao2_iterator_destroy().
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-11 18:34:37 +00:00
Russell Bryant
2f0e76dc39 Remove some unnecessary code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-11 17:25:06 +00:00
Russell Bryant
f949dd5b17 Don't use data outside of its scope.
The purpose of this code was to have a hangup frame put on the list of deferred
frames.  However, the code that read the hangup frame was outside of the scope
of where the hangup frame was declared.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-11 17:22:52 +00:00
Matthew Nicholson
99a8ffb52c Signal timeouts by returning AST_CONTROL_RINGING when originating calls.
(closes issue #15104)
Reported by: nblasgen
Patches:
      manager-timeout1.diff uploaded by mnicholson (license 96)
Tested by: nblasgen, mnicholson



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 18:20:11 +00:00
Mark Michelson
a9317f6cbe Fix potential memory leak in app_dial.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 18:17:12 +00:00
David Vossel
a6e33cd544 fixes sip registration using authuser in user.conf
(closes issue #14954)
Reported by: tornblad
Tested by: mmichelson, tornblad, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 17:52:35 +00:00
David Vossel
7d5c81565a 'auth=' did not parse md5 secret correctly
(closes issue https://issues.asterisk.org/view.php?id=15949)
Reported by: ebroad
Patches:
      authparsefix.patch uploaded by ebroad (license 878)
      15949_trunk.diff uploaded by dvossel (license 671)
Tested by: ebroad


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 17:18:54 +00:00
Russell Bryant
ff6a5575ad Make filestream frame handling safer by isolating frames before returning them.
This patch is related to a number of issues on the bug tracker that show
crashes related to freeing frames that came from a filestream.  A number of
fixes have been made over time while trying to figure out these problems, but
there re still people seeing the crash.  (Note that some of these bug reports
include information about other problems.  I am specifically addressing
the filestream frame crash here.)

I'm still not clear on what the exact problem is.  However, what is _very_
clear is that we have seen quite a few problems over time related to unexpected
behavior when we try to use embedded frames as an optimization.  In some cases,
this optimization doesn't really provide much due to improvements made in other
areas.

In this case, the patch modifies filestream handling such that the embedded frame
will not be returned.  ast_frisolate() is used to ensure that we end up with a
completely mallocd frame.  In reality, though, we will not actually have to malloc
every time.  For filestreams, the frame will almost always be allocated and freed
in the same thread.  That means that the thread local frame cache will be used.
So, going this route doesn't hurt.

With this patch in place, some people have reported success in not seeing the
crash anymore.

(SWP-150)
(AST-208)
(ABE-1834)

(issue #15609)
Reported by: aragon
Patches:
      filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2)
Tested by: aragon, russell

(closes issue #15817)
Reported by: zerohalo
Tested by: zerohalo

(closes issue #15845)
Reported by: marhbere

Review: https://reviewboard.asterisk.org/r/386/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 19:45:47 +00:00
David Vossel
3e5979a040 fixes an ast_netsock_list memory leak.
ABE-1998
Review: https://reviewboard.asterisk.org/r/395/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 19:45:15 +00:00
Richard Mudgett
fd238638a0 Fix memory leak if chan_misdn config parameter is repeated.
Memory leak when the same config option is set more than once in an
misdn.conf section.  Why must this be considered?  Templates!  Defining a
template with default port options and later adding to or overriding some
of them.

Patches:
      memleak-misdn.patch

JIRA ABE-1998


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 16:33:06 +00:00
Richard Mudgett
7d2cc86d06 chan_misdn.c:process_ast_dsp() memory leak
misdn.conf: astdtmf must be set to "yes".  With "no", buffer loss does not
occur.

The translated frame "f2" when passing through ast_dsp_process() is not
freed whenever it is not used further in process_ast_dsp().  Then in the
end it is never ever freed.

Patches:
      translate.patch

JIRA ABE-1993


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-07 21:51:24 +00:00
David Vossel
9cc4a5b792 crash on transfer
handle_invite_replaces() attempts to uplock a pvt's
owner channel without first verifing that it exists.

(issue #16027)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-07 17:41:21 +00:00
Jeff Peeler
54faffa07f Add missing unlock(s) in dahdi_read
(two cases in trunk)

(closes issue #15683)
Reported by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 23:51:19 +00:00
Jeff Peeler
7c3d6f732c Fix potential crash when entire span request is received.
The variable index used in this scenario for accessing the dahdi_pvts was
wrong and was most likely copied from the several other places it is used
correctly.

(closes issue #15998)
Reported by: tsearle
Patches: 
      dahdi_reset_crash.patch uploaded by tsearle (license 373)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 22:27:13 +00:00
Kevin P. Fleming
2ad7cb7e87 Fix ao2_iterator API to hold references to containers being iterated.
See Mantis issue for details of what prompted this change.

Additional notes:

This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK
has become an enum instead of a macro, with a name that fits our
naming policy; also, it is now necessary to call
ao2_iterator_destroy() on any iterator that has been
created. Currently this only releases the reference to the container
being iterated, but in the future this could also release other
resources used by the iterator, if the iterator implementation changes
to use additional resources.

(closes issue #15987)
Reported by: kpfleming

Review: https://reviewboard.asterisk.org/r/383/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 01:16:36 +00:00
David Vossel
dfb8d75f23 Removes unnecessary unlock, clarifies a memcpy.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-02 17:32:13 +00:00
Tilghman Lesher
012b1bc180 Ensure the result of the hash function is positive. Negative array offsets suck.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-02 16:58:03 +00:00
Tilghman Lesher
366ef836c1 Fix a bunch of off-by-one errors
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-01 23:53:12 +00:00
Richard Mudgett
ea14c40ae1 Occasionally losing use of B channels in chan_misdn.
I have not been able to reproduce the problem of losing channels.
However, I have seen in the code a reentrancy problem that might give
these symptoms.

The reentrancy patch does several things:
1) Guards B channel and B channel structure allocation.
2) Makes the B channel structure find routines more precise in locating records.
3) Never leave a B channel allocated if we received cause 44.

The last item may cause temporary outgoing call problems, but they should
clear when the line becomes idle.

(closes issue #15490)
Reported by: slutec18
Patches:
      issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664)
Tested by: rmudgett, slutec18

(closes issue #15458)
Reported by: FabienToune
Patches:
      issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664)
Tested by: FabienToune, rmudgett, slutec18


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-01 23:18:28 +00:00
Matthew Nicholson
ae49400957 Use unsigned ints for portinuri flags.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-01 15:24:00 +00:00
Matthew Nicholson
fe4b70c4f5 Make portinuri a bitfield.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 23:15:17 +00:00
Matthew Nicholson
050d830ec2 Fix SRV lookup and Request-URI generation in chan_sip.
This patch adds a new field "portinuri" to the sip dialog struct and the sip peer struct.  That field is used during RURI generation to determine if the port should be included in the RURI.  It is also used in some places to determine if an SRV lookup should occur.

(closes issue #14418)
Reported by: klaus3000
Tested by: klaus3000, mnicholson

Review: https://reviewboard.asterisk.org/r/369/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 19:36:06 +00:00
Matthias Nick
c179867fb4 changed the prototype definition of csv_quote
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 19:02:00 +00:00
Tilghman Lesher
727d91d733 Avoid a potential NULL dereference.
(closes issue #15865)
 Reported by: kobaz
 Patches: 
       20090915__issue15865.diff.txt uploaded by tilghman (license 14)
 Tested by: kobaz


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 16:55:21 +00:00
Matthias Nick
ebba623307 added a new dialplan function 'CSV_QUOTE' and changed the cdr_custom.sample.conf
(closes issue #15471)
Reported by: dkerr
Patches:
      csv_quote_14.txt uploaded by mnick (license )
Tested by: mnick


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 15:41:46 +00:00
Matthias Nick
e66c485660 check bounds - prevents for buffer overflow
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 15:37:39 +00:00
Terry Wilson
96564de25e Change the SSRC by default when our media stream changes
Be default, change SSRC when doing an audio stream changes Asterisk doesn't
honor marker bit when reinvited to already-bridged RTP streams,resulting in
far-end stack discarding packets with "old" timestamps that areactually part of
a new stream.  This patch sends AST_CONTROL_SRCUPDATE whenever there is a
reinvite, unless the 'constantssrc' is set to true in sip.conf.

The original issue reported to Digium support detailed the following situation:
ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in
fromITSP, Asterisk dials the app server which sends a re-invite back
toAsterisk--not to negotiate to send media directly to the ITSP, but to
indicatethat it's changing the stream it's sending to Asterisk.  The app
servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker
bit on the new stream.  Asterisk passes through the teimstamp of the new stream,
butdoes not reset the SSRC, sequence numbers, or set the marker bit.

When the timestamp on the new stream is older than the timestamp on the
originalstream, the ITSP (which doesn't know there has been any change) discards
the newframes because it thinks they are too old.  This patch addresses this by
changing the SSRC on a stream update unless constantssrc=true is set in
sip.conf.

Review: https://reviewboard.asterisk.org/r/374/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@221086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 14:49:11 +00:00
Matthew Nicholson
5d982dda69 Avoid a deadlock in chanspy, just in case the spyee is masqueraded and chanspy_ds_chan_fixup() is called with the channel locked.
(closes issue #15965)
Reported by: atis
Patches:
      chanspy-deadlock-fix1.diff uploaded by mnicholson (license 96)
Tested by: atis



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-29 20:14:29 +00:00
Tilghman Lesher
a0bc561b9e Reduce CPU usage related to building a peer merely for devicestates.
This fixes a 100% CPU problem in the SIP driver, found by profiling
the driver while the problem was occurring.
(closes issue #14309)
 Reported by: pkempgen
 Patches: 
       20090924__issue14309.diff.txt uploaded by tilghman (license 14)
 Tested by: pkempgen, vrban


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-29 17:59:26 +00:00
Sean Bright
913ba17b12 When selecting DONT_OPTIMIZE in menuselect, explicitly pass -O0 to the compiler
so we override any default optimization levels for a particular install.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-28 19:09:25 +00:00
Tilghman Lesher
5cf26dcdac Implicitly sending a progress signal breaks some applications.
Call Progress() in your dialplan if you explicitly want progress to be sent.
(Reverts change 216430, closes issue #15957)
Reported by: Pavel Troller on the Asterisk-Dev mailing list
http://lists.digium.com/pipermail/asterisk-dev/2009-September/039897.html


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-24 19:39:41 +00:00
Sean Bright
0b21ae08e1 Resolve parallel build warnings.
Reported by Klaus Darilion on the asterisk-dev mailing list.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-24 18:18:18 +00:00
Sean Bright
e8544f5919 Remove the remaining bashisms in the Makefile/mkpkgconfig
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-24 14:41:57 +00:00
Michiel van Baak
0005d493c5 mkpkgconfig does not need bash so make it use /bin/sh
This fixes building on all systems that don't have bash
at /bin/bash

Reported by _ys on #asterisk-dev
Tested by _ys on #asterisk-dev


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@220027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-24 08:33:50 +00:00
Tilghman Lesher
f4837ecbef When IMAP variables were changed during a reload, Voicemail did not use the new values.
This change introduces a configuration version variable, which ensures that
connections with the old values are not reused but are allowed to expire
normally.
(closes issue #15934)
 Reported by: viniciusfontes
 Patches: 
       20090922__issue15934.diff.txt uploaded by tilghman (license 14)
 Tested by: viniciusfontes


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-22 21:37:03 +00:00
David Vossel
9e773ebd33 Reverting merge 219520. This change was not necessary.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-21 16:55:53 +00:00
Tilghman Lesher
78e6e5b017 Really stop the stream, when ast_closestream() is called.
(closes issue #15129)
 Reported by: bmh
 Patches: 
       20090918__issue15129.diff.txt uploaded by tilghman (license 14)
 Review:
       https://reviewboard.asterisk.org/r/372/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-20 17:52:05 +00:00
Russell Bryant
1e24571def Make sure the iax_pvt exists before dereferencing it.
This fixes the latest crash posted on issue 15609.

(issue #15609)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-19 02:51:13 +00:00
David Vossel
0a3504f74b iax2 frame double free
The iax frame's retrans sched id was written over right
before iax2_frame_free was called.  In iax2_frame_free that
retrans id is used to delete the sched item.  By writing over
the retrans field before the sched item could be deleted, it was
possible for a retransmit to occur on a freed frame.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-18 23:19:50 +00:00
David Vossel
66fff128f0 via-header branches not updated correctly on INVITE
INVITE requests must always contain a new unique branch id. When
a new branch id is created for an INVITE, the dialog's invite_branch
variable must be updated so CANCEL requests use the correct branch id.

(closes issue #15262)
Reported by: maniax
Patches:
      asterisk-1.6.1.0-sip-branch.patch uploaded by tweety (license 608)
      invite_new_branch_trunk.diff uploaded by dvossel (license 671)
Tested by: maniax, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-18 16:19:15 +00:00
Mark Michelson
e2dabd44a3 Send a 100 Trying response when we detect a spiral.
This was problematic during spiral tests at SIPit...
along with some other things as well.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 22:20:50 +00:00
David Vossel
7e0f2c802f INVITE w/Replaces deadlock fix
This patch cleans up the locking logic in chan_sip.c's
handle_invite_replaces() function as well as making use
of ast_do_masquerade() rather than forcing the masquerade
on an ast_read().  The code had several redundant unlocks
that would result in 'freed more times than we've locked!'
errors. I cleaned these up as well as moving all the unlock
logic to the end of the function.  This patch should also
resolve the issue people were having with the replacecall
channel never being unlocked with one legged calls.

(closes issue #15151)
Reported by: irroot
Patches:
      invite_w_replaces_1.4.diff uploaded by dvossel (license 671)
Tested by: irroot, dvossel

Review: https://reviewboard.asterisk.org/r/371/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 21:29:37 +00:00
Matthew Nicholson
ea3f81a68f Prevent a potential race condition and crash when hanging up a channel by removing the channel from the channel list before begining channel tear down.
This fix may potentially cause problems with CDR backends that access the channel a CDR is associated with via the channel list.  This fix makes the channel unavabile at the time when the CDR backend is invoked.  This has been documented in include/asterisk/cdr.h.

(closes issue #15316)
Reported by: vmarrone
Tested by: mnicholson

Review: https://reviewboard.asterisk.org/r/362/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 14:58:39 +00:00