Merged revisions 315644 via svnmerge from
authorTerry Wilson <twilson@digium.com>
Tue, 26 Apr 2011 22:26:37 +0000 (22:26 +0000)
committerTerry Wilson <twilson@digium.com>
Tue, 26 Apr 2011 22:26:37 +0000 (22:26 +0000)
commit8d2a71877a184a70f8be64afe3500ea27a215e71
treead7668a42a9a7cc983875231676991d52322d852
parent24b6939496125def6253dc723e890e116250e79e
Merged revisions 315644 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315644 | twilson | 2011-04-26 14:39:01 -0700 (Tue, 26 Apr 2011) | 32 lines

  Merged revisions 315643 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r315643 | twilson | 2011-04-26 14:27:44 -0700 (Tue, 26 Apr 2011) | 25 lines

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

    ........
      r315596 | twilson | 2011-04-26 14:16:10 -0700 (Tue, 26 Apr 2011) | 18 lines

      Allow transfer loops without allowing forwarding loops

      We try to avoid the situation where two phones may be forwarded to each other
      causing an infinite loop by storing each dialed interface in a channel
      datastore and checking the list before dialing out. This works, but currently
      breaks situations like A calls B, A transfers B to C, B transfers C to A, and A
      transfers C to B. Since human interaction is happening here and not an
      automated forwarding loop, it should be allowed.

      This patch removes the dialed_interfaces datastore when a call is bridged (a
      suggestion from the brilliant mmichelson). If a call is being bridged, it
      should be safe to assume that we aren't stuck in a loop.

      Since we are now handling this is the bridge code, the previous attempts at
      handling it in app_dial and app_queue are removed.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_dial.c
apps/app_queue.c
main/features.c