mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
CHANNEL(peer), chan_iax2, res_fax, SNMP agent: Fix deadlock from reaching across a bridge.
Calling ast_channel_bridge_peer() cannot be done while holding any channel locks. The reported issue hit the deadlock in chan_iax2, but an audit of the ast_channel_bridge_peer() calls found three more locations where the same deadlock can occur. * Made CHANNEL(peer), res_fax, and the SNMP agent not call ast_channel_bridge_peer() with any channel locked. For CHANNEL(peer) I had to rework the logic to not hold the channel lock. * Made chan_iax2 no longer call ast_channel_bridge_peer(). It was done for legacy reasons that no longer apply. * Removed the iax.conf forcejitterbuffer option. It is now always enabled when the jitterbuffer option is enabled. If you put a jitter buffer on a channel it will be on the channel. ASTERISK-24600 #close Reported by: Jeff Collell Review: https://reviewboard.asterisk.org/r/4342/ ........ Merged revisions 430817 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -170,12 +170,6 @@ disallow=lpc10
|
||||
; jitterbuffer=yes|no: global default as to whether you want
|
||||
; the jitter buffer at all.
|
||||
;
|
||||
; forcejitterbuffer=yes|no: in the ideal world, when we bridge VoIP channels
|
||||
; we don't want to do jitterbuffering on the switch, since the endpoints
|
||||
; can each handle this. However, some endpoints may have poor jitterbuffers
|
||||
; themselves, so this option will force * to always jitterbuffer, even in this
|
||||
; case.
|
||||
;
|
||||
; maxjitterbuffer: a maximum size for the jitter buffer.
|
||||
; Setting a reasonable maximum here will prevent the call delay
|
||||
; from rising to silly values in extreme situations; you'll hear
|
||||
@@ -202,7 +196,6 @@ disallow=lpc10
|
||||
;
|
||||
|
||||
jitterbuffer=no
|
||||
forcejitterbuffer=no
|
||||
;maxjitterbuffer=1000
|
||||
;maxjitterinterps=10
|
||||
;resyncthreshold=1000
|
||||
|
Reference in New Issue
Block a user