app_dial: Immediately exit dial if the caller is already hung up.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 4 Dec 2015 23:22:29 +0000 (17:22 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 4 Jan 2016 19:34:13 +0000 (13:34 -0600)
commitf88b9520939fe35c31b1d889648ae34db1fccd4e
tree59c56bc95a35377c44fde3de8bf0f27525133add
parent839f328601ff0a98a6c6b4fb6ca73445f264588f
app_dial: Immediately exit dial if the caller is already hung up.

If a caller hangs up before dial is executed within an AGI then the AGI
has likely eaten all queued frames before executing the dial in DeadAGI
mode.  With the caller hung up and no pending frames from the caller's
read queue, dial would not know that the call has hung up until a called
channel answers.  It is rather annoying to whoever just answered the
non-existent call.

Dial should not continue execution in DeadAGI mode, hangup handlers, or
the h exten.

* Added a check early in dial to abort dialing if the caller has hungup.

ASTERISK-25307 #close
Reported by: David Cunningham

Change-Id: Icd1bc0764726ef8c809f76743ca008d0f102f418
apps/app_dial.c