Blocked revisions 244785 via svnmerge
authorJeff Peeler <jpeeler@digium.com>
Thu, 4 Feb 2010 23:21:49 +0000 (23:21 +0000)
committerJeff Peeler <jpeeler@digium.com>
Thu, 4 Feb 2010 23:21:49 +0000 (23:21 +0000)
commitd5ee95eae633b7832fee5ec67a98c40bceba934b
tree18a6e669034c2b89623689055d753601b4adcf6f
parentf30de5ef0ed6f63d2a0d51aa277ff6ea184b6278
Blocked revisions 244785 via svnmerge

........
  r244785 | jpeeler | 2010-02-04 17:20:21 -0600 (Thu, 04 Feb 2010) | 22 lines

  Change channel state on local channels for busy,answer,ring.

  Previously local channels channel state never changed. This became problematic
  when the state of the other side of the local channel was lost, for example
  during a masquerade. Changing the state of the local channel allows for the
  scenario to be detected when the channel state is set to ringing, but the peer
  isn't ringing. The specific problem scenario is described in 164201. Although
  this was noted on one of the issues, here is the tested dialplan verified to
  work:

  exten => 9700,1,Dial(Local/*9700@default&Local/#9700@default)

  exten => *9700,1,Set(GLOBAL(TESTCHAN)=${CHANNEL:0:${MATH(${LEN(${CHANNEL})}-1):0:2}}1)
  exten => *9700,n,wait(3) ;3 works, 1 did not
  exten => *9700,n,Dial(SIP/5001)

  exten => #9700,1,Wait(1) ;1 works, 3 did not
  exten => #9700,n,ChannelRedirect(${TESTCHAN},parkedcalls,701,1)

  (closes issue #14992)
  Reported by: davidw
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@244792 65c4cc65-6c06-0410-ace0-fbb531ad65f3